673d35be113c417dcbaa0d76775a545a79803765
[external/binutils.git] / gdb / ChangeLog
1 2018-09-17  Tom Tromey  <tom@tromey.com>
2
3         * common/pathstuff.c (get_standard_cache_dir): Use
4         ~/Library/Caches on macOS.
5         * common/pathstuff.h (get_standard_cache_dir): Update comment.
6
7 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
8
9         PR python/23669
10         * breakpoint.c (commands_cmd_element): New.
11         (_initialize_breakpoint): Assign commands_cmd_element.
12         * breakpoint.h (commands_cmd_element): New.
13         * cli/cli-script.c (while_cmd_element, if_command,
14         define_cmd_element): New.
15         (command_name_equals): Remove.
16         (process_next_line): Compare commands by pointer, not by name.
17         (_initialize_cli_script): Assign the various cmd_list_element
18         variables.
19         * compile/compile.c (compile_cmd_element): New.
20         (_initialize_compile): Assign compile_cmd_element.
21         * compile/compile.h (compile_cmd_element): New.
22         * guile/guile.c (guile_cmd_element): New.
23         (install_gdb_commands): Assign guile_cmd_element.
24         * guile/guile.h (guile_cmd_element): New.
25         * python/python.c (python_cmd_element): New.
26         (_initialize_python): Assign python_cmd_element.
27         * python/python.h (python_cmd_element): New.
28         * tracepoint.c (while_stepping_cmd_element): New.
29         (_initialize_tracepoint): Assign while_stepping_cmd_element.
30         * tracepoint.h (while_stepping_cmd_element): New.
31
32 2018-09-17  Tom Tromey  <tom@tromey.com>
33
34         * infrun.c (save_infcall_suspend_state): Return
35         infcall_suspend_state_up.
36         (save_infcall_control_state): Return infcall_control_state_up.
37         * inferior.h (save_infcall_suspend_state)
38         (save_infcall_control_state): Declare later.  Return unique
39         pointers.
40
41 2018-09-17  Tom Tromey  <tom@tromey.com>
42
43         * infrun.c (struct stop_context): Declare constructor,
44         destructor, "changed" method.
45         (stop_context::stop_context): Rename from save_stop_context.
46         (stop_context::~stop_context): Rename from
47         release_stop_context_cleanup.
48         (normal_stop): Update.
49         (stop_context::changed): Rename from stop_context_changed.  Return
50         bool.
51
52 2018-09-17  Tom Tromey  <tom@tromey.com>
53
54         * inferior.h (struct infcall_suspend_state_deleter): New.
55         (infcall_suspend_state_up): New typedef.
56         (struct infcall_control_state_deleter): New.
57         (infcall_control_state_up): New typedef.
58         (make_cleanup_restore_infcall_suspend_state)
59         (make_cleanup_restore_infcall_control_state): Don't declare.
60         * infcall.c (call_function_by_hand_dummy): Update.
61         * infrun.c (do_restore_infcall_suspend_state_cleanup)
62         (make_cleanup_restore_infcall_suspend_state): Remove.
63         (do_restore_infcall_control_state_cleanup)
64         (make_cleanup_restore_infcall_control_state): Remove.
65
66 2018-09-17  Tom Tromey  <tom@tromey.com>
67
68         * gdbthread.h (struct thread_control_state): Add initializer.
69         (class thread_info) <control>: Remove initializer.
70         * inferior.h (struct inferior_control_state): Add initializer.
71         (class inferior) <control>: Remove initializer.
72         (exit_inferior_1): Update.
73         * infrun.c (struct infcall_control_state): Add constructors.
74         (save_infcall_control_state): Use new.
75         (restore_infcall_control_state, discard_infcall_control_state):
76         Use delete.
77
78 2018-09-17  Tom Tromey  <tom@tromey.com>
79
80         * infrun.c (struct infcall_suspend_state) <registers>: Now a
81         unique_ptr.
82         <siginfo_data>: Now a unique_xmalloc_ptr.
83         (save_infcall_suspend_state, restore_infcall_suspend_state)
84         (discard_infcall_suspend_state)
85         (get_infcall_suspend_state_regcache): Update.
86
87 2018-09-17  Tom Tromey  <tom@tromey.com>
88
89         * gdbthread.h (struct thread_suspend_state): Add initializers.
90         (class thread_info) <suspend>: Remove initializer.
91         * infrun.c (struct infcall_suspend_state): Add initializers.
92         (save_infcall_suspend_state): Use new.
93         (discard_infcall_suspend_state): Use delete.
94
95 2018-09-16  Tom Tromey  <tom@tromey.com>
96
97         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
98         Remove.
99         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
100         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
101         (py_varobj_iter_new): Likewise.
102         (py_varobj_get_iterator): Use gdbpy_ref.
103
104 2018-09-16  Tom Tromey  <tom@tromey.com>
105
106         * python/py-threadevent.c (py_get_event_thread): Simplify.
107         * python/py-inferior.c (infpy_thread_from_thread_handle):
108         Return immediately after calling thread_to_thread_object.  Use
109         Py_RETURN_NONE.
110         (thread_to_thread_object): Set the exception on a NULL return.
111
112 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
113
114         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
115
116 2018-09-16  Tom Tromey  <tom@tromey.com>
117
118         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
119         Remove.
120
121 2018-09-16  Tom Tromey  <tom@tromey.com>
122
123         * python/python-internal.h (thread_to_thread_object): Change
124         return type.
125         * python/py-inferior.c (thread_to_thread_object): Return a new
126         reference.
127         (infpy_thread_from_thread_handle): Update.
128         * python/py-infthread.c (gdbpy_selected_thread): Update.
129         * python/py-stopevent.c (create_stop_event_object): Update.
130         * python/py-threadevent.c (py_get_event_thread): Return a new
131         reference.
132         (py_get_event_thread): Update.
133         * python/py-event.h (py_get_event_thread): Change return type.
134         * python/py-continueevent.c (create_continue_event_object):
135         Update.
136
137 2018-09-16  Tom Tromey  <tom@tromey.com>
138
139         * python/py-progspace.c (pspy_get_objfiles): Update.
140         * python/python-internal.h (objfile_to_objfile_object): Change
141         return type.
142         * python/py-newobjfileevent.c (create_new_objfile_event_object):
143         Update.
144         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
145         Update.
146         * python/python.c (gdbpy_get_current_objfile): Update.
147         (gdbpy_objfiles): Update.
148         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
149         Update.
150         (objfile_to_objfile_object): Return a new reference.
151         * python/py-symtab.c (stpy_get_objfile): Update.
152         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
153         Update.
154
155 2018-09-16  Tom Tromey  <tom@tromey.com>
156
157         * python/py-inferior.c (infpy_get_progspace): Update.
158         * python/python-internal.h (pspace_to_pspace_object): Change
159         return type.
160         * python/py-newobjfileevent.c
161         (create_clear_objfiles_event_object): Update.
162         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
163         Update.
164         * python/python.c (gdbpy_get_current_progspace): Update.
165         (gdbpy_progspaces): Update.
166         * python/py-progspace.c (pspace_to_pspace_object): Return a new
167         reference.
168         * python/py-objfile.c (objfpy_get_progspace): Update.
169         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
170         Update.
171
172 2018-09-16  Tom Tromey  <tom@tromey.com>
173
174         * python/lib/gdb/__init__.py (current_progspace, objfiles)
175         (solib_name, block_for_pc, find_pc_line): New functions.
176         (execute_unwinders): Update.
177         * python/py-block.c (gdbpy_block_for_pc): Remove.
178         * python/py-inferior.c (infpy_get_progspace): New function.
179         (inferior_object_getset) <progspace>: Add.
180         * python/py-progspace.c (pspy_objfiles): Rewrite.
181         (pspy_solib_name, pspy_block_for_pc)
182         (pspy_find_pc_line, pspy_is_valid): New functions.
183         (progspace_object_methods): Add entries for solib_name,
184         block_for_pc, find_pc_line, is_valid.
185         * python/python-internal.h (gdbpy_block_for_pc)
186         (build_objfiles_list): Don't declare.
187         * python/python.c: Don't include solib.h.
188         (gdbpy_solib_name, gdbpy_find_pc_line)
189         (gdbpy_get_current_progspace, build_objfiles_list)
190         (gdbpy_objfiles): Remove.
191         (GdbMethods) <current_progspace, objfiles, block_for_pc,
192         solib_name, find_pc_line>: Remove entries.
193
194 2018-09-16  Tom Tromey  <tom@tromey.com>
195
196         * top.c (new_ui_command): Use GNU style for metasyntactic
197         variables.
198         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
199         variables.
200         * maint.c (maintenance_translate_address): Remove "<>" around
201         text.
202         * interps.c (interpreter_exec_cmd): Use GNU style for
203         metasyntactic variables.
204         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
205         metasyntactic variables.
206         * tracepoint.c (tfind_range_command): Use GNU style for
207         metasyntactic variables.
208         (tfind_outside_command): Likewise.
209         (_initialize_tracepoint): Likewise.
210         * remote.c (extended_remote_target::create_inferior): Use GNU
211         style for metasyntactic variables.
212         * sparc64-tdep.c (adi_examine_command): Use GNU style for
213         metasyntactic variables.
214         (adi_assign_command): Likewise.
215
216 2018-09-16  Tom Tromey  <tom@tromey.com>
217
218         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
219         metasyntactic variables.  Print message if no disassembler options
220         are available.
221
222 2018-09-15  Tom Tromey  <tom@tromey.com>
223
224         * infcmd.c (get_inferior_args): Return const char *.
225         * inferior.h (get_inferior_args): Return type now const.
226         * linux-tdep.c (linux_fill_prpsinfo): Update.
227         * procfs.c (procfs_target::make_corefile_notes): Update.
228
229 2018-09-07  Tom Tromey  <tom@tromey.com>
230
231         * python/python.c (execute_gdb_command): Call bpstat_do_actions
232         inside the TRY.
233
234 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
235
236         * nios2-tdep.c (nios2_type_align): New.
237         (nios2_gdb_arch_init): Install type_align hook.
238
239 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
240
241         * eval.c (fake_method::fake_method): Call xzalloc directly for a
242         type that is neither object file owned, nor gdbarch owned.
243         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
244         gdbarch is non-NULL.
245         (alloc_type_instance): Allocate non-objfile owned types on the
246         gdbarch obstack.
247         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
248         using TYPE_ALLOC to ensure memory is allocated on the correct
249         obstack.
250         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
251         obstack, or the gdbarch obstack.
252         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
253
254 2018-09-14  Tom Tromey  <tom@tromey.com>
255
256         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
257         block.
258
259 2018-09-14  Tom Tromey  <tom@tromey.com>
260
261         * nat/fork-inferior.c (get_startup_shell): Remove "static".
262
263 2018-09-13  Tom Tromey  <tom@tromey.com>
264
265         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
266         static.
267
268 2018-09-13  Tom Tromey  <tom@tromey.com>
269
270         * exec.c (try_open_exec_file): Use std::string.
271
272 2018-09-13  Tom Tromey  <tom@tromey.com>
273
274         * utils.h (gdb_bfd_errmsg): Return std::string.
275         * exec.c (exec_file_attach): Update.
276         * compile/compile-object-load.c (compile_object_load): Update.
277         * utils.c (gdb_bfd_errmsg): Return std::string.
278
279 2018-09-13  Tom Tromey  <tom@tromey.com>
280
281         * procfs.c (struct procinfo_deleter): New.
282         (procinfo_up): New typedef.
283         (do_destroy_procinfo_cleanup): Remove.
284         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
285
286 2018-09-13  Tom Tromey  <tom@tromey.com>
287
288         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
289
290 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
291 2018-09-13  Tom Tromey  <tom@tromey.com>
292
293         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
294         (pspy_get_objfiles): New function.
295         (progspace_object_methods): New.
296         (pspace_object_type): Add tp_methods callback.
297         * python/python-internal.h (build_objfiles_list): New
298         declaration.
299         * python/python.c (build_objfiles_list): New function.
300         (gdbpy_objfiles): Implement using build_objfiles_list.
301         * NEWS: Mention the Progspace.objfiles method.
302
303 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
304
305         * python/py-inferior.c (infpy_get_progspace): New function.
306         (inferior_object_getset): Add progspace property.
307         * NEWS: Mention the new property.
308
309 2018-09-13  Tom Tromey  <tom@tromey.com>
310
311         PR rust/23650:
312         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
313
314 2018-09-13  Tom Tromey  <tom@tromey.com>
315
316         PR rust/23626:
317         * rust-lang.c (rust_enum_variant): Now static.
318         (rust_empty_enum_p): New function.
319         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
320         Handle empty enum.
321
322 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
323
324         * python/py-inferior.c (infpy_repr): New.
325         (inferior_object_type): Register infpy_repr.
326         * python/py-objfile.c (objfpy_repr): New.
327         (objfile_object_type): Register objfpy_repr.
328
329 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
330
331         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
332
333 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
334
335         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
336         typo.
337
338 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
339
340         * common/common-utils.c: Don't include '<sys/stat.h>'.
341         (is_regular_file): Move to...
342         * common/filestuff.c (is_regular_file): ... here.
343         * common/common-utils.h (is_regular_file): Move to...
344         * common/filestuff.h (is_regular_file): ... here.
345
346 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
347
348         * skip.c (debug_skip): New variable.
349         (skiplist_entry::do_skip_file_p): Add debug output.
350         (skiplist_entry::do_skip_gfile_p): Likewise.
351         (skiplist_entry::skip_function_p): Likewise.
352         (_initialize_step_skip): Create debug command.
353         * NEWS: Mention set/show debug skip.
354
355 2018-09-11  Xavier Roirand  <roirand@adacore.com>
356
357         * darwin-nat.c (should_disable_startup_with_shell):
358         New function.
359         (darwin_nat_target::create_inferior): Add call.
360
361 2018-09-11  Xavier Roirand  <roirand@adacore.com>
362
363         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
364         inf_port, msg_state>: Initialize.
365         (struct darwin_thread_info) <signaled, single_step>: Change
366         type and initialize.
367         (struct darwin_thread_info) <event>: Initialize.
368
369 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
370
371         PR gdb/23555
372         PR gdb/23558
373         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
374         guesses.
375
376 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
377
378         Revert:
379         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
380
381         PR gdb/23555
382         PR gdb/23558
383         * gnulib/aclocal.m4: Regenerate.
384         * gnulib/config.in: Regenerate.
385         * gnulib/configure: Regenerate.
386         * gnulib/import/Makefile.am: Update.
387         * gnulib/import/Makefile.in: Update.
388         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
389         * gnulib/import/_Noreturn.h: ... this.
390         * gnulib/import/alloca.in.h: Update.
391         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
392         * gnulib/import/arg-nonnull.h: ... this.
393         * gnulib/import/assure.h: Update.
394         * gnulib/import/at-func.c: Update.
395         * gnulib/import/basename-lgpl.c: Update.
396         * gnulib/import/extra/snippet/c++defs.h: Rename to...
397         * gnulib/import/c++defs.h: ... this.
398         * gnulib/import/canonicalize-lgpl.c: Update.
399         * gnulib/import/cdefs.h: Update.
400         * gnulib/import/chdir-long.c: Update.
401         * gnulib/import/chdir-long.h: Update.
402         * gnulib/import/cloexec.c: Update.
403         * gnulib/import/cloexec.h: Update.
404         * gnulib/import/close.c: Update.
405         * gnulib/import/closedir.c: Update.
406         * gnulib/import/config.charset: Update.
407         * gnulib/import/dirent-private.h: Update.
408         * gnulib/import/dirent.in.h: Update.
409         * gnulib/import/dirfd.c: Update.
410         * gnulib/import/dirname-lgpl.c: Update.
411         * gnulib/import/dirname.h: Update.
412         * gnulib/import/dosname.h: Update.
413         * gnulib/import/dup-safer-flag.c: Update.
414         * gnulib/import/dup-safer.c: Update.
415         * gnulib/import/dup.c: Update.
416         * gnulib/import/dup2.c: Update.
417         * gnulib/import/errno.in.h: Update.
418         * gnulib/import/error.c: Update.
419         * gnulib/import/error.h: Update.
420         * gnulib/import/exitfail.c: Update.
421         * gnulib/import/exitfail.h: Update.
422         * gnulib/import/extra/update-copyright: Update.
423         * gnulib/import/fchdir.c: Update.
424         * gnulib/import/fcntl.c: Update.
425         * gnulib/import/fcntl.in.h: Update.
426         * gnulib/import/fd-hook.c: Update.
427         * gnulib/import/fd-hook.h: Update.
428         * gnulib/import/fd-safer-flag.c: Update.
429         * gnulib/import/fd-safer.c: Update.
430         * gnulib/import/fdopendir.c: Update.
431         * gnulib/import/filename.h: Update.
432         * gnulib/import/filenamecat-lgpl.c: Update.
433         * gnulib/import/filenamecat.h: Update.
434         * gnulib/import/flexmember.h: Update.
435         * gnulib/import/float+.h: Update.
436         * gnulib/import/float.c: Update.
437         * gnulib/import/float.in.h: Update.
438         * gnulib/import/fnmatch.c: Update.
439         * gnulib/import/fnmatch.in.h: Update.
440         * gnulib/import/fnmatch_loop.c: Update.
441         * gnulib/import/fpucw.h: Update.
442         * gnulib/import/frexp.c: Update.
443         * gnulib/import/frexpl.c: Update.
444         * gnulib/import/fstat.c: Update.
445         * gnulib/import/fstatat.c: Update.
446         * gnulib/import/getcwd-lgpl.c: Update.
447         * gnulib/import/getcwd.c: Update.
448         * gnulib/import/getdtablesize.c: Update.
449         * gnulib/import/getlogin_r.c: Update.
450         * gnulib/import/getprogname.c: Update.
451         * gnulib/import/getprogname.h: Update.
452         * gnulib/import/gettext.h: Update.
453         * gnulib/import/gettimeofday.c: Update.
454         * gnulib/import/glob-libc.h: Update.
455         * gnulib/import/glob.c: Update.
456         * gnulib/import/glob.in.h: Update.
457         * gnulib/import/glob_internal.h: Update.
458         * gnulib/import/glob_pattern_p.c: Update.
459         * gnulib/import/globfree.c: Update.
460         * gnulib/import/hard-locale.c: Update.
461         * gnulib/import/hard-locale.h: Update.
462         * gnulib/import/intprops.h: Update.
463         * gnulib/import/inttypes.in.h: Update.
464         * gnulib/import/isnan.c: Update.
465         * gnulib/import/isnand-nolibm.h: Update.
466         * gnulib/import/isnand.c: Update.
467         * gnulib/import/isnanl-nolibm.h: Update.
468         * gnulib/import/isnanl.c: Update.
469         * gnulib/import/itold.c: Update.
470         * gnulib/import/libc-config.h: Update.
471         * gnulib/import/limits.in.h: Update.
472         * gnulib/import/localcharset.c: Update.
473         * gnulib/import/localcharset.h: Update.
474         * gnulib/import/localtime-buffer.c: Update.
475         * gnulib/import/localtime-buffer.h: Update.
476         * gnulib/import/lstat.c: Update.
477         * gnulib/import/m4/00gnulib.m4: Update.
478         * gnulib/import/m4/__inline.m4: Update.
479         * gnulib/import/m4/absolute-header.m4: Update.
480         * gnulib/import/m4/alloca.m4: Update.
481         * gnulib/import/m4/builtin-expect.m4: Update.
482         * gnulib/import/m4/canonicalize.m4: Update.
483         * gnulib/import/m4/chdir-long.m4: Update.
484         * gnulib/import/m4/close.m4: Update.
485         * gnulib/import/m4/closedir.m4: Update.
486         * gnulib/import/m4/configmake.m4: Update.
487         * gnulib/import/m4/d-ino.m4: Update.
488         * gnulib/import/m4/d-type.m4: Update.
489         * gnulib/import/m4/dirent_h.m4: Update.
490         * gnulib/import/m4/dirfd.m4: Update.
491         * gnulib/import/m4/dirname.m4: Update.
492         * gnulib/import/m4/double-slash-root.m4: Update.
493         * gnulib/import/m4/dup.m4: Update.
494         * gnulib/import/m4/dup2.m4: Update.
495         * gnulib/import/m4/eealloc.m4: Update.
496         * gnulib/import/m4/environ.m4: Update.
497         * gnulib/import/m4/errno_h.m4: Update.
498         * gnulib/import/m4/error.m4: Update.
499         * gnulib/import/m4/exponentd.m4: Update.
500         * gnulib/import/m4/exponentl.m4: Update.
501         * gnulib/import/m4/extensions.m4: Update.
502         * gnulib/import/m4/extern-inline.m4: Update.
503         * gnulib/import/m4/fchdir.m4: Update.
504         * gnulib/import/m4/fcntl-o.m4: Update.
505         * gnulib/import/m4/fcntl.m4: Update.
506         * gnulib/import/m4/fcntl_h.m4: Update.
507         * gnulib/import/m4/fdopendir.m4: Update.
508         * gnulib/import/m4/filenamecat.m4: Update.
509         * gnulib/import/m4/flexmember.m4: Update.
510         * gnulib/import/m4/float_h.m4: Update.
511         * gnulib/import/m4/fnmatch.m4: Update.
512         * gnulib/import/m4/fnmatch_h.m4: Update.
513         * gnulib/import/m4/fpieee.m4: Update.
514         * gnulib/import/m4/frexp.m4: Update.
515         * gnulib/import/m4/frexpl.m4: Update.
516         * gnulib/import/m4/fstat.m4: Update.
517         * gnulib/import/m4/fstatat.m4: Update.
518         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
519         * gnulib/import/m4/getcwd-path-max.m4: Update.
520         * gnulib/import/m4/getcwd.m4: Update.
521         * gnulib/import/m4/getdtablesize.m4: Update.
522         * gnulib/import/m4/getlogin.m4: Update.
523         * gnulib/import/m4/getlogin_r.m4: Update.
524         * gnulib/import/m4/getpagesize.m4: Update.
525         * gnulib/import/m4/getprogname.m4: Update.
526         * gnulib/import/m4/gettimeofday.m4: Update.
527         * gnulib/import/m4/glibc21.m4: Update.
528         * gnulib/import/m4/glob.m4: Update.
529         * gnulib/import/m4/glob_h.m4: Update.
530         * gnulib/import/m4/gnulib-cache.m4: Update.
531         * gnulib/import/m4/gnulib-common.m4: Update.
532         * gnulib/import/m4/gnulib-comp.m4: Update.
533         * gnulib/import/m4/gnulib-tool.m4: Update.
534         * gnulib/import/m4/hard-locale.m4: Update.
535         * gnulib/import/m4/include_next.m4: Update.
536         * gnulib/import/m4/inttypes-pri.m4: Update.
537         * gnulib/import/m4/inttypes.m4: Update.
538         * gnulib/import/m4/isnand.m4: Update.
539         * gnulib/import/m4/isnanl.m4: Update.
540         * gnulib/import/m4/largefile.m4: Update.
541         * gnulib/import/m4/limits-h.m4: Update.
542         * gnulib/import/m4/localcharset.m4: Update.
543         * gnulib/import/m4/locale-fr.m4: Update.
544         * gnulib/import/m4/locale-ja.m4: Update.
545         * gnulib/import/m4/locale-zh.m4: Update.
546         * gnulib/import/m4/localtime-buffer.m4: Update.
547         * gnulib/import/m4/longlong.m4: Update.
548         * gnulib/import/m4/lstat.m4: Update.
549         * gnulib/import/m4/malloc.m4: Update.
550         * gnulib/import/m4/malloca.m4: Update.
551         * gnulib/import/m4/math_h.m4: Update.
552         * gnulib/import/m4/mbrtowc.m4: Update.
553         * gnulib/import/m4/mbsinit.m4: Update.
554         * gnulib/import/m4/mbsrtowcs.m4: Update.
555         * gnulib/import/m4/mbstate_t.m4: Update.
556         * gnulib/import/m4/memchr.m4: Update.
557         * gnulib/import/m4/memmem.m4: Update.
558         * gnulib/import/m4/mempcpy.m4: Update.
559         * gnulib/import/m4/memrchr.m4: Update.
560         * gnulib/import/m4/mkdir.m4: Update.
561         * gnulib/import/m4/mkstemp.m4: Update.
562         * gnulib/import/m4/mmap-anon.m4: Update.
563         * gnulib/import/m4/mode_t.m4: Update.
564         * gnulib/import/m4/msvc-inval.m4: Update.
565         * gnulib/import/m4/msvc-nothrow.m4: Update.
566         * gnulib/import/m4/multiarch.m4: Update.
567         * gnulib/import/m4/nocrash.m4: Update.
568         * gnulib/import/m4/off_t.m4: Update.
569         * gnulib/import/m4/onceonly.m4: Update.
570         * gnulib/import/m4/open-cloexec.m4: Update.
571         * gnulib/import/m4/open.m4: Update.
572         * gnulib/import/m4/openat.m4: Update.
573         * gnulib/import/m4/opendir.m4: Update.
574         * gnulib/import/m4/pathmax.m4: Update.
575         * gnulib/import/m4/rawmemchr.m4: Update.
576         * gnulib/import/m4/readdir.m4: Update.
577         * gnulib/import/m4/readlink.m4: Update.
578         * gnulib/import/m4/realloc.m4: Update.
579         * gnulib/import/m4/rename.m4: Update.
580         * gnulib/import/m4/rewinddir.m4: Update.
581         * gnulib/import/m4/rmdir.m4: Update.
582         * gnulib/import/m4/save-cwd.m4: Update.
583         * gnulib/import/m4/secure_getenv.m4: Update.
584         * gnulib/import/m4/setenv.m4: Update.
585         * gnulib/import/m4/signal_h.m4: Update.
586         * gnulib/import/m4/ssize_t.m4: Update.
587         * gnulib/import/m4/stat-time.m4: Update.
588         * gnulib/import/m4/stat.m4: Update.
589         * gnulib/import/m4/std-gnu11.m4: Update.
590         * gnulib/import/m4/stdbool.m4: Update.
591         * gnulib/import/m4/stddef_h.m4: Update.
592         * gnulib/import/m4/stdint.m4: Update.
593         * gnulib/import/m4/stdio_h.m4: Update.
594         * gnulib/import/m4/stdlib_h.m4: Update.
595         * gnulib/import/m4/strchrnul.m4: Update.
596         * gnulib/import/m4/strdup.m4: Update.
597         * gnulib/import/m4/strerror.m4: Update.
598         * gnulib/import/m4/string_h.m4: Update.
599         * gnulib/import/m4/strstr.m4: Update.
600         * gnulib/import/m4/strtok_r.m4: Update.
601         * gnulib/import/m4/sys_socket_h.m4: Update.
602         * gnulib/import/m4/sys_stat_h.m4: Update.
603         * gnulib/import/m4/sys_time_h.m4: Update.
604         * gnulib/import/m4/sys_types_h.m4: Update.
605         * gnulib/import/m4/tempname.m4: Update.
606         * gnulib/import/m4/time_h.m4: Update.
607         * gnulib/import/m4/unistd-safer.m4: Update.
608         * gnulib/import/m4/unistd_h.m4: Update.
609         * gnulib/import/m4/warn-on-use.m4: Update.
610         * gnulib/import/m4/wchar_h.m4: Update.
611         * gnulib/import/m4/wchar_t.m4: Update.
612         * gnulib/import/m4/wctype_h.m4: Update.
613         * gnulib/import/m4/wint_t.m4: Update.
614         * gnulib/import/malloc.c: Update.
615         * gnulib/import/malloc/scratch_buffer.h: Update.
616         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
617         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
618         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
619         * gnulib/import/malloca.c: Update.
620         * gnulib/import/malloca.h: Update.
621         * gnulib/import/malloca.valgrind: Update.
622         * gnulib/import/math.in.h: Update.
623         * gnulib/import/mbrtowc.c: Update.
624         * gnulib/import/mbsinit.c: Update.
625         * gnulib/import/mbsrtowcs-impl.h: Update.
626         * gnulib/import/mbsrtowcs-state.c: Update.
627         * gnulib/import/mbsrtowcs.c: Update.
628         * gnulib/import/memchr.c: Update.
629         * gnulib/import/memmem.c: Update.
630         * gnulib/import/mempcpy.c: Update.
631         * gnulib/import/memrchr.c: Update.
632         * gnulib/import/mkdir.c: Update.
633         * gnulib/import/mkstemp.c: Update.
634         * gnulib/import/msvc-inval.c: Update.
635         * gnulib/import/msvc-inval.h: Update.
636         * gnulib/import/msvc-nothrow.c: Update.
637         * gnulib/import/msvc-nothrow.h: Update.
638         * gnulib/import/open.c: Update.
639         * gnulib/import/openat-die.c: Update.
640         * gnulib/import/openat-priv.h: Update.
641         * gnulib/import/openat-proc.c: Update.
642         * gnulib/import/openat.c: Update.
643         * gnulib/import/openat.h: Update.
644         * gnulib/import/opendir.c: Update.
645         * gnulib/import/pathmax.h: Update.
646         * gnulib/import/pipe-safer.c: Update.
647         * gnulib/import/rawmemchr.c: Update.
648         * gnulib/import/readdir.c: Update.
649         * gnulib/import/readlink.c: Update.
650         * gnulib/import/realloc.c: Update.
651         * gnulib/import/ref-add.sin: Update.
652         * gnulib/import/ref-del.sin: Update.
653         * gnulib/import/rename.c: Update.
654         * gnulib/import/rewinddir.c: Update.
655         * gnulib/import/rmdir.c: Update.
656         * gnulib/import/same-inode.h: Update.
657         * gnulib/import/save-cwd.c: Update.
658         * gnulib/import/save-cwd.h: Update.
659         * gnulib/import/scratch_buffer.h: Update.
660         * gnulib/import/secure_getenv.c: Update.
661         * gnulib/import/setenv.c: Update.
662         * gnulib/import/signal.in.h: Update.
663         * gnulib/import/stat-time.c: Update.
664         * gnulib/import/stat-time.h: Update.
665         * gnulib/import/stat-w32.c: Update.
666         * gnulib/import/stat-w32.h: Update.
667         * gnulib/import/stat.c: Update.
668         * gnulib/import/stdbool.in.h: Update.
669         * gnulib/import/stddef.in.h: Update.
670         * gnulib/import/stdint.in.h: Update.
671         * gnulib/import/stdio.in.h: Update.
672         * gnulib/import/stdlib.in.h: Update.
673         * gnulib/import/str-two-way.h: Update.
674         * gnulib/import/strchrnul.c: Update.
675         * gnulib/import/strdup.c: Update.
676         * gnulib/import/streq.h: Update.
677         * gnulib/import/strerror-override.c: Update.
678         * gnulib/import/strerror-override.h: Update.
679         * gnulib/import/strerror.c: Update.
680         * gnulib/import/string.in.h: Update.
681         * gnulib/import/stripslash.c: Update.
682         * gnulib/import/strnlen1.c: Update.
683         * gnulib/import/strnlen1.h: Update.
684         * gnulib/import/strstr.c: Update.
685         * gnulib/import/strtok_r.c: Update.
686         * gnulib/import/sys_stat.in.h: Update.
687         * gnulib/import/sys_time.in.h: Update.
688         * gnulib/import/sys_types.in.h: Update.
689         * gnulib/import/tempname.c: Update.
690         * gnulib/import/tempname.h: Update.
691         * gnulib/import/time.in.h: Update.
692         * gnulib/import/unistd--.h: Update.
693         * gnulib/import/unistd-safer.h: Update.
694         * gnulib/import/unistd.in.h: Update.
695         * gnulib/import/unsetenv.c: Update.
696         * gnulib/import/verify.h: Update.
697         * gnulib/import/extra/snippet/warn-on-use.h: Update.
698         * gnulib/import/wchar.in.h: Update.
699         * gnulib/import/wctype.in.h: Update.
700         * gnulib/import/xalloc-oversized.h: Update.
701         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
702         "53e2c179f26a890fa6685af4b6c1397ee370433b".
703
704 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
705
706         * record-btrace.c (get_thread_current_frame): Remove
707         old_inferior_ptid.
708
709 2018-09-10  Jerome Guitton  <guitton@adacore.com>
710
711         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
712         with check_tag to 1 if and only if the type is tagged and the
713         component being searched cannot been found in the current
714         view. Otherwise, always call ada_to_fixed_type with
715         check_tag to 0.
716
717 2018-09-10  Xavier Roirand  <roirand@adacore.com>
718
719         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
720         declaration.
721         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
722         * ada-varobj.c (ada_varobj_get_number_of_children,
723         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
724
725 2018-09-10  Xavier Roirand  <roirand@adacore.com>
726
727         * ada-valprint.c (ada_value_print): Use type instead of
728         enclosing type.
729
730 2018-09-10  Xavier Roirand  <roirand@adacore.com>
731
732         * ada-lang.c (ada_value_subscript): Handle case when parameter is
733         an array of access to unconstrained array.
734
735 2018-09-10  Xavier Roirand  <roirand@adacore.com>
736
737         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
738         (ada_check_typedef): Use it.
739
740 2018-09-10  Xavier Roirand  <roirand@adacore.com>
741
742         * ada-varobj.c (ada_varobj_describe_struct_child)
743         (ada_varobj_describe_child): Handle union case like struct one.
744
745 2018-09-10  Tom Tromey  <tom@tromey.com>
746
747         PR python/18380:
748         * python/python.c (_initialize_python): Make example in "python"
749         help work in Python 3.
750
751 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
752
753         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
754         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
755         $(EXEEXT) to the script, as it is not a program.
756
757 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
758
759         * python/py-prettyprint.c (pretty_print_one_value): Return
760         gdbpy_ref<>.
761         (print_string_repr): Adjust.
762         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
763         * python/python-internal.h (apply_varobj_pretty_printer): Return
764         gdbpy_ref<>.
765         * varobj.c (varobj_value_get_print_value): Adjust.
766
767 2018-09-08  Tom Tromey  <tom@tromey.com>
768
769         PR python/16047:
770         * python/py-prettyprint.c (pretty_print_one_value): Check for
771         to_string method.
772
773 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
774
775         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
776         replace_operator_with_call.
777
778 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
779
780         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
781
782 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
783
784         * ada-typeprint.c (print_range): Print the bounds using TYPE
785         rather than its TYPE_TARGET_TYPE.
786
787 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
788
789         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
790         call to ada_to_fixed_value_create.
791
792 2018-09-08  Jerome Guitton  <guitton@adacore.com>
793
794         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
795
796 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
797
798         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
799         by calls to error.
800
801 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
802
803         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
804         Move update of loop variable "fi".
805
806 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
807
808         * ada-lang.c (value_assign_to_component): In the case of
809         big-endian targets, extract the bits of the given VAL
810         using an src_offset of zero if container is not a scalar.
811
812 2018-09-06  Simon Ser  <contact@emersion.fr>
813
814         PR gdb/23105
815         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
816         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
817         * fbsd-tdep.c (fbsd_make_note_desc): New.
818         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
819         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
820         * target.h (enum target_object) Add FreeBSD-specific
821         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
822
823 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
824
825         * compile/compile-c.h (generate_c_for_variable_locations):
826         Change reference to pointer.
827         * compile/compile-c-support.c (compile_program) <compute>:
828         Likewise.
829         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
830         (generate_c_for_for_one_variable): Likewise
831         (generate_c_for_variable_locations): Likewise
832         * compile/compile-c-types.c (compile_c_instance::convert_type):
833         Likewise
834         * compile/compile-cplus-symbols.c (convert_one_symbol):
835         std::move the scope passed to enter_scope.
836         * compile/compile-cplus-types.c
837         (compile_cplus_instance::enter_scope): Make parameter
838         rvalue-reference.
839         (compile_cplus_instance::new_scope): Change reference to
840         pointer.
841         (compile_cplus_instance::convert_type): Likewise
842         (compile_cplus_convert_typedef): std::move the scope passed to
843         enter_scope.
844         (compile_cplus_convert_struct_or_union): Likewise.
845         (compile_cplus_convert_enum): Likewise.
846         (compile_cplus_convert_namespace): Likewise.
847         * compile/compile-cplus.h (compile_cplus_instance)
848         <enter_scope>: Make parameter rvalue-reference.
849         * compile/compile-internal.h (compile_instance)
850         <get_cached_type>: Likewise
851         * compile/compile-loc2c.c (push): Likewise
852         (pushf): Likewise
853         (unary): Likewise
854         (binary): Likewise
855         (print_label): Likewise
856         (pushf_register_address): Likewise
857         (pushf_register): Likewise
858         (do_compile_dwarf_expr_to_c): Likewise
859         (compile_dwarf_expr_to_c): Likewise
860         (compile_dwarf_bounds_to_c): Likewise
861         * compile/compile.c (compile_instance::get_cached_type):
862         Likewise
863         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
864         (compile_dwarf_bounds_to_c): Likewise
865         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
866         (dwarf2_compile_property_to_c): Likewise
867         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
868         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
869         Likewise
870
871 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
872
873         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
874         * tui/tui-data.c (init_content_element): Don't initialize it.
875
876 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
877
878         * tui/tui-data.h (struct tui_win_info)
879         <detail::opaque>: Remove.
880         * tui/tui-data.c (init_win_info): Remove assignment.
881
882 2018-09-05  Tom Tromey  <tom@tromey.com>
883
884         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
885         -Wformat-nonliteral.
886         * target-float.c (host_float_ops<T>::to_string)
887         (host_float_ops<T>::from_string): Use
888         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
889         * configure: Rebuild.
890
891 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
892
893         * printcmd.c (printf_c_string): Use
894         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
895         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
896
897 2018-09-05  Tom Tromey  <tom@tromey.com>
898
899         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
900
901 2018-09-05  Tom de Vries  <tdevries@suse.de>
902
903         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
904         with resolve_abstract_p == true.
905         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
906         defaulting to false. Propagate resolve_abstract_p to
907         dwarf2_fetch_die_loc_sect_off.
908         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
909         parameter, defaulting to false.
910         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
911         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
912         parameter.
913         * dwarf2read.h (struct die_info): Forward-declare.
914         (die_info_ptr): New typedef.
915         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
916
917 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
918
919         GDB 8.2 released.
920
921 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
922             Pedro Alves  <palves@redhat.com>
923
924         * gnulib/Makefile.in (aclocal_m4_deps): Move to
925         "aclocal-m4-deps.mk".  Include file here.
926         $(srcdir)/aclocal.m4: Add "configure.ac".
927         * gnulib/aclocal-m4-deps.mk: New file.
928         * gnulib/update-gnulib.sh: Automatically update
929         "aclocal-m4-deps.mk".
930
931 2018-09-04  Tom Tromey  <tom@tromey.com>
932
933         * configure: Rebuild.
934         * configure.ac: Remove multi-ice code.
935
936 2018-09-04  Tom Tromey  <tom@tromey.com>
937
938         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
939         (ada-exp.o): Update.
940
941 2018-09-04  Tom Tromey  <tom@tromey.com>
942
943         * Makefile.in (printcmd.o, target-float.o): Remove.
944         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
945
946 2018-09-04  Tom Tromey  <tom@tromey.com>
947
948         * gnulib/Makefile.in: Remove obsolete comment.
949         * Makefile.in: Remove obsolete comment.
950
951 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
952
953         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
954         line with '+'.
955
956 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
957
958         * riscv-tdep.c: Add 'prologue-value.h' include.
959         (struct riscv_unwind_cache): New struct.
960         (riscv_debug_unwinder): New global.
961         (riscv_scan_prologue): Update arguments, capture register details
962         from prologue scan.
963         (riscv_skip_prologue): Reformat arguments line, move end of
964         prologue calculation into riscv_scan_prologue.
965         (riscv_frame_cache): Update return type, create
966         riscv_unwind_cache, scan the prologue, and fill in remaining cache
967         details.
968         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
969         (riscv_frame_prev_register): Use the trad_frame within the
970         riscv_unwind_cache.
971         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
972         flag.
973
974 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
975
976         * trad-frame.h (trad_frame_set_realreg): Declare.
977         (trad_frame_set_addr): Declare.
978         * trad-frame.c (trad_frame_set_realreg): Define new function.
979         (trad_frame_set_addr): Define new function.
980         (trad_frame_set_reg_realreg): Use new function.
981         (trad_frame_set_reg_addr): Use new function.
982
983 2018-09-01  Keith Seitz  <keiths@redhat.com>
984
985         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
986         pulongest instead of "%lld".
987         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
988         ATTRIBUTE_UNUSED.
989
990 2018-08-31  Tom Tromey  <tom@tromey.com>
991
992         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
993         variant part type.
994
995 2018-08-31  Pedro Alves  <palves@redhat.com>
996
997         * gdbarch.h: Regenerate.
998
999 2018-08-31  Pedro Alves  <palves@redhat.com>
1000
1001         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
1002         * target.h (Hardware watchpoint interfaces): Describe
1003         continuable/steppable/non-steppable watchpoints.
1004         * gdbarch.h, gdbarch.c: Regenerate.
1005
1006 2018-08-31  Pedro Alves  <palves@redhat.com>
1007
1008         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1009         Delete.
1010         * s390-linux-nat.c
1011         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1012         * target.h (target_ops::have_continuable_watchpoint): Delete.
1013         (target_have_continuable_watchpoint): Delete.
1014         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1015         * target-delegates.c: Regenerate.
1016
1017 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1018
1019         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1020         the files present in "gnulib/import/m4/".
1021
1022 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1023
1024         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1025         c.sw, c.swsp, and c.sdsp.
1026
1027 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1028
1029         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1030         (riscv_read_misa_reg): Don't cache value read into inferior data.
1031         (riscv_new_inferior_data): Delete.
1032         (riscv_inferior_data_cleanup): Delete.
1033         (riscv_inferior_data): Delete.
1034         (riscv_invalidate_inferior_data): Delete.
1035         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1036
1037 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1038
1039         * compile/compile-cplus-types.c
1040         (compile_cplus_instance::leave_scope): Take the address of scope
1041         object.
1042         (compile_cplus_instance::convert_qualified_base): Compare quals
1043         to 0.
1044
1045 2018-08-30  Keith Seitz  <keiths@redhat.com>
1046
1047         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1048         Use "%s" and host_address_to_string instead of "%p" in printf.
1049
1050 2018-08-29  Keith Seitz  <keiths@redhat.com>
1051
1052         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1053         and compile-cplus-types.c.
1054         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1055         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1056         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1057         Declare.
1058         * compile/compile-c-support.c: Include compile-cplus.h.
1059         (load_libcompile): Templatize.
1060         (get_compile_context): "New" function.
1061         (c_get_compile_context): Use get_compile_context.
1062         (cplus_get_compile_context): New function.
1063         (cplus_push_user_expression, cplus_pop_user_expression)
1064         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1065         (cplus_compute_program): Define new structs/functions.
1066         * compile/compile-cplus-symmbols.c: New file.
1067         * compile/compile-cplus-types.c: New file.
1068         * compile/compile-cplus.h: New file.
1069         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1070         Declare.
1071         * compile/compile-object-load.c (get_out_value_type): Use
1072         strncmp_iw when comparing symbol names.
1073         (compile_object_load): Add mst_bss and mst_data.
1074         * compile/compile.c (_initialize_compile): Remove
1075         -Wno-implicit-function-declaration from `compile_args'.
1076         * compile/gcc-cp-plugin.h: New file.
1077         * NEWS: Mention C++ compile support and new debug options.
1078
1079 2018-08-29  Keith Seitz  <keiths@redhat.com>
1080
1081         * linespec.c (collect_info::add_symbol): Make virtual.
1082         (struct symbol_searcher_collect_info): New struct.
1083         (symbol_searcher::find_all_symbols): New method.
1084         * symtab.h (class symbol_searcher): New class.
1085
1086 2018-08-29  Keith Seitz  <keiths@redhat.com>
1087
1088         * linespec.c (struct linespec) <function_symbols, label_symbols>:
1089         Change to vector of block_symbol.  Update all users.
1090         (struct collect_info) <symbols>: Likewise.
1091         (collect_info::add_symbol): Take block_symbol as argument.
1092         Update all callers.
1093         (decode_compound_collector) <m_symbols>: Change type to vector
1094         of block_symbol.  Update all users.
1095         (decode_compound_collector::operator ()): Change parameter type
1096         to block_symbol.
1097         (find_method, find_function_symbols, find_linespec_symbols)
1098         (find_label_symbols_in_block, find_label_symbols): Change symbol
1099         vectors to block_symbol vectors.
1100         * symtab.h (symbol_found_callback_ftype): Change parameter type to
1101         block_symbol.
1102
1103 2018-08-29  Keith Seitz  <keiths@redhat.com>
1104
1105         * linespec.c (symbolp): Remove typedef and VEC definitions.
1106         (bound_minimal_symbol_d): Likewise.
1107
1108 2018-08-29  Keith Seitz  <keiths@redhat.com>
1109
1110         * linespec.c (decode_compound_collector::decode_compound_collector):
1111         Remove initialization for `m_symtabs'.
1112         (decode_compound_collector::release_symbols): Change return type
1113         to std::vector.  Update all callers.
1114         (class decode_compound_collector) <m_symbols>: Change type to
1115         std::vector.
1116         (lookup_prefix_sym): Change return type to std::vector.  Update all
1117         callers.
1118         (compare_symbols): Remove.
1119         (std_compare_symbols): Rename to `compare_symbols'.
1120         (find_method): Change `sym_classes' parameter to std::vector.
1121         Update all callers.  Use std::sort to sort sym_classes.
1122         (find_linespec_symbols): Remove cleanup.
1123
1124 2018-08-29  Keith Seitz  <keiths@redhat.com>
1125
1126         * linespec.c (struct linespec) <minimal_symbols>: Change type to
1127         std::vector.  Update all users.
1128         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
1129         (struct collect_info) <minimal_symbols>: Likewise.
1130         (compare_msymbols): Return bool.  Change parameters to const
1131         bound_minimal_symbol references.
1132         (find_method, find_function_symbols, find_linespec_symbols): Change
1133         `minsyms' parameter to std::vector.  Update all callers.
1134
1135 2018-08-29  Keith Seitz  <keiths@redhat.com>
1136
1137         * linespec.c (struct linespec) <label_symbols>: Change type to
1138         std::vector.  Update all users.
1139         (find_label_symbols_in_block): Change `result' parameter to
1140         std::vector.  Update all callers.
1141         (find_label_symbols): Return std::vector.  Update all callers.
1142
1143 2018-08-29  Keith Seitz  <keiths@redhat.com>
1144
1145         * linespec.c (struct linespec) <function_symbols>: Change type to
1146         std::vector.  Update all users.
1147         (struct collect_info) <function_symbols>: Likewise.
1148         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
1149         (std_compare_symbols): New function.
1150         (find_method, find_function_symbols, find_linespec_symbols)
1151         (find_label_symbols_in_block): Change `symbols' parameter to
1152         std::vector.  Update all callers.
1153         (find_label_symbols): Likewise for `function_symbols' and
1154         `label_funcs_ret'.
1155
1156 2018-08-29  Keith Seitz  <keiths@redhat.com>
1157
1158         * linespec.c (symtab_vector_up): Define.
1159         (struct linespec) <file_symtabs>: Change type to std::vector *.
1160         Update all uses.
1161         (struct collect_info) <file_symtabs>: Likewise.
1162         (collect_symtabs_from_filename): Return symtab_vector_up.
1163         Update all callers.
1164         (decode_objc): Remove cleanup.
1165         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
1166         (symtab_collector::release_symtabs): Return symtab_vector_up.
1167         Update all callers.
1168         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
1169         Update all users.
1170         (collect_symtabs_from_filename, symtabs_from_filename): Return
1171         symtab_vector_up.  Update all callers.
1172
1173 2018-08-29  Tom Tromey  <tom@tromey.com>
1174
1175         * csky-tdep.c (csky_analyze_prologue): Use
1176         core_addr_to_string_nz.
1177
1178 2018-08-29  Tom Tromey  <tom@tromey.com>
1179
1180         * windows-nat.c (struct xlate_exception) <them>: Change type to
1181         DWORD.
1182         (xlate): Fix formatting.  Remove last entry.
1183         (struct xlate_exception, xlate): Comment out.
1184         (windows_nat_target::resume): Use ranged for.
1185
1186 2018-08-29  Jim Wilson  <jimw@sifive.com>
1187
1188         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
1189         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
1190         of NT_PRFPREG.
1191         (riscv_linux_nat_target::store_registers): Likewise.
1192
1193 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1194
1195         PR gdb/23555
1196         PR gdb/23558
1197         * gnulib/aclocal.m4: Regenerate.
1198         * gnulib/config.in: Regenerate.
1199         * gnulib/configure: Regenerate.
1200         * gnulib/import/Makefile.am: Update.
1201         * gnulib/import/Makefile.in: Update.
1202         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1203         * gnulib/import/_Noreturn.h: ... this.
1204         * gnulib/import/alloca.in.h: Update.
1205         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1206         * gnulib/import/arg-nonnull.h: ... this.
1207         * gnulib/import/assure.h: Update.
1208         * gnulib/import/at-func.c: Update.
1209         * gnulib/import/basename-lgpl.c: Update.
1210         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1211         * gnulib/import/c++defs.h: ... this.
1212         * gnulib/import/canonicalize-lgpl.c: Update.
1213         * gnulib/import/cdefs.h: Update.
1214         * gnulib/import/chdir-long.c: Update.
1215         * gnulib/import/chdir-long.h: Update.
1216         * gnulib/import/cloexec.c: Update.
1217         * gnulib/import/cloexec.h: Update.
1218         * gnulib/import/close.c: Update.
1219         * gnulib/import/closedir.c: Update.
1220         * gnulib/import/config.charset: Update.
1221         * gnulib/import/dirent-private.h: Update.
1222         * gnulib/import/dirent.in.h: Update.
1223         * gnulib/import/dirfd.c: Update.
1224         * gnulib/import/dirname-lgpl.c: Update.
1225         * gnulib/import/dirname.h: Update.
1226         * gnulib/import/dosname.h: Update.
1227         * gnulib/import/dup-safer-flag.c: Update.
1228         * gnulib/import/dup-safer.c: Update.
1229         * gnulib/import/dup.c: Update.
1230         * gnulib/import/dup2.c: Update.
1231         * gnulib/import/errno.in.h: Update.
1232         * gnulib/import/error.c: Update.
1233         * gnulib/import/error.h: Update.
1234         * gnulib/import/exitfail.c: Update.
1235         * gnulib/import/exitfail.h: Update.
1236         * gnulib/import/extra/update-copyright: Update.
1237         * gnulib/import/fchdir.c: Update.
1238         * gnulib/import/fcntl.c: Update.
1239         * gnulib/import/fcntl.in.h: Update.
1240         * gnulib/import/fd-hook.c: Update.
1241         * gnulib/import/fd-hook.h: Update.
1242         * gnulib/import/fd-safer-flag.c: Update.
1243         * gnulib/import/fd-safer.c: Update.
1244         * gnulib/import/fdopendir.c: Update.
1245         * gnulib/import/filename.h: Update.
1246         * gnulib/import/filenamecat-lgpl.c: Update.
1247         * gnulib/import/filenamecat.h: Update.
1248         * gnulib/import/flexmember.h: Update.
1249         * gnulib/import/float+.h: Update.
1250         * gnulib/import/float.c: Update.
1251         * gnulib/import/float.in.h: Update.
1252         * gnulib/import/fnmatch.c: Update.
1253         * gnulib/import/fnmatch.in.h: Update.
1254         * gnulib/import/fnmatch_loop.c: Update.
1255         * gnulib/import/fpucw.h: Update.
1256         * gnulib/import/frexp.c: Update.
1257         * gnulib/import/frexpl.c: Update.
1258         * gnulib/import/fstat.c: Update.
1259         * gnulib/import/fstatat.c: Update.
1260         * gnulib/import/getcwd-lgpl.c: Update.
1261         * gnulib/import/getcwd.c: Update.
1262         * gnulib/import/getdtablesize.c: Update.
1263         * gnulib/import/getlogin_r.c: Update.
1264         * gnulib/import/getprogname.c: Update.
1265         * gnulib/import/getprogname.h: Update.
1266         * gnulib/import/gettext.h: Update.
1267         * gnulib/import/gettimeofday.c: Update.
1268         * gnulib/import/glob-libc.h: Update.
1269         * gnulib/import/glob.c: Update.
1270         * gnulib/import/glob.in.h: Update.
1271         * gnulib/import/glob_internal.h: Update.
1272         * gnulib/import/glob_pattern_p.c: Update.
1273         * gnulib/import/globfree.c: Update.
1274         * gnulib/import/hard-locale.c: Update.
1275         * gnulib/import/hard-locale.h: Update.
1276         * gnulib/import/intprops.h: Update.
1277         * gnulib/import/inttypes.in.h: Update.
1278         * gnulib/import/isnan.c: Update.
1279         * gnulib/import/isnand-nolibm.h: Update.
1280         * gnulib/import/isnand.c: Update.
1281         * gnulib/import/isnanl-nolibm.h: Update.
1282         * gnulib/import/isnanl.c: Update.
1283         * gnulib/import/itold.c: Update.
1284         * gnulib/import/libc-config.h: Update.
1285         * gnulib/import/limits.in.h: Update.
1286         * gnulib/import/localcharset.c: Update.
1287         * gnulib/import/localcharset.h: Update.
1288         * gnulib/import/localtime-buffer.c: Update.
1289         * gnulib/import/localtime-buffer.h: Update.
1290         * gnulib/import/lstat.c: Update.
1291         * gnulib/import/m4/00gnulib.m4: Update.
1292         * gnulib/import/m4/__inline.m4: Update.
1293         * gnulib/import/m4/absolute-header.m4: Update.
1294         * gnulib/import/m4/alloca.m4: Update.
1295         * gnulib/import/m4/builtin-expect.m4: Update.
1296         * gnulib/import/m4/canonicalize.m4: Update.
1297         * gnulib/import/m4/chdir-long.m4: Update.
1298         * gnulib/import/m4/close.m4: Update.
1299         * gnulib/import/m4/closedir.m4: Update.
1300         * gnulib/import/m4/configmake.m4: Update.
1301         * gnulib/import/m4/d-ino.m4: Update.
1302         * gnulib/import/m4/d-type.m4: Update.
1303         * gnulib/import/m4/dirent_h.m4: Update.
1304         * gnulib/import/m4/dirfd.m4: Update.
1305         * gnulib/import/m4/dirname.m4: Update.
1306         * gnulib/import/m4/double-slash-root.m4: Update.
1307         * gnulib/import/m4/dup.m4: Update.
1308         * gnulib/import/m4/dup2.m4: Update.
1309         * gnulib/import/m4/eealloc.m4: Update.
1310         * gnulib/import/m4/environ.m4: Update.
1311         * gnulib/import/m4/errno_h.m4: Update.
1312         * gnulib/import/m4/error.m4: Update.
1313         * gnulib/import/m4/exponentd.m4: Update.
1314         * gnulib/import/m4/exponentl.m4: Update.
1315         * gnulib/import/m4/extensions.m4: Update.
1316         * gnulib/import/m4/extern-inline.m4: Update.
1317         * gnulib/import/m4/fchdir.m4: Update.
1318         * gnulib/import/m4/fcntl-o.m4: Update.
1319         * gnulib/import/m4/fcntl.m4: Update.
1320         * gnulib/import/m4/fcntl_h.m4: Update.
1321         * gnulib/import/m4/fdopendir.m4: Update.
1322         * gnulib/import/m4/filenamecat.m4: Update.
1323         * gnulib/import/m4/flexmember.m4: Update.
1324         * gnulib/import/m4/float_h.m4: Update.
1325         * gnulib/import/m4/fnmatch.m4: Update.
1326         * gnulib/import/m4/fnmatch_h.m4: Update.
1327         * gnulib/import/m4/fpieee.m4: Update.
1328         * gnulib/import/m4/frexp.m4: Update.
1329         * gnulib/import/m4/frexpl.m4: Update.
1330         * gnulib/import/m4/fstat.m4: Update.
1331         * gnulib/import/m4/fstatat.m4: Update.
1332         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1333         * gnulib/import/m4/getcwd-path-max.m4: Update.
1334         * gnulib/import/m4/getcwd.m4: Update.
1335         * gnulib/import/m4/getdtablesize.m4: Update.
1336         * gnulib/import/m4/getlogin.m4: Update.
1337         * gnulib/import/m4/getlogin_r.m4: Update.
1338         * gnulib/import/m4/getpagesize.m4: Update.
1339         * gnulib/import/m4/getprogname.m4: Update.
1340         * gnulib/import/m4/gettimeofday.m4: Update.
1341         * gnulib/import/m4/glibc21.m4: Update.
1342         * gnulib/import/m4/glob.m4: Update.
1343         * gnulib/import/m4/glob_h.m4: Update.
1344         * gnulib/import/m4/gnulib-cache.m4: Update.
1345         * gnulib/import/m4/gnulib-common.m4: Update.
1346         * gnulib/import/m4/gnulib-comp.m4: Update.
1347         * gnulib/import/m4/gnulib-tool.m4: Update.
1348         * gnulib/import/m4/hard-locale.m4: Update.
1349         * gnulib/import/m4/include_next.m4: Update.
1350         * gnulib/import/m4/inttypes-pri.m4: Update.
1351         * gnulib/import/m4/inttypes.m4: Update.
1352         * gnulib/import/m4/isnand.m4: Update.
1353         * gnulib/import/m4/isnanl.m4: Update.
1354         * gnulib/import/m4/largefile.m4: Update.
1355         * gnulib/import/m4/limits-h.m4: Update.
1356         * gnulib/import/m4/localcharset.m4: Update.
1357         * gnulib/import/m4/locale-fr.m4: Update.
1358         * gnulib/import/m4/locale-ja.m4: Update.
1359         * gnulib/import/m4/locale-zh.m4: Update.
1360         * gnulib/import/m4/localtime-buffer.m4: Update.
1361         * gnulib/import/m4/longlong.m4: Update.
1362         * gnulib/import/m4/lstat.m4: Update.
1363         * gnulib/import/m4/malloc.m4: Update.
1364         * gnulib/import/m4/malloca.m4: Update.
1365         * gnulib/import/m4/math_h.m4: Update.
1366         * gnulib/import/m4/mbrtowc.m4: Update.
1367         * gnulib/import/m4/mbsinit.m4: Update.
1368         * gnulib/import/m4/mbsrtowcs.m4: Update.
1369         * gnulib/import/m4/mbstate_t.m4: Update.
1370         * gnulib/import/m4/memchr.m4: Update.
1371         * gnulib/import/m4/memmem.m4: Update.
1372         * gnulib/import/m4/mempcpy.m4: Update.
1373         * gnulib/import/m4/memrchr.m4: Update.
1374         * gnulib/import/m4/mkdir.m4: Update.
1375         * gnulib/import/m4/mkstemp.m4: Update.
1376         * gnulib/import/m4/mmap-anon.m4: Update.
1377         * gnulib/import/m4/mode_t.m4: Update.
1378         * gnulib/import/m4/msvc-inval.m4: Update.
1379         * gnulib/import/m4/msvc-nothrow.m4: Update.
1380         * gnulib/import/m4/multiarch.m4: Update.
1381         * gnulib/import/m4/nocrash.m4: Update.
1382         * gnulib/import/m4/off_t.m4: Update.
1383         * gnulib/import/m4/onceonly.m4: Update.
1384         * gnulib/import/m4/open-cloexec.m4: Update.
1385         * gnulib/import/m4/open.m4: Update.
1386         * gnulib/import/m4/openat.m4: Update.
1387         * gnulib/import/m4/opendir.m4: Update.
1388         * gnulib/import/m4/pathmax.m4: Update.
1389         * gnulib/import/m4/rawmemchr.m4: Update.
1390         * gnulib/import/m4/readdir.m4: Update.
1391         * gnulib/import/m4/readlink.m4: Update.
1392         * gnulib/import/m4/realloc.m4: Update.
1393         * gnulib/import/m4/rename.m4: Update.
1394         * gnulib/import/m4/rewinddir.m4: Update.
1395         * gnulib/import/m4/rmdir.m4: Update.
1396         * gnulib/import/m4/save-cwd.m4: Update.
1397         * gnulib/import/m4/secure_getenv.m4: Update.
1398         * gnulib/import/m4/setenv.m4: Update.
1399         * gnulib/import/m4/signal_h.m4: Update.
1400         * gnulib/import/m4/ssize_t.m4: Update.
1401         * gnulib/import/m4/stat-time.m4: Update.
1402         * gnulib/import/m4/stat.m4: Update.
1403         * gnulib/import/m4/std-gnu11.m4: Update.
1404         * gnulib/import/m4/stdbool.m4: Update.
1405         * gnulib/import/m4/stddef_h.m4: Update.
1406         * gnulib/import/m4/stdint.m4: Update.
1407         * gnulib/import/m4/stdio_h.m4: Update.
1408         * gnulib/import/m4/stdlib_h.m4: Update.
1409         * gnulib/import/m4/strchrnul.m4: Update.
1410         * gnulib/import/m4/strdup.m4: Update.
1411         * gnulib/import/m4/strerror.m4: Update.
1412         * gnulib/import/m4/string_h.m4: Update.
1413         * gnulib/import/m4/strstr.m4: Update.
1414         * gnulib/import/m4/strtok_r.m4: Update.
1415         * gnulib/import/m4/sys_socket_h.m4: Update.
1416         * gnulib/import/m4/sys_stat_h.m4: Update.
1417         * gnulib/import/m4/sys_time_h.m4: Update.
1418         * gnulib/import/m4/sys_types_h.m4: Update.
1419         * gnulib/import/m4/tempname.m4: Update.
1420         * gnulib/import/m4/time_h.m4: Update.
1421         * gnulib/import/m4/unistd-safer.m4: Update.
1422         * gnulib/import/m4/unistd_h.m4: Update.
1423         * gnulib/import/m4/warn-on-use.m4: Update.
1424         * gnulib/import/m4/wchar_h.m4: Update.
1425         * gnulib/import/m4/wchar_t.m4: Update.
1426         * gnulib/import/m4/wctype_h.m4: Update.
1427         * gnulib/import/m4/wint_t.m4: Update.
1428         * gnulib/import/malloc.c: Update.
1429         * gnulib/import/malloc/scratch_buffer.h: Update.
1430         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1431         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1432         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1433         * gnulib/import/malloca.c: Update.
1434         * gnulib/import/malloca.h: Update.
1435         * gnulib/import/malloca.valgrind: Update.
1436         * gnulib/import/math.in.h: Update.
1437         * gnulib/import/mbrtowc.c: Update.
1438         * gnulib/import/mbsinit.c: Update.
1439         * gnulib/import/mbsrtowcs-impl.h: Update.
1440         * gnulib/import/mbsrtowcs-state.c: Update.
1441         * gnulib/import/mbsrtowcs.c: Update.
1442         * gnulib/import/memchr.c: Update.
1443         * gnulib/import/memmem.c: Update.
1444         * gnulib/import/mempcpy.c: Update.
1445         * gnulib/import/memrchr.c: Update.
1446         * gnulib/import/mkdir.c: Update.
1447         * gnulib/import/mkstemp.c: Update.
1448         * gnulib/import/msvc-inval.c: Update.
1449         * gnulib/import/msvc-inval.h: Update.
1450         * gnulib/import/msvc-nothrow.c: Update.
1451         * gnulib/import/msvc-nothrow.h: Update.
1452         * gnulib/import/open.c: Update.
1453         * gnulib/import/openat-die.c: Update.
1454         * gnulib/import/openat-priv.h: Update.
1455         * gnulib/import/openat-proc.c: Update.
1456         * gnulib/import/openat.c: Update.
1457         * gnulib/import/openat.h: Update.
1458         * gnulib/import/opendir.c: Update.
1459         * gnulib/import/pathmax.h: Update.
1460         * gnulib/import/pipe-safer.c: Update.
1461         * gnulib/import/rawmemchr.c: Update.
1462         * gnulib/import/readdir.c: Update.
1463         * gnulib/import/readlink.c: Update.
1464         * gnulib/import/realloc.c: Update.
1465         * gnulib/import/ref-add.sin: Update.
1466         * gnulib/import/ref-del.sin: Update.
1467         * gnulib/import/rename.c: Update.
1468         * gnulib/import/rewinddir.c: Update.
1469         * gnulib/import/rmdir.c: Update.
1470         * gnulib/import/same-inode.h: Update.
1471         * gnulib/import/save-cwd.c: Update.
1472         * gnulib/import/save-cwd.h: Update.
1473         * gnulib/import/scratch_buffer.h: Update.
1474         * gnulib/import/secure_getenv.c: Update.
1475         * gnulib/import/setenv.c: Update.
1476         * gnulib/import/signal.in.h: Update.
1477         * gnulib/import/stat-time.c: Update.
1478         * gnulib/import/stat-time.h: Update.
1479         * gnulib/import/stat-w32.c: Update.
1480         * gnulib/import/stat-w32.h: Update.
1481         * gnulib/import/stat.c: Update.
1482         * gnulib/import/stdbool.in.h: Update.
1483         * gnulib/import/stddef.in.h: Update.
1484         * gnulib/import/stdint.in.h: Update.
1485         * gnulib/import/stdio.in.h: Update.
1486         * gnulib/import/stdlib.in.h: Update.
1487         * gnulib/import/str-two-way.h: Update.
1488         * gnulib/import/strchrnul.c: Update.
1489         * gnulib/import/strdup.c: Update.
1490         * gnulib/import/streq.h: Update.
1491         * gnulib/import/strerror-override.c: Update.
1492         * gnulib/import/strerror-override.h: Update.
1493         * gnulib/import/strerror.c: Update.
1494         * gnulib/import/string.in.h: Update.
1495         * gnulib/import/stripslash.c: Update.
1496         * gnulib/import/strnlen1.c: Update.
1497         * gnulib/import/strnlen1.h: Update.
1498         * gnulib/import/strstr.c: Update.
1499         * gnulib/import/strtok_r.c: Update.
1500         * gnulib/import/sys_stat.in.h: Update.
1501         * gnulib/import/sys_time.in.h: Update.
1502         * gnulib/import/sys_types.in.h: Update.
1503         * gnulib/import/tempname.c: Update.
1504         * gnulib/import/tempname.h: Update.
1505         * gnulib/import/time.in.h: Update.
1506         * gnulib/import/unistd--.h: Update.
1507         * gnulib/import/unistd-safer.h: Update.
1508         * gnulib/import/unistd.in.h: Update.
1509         * gnulib/import/unsetenv.c: Update.
1510         * gnulib/import/verify.h: Update.
1511         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1512         * gnulib/import/wchar.in.h: Update.
1513         * gnulib/import/wctype.in.h: Update.
1514         * gnulib/import/xalloc-oversized.h: Update.
1515         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1516         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1517
1518 2018-08-16  Gary Benson <gbenson@redhat.com>
1519
1520         PR gdb/13000:
1521         * gdb/main.c (captured_main_1): Exit with nonzero status
1522         in batch mode if the last command to be executed failed.
1523         * NEWS: Mention the above.
1524
1525 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
1526
1527         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
1528         end of warning message.
1529
1530 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1531
1532         PR gdb/22943:
1533         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
1534         (aarch64_extract_return_value): Use
1535         aapcs_is_vfp_call_or_return_candidate.
1536         (aarch64_return_in_memory): Likewise.
1537         (aarch64_store_return_value): Likewise.
1538
1539 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1540
1541         * aarch64-tdep.c
1542         (aapcs_is_vfp_call_or_return_candidate): Make static
1543         (pass_in_v_or_stack): Remove function.
1544         (pass_in_v_vfp_candidate): New function.
1545         (aarch64_push_dummy_call): Check for float register candidates.
1546
1547 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1548
1549         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
1550         (aapcs_is_vfp_call_or_return_candidate_1): New function.
1551         (aapcs_is_vfp_call_or_return_candidate): Likewise.
1552
1553 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
1554
1555         PR build/23399
1556         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
1557         (struct ipa_sym_addresses): Rename to...
1558         (struct ipa_sym_addresses_common): ... this.
1559         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
1560
1561 2018-08-28  Tom Tromey  <tom@tromey.com>
1562
1563         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1564         (token_fifo): Now a std::vector.
1565         (yylex, c_parse): Update.
1566         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1567         (token_fifo): Now a std::vector.
1568         (yylex, d_parse): Update.
1569         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1570         (token_fifo): Now a std::vector.
1571         (yylex, go_parse): Update.
1572
1573 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
1574
1575         * parser-defs.h (struct type_stack) <elements>: Change type to
1576         std::vector<union type_stack_elt>.
1577         <depth, size>: Remove.
1578         * parse.c (parse_exp_in_context_1): Adjust.
1579         (type_stack_reserve): Remove.
1580         (check_type_stack_depth): Remove.
1581         (insert_into_type_stack): Adjust to std::vector.
1582         (insert_type): Likewise.
1583         (push_type): Likewise.
1584         (push_type_int): Likewise.
1585         (insert_type_address_space): Likewise.
1586         (pop_type): Likewise.
1587         (pop_type_int): Likewise.
1588         (pop_typelist): Likewise.
1589         (pop_type_stack): Likewise.
1590         (append_type_stack): Likewise.
1591         (push_type_stack): Likewise.
1592         (get_type_stack): Likewise.
1593         (type_stack_cleanup): Likewise.
1594         (push_typelist): Likewise.
1595         (follow_types): Likewise.
1596         (_initialize_parse): Likewise.
1597
1598 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
1599
1600         * NEWS: Mention csky target.
1601
1602 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
1603             Hafiz Abid Qadeer  <abidh@codesourcery.com>
1604             Don Breazeal  <donb@codesourcery.com>
1605
1606         * csky-linux-tdep.c: New file.
1607         * csky-tdep.c: Likewise.
1608         * csky-tdep.h: Likewise.
1609         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
1610         csky-tdep.o.
1611         (HFILES_NO_SRCDIR): Add csky-tdep.h.
1612         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
1613         * configure.tgt: Add csky support.
1614
1615 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
1616
1617         * python/py-framefilter.c (py_print_frame): Print frame architecture
1618         when printing on an MI output.
1619
1620 2018-08-27  Tom Tromey  <tom@tromey.com>
1621
1622         PR build/23087:
1623         * configure: Rebuild.
1624         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
1625
1626 2018-08-27  Tom Tromey  <tom@tromey.com>
1627
1628         * aarch64-linux-tdep.c
1629         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
1630         casts to int.
1631
1632 2018-08-27  Tom Tromey  <tom@tromey.com>
1633
1634         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
1635         unsigned.
1636         (ppc64_standard_linkage1, ppc64_standard_linkage2)
1637         (ppc64_standard_linkage3, ppc64_standard_linkage4)
1638         (ppc64_standard_linkage5, ppc64_standard_linkage6)
1639         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
1640         unsigned.
1641
1642 2018-08-27  Tom Tromey  <tom@tromey.com>
1643
1644         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
1645         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
1646
1647 2018-08-27  Tom Tromey  <tom@tromey.com>
1648
1649         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
1650         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
1651         ULONGEST_MAX.
1652         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
1653         ULONGEST_MAX.
1654         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
1655         ULONGEST_MAX.
1656         * sparc-linux-tdep.c (sparc32_linux_sigframe)
1657         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
1658         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
1659         ULONGEST_MAX.
1660         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
1661         (ppc64_linux_sigaction_tramp_frame)
1662         (ppc32_linux_sighandler_tramp_frame)
1663         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1664         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
1665         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
1666         * mn10300-linux-tdep.c (am33_linux_sigframe)
1667         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
1668         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
1669         * mips-linux-tdep.c (mips_linux_o32_sigframe)
1670         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
1671         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
1672         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
1673         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
1674         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
1675         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
1676         * microblaze-linux-tdep.c
1677         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1678         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
1679         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
1680         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
1681         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
1682         * common/common-types.h (ULONGEST_MAX): New define.
1683         (CORE_ADDR_MAX): Fix formatting.
1684         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
1685         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
1686         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
1687         (arm_linux_rt_sigreturn_tramp_frame)
1688         (arm_eabi_linux_sigreturn_tramp_frame)
1689         (arm_eabi_linux_rt_sigreturn_tramp_frame)
1690         (thumb2_eabi_linux_sigreturn_tramp_frame)
1691         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
1692         (arm_linux_restart_syscall_tramp_frame)
1693         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
1694         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
1695         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
1696         ULONGEST_MAX.
1697         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
1698
1699 2018-08-27  Tom Tromey  <tom@tromey.com>
1700
1701         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
1702         CORE_ADDR_MAX.
1703         * mips-tdep.c (mips_deal_with_atomic_sequence)
1704         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
1705         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
1706         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
1707         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
1708         CORE_ADDR_MAX.
1709         * aarch64-tdep.c (aarch64_software_single_step): Use
1710         CORE_ADDR_MAX.
1711
1712 2018-08-27  Tom Tromey  <tom@tromey.com>
1713
1714         * linespec.c (complete_linespec_component): Add cast to "char".
1715         * completer.c (completion_tracker::build_completion_result): Add
1716         cast to "char".
1717
1718 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1719
1720         * solist.h (struct solist, struct target_so_ops): Fix
1721         indentation.
1722
1723 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1724
1725         * ada-tasks.c (ada_task_info_s): Remove typedef.
1726         (DEF_VEC_O(ada_task_info_s)): Remove.
1727         (struct ada_tasks_inferior_data): Initialize fields.
1728         <task_list>: Make an std::vector.
1729         (get_ada_tasks_inferior_data): Allocate with new.
1730         (ada_get_task_number): Adjust.
1731         (get_task_number_from_id): Likewise.
1732         (valid_task_id): Likewise.
1733         (ada_get_task_info_from_ptid): Likewise.
1734         (iterate_over_live_ada_tasks): Likewise.
1735         (add_ada_task): Likewise.
1736         (read_known_tasks): Likewise.
1737         (ada_build_task_list): Likewise.
1738         (print_ada_task_info): Likewise.
1739         (info_task): Likewise.
1740         (task_command_1): Likewise.
1741
1742 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1743
1744         * ada-lang.c (add_angle_brackets): Return std::string.
1745
1746 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
1747
1748         * python/py-threadevent.c (py_get_event_thread): Initialize
1749         pythread.
1750
1751 2018-08-24  Pedro Alves  <palves@redhat.com>
1752
1753         * python/py-bpevent.c (create_breakpoint_event_object): Use
1754         copy-initialization.
1755         * python/py-continueevent.c (emit_continue_event): Use
1756         copy-initialization.
1757         * python/py-exitedevent.c (create_exited_event_object): Return a
1758         gdbpy_ref<>.
1759         (emit_exited_event): Use copy-initialization.
1760         * python/py-inferior.c (python_new_inferior)
1761         (python_inferior_deleted, add_thread_object): Use
1762         copy-initialization.
1763         * python/py-infevents.c (create_inferior_call_event_object)
1764         (create_register_changed_event_object)
1765         (create_memory_changed_event_object): Return a gdbpy_ref<>.
1766         (emit_inferior_call_event, emit_memory_changed_event)
1767         (emit_register_changed_event): Use copy-initialization.
1768         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1769         Return a gdbpy_ref<>.
1770         (emit_new_objfile_event): Use copy-initialization.
1771         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
1772         (emit_clear_objfiles_event): Use copy-initialization.
1773         * python/py-signalevent.c (create_signal_event_object): Use
1774         copy-initialization.
1775         * python/py-threadevent.c (create_thread_event_object): Use
1776         copy-initialization.
1777
1778 2018-08-24  Pedro Alves  <palves@redhat.com>
1779             Simon Marchi  <simon.marchi@ericsson.com>
1780
1781         PR gdb/23379
1782         * python/py-continueevent.c: Include "gdbthread.h".
1783         (create_continue_event_object): Add intro comment.  Add 'ptid'
1784         parameter.  Use it to find thread to pass to
1785         create_thread_event_object.
1786         (emit_continue_event): Pass PTID down to
1787         create_continue_event_object.
1788         * python/py-event.h (py_get_event_thread): Declare.
1789         (create_thread_event_object): Remove default from 'thread'
1790         parameter.
1791         * python/py-stopevent.c (create_stop_event_object): Use
1792         py_get_event_thread.
1793         * python/py-threadevent.c (get_event_thread): Rename to ...
1794         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
1795         and use it to find the thread.
1796         (create_thread_event_object): Assert that THREAD isn't null.
1797         Don't find the event thread here.
1798
1799 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
1800
1801         * block.h (blockrange, blockranges): New struct declarations.
1802         (struct block): Add new field named `ranges'.
1803         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
1804         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
1805         macros for accessing ranges in struct block.
1806         (make_blockranges): New declaration.
1807         block.c (make_blockranges): New function.
1808         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
1809         for block.
1810         * symtab.h (find_pc_partial_function): Add new parameter `block'.
1811         * blockframe.c (cache_pc_function_block): New static global.
1812         (clear_pc_function_cache): Clear cache_pc_function_block.
1813         (find_pc_partial_function): Move comment to symtab.h.  Add
1814         support for non-contiguous blocks.
1815         * cli/cli-cmds.c (block.h): Include.
1816         (print_disassembly): Handle printing of non-contiguous blocks.
1817         (disassemble_current_function): Likewise.
1818         (disassemble_command): Likewise.
1819
1820         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
1821         BLOCK_START.
1822         * blockframe.c (get_pc_function_start): Likewise.
1823         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
1824         (gcc_symbol_address): Likewise.
1825         * compile/compile-object-run.c (compile_object_run): Likewise.
1826         * compile/compile.c (get_expr_block_and_pc): Likewise.
1827         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
1828         (func_addr_to_tail_call_list): Likewise.
1829         * findvar.c (default_read_var_value): Likewise.
1830         * inline-frame.c (inline_frame_this_id): Likewise.
1831         (skip-inline_frames): Likewise.
1832         * infcmd.c (until_next_command): Likewise.
1833         * linespec.c (convert_linespec_to_sals): Likewise.
1834         * parse.c (parse_exp_in_context_1): Likewise.
1835         * printcmd.c (build_address_symbolic): likewise.
1836         (info_address_command): Likewise.
1837         symtab.c (find_function_start_sal): Likewise.
1838         (skip_prologue_sal): Likewise.
1839         (find_function_alias_target): Likewise.
1840         (find_gnu_ifunc): Likewise.
1841         * stack.c (find_frame_funname): Likewise.
1842         * symtab.c (fixup_symbol_section): Likewise.
1843         (find_function_start_sal): Likewise.
1844         (skip_prologue_sal): Likewsie.
1845         (find_function_alias_target): Likewise.
1846         (find_gnu_ifunc): Likewise.
1847         * tracepoint.c (info_scope_command): Likewise.
1848         * value.c (value_fn_field): Likewise.
1849
1850         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
1851         in place of find_pc_partial_function.
1852         * blockframe.c (find_function_entry_range_from_pc): New function.
1853         * symtab.h (find_function_entry_range_from_pc): Declare and document.
1854         * objfiles.c (objfile_relocate1): Relocate start and end addresses
1855         for each range in a block.
1856
1857
1858 2018-08-23  Xavier Roirand  <roirand@adacore.com>
1859
1860         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
1861         incrementation.
1862
1863 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1864
1865         * solib-svr4.c (read_program_headers_from_bfd): Return
1866         gdb::optional<gdb::byte_vector>.
1867         (svr4_exec_displacement): Adjust.
1868
1869 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1870
1871         * solib-svr4.c (read_program_header): Return
1872         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
1873         (find_program_interpreter): Return
1874         gdb::optional<gdb::byte_vector>.
1875         (scan_dyntag_auxv): Adjust.
1876         (enable_break): Adjust.
1877         (svr4_exec_displacement): Adjust.
1878
1879 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1880
1881         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
1882         * inf-child.c (inf_child_target::terminal_save_inferior): New.
1883
1884 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1885
1886         * guile/scm-string.c (gdbscm_scm_from_printf): Use
1887         string_vprintf.
1888         * guile/scm-utils.c (gdbscm_printf): Likewise.
1889         * serial.c (serial_printf): Likewise.
1890         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
1891
1892 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
1893
1894         * stack.c (print_frame): Print frame architecture when printing on
1895         an MI output.
1896         * NEWS: Mention new "arch" attribute in frame output.
1897
1898 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1899
1900         * arch/aarch64.h (aarch64_regnum): Update comment.
1901
1902 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1903
1904         * NEWS: Add SVE to 8.2 section.
1905
1906 2018-08-21  Pedro Alves  <palves@redhat.com>
1907
1908         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
1909         out from gdbscm_parse_function_args.
1910         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
1911         gdbscm_parse_function_args_1.
1912
1913 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
1914
1915         PR gdb/17816
1916         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
1917         operator.
1918
1919 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
1920
1921         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
1922
1923 2018-08-19  Michael Spang  <spang@google.com>
1924
1925         PR gdb/11786
1926         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
1927         for PT_TLS segments.
1928
1929 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
1930
1931         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
1932         dwarf_variable_value.
1933         * dwarf2-frame.c (class dwarf_expr_executor):
1934         Add override for dwarf_variable_value.
1935         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1936         (class symbol_needs_eval_context): Likewise.
1937         (indirect_synthetic_pointer): Add forward declaration.
1938         (sect_variable_value): New function.
1939         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1940         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1941         for DW_OP_GNU_variable_value.
1942
1943 2018-08-16  Tom Tromey  <tom@tromey.com>
1944
1945         * top.c (read_command_file): Update.
1946         (command_line_input): Remove "repeat" argument.
1947         * ada-lang.c (get_selections): Update.
1948         * linespec.c (decode_line_2): Update.
1949         * defs.h (command_line_input): Remove argument.
1950         * cli/cli-script.c (read_next_line): Update.
1951         * python/py-gdb-readline.c: Update.
1952
1953 2018-08-17  Tom Tromey  <tom@tromey.com>
1954
1955         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1956         command_line_input.
1957
1958 2018-08-15  Tom Tromey  <tom@tromey.com>
1959
1960         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1961
1962 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1963
1964         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1965         If used, use find_pc_partial_function to find address range
1966         to disassemble.
1967         * mi/mi-main.c (mi_cmd_list_features): Report
1968         "data-disassemble-a-option" feature.
1969         * NEWS: Mention new -data-disassemble option -a.
1970
1971 2018-08-13  Tom Tromey  <tom@tromey.com>
1972
1973         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1974
1975 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1976
1977         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1978         (aarch64_linux_collect_sve_regset): Likewise.
1979         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1980         * regcache.h (regcache_map_entry_size): New function.
1981
1982 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1983
1984         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1985         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1986         (SVE_HEADER_VL_LENGTH): Likewise.
1987         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1988         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1989         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1990         (SVE_HEADER_SIZE_OFFSET): Likewise.
1991         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1992         (SVE_HEADER_VL_OFFSET): Likewise.
1993         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1994         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1995         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1996         (SVE_HEADER_SIZE): Likewise.
1997         (aarch64_linux_core_read_vq): Add function.
1998         (aarch64_linux_core_read_description): Check for SVE section.
1999
2000 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2001
2002         * aarch64-fbsd-tdep.c
2003         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
2004         collect_size.
2005         * aarch64-linux-tdep.c
2006         (aarch64_linux_iterate_over_regset_sections): Likewise.
2007         * alpha-linux-tdep.c
2008         (alpha_linux_iterate_over_regset_sections):
2009         * alpha-nbsd-tdep.c
2010         (alphanbsd_iterate_over_regset_sections): Likewise.
2011         * amd64-fbsd-tdep.c
2012         (amd64fbsd_iterate_over_regset_sections): Likewise.
2013         * amd64-linux-tdep.c
2014         (amd64_linux_iterate_over_regset_sections): Likewise.
2015         * arm-bsd-tdep.c
2016         (armbsd_iterate_over_regset_sections): Likewise.
2017         * arm-fbsd-tdep.c
2018         (arm_fbsd_iterate_over_regset_sections): Likewise.
2019         * arm-linux-tdep.c
2020         (arm_linux_iterate_over_regset_sections): Likewise.
2021         * corelow.c (get_core_registers_cb): Likewise.
2022         (core_target::fetch_registers): Likewise.
2023         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2024         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2025         * gdbarch.h (void): Regenerate.
2026         * gdbarch.sh: Add supply_size and collect_size.
2027         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2028         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2029         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2030         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2031         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2032         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2033         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2034         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2035         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2036         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2037         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2038         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2039         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2040         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2041         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2042         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2043         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2044         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2045         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2046         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2047         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2048         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2049         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2050         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2051         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2052         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2053         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2054         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2055         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2056         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2057
2058 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2059
2060         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2061         with string_printf.
2062
2063 2018-08-10  Keith Seitz  <keiths@redhat.com>
2064
2065         * compile/compile-c-support.c (add_code_header, add_code_footer):
2066         Move into policy class.
2067         (c_push_user_expression, pop_user_expression_nop)
2068         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2069         (compile_program): New host class.
2070         (c_compile_program): New typedef.
2071         (c_compute_porgram): Use c_compile_program.
2072
2073 2018-08-10  Keith Seitz  <keiths@redhat.com>
2074
2075         * compile/compile-internal.h (compile_instance::~compile_instance):
2076         Remove calls to htab_delete.
2077         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2078         * compile.c (compile_instance::compile_instance): Initialize
2079         htab unique pointers.
2080         (compile_instance::get_cached_type, compile_instance::insert_type)
2081         (compile_instance::error_symbol_once): Update for unique_ptr.
2082
2083 2018-08-10  Keith Seitz  <keiths@redhat.com>
2084
2085         * compile/compile-c-symbols.c (struct symbol_error)
2086         (hash_symbol_error, eq_symbol_error, del_symbol_error)
2087         (compile_instance::insert_symbol_error)
2088         (compile_instance::error_symbol_once): Move to ...
2089         * compile/compile.c: ... here.
2090
2091 2018-08-10  Keith Seitz  <keiths@redhat.com>
2092
2093         * compile/compile-c-support.c (c_get_compile_context): Use `new'
2094         instead of `new_compile_instance'.
2095         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
2096         Update description.
2097         If the symbol error map is not initialized, create it.
2098         (generate_c_for_for_one_symbol): Do not check/initialize
2099         the symbol error map.
2100         * compile/compile-c-types.c (compile_c_instance): Make a class.
2101         Update all callers.
2102         (compile_instance::compile_instance): Initialize the type cache.
2103         (get_cached_type): New function.
2104         (insert_type): Update description.
2105         (compile_c_instance::m_default_cflags): Define.
2106         (convert_type): Update description.  Use get_cached_type.
2107         (delete_instance): Moved to destructor.
2108         (new_compile_instance): Moved to constructor.
2109         * compile/compile-c.h (compile_c_instance): Make class inheriting
2110         from compile_instance.
2111         <base>: Remove field.
2112         <type_map, symbol_err_map>: Move to base class.
2113         <c_plugin>: Rename to `m_plugin' and remove pointer type.
2114         * compile/compile-internal.h (compile_instance): Make class.
2115         <type_map_t, symbol_err_map_t>: Define.
2116         <fe>: Rename to `m_gcc_fe'.
2117         <scope, block, gcc_target_options>: Add `m_' prefix.
2118         <m_type_map, m_symbol_err_map>: New fields, moved from
2119         compile_c_instance.
2120         <destroy>: Remove.
2121         (convert_type, new_compile_instance): Remove.
2122         * compile/compile.c (cleanup_compile_instance): Remove.
2123         (compile_to_object): Use unique_ptr to eliminate cleanups.
2124         (compile_instance::set_print_callback, compile_instance::version)
2125         (compile_instance::set_verbose)
2126         (compile_instance::set_driver_filename)
2127         (compile_instance::set_triplet_regexp)
2128         (compile_instance::set_arguments)
2129         (compile_instance::set_source_file)
2130         (compile_instance::compile): Define.
2131
2132 2018-08-10  Keith Seitz  <keiths@redhat.com>
2133
2134         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
2135         * compile/compile-c-types.c: Define GCC_METHODN macros and include
2136         gcc-c-fe.def to define C plugin.
2137         (delete_instance): Delete `c_plugin'.
2138         (new_compile_instance): Initialize `c_plugin'.
2139         * compile/compile-c.h: Include gcc_c_plugin.h.
2140         (struct compile_c_instance) <c_plugin>: New member.
2141         * gcc-c-plugin.h: New file.
2142         Update all callers with API change.
2143
2144 2018-08-10  Keith Seitz  <keiths@redhat.com>
2145
2146         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
2147         (HFILES_NO_SRCDIR): ... to here.
2148         Add compile-internal.h and compile-c.h.
2149         * compile/compile-c-support.c: Include compile-c.h.
2150         * compile/compile-c-symbols.c: Include compile-c.h.
2151         (generate_c_for_variable_locations): Update comment.
2152         * compile/compile-c-types.c: Include compile-c.h.
2153         * compile/compile-c.h: New file -- moved C language declarations
2154         from other files here.
2155         * compile/compile-internal.h: Do not include hashtab.h or
2156         common/enum-flags.h.
2157         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
2158         (gcc_convert_symbol, gcc_symbol_address)
2159         (generate_c_for_variable_locations, c_get_mode_for_size)
2160         (c_get_range_decl_name): Definitions moved to compile-c.h.
2161         * compile/compile-loc2c.c: Include compile-c.h.
2162
2163 2018-08-10  Keith Seitz  <keiths@redhat.com>
2164
2165         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
2166         (c_symbol_substitution_name): ... this.
2167         Update all callers.
2168
2169 2018-08-10  Keith Seitz  <keiths@redhat.com>
2170
2171         * compile/compile-c-support.c (c_compute_program): Use
2172         unique_xmalloc_ptr to eliminate cleanup.
2173         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2174         Return a unique_xmalloc_ptr and eliminate cleanup.
2175         * compile/compile-internal.h (generate_c_for_variable_locations):
2176         Return unique_xmalloc_ptr and update description.
2177
2178 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
2179
2180         * corelow.c (core_target::get_core_register_section): Rename
2181         min_size to section_min_size.
2182
2183 2018-08-09  Jim Wilson  <jimw@sifive.com>
2184
2185         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
2186         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
2187         * NEWS: Mention new GNU/Linux RISC-V target.
2188         * configure.host: Add riscv*-*-linux*.
2189         * configure.nat: Add riscv*.
2190         * configure.tgt: Add riscv*-*-linux*.
2191         * riscv-linux-nat.c: New file.
2192         * riscv-linux-tdep.c: New file.
2193
2194 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2195
2196         * infrun.c (resume): Make static, add forward declaration.
2197         (proceed): Update header comment.
2198         * infrun.h (resume): Delete declaration.
2199
2200 2018-08-09  Tom Tromey  <tom@tromey.com>
2201
2202         * riscv-tdep.h: Minor formatting fixes.
2203
2204 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
2205
2206         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
2207         * dwarf-index-cache.c (create_dir_and_check): Likewise.
2208         (test_mkdir_recursive): Likewise.
2209         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
2210
2211 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2212
2213         * valarith.c (value_subscripted_rvalue): If an array is not in
2214         memory, and we don't know the upper bound, then we can't know that
2215         the requested element exists or not.
2216
2217 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
2218
2219         * target.c (str_comma_list_concat_elem): Fix typo in comment.
2220         (target_options_to_string): Add comment.
2221
2222 2018-08-08  Tom Tromey  <tom@tromey.com>
2223
2224         * unittests/scoped_mmap-selftests.c: Check result of "write".
2225
2226 2018-08-08  Jim Wilson  <jimw@sifive.com>
2227
2228         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
2229         (decode_register_index_short): New.
2230         (decode_j_type_insn, decode_cj_type_insn): New.
2231         (decode_b_type_insn, decode_cb_type_insn): New.
2232         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
2233         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
2234         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
2235         is_c_sw_insn instead of is_sw_insn.
2236         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
2237         (riscv_software_single_step): New.
2238         * riscv-tdep.h (riscv_software_single_step): Declare.
2239
2240         * riscv-tdep.c (riscv_isa_xlen): Drop static.
2241         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
2242
2243 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
2244
2245         PR gdb/18050:
2246         * target.c (dispose_inferior): Don't dispose of inferiors that are
2247         already killed.
2248
2249 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2250
2251         * remote.c (remote_target::download_tracepoint): Change char* to
2252         const char*.
2253
2254 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
2255
2256         * target.h (target_options_to_string): Return an std::string.
2257         * target.c (str_comma_list_concat_elem): Return void, use
2258         std::string.
2259         (do_option): Likewise.
2260         (target_options_to_string): Return an std::string.
2261         * linux-nat.c (linux_nat_target::wait): Adjust.
2262         * target-debug.h (target_debug_print_options): Adjust.
2263
2264 2018-08-07  Tom Tromey  <tom@tromey.com>
2265
2266         * Makefile.in (CPPFLAGS): New variable.
2267         (INTERNAL_CPPFLAGS): Use it.
2268
2269 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2270
2271         * NEWS: Mention the index cache.
2272
2273 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2274
2275         * common/pathstuff.h (get_standard_cache_dir): New.
2276         * common/pathstuff.c (get_standard_cache_dir): New.
2277         * build-id.h (build_id_to_string): New.
2278         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
2279         DEBUG_STR_SUFFIX): Move to here.
2280         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
2281         DEBUG_STR_SUFFIX): Move from there.
2282         (write_psymtabs_to_index): Make non-static, add basename
2283         parameter.  Write to temporary files, rename when done.
2284         (save_gdb_index_command): Adjust call to
2285         write_psymtabs_to_index.
2286         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
2287         field.
2288         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
2289         (get_gdb_index_contents_from_cache): New.
2290         (get_gdb_index_contents_from_cache_dwz): New.
2291         (dwarf2_initialize_objfile): Read index from cache.
2292         (dwarf2_build_psymtabs): Save to index.
2293         * dwarf-index-cache.h: New file.
2294         * dwarf-index-cache.c: New file.
2295         * dwarf-index-write.h: New file.
2296
2297 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2298
2299         * gnulib/aclocal.m4: Re-generate.
2300         * gnulib/config.in: Re-generate.
2301         * gnulib/configure: Re-generate.
2302         * gnulib/import/Makefile.am: Re-generate.
2303         * gnulib/import/Makefile.in: Re-generate.
2304         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
2305         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2306         * gnulib/import/m4/mkdir.m4: New file.
2307         * gnulib/import/mkdir.c: New file.
2308         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
2309         module.
2310
2311 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2312
2313         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
2314         * common/scoped_mmap.c: New file.
2315         * common/scoped_mmap.h (destroy): New method.
2316         (~scoped_mmap, reset): Use destroy.
2317         (scoped_mmap): New move constructor.
2318         (mmap_file): New declaration.
2319         * unittests/scoped_mmap-selftests.c (test_normal,
2320         test_invalid_filename, run_tests): New functions.
2321         (_initialize_scoped_mmap_selftests): Register selftest.
2322
2323 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2324
2325         * dwarf2read.c (read_gdb_index_from_section): Rename to...
2326         (read_gdb_index_from_buffer): ... this.  Remove section
2327         parameter, add buffer parameter.
2328         (get_gdb_index_contents_ftype,
2329         get_gdb_index_contents_dwz_ftype): New typedefs.
2330         (dwarf2_read_gdb_index): Add callback parameters to get the
2331         index contents.
2332         (get_gdb_index_contents_from_section): New.
2333         (dwarf2_initialize_objfile): Update call to
2334         dwarf2_read_gdb_index.
2335
2336 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2337
2338         * common/filestuff.h (gdb_fopen_cloexec): New overload.
2339         (gdb_open_cloexec): Likewise.
2340         * nat/linux-osdata.c (command_from_pid): Use string_printf.
2341         (commandline_from_pid): Likewise.
2342         (linux_xfer_osdata_threads): Likewise.
2343         (linux_xfer_osdata_fds): Likewise.
2344         * ada-lang.c (is_package_name): Likewise.
2345         * auxv.c (procfs_xfer_auxv): Likewise.
2346         * breakpoint.c (print_one_breakpoint_location): Use
2347         uiout::field_fmt.
2348         (print_one_catch_solib): Use string_printf.
2349         * coff-pe-read.c (add_pe_exported_sym): Likewise.
2350         (add_pe_forwarded_sym): Likewise.
2351         * dwarf2read.c (create_type_unit_group): Likewise.
2352         (build_error_marker_type): Likewise.
2353         * infcall.c (get_function_name): Likewise.
2354         * valprint.c (print_converted_chars_to_obstack): Likewise.
2355         * xtensa-tdep.c (xtensa_register_type): Likewise.
2356
2357 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
2358
2359         * remote.c (remote_target::download_tracepoint): Fix format
2360         string errors.
2361
2362 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2363
2364         * tracefile.c: Include common/byte-vector.h.
2365         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2366         with trace_regblock_size if needed.  Update uses of buf.
2367
2368 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2369
2370         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2371         std::vector<unsigned char>.
2372         * tracepoint.c (collection_list::collection_list): Remove
2373         m_regs_mask initializer from initializer list.  Resize
2374         m_regs_mask using the largest remote register number.
2375         (collection_list::add_remote_register): Remove size check on
2376         m_regs_mask.  Use at to access element.
2377         (collection_list::stringify): Change type of temp_buf to
2378         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2379         stringify the register mask.  Use pack_hex_byte for the register
2380         mask.
2381
2382 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2383
2384         * tracepoint.h (class collection_list) <add_register>: Remove.
2385         <add_remote_register, add_ax_registers, add_local_register>:
2386         Declare.
2387         <add_memrange>: Add scope parameter.
2388         * tracepoint.c (encode_actions_1): Likewise.
2389         (collection_list::add_register): Rename to ...
2390         (collection_list::add_remote_register): ... this.  Update
2391         comment.
2392         (collection_list::add_ax_registers, add_local_register): New
2393         methods.
2394         (collection_list::add_memrange): Add scope parameter.  Call
2395         add_local_register instead of add_register.
2396         (finalize_tracepoint_aexpr): New function.
2397         (collection_list::collect_symbol): Update calls to add_memrange.
2398         Call add_local_register instead of add_register.  Call
2399         add_ax_registers.  Call finalize_tracepoint_aexpr.
2400         (encode_actions_1): Get remote regnos for $reg action.  Call
2401         add_remote_register, add_ax_registers, and add_local_register.
2402         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2403         (validate_actionline): Call finalize_tracepoint_aexpr.
2404
2405 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2406
2407         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2408         Replace array buf with gdb::char_vector buf, of size
2409         get_remote_packet_size ().  Replace references to buf and
2410         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2411         and xsnprintf with snprintf.  Raise errors if the buffer is too
2412         small.
2413
2414 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2415
2416         * remote.c (remote_target::download_tracepoint): Fix the has_more
2417         predicate in the QTDP action list iteration.
2418
2419 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2420
2421         * remote.c (remote_target::download_tracepoint): Fix indentation
2422         in for block.
2423
2424 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2425
2426         * proc-api.c (_initialize_proc_api): Remove c, unused.
2427         * procfs.c (procfs_init_inferior): Remove signals, unused.
2428         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2429         unused.
2430
2431 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2432             Andrew Burgess  <andrew.burgess@embecosm.com>
2433
2434         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2435         'W_STOPCODE (0)' as this could be ambiguous.
2436
2437 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2438
2439         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2440         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2441         "ai_socktype").
2442
2443 2018-08-02  Tom Tromey  <tom@tromey.com>
2444
2445         PR symtab/16842.
2446         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2447         symbols.
2448         (process_structure_scope): Likewise.
2449
2450 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2451
2452         PR gdb/22629:
2453         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2454         kill inferior.
2455
2456 2018-08-02  Tom Tromey  <tom@tromey.com>
2457
2458         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2459         (darwin_suspend_inferior, darwin_resume_inferior)
2460         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2461         (darwin_check_new_threads): Check result of get_darwin_inferior.
2462
2463 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2464
2465         GDB 8.1.1 released.
2466
2467 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2468
2469         * varobj.c (varobj_get_path_expr_parent): Report an error if
2470         parent is a dynamic varobj.
2471
2472 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2473
2474         * gnulib/aclocal.m4: Re-generate.
2475         * gnulib/config.in: Re-generate.
2476         * gnulib/configure: Re-generate.
2477         * gnulib/import/Makefile.in: Re-generate.
2478         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2479         * gnulib/import/m4/onceonly.m4: Re-generate.
2480
2481 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2482
2483         * target-descriptions.c (struct xml_test_tdesc): New.
2484         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
2485         (record_xml_tdesc): Update.
2486         (maintenance_check_xml_descriptions): Update.
2487         * target-descriptions.h (record_xml_tdesc): Update comment.
2488
2489 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2490
2491         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
2492         checking array bounds are defined.
2493
2494 2018-07-30  Tom Tromey  <tom@tromey.com>
2495
2496         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
2497         irreflexivity violation.
2498
2499 2018-07-30  Tom Tromey  <tom@tromey.com>
2500
2501         * cli/cli-decode.c (lookup_cmd): Remove lint code.
2502         * value.c (unpack_long): Remove lint code.
2503         * valops.c (value_ind): Remove lint code.
2504         * valarith.c (value_x_binop, value_x_unop, value_equal)
2505         (value_pos): Remove lint code.
2506
2507 2018-07-28  Tom de Vries  <tdevries@suse.de>
2508
2509         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
2510         with undefined upper bound as <optimized out>.
2511
2512 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
2513
2514         * gcore.in: Rename variable "name" to "prefix".  Expand
2515         "usage" text.
2516
2517 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
2518
2519         * windows-nat.c (windows_nat_target::create_inferior): Update to
2520         call close() in global namespace.
2521
2522 2018-07-26  Tom Tromey  <tom@tromey.com>
2523
2524         * dwarf-index-write.c (add_address_entry): Don't add objfile
2525         offsets.
2526         * dbxread.c (find_stab_function): Rename from
2527         find_stab_function_addr.  Return a bound_minimal_symbol.
2528         (read_dbx_symtab): Use raw_text_low, raw_text_high.
2529         Don't add objfile offsets.
2530         (end_psymtab): Use raw_text_low, raw_text_high,
2531         MSYMBOL_VALUE_RAW_ADDRESS.
2532         (read_ofile_symtab): Update.
2533         (process_one_symbol): Update.
2534         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
2535         offsets.
2536         (dw2_relocate): Remove.
2537         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
2538         searching addrmap.
2539         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
2540         Update.
2541         (process_psymtab_comp_unit_reader, add_partial_symbol)
2542         (add_partial_subprogram, dwarf2_ranges_read): Update.
2543         (load_partial_dies): Update.
2544         (add_address_entry): Don't add objfile offsets.
2545         (dwarf2_build_include_psymtabs): Update.
2546         (create_addrmap_from_aranges): Don't add objfile offsets.
2547         (dw2_find_pc_sect_compunit_symtab): Update.
2548         * mdebugread.c (parse_symbol): Don't add objfile offsets.
2549         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
2550         Update.
2551         (parse_partial_symbols): Don't add objfile offsets.  Use
2552         raw_text_low, raw_text_high.  Update.
2553         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
2554         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
2555         or call 'relocate' quick function.  Clear psymbol_map.
2556         * psympriv.h (struct partial_symbol) <address>: Add section
2557         offset.
2558         <set_unrelocated_address>: Rename from set_address.
2559         <raw_text_low, raw_text_high>: New methods.
2560         <text_low, text_high>: Add objfile parameter.
2561         (add_psymbol_to_bcache): Add 'section' parameter.  Call
2562         set_unrelocated_address.
2563         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2564         (find_pc_psymbol): Update.
2565         (fixup_psymbol_section, relocate_psymtabs): Remove.
2566         (dump_psymtab, psym_functions): Update.
2567         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
2568         parameter.
2569         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
2570         (start_psymtab_common): Update.
2571         * symfile-debug.c (debug_qf_relocate): Remove.
2572         (debug_sym_quick_functions): Update.
2573         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
2574         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
2575         Update.
2576
2577 2018-07-26  Tom Tromey  <tromey@redhat.com>
2578
2579         * dbxread.c (end_psymtab): Use text_high_valid and
2580         text_low_valid.
2581         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
2582         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
2583         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2584         Update comment.
2585         <text_low_valid, text_high_valid>: New fields.
2586         <set_text_low, set_text_high>: Update.
2587         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
2588
2589 2018-07-26  Tom Tromey  <tom@tromey.com>
2590
2591         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
2592         Update.
2593         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
2594         textlow and texthigh fields.
2595         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
2596         Update.
2597         * mdebugread.c (parse_lines, parse_partial_symbols)
2598         (psymtab_to_symtab_1): Update.
2599         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2600         Rename fields.  Update comment.  Now private.
2601         <text_low, text_high, set_text_low, set_text_high>: New methods.
2602         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2603         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
2604         (start_psymtab_common, maintenance_info_psymtabs)
2605         (maintenance_check_psymtabs): Update.
2606         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
2607         texthigh fields.
2608         (scan_xcoff_symtab): Update.
2609
2610 2018-07-26  Tom Tromey  <tromey@redhat.com>
2611
2612         * psympriv.h (struct partial_symbol) <unrelocated_address,
2613         address, set_address>: New methods.
2614         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
2615         (fixup_psymbol_section, relocate_psymtabs): Update.
2616         (print_partial_symbols): Add 'objfile' parameter.  Update.
2617         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
2618         Update.
2619
2620 2018-07-26  Tom Tromey  <tom@tromey.com>
2621
2622         * dwarf-index-write.c (write_psymbols, debug_names::insert)
2623         (debug_names::write_psymbols): Update.
2624         * psympriv.h (struct partial_symbol): Derive from
2625         general_symbol_info.
2626         <obj_section>: New method.
2627         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
2628         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2629         (find_pc_sect_psymbol, fixup_psymbol_section)
2630         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
2631         (print_partial_symbols, recursively_search_psymtabs)
2632         (compare_psymbols, psymbol_hash, psymbol_compare)
2633         (add_psymbol_to_bcache, maintenance_check_psymtabs)
2634         (psymbol_name_matches, psym_fill_psymbol_map): Update.
2635
2636 2018-07-26  Tom Tromey  <tromey@redhat.com>
2637
2638         * dbxread.c (end_psymtab): Remove dead code.
2639
2640 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
2641
2642         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
2643         DWARF unwinders are disabled.
2644         * dwarf2-frame.c: Add dwarf2read.h include.
2645         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
2646         disabled.
2647         (dwarf2_frame_unwinders_enabled_p): Define.
2648         (show_dwarf_unwinders_enabled_p): New function.
2649         (_initialize_dwarf2_frame): Register switch to control DWARF
2650         unwinder use.
2651         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
2652         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
2653         (show_dwarf_cmdlist): Remove static keyword.
2654         * dwarf2read.h (set_dwarf_cmdlist): Declare.
2655         (show_dwarf_cmdlist): Declare.
2656         * NEWS: Document new feature.
2657
2658 2018-07-26  Tom de Vries  <tdevries@suse.de>
2659
2660         PR breakpoints/23366
2661         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
2662
2663 2018-07-26  Tom de Vries  <tdevries@suse.de>
2664
2665         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
2666         DW_AT_count can't be translated to a dynamic prop.
2667
2668 2018-07-25  Tom de Vries  <tdevries@suse.de>
2669
2670         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
2671         try/catch.
2672
2673 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
2674
2675         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
2676
2677 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
2678
2679         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
2680
2681 2018-07-24  Keith Seitz  <keiths@redhat.comt
2682
2683         PR symtab/23010
2684         * dwarf2read.c (dw2_add_symbol_to_list): New function.
2685         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
2686         instead of add_symbol_to_list.
2687         (read_file_scope): Call prepare_one_comp_unit before reading
2688         any other DIEs.
2689
2690 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
2691
2692         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
2693
2694 2018-07-24  Tom Tromey  <tom@tromey.com>
2695
2696         * utils.c (malloc, realloc, free): Don't declare.
2697         * configure, config.in: Rebuild.
2698         * configure.ac: Don't check for declarations of free, malloc, or
2699         realloc.
2700
2701 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2702
2703         * aarch64-linux-nat.c
2704         (aarch64_linux_nat_target::stopped_data_address): Remove unused
2705         variable.
2706         * arm-linux-nat.c (fetch_regs): Likewise.
2707         (store_regs): Likewise.
2708         (fetch_vfp_regs): Likewise.
2709         (store_vfp_regs): Likewise.
2710         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
2711         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
2712         (arm_linux_nat_target::insert_watchpoint): Likewise.
2713         (arm_linux_nat_target::remove_watchpoint): Likewise.
2714         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
2715         Likewise.
2716         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
2717         Likewise.
2718         * ppc-linux-nat.c (fetch_register): Likewise.
2719         (fetch_all_gp_regs): Likewise.
2720         (fetch_ppc_registers): Likewise.
2721         (store_all_gp_regs): Likewise.
2722         (store_ppc_registers): Likewise.
2723         (hwdebug_insert_point): Likewise.
2724         (can_use_watchpoint_cond_accel): Likewise.
2725         * remote-sim.c (gdb_os_write_stdout): Likewise.
2726
2727 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2728             Tom Tromey  <tom@tromey.com>
2729
2730         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
2731         test for it.
2732         * configure: Rebuild.
2733
2734 2018-07-22  Tom Tromey  <tom@tromey.com>
2735
2736         * regformats/regdat.sh: Define xmltarget_${name} inside
2737         #ifndef IN_PROCESS_AGENT.
2738
2739 2018-07-22  Tom Tromey  <tom@tromey.com>
2740
2741         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
2742
2743 2018-07-22  Tom Tromey  <tom@tromey.com>
2744
2745         * symfile.c (reread_symbols): Notify iter, not objfile.
2746
2747 2018-07-22  Tom Tromey  <tom@tromey.com>
2748
2749         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
2750         Use arch_ops.
2751         (ravenscar_thread_target::prepare_to_store): Likewise.
2752
2753 2018-07-22  Tom Tromey  <tom@tromey.com>
2754
2755         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
2756         unused variable.  Call value_fetch_lazy when needed.
2757         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
2758         Remove unused variable.  Call value_fetch_lazy when needed.
2759
2760 2018-07-22  Tom Tromey  <tom@tromey.com>
2761
2762         * m32c-tdep.c (mark_dma): Return void.
2763         (make_regs): Remove unused declarations.
2764
2765 2018-07-22  Tom Tromey  <tom@tromey.com>
2766
2767         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
2768         cmdscm_get_valid_command_smob_arg_unsafe for effect.
2769         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
2770         bkscm_get_valid_block_smob_arg_unsafe for effect.
2771
2772 2018-07-22  Tom Tromey  <tom@tromey.com>
2773
2774         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
2775         value_type.
2776
2777 2018-07-22  Tom Tromey  <tom@tromey.com>
2778
2779         * windows-nat.c (saved_context): Conditionally define.
2780         * remote.c (remote_target::remote_btrace_maybe_reopen):
2781         Conditionally declare "warned".
2782         * inflow.c (sigquit_ours): Conditionally define.
2783         (new_tty): Move "tty" declaration inside #if.
2784         * guile/guile.c (guile_datadir): Conditionally define.
2785         * charset.c (set_be_le_names): Move some declarations inside #if.
2786         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
2787         #if.
2788         (parse_xml_btrace_conf): Likewise.
2789
2790 2018-07-22  Tom Tromey  <tom@tromey.com>
2791
2792         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
2793
2794 2018-07-22  Tom Tromey  <tom@tromey.com>
2795
2796         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
2797         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
2798         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
2799         * buildsym-legacy.c (get_macro_table): Remove unused variable.
2800         * stack.c (frame_apply_level_command): Remove unused variable.
2801         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
2802         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
2803         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
2804         unused variable.
2805         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
2806         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
2807         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
2808         variable.
2809         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
2810         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
2811         variable.
2812         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
2813         Remove unused variable.
2814         * cli/cli-script.c (recurse_read_control_structure): Remove unused
2815         variable.
2816         * common/tdesc.c (print_xml_feature::visit): Remove unused
2817         variable.
2818         * compile/compile-object-load.c (store_regs): Remove unused
2819         variables.
2820         * complaints.c (clear_complaints): Remove unused variable.
2821         * corelow.c (core_target_open): Remove unused variable.
2822         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
2823         variable.
2824         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
2825         variable.
2826         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
2827         variable.
2828         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
2829         variable.
2830         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
2831         variable.
2832         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
2833         variable.
2834         * ia64-tdep.c (examine_prologue): Remove unused variable.
2835         * infcall.c (run_inferior_call): Remove unused variable.
2836         * inferior.c (exit_inferior): Remove unused variable.
2837         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
2838         * linespec.c (decode_line_2): Remove unused variable.
2839         * linux-nat.c (super_close): Remove.
2840         * linux-tdep.c (linux_info_proc): Remove unused variable.
2841         * mi/mi-main.c (mi_execute_command): Remove unused variable.
2842         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
2843         Remove unused variable.
2844         * parse.c (find_minsym_type_and_address): Remove unused variable.
2845         * printcmd.c (info_symbol_command, printf_floating): Remove unused
2846         variable.
2847         * python/py-breakpoint.c (bppy_set_commands): Remove unused
2848         variable.
2849         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
2850         variables.
2851         * record-btrace.c (record_btrace_target::store_registers): Remove
2852         unused variable.
2853         (cmd_show_record_btrace_cpu): Remove unused variable.
2854         * riscv-tdep.c (riscv_register_reggroup_p)
2855         (riscv_push_dummy_call, riscv_return_value): Remove unused
2856         variable.
2857         * rust-exp.y (literal): Remove unused variable.
2858         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
2859         unused variable.
2860         <STRUCTOP_ANONYMOUS>: Likewise.
2861         * s390-linux-tdep.c (s390_linux_init_abi_31)
2862         (s390_linux_init_abi_64): Remove unused variable.
2863         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
2864         (file_select_thread, net_windows_open, _initialize_ser_windows):
2865         Remove unused variables.
2866         * symtab.c (find_pc_sect_line): Remove unused variable.
2867         * target-memory.c (compute_garbled_blocks): Remove unused
2868         variable.
2869         (target_write_memory_blocks): Remove unused variable.
2870         * target.c (target_stack::unpush): Remove unused variables.
2871         * tracepoint.c (start_tracing, all_tracepoint_actions)
2872         (merge_uploaded_trace_state_variables)
2873         (print_one_static_tracepoint_marker): Remove unused variable.
2874         * unittests/basic_string_view/element_access/char/1.cc (test01):
2875         Remove unused variable.
2876         * windows-nat.c (windows_continue, windows_add_all_dlls)
2877         (do_initial_windows_stuff, windows_nat_target::create_inferior):
2878         Remove unused variables.
2879
2880 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
2881
2882         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
2883         attr_profile in HAVE_ELF.
2884         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
2885         HAVE_ELF.
2886
2887 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
2888
2889         * frame.c (frame_register_unwind): Change parameter name.
2890         (frame_unwind_register): Likewise.
2891         (frame_unwind_register_value): Likewise.
2892         (frame_unwind_register_signed): Likewise.
2893         (frame_unwind_register_unsigned): Likewise.
2894         * frame.h (frame_register_unwind): Likewise.
2895         (frame_unwind_register): Likewise.
2896         (frame_unwind_register_value): Likewise.
2897         (frame_unwind_register_signed): Likewise.
2898         (frame_unwind_register_unsigned): Likewise.
2899         (frame_unwind_arch): Likewise.
2900
2901 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2902
2903         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
2904         ISA maintenance.
2905
2906 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2907
2908         * mips-linux-nat.c (mips_linux_nat_target::read_description):
2909         Call `get_ptrace_pid' rather than extracting the ptrace PID by
2910         hand.
2911
2912 2018-07-20  Keith Seitz  <keiths@redhat.com>
2913
2914         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
2915         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
2916         m_compunit_symtab, m_language>: Add "m_" prefix.
2917         Update all uses.
2918         * buildsym.c: Update all uses.
2919
2920 2018-07-20  Tom Tromey  <tom@tromey.com>
2921
2922         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
2923         * buildsym.h (record_line_ftype): Remove typedef.
2924
2925 2018-07-20  Tom Tromey  <tom@tromey.com>
2926
2927         * buildsym-legacy.h (augment_type_symtab): Don't declare.
2928         (end_expandable_symtab): Likewise.
2929         (end_symtab_get_static_block): Likewise.
2930         (end_symtab_from_static_block): Likewise.
2931         * buildsym-legacy.c (augment_type_symtab): Remove.
2932         (end_expandable_symtab): Remove.
2933         (end_symtab_get_static_block): Remove.
2934         (end_symtab_from_static_block): Remove.
2935
2936 2018-07-20  Tom Tromey  <tom@tromey.com>
2937
2938         * dwarf2read.c: Include buildsym.h.
2939         (struct dwarf2_cu) <builder>: New method.
2940         (fixup_go_packaging): Update.
2941         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2942         use scoped_free_pendings.
2943         (using_directives): Add "cu" parameter, remove "language".
2944         (read_import_statement, setup_type_unit_groups, )
2945         (read_func_scope, read_lexical_block_scope)
2946         (dwarf2_record_block_ranges, read_namespace): Update.
2947         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2948         (lnp_state_machine::handle_end_sequence): Update.
2949         (class lnp_state_machine) <m_cu>: New member.
2950         <m_record_line_callback>: Remove.
2951         <m_currently_recording_lines>: New member.
2952         (lnp_state_machine::handle_set_file): Update.
2953         (noop_record_line): Remove.
2954         (dwarf_record_line_p): Add cu parameter.
2955         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2956         (lnp_state_machine::record_line)
2957         (lnp_state_machine::lnp_state_machine)
2958         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2959         (dwarf_decode_lines): Update.
2960         (dwarf2_start_subfile): Add cu parameter.
2961         (dwarf2_start_symtab, new_symbol): Update.
2962         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2963         Remove dwarf2_per_objfile parameter.
2964         (dwarf_decode_macros): Update.
2965
2966 2018-07-20  Tom Tromey  <tom@tromey.com>
2967
2968         * stabsread.c (define_symbol): Update.
2969         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2970         * dwarf2read.c (new_symbol): Update.
2971         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2972         * cp-namespace.c: Include buildsym.h.
2973         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2974         * buildsym-legacy.c (get_buildsym_compunit): New function.
2975
2976 2018-07-20  Tom Tromey  <tom@tromey.com>
2977
2978         * xcoffread.c: Include buildsym-legacy.h.
2979         * windows-nat.c: Include buildsym-legacy.h.
2980         * stabsread.c: Include buildsym-legacy.h.
2981         * mdebugread.c: Include buildsym-legacy.h.
2982         * buildsym-legacy.h: New file.
2983         * buildsym-legacy.c: New file, from buildsym.c.
2984         * go32-nat.c: Include buildsym-legacy.h.
2985         * dwarf2read.c: Include buildsym-legacy.h.
2986         * dbxread.c: Include buildsym-legacy.h.
2987         * cp-namespace.c: Include buildsym-legacy.h.
2988         * coffread.c: Include buildsym-legacy.h.
2989         * buildsym.h: Move some contents to buildsym-legacy.h.
2990         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2991         buildsym-legacy.c.
2992         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2993
2994 2018-07-20  Tom Tromey  <tom@tromey.com>
2995
2996         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2997         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2998         (buildsym_compunit::buildsym_compunit)
2999         (buildsym_compunit::~buildsym_compunit)
3000         (buildsym_compunit::get_macro_table): Define.
3001
3002 2018-07-20  Tom Tromey  <tom@tromey.com>
3003
3004         * buildsym.c (reset_symtab_globals): Remove.
3005         (buildsym_compunit::end_symtab_from_static_block): Update.
3006         (buildsym_compunit::augment_type_symtab): Update.
3007         (end_symtab_from_static_block): Call free_buildsym_compunit.
3008         (augment_type_symtab, end_symtab, end_expandable_symtab):
3009         Likewise.
3010
3011 2018-07-20  Tom Tromey  <tom@tromey.com>
3012
3013         * arch-utils.c: Do not include buildsym.h.
3014         * mipsread.c: Do not include buildsym.h.
3015         * machoread.c: Do not include buildsym.h.
3016         * elfread.c: Do not include buildsym.h.
3017
3018 2018-07-20  Tom Tromey  <tom@tromey.com>
3019
3020         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3021         initialization.
3022         (buildsym_compunit): Add new constructor.
3023         (struct buildsym_compunit) <get_last_source_file, finish_block,
3024         record_block_range, start_subfile, patch_subfile_names,
3025         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3026         set_last_source_start_addr, get_last_source_start_addr,
3027         get_local_using_directives, set_local_using_directives,
3028         get_global_using_directives, outermost_context_p,
3029         get_current_context_stack, get_context_stack_depth,
3030         get_current_subfile, get_local_symbols, get_file_symbols,
3031         get_global_symbols, record_debugformat, record_producer,
3032         push_context, pop_context, end_symtab_get_static_block,
3033         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3034         New public methods.
3035         <record_pending_block, finish_block_internal, make_blockvector,
3036         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3037         private methods.
3038         Update all users.
3039
3040 2018-05-22  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.c (record_pending_block): Move earlier.  Remove objfile
3049         parameter.
3050         (finish_block_internal): Update.
3051
3052 2018-07-20  Tom Tromey  <tom@tromey.com>
3053
3054         * buildsym.h (EXTERN): Don't define or undef.
3055         * buildsym.c (EXTERN): Don't define.
3056
3057 2018-07-20  Tom Tromey  <tom@tromey.com>
3058
3059         * buildsym.c: Remove TODO comment.
3060
3061 2018-07-20  Tom Tromey  <tom@tromey.com>
3062
3063         * coffread.c (coff_symtab_read): Update.
3064         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3065         (xcoff_new_init): Update.
3066         * mipsread.c (mipscoff_new_init): Update.
3067         * mdebugread.c (mdebug_build_psymtabs): Update.
3068         * elfread.c (elf_new_init): Update.
3069         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3070         Update.
3071         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3072         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3073         (stabsect_build_psymtabs): Update.
3074         * buildsym.h (buildsym_init): Don't declare.
3075         * buildsym.c: Update comment.
3076         (prepare_for_building): Remove.
3077         (start_symtab, restart_symtab): Update.
3078         (reset_symtab_globals): Update comment.
3079         (buildsym_init): Remove.
3080
3081 2018-07-20  Tom Tromey  <tom@tromey.com>
3082
3083         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
3084         * stabsread.c (patch_block_stabs, define_symbol, read_type)
3085         (read_enum_type, common_block_start, common_block_end)
3086         (cleanup_undefined_types_1, finish_global_stabs): Update.
3087         * mdebugread.c (psymtab_to_symtab_1): Update.
3088         * dwarf2read.c (fixup_go_packaging, read_func_scope)
3089         (read_lexical_block_scope, new_symbol): Update.
3090         * dbxread.c (process_one_symbol): Update.
3091         * coffread.c (coff_symtab_read, process_coff_symbol)
3092         (coff_read_enum_type): Update.
3093         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
3094         declare.
3095         (get_local_symbols, get_file_symbols, get_global_symbols): New
3096         functions.
3097         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
3098         m_global_symbols.
3099         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
3100         (~scoped_free_pendings): Update.
3101         (finish_block, prepare_for_building, reset_symtab_globals)
3102         (end_symtab_get_static_block, end_symtab_with_blockvector)
3103         (augment_type_symtab, push_context): Update.
3104         (get_local_symbols, get_file_symbols, get_global_symbols): New
3105         functions.
3106         (buildsym_init): Update.
3107
3108 2018-07-20  Tom Tromey  <tom@tromey.com>
3109
3110         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
3111         (process_full_type_unit): Likewise.
3112         (dwarf2_start_symtab): Set list_in_scope.
3113
3114 2018-07-20  Tom Tromey  <tom@tromey.com>
3115
3116         * dwarf2read.c (process_psymtab_comp_unit_reader)
3117         (build_type_psymtabs_reader): Do not set list_in_scope.
3118
3119 2018-07-20  Tom Tromey  <tom@tromey.com>
3120
3121         * buildsym.c (free_pendings): Remove.
3122         (add_symbol_to_list, scoped_free_pendings)
3123         (finish_block_internal, buildsym_init): Update.
3124
3125 2018-07-20  Tom Tromey  <tom@tromey.com>
3126
3127         * xcoffread.c (read_xcoff_symtab): Update.
3128         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
3129         Update.
3130         * dbxread.c (process_one_symbol): Update.
3131         * coffread.c (coff_symtab_read): Update.
3132         * buildsym.h (finish_block): Update.
3133         * buildsym.c (finish_block): Remove "listhead" argument.
3134         (end_symtab_get_static_block): Update.
3135
3136 2018-07-20  Tom Tromey  <tom@tromey.com>
3137
3138         * buildsym.h (class scoped_free_pendings): Remove constructor.
3139         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
3140         method.
3141         <m_pending_block_obstack, m_pending_blocks>: New members.
3142         (pending_block_obstack, pending_blocks): Remove.
3143         (scoped_free_pendings::scoped_free_pendings): Default.
3144         (~scoped_free_pendings): Update.
3145         (free_pending_blocks): Remove.
3146         (finish_block_internal, record_pending_block, make_blockvector)
3147         (end_symtab_get_static_block, augment_type_symtab, push_context)
3148         (buildsym_init): Update.
3149
3150 2018-07-20  Tom Tromey  <tom@tromey.com>
3151
3152         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
3153         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
3154         members.
3155         (pending_addrmap, pending_addrmap_obstack)
3156         (pending_addrmap_interesting): Remove.
3157         (scoped_free_pendings, record_block_range, make_blockvector)
3158         (prepare_for_building, reset_symtab_globals, buildsym_init):
3159         Update.
3160
3161 2018-07-20  Tom Tromey  <tom@tromey.com>
3162
3163         * xcoffread.c (process_linenos): Update.
3164         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
3165         * mdebugread.c (psymtab_to_symtab_1): Update.
3166         * dwarf2read.c (setup_type_unit_groups)
3167         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
3168         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
3169         * dbxread.c (process_one_symbol): Update.
3170         * coffread.c (coff_symtab_read, enter_linenos)
3171         (process_coff_symbol): Update.
3172         * buildsym.h (current_subfile): Don't declare.
3173         (get_current_subfile): Declare.
3174         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
3175         member.
3176         (start_subfile, free_buildsym_compunit, push_subfile)
3177         (prepare_for_building, start_symtab): Update.
3178         (get_current_subfile): New function.
3179
3180 2018-07-20  Tom Tromey  <tom@tromey.com>
3181
3182         * coffread.c (coff_symtab_read): Update.
3183         * xcoffread.c (read_xcoff_symtab): Update.
3184         * dwarf2read.c (new_symbol): Update.
3185         (read_func_scope, read_lexical_block_scope): Update.
3186         * dbxread.c (process_one_symbol): Update.
3187         * buildsym.h (context_stack, context_stack_depth): Don't declare.
3188         (outermost_context_p): Remove macro.
3189         (outermost_context_p, get_current_context_stack)
3190         (get_context_stack_depth): Declare.
3191         (pop_context): Return struct context_stack.
3192         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
3193         member.
3194         (context_stack_size): Remove.
3195         (INITIAL_CONTEXT_STACK_SIZE): Remove.
3196         (prepare_for_building, end_symtab_get_static_block)
3197         (augment_type_symtab, push_context): Update.
3198         (pop_context): Return struct context_stack.
3199         (outermost_context_p, get_current_context_stack)
3200         (get_context_stack_depth): New functions.
3201         (buildsym_init): Update.
3202
3203 2018-07-20  Tom Tromey  <tom@tromey.com>
3204
3205         * rust-exp.y: Now a pure parser.  Update all rules.
3206         (%union): Move earlier.
3207         (current_parser, work_obstack): Remove globals.
3208         (rust_parser, ~rust_parser): Update.
3209         (class rust_parser) <copy_name, concat3, crate_name, super_name,
3210         lex_character, lex_number, lex_string, lex_identifier,
3211         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
3212         convert_name, convert_params_to_expression,
3213         convert_ast_to_expression, ast_basic_type, ast_operation,
3214         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
3215         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
3216         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
3217         ast_array_type, ast_slice_type, ast_reference_type,
3218         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
3219         (rust_parse): Update.
3220         (rustyyerror, rustyylex): Add parser parameter.
3221         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
3222         (rust_lex_stringish_test, rust_lex_test_sequence)
3223         (rust_lex_test_trailing_dot, rust_lex_test_completion)
3224         (rust_lex_test_push_back, rust_lex_tests): Update.
3225
3226 2018-07-19  Pedro Alves  <palves@redhat.com>
3227
3228         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
3229         gdb::unique_xmalloc_ptr.
3230         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
3231         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
3232         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
3233         copy-initialization.
3234         * guile/scm-pretty-print.c (ppscm_print_children): Use
3235         gdb::unique_xmalloc_ptr instead of cleanups.
3236         (gdbscm_apply_val_pretty_printer): Remove cleanups.
3237         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
3238         gdb::unique_xmalloc_ptr.
3239         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3240         Adjust to use gdb::unique_xmalloc_ptr.
3241         * guile/scm-utils.c (extract_arg): Adjust.
3242         * guile/scm-value.c (gdbscm_value_field): Adjust to use
3243         gdb::unique_xmalloc_ptr instead of a cleanup.
3244
3245 2018-07-19  Tom Tromey  <tom@tromey.com>
3246
3247         * utils.c (do_value_free_to_mark)
3248         (make_cleanup_value_free_to_mark): Remove.
3249         * utils.h (make_cleanup_value_free_to_mark): Remove.
3250
3251 2018-07-19  Pedro Alves  <palves@redhat.com>
3252
3253         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
3254         forwarding reference.
3255
3256 2018-07-18  Pedro Alves  <palves@redhat.com>
3257
3258         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
3259         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
3260         cleanup.
3261
3262 2018-07-18  Pedro Alves  <palves@redhat.com>
3263
3264         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
3265         exceptions.
3266         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
3267         (gdbscm_wrap): New.
3268         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
3269         directly instead of a cleanup.
3270         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
3271         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
3272         (vlscm_binop_gdbthrow): New, factored out from ...
3273         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
3274         (vlscm_rich_compare): Use gdbscm_wrap.
3275         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
3276         instead of a cleanup.
3277         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
3278         cleanup.
3279         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3280         Use xfree directly instead of a cleanup.
3281         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
3282         Adjust to use gdbscm_wrap and scoped_value_mark.
3283         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
3284         (gdbscm_value_address, gdbscm_value_dereference)
3285         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
3286         scoped_value_mark.
3287         (gdbscm_value_dynamic_type): Use scoped_value_mark.
3288         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
3289         scoped_value_mark.
3290         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
3291         gdbscm_wrap and scoped_value_mark.
3292         (gdbscm_value_to_string): Use xfree directly instead of a
3293         cleanup.  Move 'buffer' unique_ptr to TRY scope.
3294         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
3295         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
3296         scoped_value_mark.
3297         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
3298         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
3299         scoped_value_mark.
3300         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
3301         gdbscm_wrap.
3302
3303 2018-07-18  Tom de Vries  <tdevries@suse.de>
3304
3305         * findvar.c (default_read_var_value): Also resolve dynamic type for
3306         LOC_OPTIMIZED_OUT vars.
3307
3308 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
3309
3310         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
3311         decoding.
3312
3313 2018-07-17  Tom Tromey  <tom@tromey.com>
3314
3315         * guile/scm-param.c (pascm_set_func, pascm_show_func)
3316         (compute_enum_list, pascm_set_param_value_x)
3317         (gdbscm_parameter_value): Update.
3318         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
3319         (gdbscm_scm_to_host_string): Update.
3320         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
3321         Update.
3322         * guile/scm-cmd.c (cmdscm_add_completion): Update.
3323         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
3324         * guile/scm-string.c (gdbscm_scm_to_string): Return
3325         unique_xmalloc_ptr.
3326         (gdbscm_scm_to_host_string): Likewise.
3327
3328 2018-07-17  Tom Tromey  <tom@tromey.com>
3329
3330         * guile/guile.c (gdbscm_eval_from_control_command): Update.
3331         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
3332         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
3333         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
3334         unique_xmalloc_ptr.
3335
3336 2018-07-17  Tom Tromey  <tom@tromey.com>
3337
3338         * guile/scm-param.c (pascm_signal_setshow_error): Update.
3339         * guile/guile-internal.h (gdbscm_exception_message_to_string):
3340         Update.
3341         * guile/scm-cmd.c (cmdscm_function): Update.
3342         * guile/scm-pretty-print.c
3343         (ppscm_print_exception_unless_memory_error): Update.
3344         * guile/scm-exception.c (gdbscm_exception_message_to_string):
3345         Return unique_xmalloc_ptr.
3346
3347 2018-07-17  Tom Tromey  <tom@tromey.com>
3348
3349         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
3350         Use string_printf.
3351
3352 2018-07-17  Jim Wilson  <jimw@sifive.com>
3353
3354         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
3355         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
3356         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
3357         unecessary braces after EF_RISCV_RVC test.  Delete call to
3358         set_gdbarch_decr_pc_after_break.
3359
3360         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3361         RISCV_LAST_FP_REGNUM + 1.
3362         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3363
3364 2018-07-17  Tom Tromey  <tom@tromey.com>
3365
3366         * configure.ac: Remove --disable-gdbcli.
3367         * configure: Rebuild.
3368         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3369         (SUBDIR_CLI_CFLAGS): Remove.
3370         (SFILES): Use SUBDIR_CLI_SRCS.
3371         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3372
3373 2018-07-17  Tom Tromey  <tom@tromey.com>
3374
3375         PR gdb/18624:
3376         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3377
3378 2018-07-16  Jim Wilson  <jimw@sifive.com>
3379
3380         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3381
3382 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3383
3384         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3385         variable.
3386         (libunwind_frame_sniffer): Likewise.
3387         (libunwind_frame_prev_register): Likewise.
3388         (libunwind_sigtramp_frame_sniffer): Likewise.
3389         * ia64-tdep.c (ia64_access_reg): Likewise.
3390         (ia64_access_rse_reg): Likewise.
3391         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3392         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3393
3394 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3395
3396         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3397
3398 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3399
3400         * remote-sim.c (gdbsim_target::close,
3401         gdbsim_target::mourn_inferior): Remove unused variables.
3402
3403 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3404
3405         * ia64-tdep.c (ktab_buf): New global.
3406         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3407         (get_kernel_table): Adjust.
3408
3409 2018-07-16  Tom Tromey  <tom@tromey.com>
3410
3411         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3412         * dwarf2read.c (using_directives, new_symbol): Use
3413         outermost_context_p.
3414         * dbxread.c (process_one_symbol): Use outermost_context_p.
3415         * coffread.c (coff_symtab_read): Use outermost_context_p.
3416
3417 2018-07-16  Tom Tromey  <tom@tromey.com>
3418
3419         * dwarf2read.c (using_directives, read_func_scope)
3420         (read_lexical_block_scope): Update.
3421         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3422         * buildsym.h (local_using_directives, global_using_directives):
3423         Don't declare.
3424         (get_local_using_directives, set_local_using_directives)
3425         (get_global_using_directives): Declare.
3426         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3427         m_global_using_directives>: New members.
3428         (finish_block_internal, prepare_for_building)
3429         (reset_symtab_globals, end_symtab_get_static_block)
3430         (push_context): Update.
3431         (get_local_using_directives, set_local_using_directives)
3432         (get_global_using_directives): New functions.
3433         (buildsym_init): Update.
3434
3435 2018-07-16  Tom Tromey  <tom@tromey.com>
3436
3437         * xcoffread.c (xcoff_initial_scan): Don't call
3438         free_pending_blocks.
3439         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3440         * buildsym.h (class scoped_free_pendings): Add constructor.
3441         (free_pending_blocks): Don't declare.
3442         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3443         (free_pending_blocks): Now static.
3444
3445 2018-07-16  Tom Tromey  <tom@tromey.com>
3446
3447         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3448         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3449         member.
3450         (struct subfile_stack): Remove.
3451         (subfile_stack): Remove.
3452         (push_subfile, pop_subfile, buildsym_init): Update.
3453
3454 2018-07-16  Tom Tromey  <tom@tromey.com>
3455
3456         * buildsym.c (push_subfile): Use gdb_assert.
3457         (pop_subfile): Use gdb_assert.
3458
3459 2018-07-16  Tom Tromey  <tom@tromey.com>
3460
3461         * buildsym.h (merge_symbol_lists): Remove.
3462         * buildsym.c (merge_symbol_lists): Remove.
3463
3464 2018-07-16  Tom Tromey  <tom@tromey.com>
3465
3466         * stabsread.c (scan_file_globals): Update comment.
3467         * stabsread.h (scan_file_globals): Move from buildsym.h.
3468         * buildsym.h (scan_file_globals): Move to stabsread.h.
3469
3470 2018-07-16  Tom Tromey  <tom@tromey.com>
3471
3472         * xcoffread.c (xcoff_new_init): Update.
3473         * mipsread.c (mipscoff_new_init): Update.
3474         * mdebugread.c (mdebug_build_psymtabs): Update.
3475         * elfread.c (elf_new_init): Update.
3476         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
3477         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
3478         * buildsym.h (buildsym_new_init): Don't declare.
3479         * buildsym.c (buildsym_new_init): Remove.
3480
3481 2018-07-16  Tom Tromey  <tom@tromey.com>
3482
3483         * stabsread.h (within_function): Move from buildsym.h.
3484         * stabsread.c (start_stabs): Clear within_function.
3485         * coffread.c (coff_start_symtab): Clear within_function.
3486         * buildsym.h (within_function): Move to stabsread.h.
3487         * buildsym.c (prepare_for_building): Update.
3488
3489 2018-07-16  Tom Tromey  <tom@tromey.com>
3490
3491         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
3492         * dwarf2read.c (dwarf2_start_symtab): Don't set
3493         processing_gcc_compilation.
3494         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
3495
3496 2018-07-16  Tom Tromey  <tom@tromey.com>
3497
3498         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
3499         (next_symbol_text_func): Move from buildsym.h.
3500         * stabsread.c (hashname): Move from buildsym.c.
3501         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
3502         (next_symbol_text_func, hashname): Move to stabsread.h.
3503         * buildsym.c: Don't include bcache.h
3504         (hashname): Move to stasbread.c.
3505
3506 2018-07-16  Tom Tromey  <tom@tromey.com>
3507
3508         * buildsym.h (context_stack_size): Don't declare.
3509         * buildsym.c (context_stack_size): New global.
3510
3511 2018-07-16  Tom Tromey  <tom@tromey.com>
3512
3513         * dbxread.c (processing_acc_compilation): New global.
3514         * buildsym.h (processing_acc_compilation): Don't declare.
3515
3516 2018-07-16  Tom Tromey  <tom@tromey.com>
3517
3518         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
3519         * dbxread.c (read_ofile_symtab): Update.
3520         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
3521         * buildsym.h (last_source_start_addr): Remove.
3522         (set_last_source_start_addr, get_last_source_start_addr):
3523         Declare.
3524         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
3525         parameter.
3526         (struct buildsym_compunit) <m_last_source_start_addr>: New
3527         member.
3528         (prepare_for_building): Remove start_addr parameter.
3529         (start_symtab, restart_symtab, end_symtab_get_static_block)
3530         (end_symtab_with_blockvector): Update.
3531         (set_last_source_start_addr, get_last_source_start_addr): New
3532         functions.
3533
3534 2018-07-16  Tom Tromey  <tom@tromey.com>
3535
3536         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
3537         member.
3538         (have_line_numbers): Remove.
3539         (record_line, prepare_for_building, end_symtab_get_static_block)
3540         (augment_type_symtab): Update.
3541
3542 2018-07-16  Tom Tromey  <tom@tromey.com>
3543
3544         * buildsym.c (~buildsym_compunit): Free the macro table.
3545         (struct buildsym_compunit) <get_macro_table, release_macros>: New
3546         methods.
3547         <m_pending_macros>: New member.
3548         (pending_macros): Remove.
3549         (~scoped_free_pendings, get_macro_table, prepare_for_building)
3550         (reset_symtab_globals, end_symtab_get_static_block)
3551         (end_symtab_with_blockvector, augment_type_symtab)
3552         (buildsym_init): Update.
3553
3554 2018-07-16  Tom Tromey  <tom@tromey.com>
3555
3556         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
3557         parameter.
3558         (buildsym_compunit::set_last_source_file): New method.
3559         <m_last_source_file>: New member.
3560         (prepare_for_building): Remove "name" parameter.
3561         (start_symtab, restart_symtab, reset_symtab_globals): Update.
3562         (last_source_file): Remove.
3563         (set_last_source_file, get_last_source_file): Update.
3564
3565 2018-07-16  Tom Tromey  <tom@tromey.com>
3566
3567         * buildsym.c (prepare_for_building): Add assert.
3568
3569 2018-07-16  Tom Tromey  <tom@tromey.com>
3570
3571         * buildsym.c (~buildsym_compunit): Update.
3572         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
3573         (start_subfile, patch_subfile_names)
3574         (end_symtab_with_blockvector): Update.
3575
3576 2018-07-16  Tom Tromey  <tom@tromey.com>
3577
3578         * buildsym.c (struct buildsym_compunit): Add constructor,
3579         destructor, initializers.
3580         (start_buildsym_compunit): Remove.
3581         (free_buildsym_compunit): Use "delete".
3582         (start_symtab, restart_symtab): Use "new".
3583
3584 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
3585
3586         * symfile.c (set_objfile_default_section_offset): Remove struct
3587         keyword.
3588
3589 2018-07-14  Stafford Horne  <shorne@gmail.com>
3590
3591         * (Responsible Maintainers): Add myself as or1k maintainer.
3592
3593 2018-07-13  Tom Tromey  <tom@tromey.com>
3594
3595         * symfile.c (set_objfile_default_section_offset): Use extra braces
3596         around initializer.
3597
3598 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3599
3600         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
3601         non-branching basr.
3602
3603 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3604
3605         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3606         unittests/cli-utils-selftests.c
3607         * unittests/cli-utils-selftests.c: New file.
3608
3609 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3610
3611         * NEWS: Mention new commands. Mention change to 'thread apply'.
3612
3613 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3614
3615         * thread.c (thr_try_catch_cmd): New function.
3616         (thread_apply_all_command): Handle qcs flags.
3617         (thread_apply_command): Handle qcs flags.
3618         (taas_command): New function.
3619         (tfaas_command): New function.
3620         (_initialize_thread): Update to setup the new commands 'taas
3621         and 'tfaas'. Change doc string for 'thread apply'.
3622
3623 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3624
3625         * stack.c: (trailing_outermost_frame): New function, mostly
3626         extracted from backtrace_command_1.
3627         (leading_innermost_frame): New function.
3628         (backtrace_command_1): Update to call trailing_outermost_frame.
3629         (frame_apply_command_count): New function.
3630         (frame_apply_level_command): New function.
3631         (frame_apply_all_command): New function.
3632         (frame_apply_command): New function.
3633         (faas_command): New function.
3634         (frame_cmd_list): New variable.
3635         (_initialize_stack): Update to setup the new commands 'frame apply'
3636         and 'faas'.
3637
3638 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3639
3640         * cli-utils.c (number_or_range_parser::get_number): Only handle
3641         numbers or convenience var as numbers.
3642         (parse_flags): New function.
3643         (parse_flags_qcs): New function.
3644         (number_or_range_parser::finished): Ensure parsing end is detected
3645         before end of string.
3646         * cli-utils.h (parse_flags): New function.
3647         (parse_flags_qcs): New function.
3648         (number_or_range_parser): Remove m_finished bool.
3649         (number_or_range_parser::skip_range): Set m_in_range to false.
3650
3651 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
3652
3653         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
3654         on Windows.
3655
3656 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3657             Jan Kratochvil  <jan.kratochvil@redhat.com>
3658             Paul Fertser  <fercerpav@gmail.com>
3659             Tsutomu Seki  <sekiriki@gmail.com>
3660             Pedro Alves  <palves@redhat.com>
3661
3662         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3663         'unittests/parse-connection-spec-selftests.c'.
3664         (COMMON_SFILES): Add 'common/netstuff.c'.
3665         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
3666         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
3667         * common/netstuff.c: New file.
3668         * common/netstuff.h: New file.
3669         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
3670         (wait_for_connect): Update comment.  New parameter
3671         'gdb::optional<int> sock' instead of 'struct serial *scb'.
3672         Use 'sock' directly instead of 'scb->fd'.
3673         (try_connect): New function, with code from 'net_open'.
3674         (net_open): Rewrite main loop to deal with multiple
3675         sockets/addresses.  Handle IPv6-style hostnames; implement
3676         support for IPv6 connections.
3677         * unittests/parse-connection-spec-selftests.c: New file.
3678
3679 2018-07-11  Pedro Alves  <palves@redhat.com>
3680
3681         PR gdb/23377
3682         * remote.c (remote_target::remote_detach_pid): Call
3683         set_current_process.
3684
3685 2018-07-11  Pedro Alves  <palves@redhat.com>
3686
3687         * h8300-tdep.c (h8300_gdbarch_init): Remove
3688         set_gdbarch_ecoff_reg_to_regnum calls.
3689
3690 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3691
3692         PR c++/23373
3693         * c-typeprint.c (c_type_print_base_struct_union): Don't print
3694         offsets/sizes for static members of a class/struct.
3695
3696 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
3697
3698         * target-descriptions.c (tdesc_register_bitsize): Rename.
3699         * target-descriptions.h (tdesc_register_bitsize): Likewise.
3700         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
3701         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
3702
3703 2018-07-10  Tom Tromey  <tom@tromey.com>
3704
3705         * breakpoint.c (moribund_locations): Now static and a
3706         std::vector.
3707         (breakpoint_init_inferior, moribund_breakpoint_here_p)
3708         (build_bpstat_chain, update_global_location_list)
3709         (breakpoint_retire_moribund): Update.
3710         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
3711         VEC.
3712
3713 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3714
3715         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
3716         (riscv_register_reggroup_p): Use new function, remove unneeded
3717         parenthesis.
3718         (riscv_push_dummy_call): Extend assert to compare against xlen or
3719         flen based on register type.
3720
3721 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3722
3723         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
3724
3725 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3726
3727         * remote.c (show_hardware_watchpoint_limit): New function.
3728         (show_hardware_watchpoint_length_limit): New function.
3729         (show_hardware_breakpoint_limit): New function.
3730         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
3731         where appropriate, update help text.
3732
3733 2018-07-09  Tom Tromey  <tom@tromey.com>
3734
3735         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
3736         (CLIBS): Don't mention NAT_CLIBS.
3737
3738 2018-07-09  Tom Tromey  <tom@tromey.com>
3739
3740         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
3741         (LIBGDB_OBS, clean mostlyclean): Update.
3742         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
3743
3744 2018-07-09  Tom Tromey  <tom@tromey.com>
3745
3746         * Makefile.in (%.c: %.y): Use ECHO_YACC.
3747         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
3748         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
3749
3750 2018-07-09  Tom Tromey  <tom@tromey.com>
3751
3752         * Makefile.in (ALLDEPFILES): Remove exec.c.
3753         (COMMON_OBS): Remove exec.o.
3754         (COMMON_SFILES): Add exec.c.
3755
3756 2018-07-09  Tom Tromey  <tom@tromey.com>
3757
3758         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
3759
3760 2018-07-09  Tom Tromey  <tom@tromey.com>
3761
3762         * Makefile.in (clean mostlyclean): Remove stamp-version.
3763         (version.c): Depend on stamp-version.
3764         (stamp-version): New rule, from version.c rule.
3765
3766 2018-07-09  Tom Tromey  <tom@tromey.com>
3767
3768         * Makefile.in (init.c): Depend on stamp-init.
3769         (stamp-init): New rule, from init.c rule.
3770         (clean mostlyclean): Remove stamp-init.
3771
3772 2018-07-09  Tom Tromey  <tom@tromey.com>
3773
3774         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
3775         SUBDIR_GCC_COMPILE_SRCS.
3776
3777 2018-07-09  Tom Tromey  <tom@tromey.com>
3778
3779         * Makefile.in (init.c): Remove some unused sed rules.
3780
3781 2018-07-09  Tom Tromey  <tom@tromey.com>
3782
3783         * Makefile.in (TSOBS): Remove.
3784         (INIT_FILES): Update.
3785         (LIBGDB_OBS): Update.
3786         (COMMON_SFILES): Add inflow.c.
3787         (SFILES): Remove inflow.c.
3788
3789 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
3790
3791         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
3792
3793 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
3794
3795         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
3796         get_saveloc_name, is_signal_frame_name, step_name,
3797         init_remote_name, create_addr_space_name,
3798         destroy_addr_space_name, search_unwind_table_name,
3799         find_dyn_list_name): Constify.
3800
3801 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
3802
3803         * darwin-nat.c (darwin_pthread_kill): New function.
3804         (darwin_resume_thread): Use darwin_pthread_kill.
3805
3806 2018-07-05  Tom de Vries  <tdevries@suse.de>
3807
3808         * macroexp.c (macro_buffer) <operator=>: New member function.
3809
3810 2018-07-04  Tom Tromey  <tom@tromey.com>
3811
3812         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
3813
3814 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
3815
3816         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
3817         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
3818         * maint.c: Likewise.
3819         * top.c: Likewise.
3820
3821 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3822
3823         * NEWS: Create a new section for the next release branch.
3824         Rename the section of the current branch, now that it has
3825         been cut.
3826
3827 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3828
3829         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
3830         * version.in: Bump version to 8.2.50.DATE-git.
3831
3832 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
3833             Pedro Alves  <palves@redhat.com>
3834
3835         * linux-nat.c (linux_init_ptrace): Rename to ...
3836         (linux_init_ptrace_procfs): ... this.  Call
3837         linux_proc_init_warnings.
3838         (linux_nat_target::post_attach)
3839         (linux_nat_target::post_startup_inferior): Adjust.
3840         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
3841         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
3842
3843 2018-07-04  Tom de Vries  <tdevries@suse.de>
3844
3845         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
3846         check ...
3847         (read_comp_unit_head): ... here.
3848
3849 2018-07-03  Tom Tromey  <tom@tromey.com>
3850
3851         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
3852         (stop_tracing, tstatus_command)
3853         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
3854         (print_one_static_tracepoint_marker): Update.
3855         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
3856         std::vector.
3857         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
3858         VEC.
3859         (all_tracepoints, static_tracepoints_here): Return std::vector.
3860
3861 2018-07-03  Tom Tromey  <tom@tromey.com>
3862
3863         * common/ptid.c (ptid_equal): Remove.
3864         * common/ptid.h (ptid_equal): Don't declare.
3865         * ada-tasks.c: Update.
3866         * breakpoint.c: Update.
3867         * common/agent.c: Update.
3868         * corelow.c: Update.
3869         * darwin-nat-info.c: Update.
3870         * darwin-nat.c: Update.
3871         * dcache.c: Update.
3872         * dtrace-probe.c: Update.
3873         * dummy-frame.c: Update.
3874         * fbsd-nat.c: Update.
3875         * frame.c: Update.
3876         * gdbthread.h: Update.
3877         * gnu-nat.c: Update.
3878         * go32-nat.c: Update.
3879         * inf-loop.c: Update.
3880         * inf-ptrace.c: Update.
3881         * infcall.c: Update.
3882         * infcmd.c: Update.
3883         * inflow.c: Update.
3884         * infrun.c: Update.
3885         * linux-fork.c: Update.
3886         * linux-nat.c: Update.
3887         * linux-thread-db.c: Update.
3888         * mi/mi-cmd-var.c: Update.
3889         * mi/mi-interp.c: Update.
3890         * mi/mi-main.c: Update.
3891         * nto-procfs.c: Update.
3892         * ppc-linux-tdep.c: Update.
3893         * procfs.c: Update.
3894         * python/py-inferior.c: Update.
3895         * python/py-record-btrace.c: Update.
3896         * python/py-record.c: Update.
3897         * ravenscar-thread.c: Update.
3898         * regcache.c: Update.
3899         * remote-sim.c: Update.
3900         * remote.c: Update.
3901         * sol-thread.c: Update.
3902         * solib.c: Update.
3903         * target.c: Update.
3904         * tui/tui-stack.c: Update.
3905         * varobj.c: Update.
3906         * windows-nat.c: Update.
3907         * windows-tdep.c: Update.
3908
3909 2018-07-03  Tom Tromey  <tom@tromey.com>
3910
3911         * common/ptid.c (ptid_match): Remove.
3912         * common/ptid.h (ptid_match): Don't declare.
3913         * fbsd-nat.c: Update.
3914         * infcmd.c: Update.
3915         * infrun.c: Update.
3916         * linux-nat.c: Update.
3917         * record-btrace.c: Update.
3918         * regcache.c: Update.
3919         * remote.c: Update.
3920
3921 2018-07-03  Tom Tromey  <tom@tromey.com>
3922
3923         * common/ptid.c (ptid_tid_p): Remove.
3924         * common/ptid.h (ptid_tid_p): Don't declare.
3925         * sol-thread.c: Update.
3926
3927 2018-07-03  Tom Tromey  <tom@tromey.com>
3928
3929         * common/ptid.c (ptid_lwp_p): Remove.
3930         * common/ptid.h (ptid_lwp_p): Don't declare.
3931         * fbsd-nat.c: Update.
3932         * linux-nat.c: Update.
3933         * nat/linux-procfs.c: Update.
3934         * nat/x86-linux-dregs.c: Update.
3935         * sol-thread.c: Update.
3936
3937 2018-07-03  Tom Tromey  <tom@tromey.com>
3938
3939         * common/ptid.c (ptid_is_pid): Remove.
3940         * common/ptid.h (ptid_is_pid): Don't declare.
3941         * infrun.c: Update.
3942         * linux-nat.c: Update.
3943         * mi/mi-interp.c: Update.
3944         * remote.c: Update.
3945         * thread.c: Update.
3946
3947 2018-07-03  Tom Tromey  <tom@tromey.com>
3948
3949         * common/ptid.c (ptid_get_tid): Remove.
3950         * common/ptid.h (ptid_get_tid): Don't declare.
3951         * ada-tasks.c: Update.
3952         * aix-thread.c: Update.
3953         * bsd-uthread.c: Update.
3954         * darwin-nat.c: Update.
3955         * fbsd-nat.c: Update.
3956         * i386-darwin-nat.c: Update.
3957         * infrun.c: Update.
3958         * linux-tdep.c: Update.
3959         * nto-procfs.c: Update.
3960         * ppc-ravenscar-thread.c: Update.
3961         * python/py-infthread.c: Update.
3962         * ravenscar-thread.c: Update.
3963         * sol-thread.c: Update.
3964         * sparc-ravenscar-thread.c: Update.
3965         * windows-nat.c: Update.
3966
3967 2018-07-03  Tom Tromey  <tom@tromey.com>
3968
3969         * common/ptid.c (ptid_get_lwp): Remove.
3970         * common/ptid.h (ptid_get_lwp): Don't declare.
3971         * aarch64-linux-nat.c: Update.
3972         * ada-tasks.c: Update.
3973         * aix-thread.c: Update.
3974         * amd64-linux-nat.c: Update.
3975         * arm-linux-nat.c: Update.
3976         * corelow.c: Update.
3977         * fbsd-nat.c: Update.
3978         * fbsd-tdep.c: Update.
3979         * gnu-nat.c: Update.
3980         * i386-cygwin-tdep.c: Update.
3981         * i386-gnu-nat.c: Update.
3982         * i386-linux-nat.c: Update.
3983         * ia64-linux-nat.c: Update.
3984         * inf-ptrace.c: Update.
3985         * infrun.c: Update.
3986         * linux-fork.c: Update.
3987         * linux-nat.c: Update.
3988         * linux-tdep.c: Update.
3989         * linux-thread-db.c: Update.
3990         * mips-linux-nat.c: Update.
3991         * nat/aarch64-linux-hw-point.c: Update.
3992         * nat/aarch64-linux.c: Update.
3993         * nat/linux-btrace.c: Update.
3994         * nat/linux-osdata.c: Update.
3995         * nat/linux-procfs.c: Update.
3996         * nat/x86-linux-dregs.c: Update.
3997         * obsd-nat.c: Update.
3998         * ppc-fbsd-nat.c: Update.
3999         * ppc-linux-nat.c: Update.
4000         * procfs.c: Update.
4001         * python/py-infthread.c: Update.
4002         * ravenscar-thread.c: Update.
4003         * remote.c: Update.
4004         * s390-linux-nat.c: Update.
4005         * sol-thread.c: Update.
4006         * sol2-tdep.c: Update.
4007         * spu-linux-nat.c: Update.
4008         * x86-linux-nat.c: Update.
4009         * xtensa-linux-nat.c: Update.
4010
4011 2018-07-03  Tom Tromey  <tom@tromey.com>
4012
4013         * common/ptid.c (ptid_get_pid): Remove.
4014         * common/ptid.h (ptid_get_pid): Don't declare.
4015         * aarch64-linux-nat.c: Update.
4016         * ada-lang.c: Update.
4017         * aix-thread.c: Update.
4018         * alpha-bsd-nat.c: Update.
4019         * amd64-fbsd-nat.c: Update.
4020         * amd64-linux-nat.c: Update.
4021         * arm-linux-nat.c: Update.
4022         * arm-nbsd-nat.c: Update.
4023         * auxv.c: Update.
4024         * break-catch-syscall.c: Update.
4025         * breakpoint.c: Update.
4026         * bsd-uthread.c: Update.
4027         * corelow.c: Update.
4028         * ctf.c: Update.
4029         * darwin-nat.c: Update.
4030         * fbsd-nat.c: Update.
4031         * fbsd-tdep.c: Update.
4032         * gcore.c: Update.
4033         * gnu-nat.c: Update.
4034         * hppa-nbsd-nat.c: Update.
4035         * hppa-obsd-nat.c: Update.
4036         * i386-fbsd-nat.c: Update.
4037         * ia64-linux-nat.c: Update.
4038         * inf-ptrace.c: Update.
4039         * infcmd.c: Update.
4040         * inferior.c: Update.
4041         * inferior.h: Update.
4042         * inflow.c: Update.
4043         * infrun.c: Update.
4044         * linux-fork.c: Update.
4045         * linux-nat.c: Update.
4046         * linux-tdep.c: Update.
4047         * linux-thread-db.c: Update.
4048         * m68k-bsd-nat.c: Update.
4049         * mi/mi-interp.c: Update.
4050         * mi/mi-main.c: Update.
4051         * mips-linux-nat.c: Update.
4052         * mips-nbsd-nat.c: Update.
4053         * mips64-obsd-nat.c: Update.
4054         * nat/aarch64-linux-hw-point.c: Update.
4055         * nat/aarch64-linux.c: Update.
4056         * nat/linux-btrace.c: Update.
4057         * nat/linux-osdata.c: Update.
4058         * nat/linux-procfs.c: Update.
4059         * nat/x86-linux-dregs.c: Update.
4060         * nto-procfs.c: Update.
4061         * obsd-nat.c: Update.
4062         * ppc-linux-nat.c: Update.
4063         * ppc-nbsd-nat.c: Update.
4064         * ppc-obsd-nat.c: Update.
4065         * proc-service.c: Update.
4066         * procfs.c: Update.
4067         * python/py-inferior.c: Update.
4068         * python/py-infthread.c: Update.
4069         * ravenscar-thread.c: Update.
4070         * record.c: Update.
4071         * remote-sim.c: Update.
4072         * remote.c: Update.
4073         * rs6000-nat.c: Update.
4074         * s390-linux-nat.c: Update.
4075         * sh-nbsd-nat.c: Update.
4076         * sol-thread.c: Update.
4077         * sparc-nat.c: Update.
4078         * sparc64-tdep.c: Update.
4079         * spu-linux-nat.c: Update.
4080         * spu-tdep.c: Update.
4081         * target-debug.h: Update.
4082         * target.c: Update.
4083         * thread.c: Update.
4084         * tid-parse.c: Update.
4085         * tracefile-tfile.c: Update.
4086         * vax-bsd-nat.c: Update.
4087         * windows-nat.c: Update.
4088         * x86-linux-nat.c: Update.
4089         * x86-nat.c: Update.
4090
4091 2018-07-03  Tom Tromey  <tom@tromey.com>
4092
4093         * common/ptid.c (pid_to_ptid): Remove.
4094         * common/ptid.h (pid_to_ptid): Don't declare.
4095         * aix-thread.c: Update.
4096         * arm-linux-nat.c: Update.
4097         * common/ptid.c: Update.
4098         * common/ptid.h: Update.
4099         * corelow.c: Update.
4100         * ctf.c: Update.
4101         * darwin-nat.c: Update.
4102         * fbsd-nat.c: Update.
4103         * fork-child.c: Update.
4104         * gnu-nat.c: Update.
4105         * go32-nat.c: Update.
4106         * inf-ptrace.c: Update.
4107         * infcmd.c: Update.
4108         * inferior.c: Update.
4109         * infrun.c: Update.
4110         * linux-fork.c: Update.
4111         * linux-nat.c: Update.
4112         * nat/aarch64-linux-hw-point.c: Update.
4113         * nat/fork-inferior.c: Update.
4114         * nat/x86-linux-dregs.c: Update.
4115         * nto-procfs.c: Update.
4116         * obsd-nat.c: Update.
4117         * procfs.c: Update.
4118         * progspace.c: Update.
4119         * remote.c: Update.
4120         * rs6000-nat.c: Update.
4121         * s390-linux-nat.c: Update.
4122         * sol-thread.c: Update.
4123         * spu-linux-nat.c: Update.
4124         * target.c: Update.
4125         * top.c: Update.
4126         * tracefile-tfile.c: Update.
4127         * windows-nat.c: Update.
4128
4129 2018-07-03  Tom Tromey  <tom@tromey.com>
4130
4131         * common/ptid.h (ptid_build): Don't declare.
4132         * common/ptid.c (ptid_build): Remove.
4133         * aix-thread.c: Update.
4134         * bsd-kvm.c: Update.
4135         * bsd-uthread.c: Update.
4136         * common/agent.c: Update.
4137         * common/ptid.c: Update.
4138         * common/ptid.h: Update.
4139         * corelow.c: Update.
4140         * darwin-nat.c: Update.
4141         * fbsd-nat.c: Update.
4142         * gnu-nat.c: Update.
4143         * linux-fork.c: Update.
4144         * linux-nat.c: Update.
4145         * linux-thread-db.c: Update.
4146         * nat/linux-osdata.c: Update.
4147         * nat/linux-procfs.c: Update.
4148         * nto-procfs.c: Update.
4149         * obsd-nat.c: Update.
4150         * proc-service.c: Update.
4151         * procfs.c: Update.
4152         * ravenscar-thread.c: Update.
4153         * remote-sim.c: Update.
4154         * remote.c: Update.
4155         * sol-thread.c: Update.
4156         * target.c: Update.
4157         * windows-nat.c: Update.
4158
4159 2018-07-03  Tom Tromey  <tom@tromey.com>
4160
4161         * infrun.c (follow_exec): Use exit_inferior_silent.
4162         * inferior.c (exit_inferior_num_silent): Remove.
4163         * inferior.h (exit_inferior_num_silent): Don't declare.
4164
4165 2018-07-03  Tom Tromey  <tom@tromey.com>
4166
4167         PR cli/23340:
4168         * darwin-nat.c (darwin_attach_pid): Reset inferior and
4169         inferior_ptid on error.
4170
4171 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
4172             Simon Marchi  <simon.marchi@polymtl.ca>
4173
4174         PR tdep/8282
4175         * disasm.h (gdb_disassembler): Add
4176         `m_disassembler_options_holder'. member
4177         * disasm.c (get_all_disassembler_options): New function.
4178         (gdb_disassembler::gdb_disassembler): Use it.
4179         (gdb_buffered_insn_length_init_dis): Likewise.
4180         (gdb_buffered_insn_length): Adjust accordingly.
4181         (set_disassembler_options): Handle options with arguments.
4182         (show_disassembler_options_sfunc): Likewise.  Add a leading new
4183         line if showing options with descriptions.
4184         (disassembler_options_completer): Adapt to using the
4185         `disasm_options_and_args_t' structure.
4186         * mips-tdep.c (mips_disassembler_options): New variable.
4187         (mips_disassembler_options_o32): Likewise.
4188         (mips_disassembler_options_n32): Likewise.
4189         (mips_disassembler_options_n64): Likewise.
4190         (gdb_print_insn_mips): Don't set `disassembler_options'.
4191         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
4192         functions.
4193         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
4194         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
4195         `gdbarch_disassembler_options_implicit' and
4196         `gdbarch_valid_disassembler_options'.
4197         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
4198         `disasm_options_and_args_t' structure.
4199         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
4200         method.
4201         (valid_disassembler_options): Switch from `disasm_options_t' to
4202         the `disasm_options_and_args_t' structure.
4203         * NEWS: Document `set disassembler-options' support for the MIPS
4204         target.
4205         * gdbarch.h: Regenerate.
4206         * gdbarch.c: Regenerate.
4207
4208 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4209
4210         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
4211
4212 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
4213
4214         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
4215         parameter in call to amd64_target_description.
4216         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
4217         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
4218         (amd64fbsd_init_abi): Likewise.
4219         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
4220         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
4221         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
4222         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
4223
4224 2018-06-29  Pedro Alves  <palves@redhat.com>
4225
4226         * gdb/amd64-tdep.h (amd64_create_target_description): Add
4227         "segments" parameter.
4228         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
4229         (_initialize_amd64_tdep): Update call to
4230         amd64_create_target_description.
4231         (amd64_target_description): Add "segments" parameter.  Adjust
4232         the implementation to use it.
4233         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
4234         call to amd64_create_target_description.
4235         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
4236         * gdb/arch/amd64.h (amd64_create_target_description): Add
4237         "segments" register.
4238         * gdb/arch/amd64.c (amd64_create_target_description): Add
4239         "segments" parameter.  Call create_feature_i386_64bit_segments
4240         only if SEGMENTS is true.
4241         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
4242         call to amd64_create_target_description.
4243
4244 2018-06-29  Pedro Alves  <palves@redhat.com>
4245
4246         * thread.c (thread_target_id_str): New, factored out from ...
4247         (print_thread_info_1): ... here.  Use it to compute the max
4248         "Target Id" column width.
4249
4250 2018-06-29  Pedro Alves  <palves@redhat.com>
4251
4252         * remote.c (remote_target::extra_thread_info): Delete
4253         'display_buf' and 'n' locals.  from the cache, regardless of
4254         packet mechanims is in use.  Use cache for qThreadExtra and qP
4255         methods too.
4256
4257 2018-06-29  Pedro Alves  <palves@redhat.com>
4258
4259         * blockframe.c (find_pc_sect_containing_function): New function.
4260         * breakpoint.c (print_breakpoint_location): Don't call
4261         find_pc_sect_function.
4262         * linespec.c (create_sals_line_offset): Record the location's
4263         symbol in the sal.
4264         * linespec.c (convert_address_location_to_sals): Fill in sal's
4265         symbol with find_pc_sect_containing_function.
4266         * symtab.c (find_function_start_sal): Rename to ...
4267         (find_function_start_sal_1): ... this.
4268         (find_function_start_sal): Reimplement as wrapper around
4269         find_function_start_sal_1, and use
4270         find_pc_sect_containing_function to fill in the sal's symbol.
4271         (find_function_start_sal(symbol*, bool)): Adjust.
4272         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
4273         comments.
4274         (find_pc_sect_containing_function): Declare.
4275
4276 2018-06-29  Pedro Alves  <palves@redhat.com>
4277
4278         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
4279         true if the the location has no symbol.
4280
4281 2018-06-28  Tom Tromey  <tom@tromey.com>
4282
4283         * NEWS: Mention --enable-codesign.
4284         * silent-rules.mk (ECHO_SIGN): New variable.
4285         * configure.ac: Add --enable-codesign.
4286         * configure: Rebuild.
4287         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
4288         (gdb$(EXEEXT)): Optionally invoke codesign.
4289
4290 2018-06-28  Pedro Alves  <palves@redhat.com>
4291
4292         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
4293         comments.
4294         (switch_to_thread_no_regs): Adjust comment.
4295         * infcmd.c (stop_pc): Delete.
4296         (post_create_inferior, info_program_command): Replace references
4297         to stop_pc with references to thread_info->suspend.stop_pc.
4298         * inferior.h (stop_pc): Delete declaration.
4299         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
4300         (handle_inferior_event_1, handle_signal_stop)
4301         (process_event_stop_test, keep_going_stepped_thread)
4302         (handle_step_into_function, handle_step_into_function_backward)
4303         (print_stop_location): Replace references to stop_pc with
4304         references to thread_info->suspend.stop_pc.
4305         (struct infcall_suspend_state) <stop_pc>: Delete field.
4306         (save_infcall_suspend_state, restore_infcall_suspend_state):
4307         Remove references to inf_stat->stop_pc.
4308         * linux-fork.c (fork_load_infrun_state): Likewise.
4309         * record-btrace.c (record_btrace_set_replay): Likewise.
4310         * record-full.c (record_full_goto_entry): Likewise.
4311         * remote.c (print_one_stopped_thread): Likewise.
4312         * target.c (target_resume): Extend comment.
4313         * thread.c (set_executing_thread): New.
4314         (set_executing): Use it.
4315         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
4316         Remove references to stop_pc.
4317
4318 2018-06-28  Pedro Alves  <palves@redhat.com>
4319
4320         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
4321         Moving fetching stop_pc until after ecs->event_thread is refreshed.
4322
4323 2018-06-28  Tom Tromey  <tom@tromey.com>
4324
4325         * coffread.c (coff_symfile_finish): Update.
4326         * xcoffread.c (xcoff_symfile_finish): Update.
4327         * elfread.c (elf_symfile_finish): Update.
4328         * symfile.h (dwarf2_free_objfile): Don't declare.
4329         * dwarf2read.c (_initialize_dwarf2_read): Use
4330         register_objfile_data_with_cleanup.
4331         (dwarf2_free_objfile): Now static.  Change signature.
4332
4333 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4334
4335         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
4336         option "-o" to add-symbol-file-load to add an offset to each
4337         section's load address.
4338         * symfile.c (set_objfile_default_section_offset): New function.
4339
4340 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4341
4342         * symfile.c (add_symbol_file_command): Make sure that sections
4343         with the same name are sorted in the same order.
4344
4345 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4346
4347         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
4348         require the second argument.  If omitted, load sections at the
4349         addresses specified in the file.
4350
4351 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4352
4353         * symfile.c (symbol_file_command, symbol_file_add_main_1)
4354         (_initialize_symfile): Add option "-o" to symbol-file to add an
4355         offset to each section of the symbol file.
4356
4357 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4358
4359         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4360
4361 2018-06-27  Tom Tromey  <tom@tromey.com>
4362
4363         * stack.c (_initialize_stack): Update "func" help text.
4364
4365 2018-06-27  Tom Tromey  <tom@tromey.com>
4366
4367         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4368         std::vector.
4369         (unwind_infopy_str, pyuw_create_unwind_info)
4370         (unwind_infopy_add_saved_register, pyuw_sniffer)
4371         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4372         Update.
4373         (struct saved_reg): Add constructor.
4374         <value>: Now a gdbpy_ref<>.
4375
4376 2018-06-27  Tom Tromey  <tom@tromey.com>
4377
4378         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4379
4380 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4381
4382         * gdb-gdb.py.in: Format using autopep8.
4383
4384 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4385
4386         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4387         (type_lookup_function): Recognize CORE_ADDR values.
4388
4389 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4390
4391         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4392         print tag_name.
4393
4394 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4395
4396         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4397         <__lt__>: Add.
4398
4399 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4400
4401         * gdb-gdb.py: Move to...
4402         * gdb-gdb.py.in: ... here.
4403         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4404         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4405         dependencies.
4406         (distclean): Remove gdb-gdb.py when cleaning.
4407         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4408         * configure: Re-generate.
4409
4410 2018-06-27  Pedro Alves  <palves@redhat.com>
4411
4412         * proc-service.c (get_ps_regcache): New.
4413         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4414         (ps_lsetfpregs): Use it.
4415
4416 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4417
4418         PR gdb/21695
4419         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4420         (dwarf_decode_lines_1): Adjust.
4421
4422 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4423
4424         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4425         override.
4426         <info_proc>: Likewise.
4427
4428 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4429
4430         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4431         to windows_fetch_one_register, and only handle the case of
4432         fetching one register.  Move the code that reloads the context
4433         and iterates over all registers if R is negative to...
4434         (windows_nat_target::fetch_registers): ... here.
4435         (do_windows_store_inferior_registers): Rename to
4436         windows_store_one_register, and only handle the case of storing
4437         one register.  Move the code that handles the case where r is
4438         negative to...
4439         (windows_nat_target::store_registers) ... here.
4440
4441 2018-06-26  Tom Tromey  <tom@tromey.com>
4442
4443         PR rust/22574:
4444         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4445         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4446         Update.
4447         (rust_internal_print_type): Add podata parameter.
4448         (rust_print_type): Update.
4449
4450 2018-06-26  Tom Tromey  <tom@tromey.com>
4451
4452         * typeprint.h (struct print_offset_data) <update, finish,
4453         maybe_print_hole>: New methods.
4454         <indentation>: New constant.
4455         * typeprint.c (print_offset_data::indentation): Define.
4456         (print_offset_data::maybe_print_hole, print_offset_data::update)
4457         (print_offset_data::finish): Move from c-typeprint.c and rename.
4458         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4459         (print_spaces_filtered_with_print_options): Update.
4460         (c_print_type_union_field_offset, maybe_print_hole)
4461         (c_print_type_struct_field_offset): Move to typeprint.c and
4462         rename.
4463         (c_type_print_base_struct_union): Update.
4464
4465 2018-06-25  Pedro Alves  <palves@redhat.com>
4466
4467         * gdbthread.h (thread_info_ref, delete_thread)
4468         (delete_thread_silent, first_thread_of_inferior)
4469         (any_thread_of_inferior, switch_to_thread)
4470         (enable_thread_stack_temporaries)
4471         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4472         (get_last_thread_stack_temporary)
4473         (value_in_thread_stack_temporaries, can_access_registers_thread):
4474         Spell out "struct thread_info" instead of just "thread_info".
4475         * inferior.h (notice_new_inferior): Likewise.
4476
4477 2018-06-25  Pedro Alves  <palves@redhat.com>
4478
4479         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4480         pass thread_info pointer to delete_thread.
4481         (windows_nat_target::detach): Pass inferior pointer to
4482         detach_inferior.
4483         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
4484         delete_thread.
4485         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
4486         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
4487         and pass a thread_info pointer to delete_thread.
4488         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
4489         pass thread_info pointer to delete_thread.
4490         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
4491         delete_thread_silent call.
4492         * procfs.c (procfs_target::detach): Pass inferior pointer to
4493         detach_inferior.
4494         (procfs_target::wait): Pass thread_info pointer to delete_thread.
4495         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
4496         delete_thread_silent call.
4497         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4498         pass thread_info pointer to delete_thread.
4499         (windows_nat_target::detach): Pass inferior pointer to
4500         delete_inferior.
4501
4502 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4503
4504         * regcache.c (readable_regcache::read_part): Fix asserts.
4505         (reg_buffer::raw_collect_part): New function.
4506         (regcache::write_part): Fix asserts.
4507         (reg_buffer::raw_supply_part): New function.
4508         (regcache::transfer_regset_register): New helper function.
4509         (regcache::transfer_regset): Call new functions.
4510         (regcache_supply_regset): Use gdb_byte*.
4511         (regcache::supply_regset): Likewise.
4512         (regcache_collect_regset): Likewise.
4513         (regcache::collect_regset): Likewise.
4514         * regcache.h (reg_buffer::raw_collect_part): New declaration.
4515         (reg_buffer::raw_supply_part): Likewise.
4516         (regcache::transfer_regset_register): Likewise.
4517         (regcache::transfer_regset): Use gdb_byte*.
4518
4519 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4520
4521         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
4522
4523 2018-06-21  Pedro Alves  <palves@redhat.com>
4524
4525         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
4526         instead of a ptid_t.  All callers adjusted.
4527         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
4528         adjusted.
4529         (print_ada_task_info, display_current_task_id, task_command_1):
4530         Adjust.
4531         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
4532         inferior_thread.
4533         (breakpoint_kind): Adjust.
4534         (remove_breakpoints_pid): Rename to ...
4535         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
4536         pointer.  All callers adjusted.
4537         (bpstat_clear_actions): Use inferior_thread.
4538         (get_bpstat_thread): New.
4539         (bpstat_do_actions): Use it.
4540         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
4541         to take a thread_info pointer.  All callers adjusted.
4542         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
4543         (breakpoint_re_set_thread): Use inferior_thread.
4544         * breakpoint.h (struct inferior): Forward declare.
4545         (bpstat_stop_status): Update.
4546         (remove_breakpoints_pid): Delete.
4547         (remove_breakpoints_inf): New.
4548         * bsd-uthread.c (bsd_uthread_target::wait)
4549         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
4550         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
4551         (maint_btrace_packet_history_cmd)
4552         (maint_btrace_clear_packet_history_cmd): Adjust.
4553         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
4554         inferior_thread.
4555         * cli/cli-interp.c: Include "inferior.h".
4556         * common/refcounted-object.h (struct
4557         refcounted_object_ref_policy): New.
4558         * compile/compile-object-load.c: Include gdbthread.h.
4559         (store_regs): Use inferior_thread.
4560         * corelow.c (core_target::close): Use current_inferior.
4561         (core_target_open): Adjust to use first_thread_of_inferior and use
4562         the current inferior.
4563         * ctf.c (ctf_target::close): Adjust to use current_inferior.
4564         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
4565         <thread>: ... this new field.  All references adjusted.
4566         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
4567         Take a thread_info pointer instead of a ptid_t.
4568         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
4569         (dummy_frame_discard, register_dummy_frame_dtor): Take a
4570         thread_info pointer instead of a ptid_t.
4571         * elfread.c: Include "inferior.h".
4572         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
4573         Use inferior_thread.
4574         * eval.c (evaluate_subexp): Likewise.
4575         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
4576         inferior_thread.
4577         * gdb_proc_service.h (struct thread_info): Forward declare.
4578         (struct ps_prochandle) <ptid>: Delete, replaced by ...
4579         <thread>: ... this new field.  All references adjusted.
4580         * gdbarch.h, gdbarch.c: Regenerate.
4581         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
4582         'thread' parameter.  All implementations and callers adjusted.
4583         * gdbthread.h (thread_info) <set_running>: New method.
4584         (delete_thread, delete_thread_silent): Take a thread_info pointer
4585         instead of a ptid.
4586         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
4587         (first_thread_of_process): Delete, replaced by ...
4588         (first_thread_of_inferior): ... this new function.  All callers
4589         adjusted.
4590         (any_live_thread_of_process): Delete, replaced by ...
4591         (any_live_thread_of_inferior): ... this new function.  All callers
4592         adjusted.
4593         (switch_to_thread, switch_to_no_thread): Declare.
4594         (is_executing): Delete.
4595         (enable_thread_stack_temporaries): Update comment.
4596         <enable_thread_stack_temporaries>: Take a thread_info pointer
4597         instead of a ptid_t.  Incref the thread.
4598         <~enable_thread_stack_temporaries>: Decref the thread.
4599         <m_ptid>: Delete
4600         <m_thr>: New.
4601         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4602         (get_last_thread_stack_temporary)
4603         (value_in_thread_stack_temporaries, can_access_registers_thread):
4604         Take a thread_info pointer instead of a ptid_t.  All callers
4605         adjusted.
4606         * infcall.c (get_call_return_value): Use inferior_thread.
4607         (run_inferior_call): Work with thread pointers instead of ptid_t.
4608         (call_function_by_hand_dummy): Work with thread pointers instead
4609         of ptid_t.  Use thread_info_ref.
4610         * infcmd.c (proceed_thread_callback): Access thread's state
4611         directly.
4612         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
4613         access thread's state directly.
4614         (continue_command): Use inferior_thread.
4615         (info_program_command): Use find_thread_ptid and access thread
4616         state directly.
4617         (proceed_after_attach_callback): Use thread state directly.
4618         (notice_new_inferior): Take a thread_info pointer instead of a
4619         ptid_t.  All callers adjusted.
4620         (exit_inferior): Take an inferior pointer instead of a pid.  All
4621         callers adjusted.
4622         (exit_inferior_silent): New.
4623         (detach_inferior): Delete.
4624         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
4625         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
4626         (detach_inferior_command, kill_inferior_command): Use
4627         find_inferior_id instead of valid_gdb_inferior_id and
4628         gdb_inferior_id_to_pid.
4629         (inferior_command): Use inferior and thread pointers.
4630         * inferior.h (struct thread_info): Forward declare.
4631         (notice_new_inferior): Take a thread_info pointer instead of a
4632         ptid_t.  All callers adjusted.
4633         (detach_inferior): Delete declaration.
4634         (exit_inferior, exit_inferior_silent): Take an inferior pointer
4635         instead of a pid.  All callers adjusted.
4636         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
4637         (valid_gdb_inferior_id): Delete.
4638         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
4639         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
4640         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
4641         ...
4642         <inf>: ... this new field.
4643         <step_ptid>: Delete, replaced by ...
4644         <step_thread>: ... this new field.
4645         (get_displaced_stepping_state): Take an inferior pointer instead
4646         of a pid.  All callers adjusted.
4647         (displaced_step_in_progress_any_inferior): Adjust.
4648         (displaced_step_in_progress_thread): Take a thread pointer instead
4649         of a ptid_t.  All callers adjusted.
4650         (displaced_step_in_progress, add_displaced_stepping_state): Take
4651         an inferior pointer instead of a pid.  All callers adjusted.
4652         (get_displaced_step_closure_by_addr): Adjust.
4653         (remove_displaced_stepping_state): Take an inferior pointer
4654         instead of a pid.  All callers adjusted.
4655         (displaced_step_prepare_throw, displaced_step_prepare)
4656         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
4657         All callers adjusted.
4658         (start_step_over): Adjust.
4659         (infrun_thread_ptid_changed): Remove bit updating ptids in the
4660         displaced step queue.
4661         (do_target_resume): Adjust.
4662         (fetch_inferior_event): Use inferior_thread.
4663         (context_switch, get_inferior_stop_soon): Take an
4664         execution_control_state pointer instead of a ptid_t.  All callers
4665         adjusted.
4666         (switch_to_thread_cleanup): Delete.
4667         (stop_all_threads): Use scoped_restore_current_thread.
4668         * inline-frame.c: Include "gdbthread.h".
4669         (inline_state) <inline_state>: Take a thread pointer instead of a
4670         ptid_t.  All callers adjusted.
4671         <ptid>: Delete, replaced by ...
4672         <thread>: ... this new field.
4673         (find_inline_frame_state): Take a thread pointer instead of a
4674         ptid_t.  All callers adjusted.
4675         (skip_inline_frames, step_into_inline_frame)
4676         (inline_skipped_frames, inline_skipped_symbol): Take a thread
4677         pointer instead of a ptid_t.  All callers adjusted.
4678         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
4679         (inline_skipped_frames, inline_skipped_symbol): Likewise.
4680         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
4681         pointers directly.
4682         * linux-nat.c (get_detach_signal): Likewise.
4683         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
4684         (thread_db_notice_clone): Adjust.
4685         (thread_db_find_new_threads_silently)
4686         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
4687         a thread pointer instead of a ptid_t.  All callers adjusted.
4688         * mi/mi-cmd-var.c: Include "inferior.h".
4689         (mi_cmd_var_update_iter): Update to use thread pointers.
4690         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
4691         inferior directly.
4692         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
4693         out to ...
4694         (mi_output_running): ... this new function.
4695         (mi_on_resume_1): Adjust to use it.
4696         (mi_user_selected_context_changed): Adjust to use inferior_thread.
4697         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
4698         directly.
4699         (interrupt_thread_callback): : Adjust to use thread and inferior
4700         pointers.
4701         * proc-service.c: Include "gdbthread.h".
4702         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
4703         * progspace-and-thread.c: Include "inferior.h".
4704         * progspace.c: Include "inferior.h".
4705         * python/py-exitedevent.c (create_exited_event_object): Adjust to
4706         hold a reference to an inferior_object.
4707         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
4708         inferior_thread.
4709         * python/py-inferior.c (struct inferior_object): Give the type a
4710         tag name instead of a typedef.
4711         (python_on_normal_stop): No need to check if the current thread is
4712         listed.
4713         (inferior_to_inferior_object): Change return type to
4714         inferior_object.  All callers adjusted.
4715         (find_thread_object): Delete, bits factored out to ...
4716         (thread_to_thread_object): ... this new function.
4717         * python/py-infthread.c (create_thread_object): Use
4718         inferior_to_inferior_object.
4719         (thpy_is_stopped): Use thread pointer directly.
4720         (gdbpy_selected_thread): Use inferior_thread.
4721         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
4722         field, replaced with ...
4723         <thread>: ... this new field.  All users adjusted.
4724         (btpy_insn_or_gap_new): Drop const.
4725         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
4726         callers adjusted.
4727         * python/py-record.c: Include "gdbthread.h".
4728         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4729         a ptid_t.  All callers adjusted.
4730         (gdbpy_current_recording): Use inferior_thread.
4731         * python/py-record.h (recpy_record_object) <ptid>: Delete
4732         field, replaced with ...
4733         <thread>: ... this new field.  All users adjusted.
4734         (recpy_element_object) <ptid>: Delete
4735         field, replaced with ...
4736         <thread>: ... this new field.  All users adjusted.
4737         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4738         a ptid_t.  All callers adjusted.
4739         * python/py-threadevent.c: Include "gdbthread.h".
4740         (get_event_thread): Use thread_to_thread_object.
4741         * python/python-internal.h (struct inferior_object): Forward
4742         declare.
4743         (find_thread_object, find_inferior_object): Delete declarations.
4744         (thread_to_thread_object, inferior_to_inferior_object): New
4745         declarations.
4746         * record-btrace.c: Include "inferior.h".
4747         (require_btrace_thread): Use inferior_thread.
4748         (record_btrace_frame_sniffer)
4749         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
4750         (get_thread_current_frame): Use scoped_restore_current_thread and
4751         switch_to_thread.
4752         (get_thread_current_frame): Use thread pointer directly.
4753         (record_btrace_replay_at_breakpoint): Use thread's inferior
4754         pointer directly.
4755         * record-full.c: Include "inferior.h".
4756         * regcache.c: Include "gdbthread.h".
4757         (get_thread_arch_regcache): Use the inferior's address space
4758         directly.
4759         (get_thread_regcache, registers_changed_thread): New.
4760         * regcache.h (get_thread_regcache(thread_info *thread)): New
4761         overload.
4762         (registers_changed_thread): New.
4763         (remote_target) <remote_detach_1>: Swap order of parameters.
4764         (remote_add_thread): <remote_add_thread>: Return the new thread.
4765         (get_remote_thread_info(ptid_t)): New overload.
4766         (remote_target::remote_notice_new_inferior): Use thread pointers
4767         directly.
4768         (remote_target::process_initial_stop_replies): Use
4769         thread_info::set_running.
4770         (remote_target::remote_detach_1, remote_target::detach)
4771         (extended_remote_target::detach): Adjust.
4772         * stack.c (frame_show_address): Use inferior_thread.
4773         * target-debug.h (target_debug_print_thread_info_pp): New.
4774         * target-delegates.c: Regenerate.
4775         * target.c (default_thread_address_space): Delete.
4776         (memory_xfer_partial_1): Use current_inferior.
4777         (target_detach): Use current_inferior.
4778         (target_thread_address_space): Delete.
4779         (generic_mourn_inferior): Use current_inferior.
4780         * target.h (struct target_ops) <thread_address_space>: Delete.
4781         (target_thread_address_space): Delete.
4782         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
4783         pointers directly.
4784         (delete_thread_1, delete_thread, delete_thread_silent): Take a
4785         thread pointer instead of a ptid_t.  Adjust all callers.
4786         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
4787         (first_thread_of_process): Delete, replaced by ...
4788         (first_thread_of_inferior): ... this new function.  All callers
4789         adjusted.
4790         (any_thread_of_process): Rename to ...
4791         (any_thread_of_inferior): ... this, and take an inferior pointer.
4792         (any_live_thread_of_process): Rename to ...
4793         (any_live_thread_of_inferior): ... this, and take an inferior
4794         pointer.
4795         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4796         (value_in_thread_stack_temporaries)
4797         (get_last_thread_stack_temporary): Take a thread pointer instead
4798         of a ptid_t.  Adjust all callers.
4799         (thread_info::set_running): New.
4800         (validate_registers_access): Use inferior_thread.
4801         (can_access_registers_ptid): Rename to ...
4802         (can_access_registers_thread): ... this, and take a thread
4803         pointer.
4804         (print_thread_info_1): Adjust to compare thread pointers instead
4805         of ptids.
4806         (switch_to_no_thread, switch_to_thread): Make extern.
4807         (scoped_restore_current_thread::~scoped_restore_current_thread):
4808         Use m_thread pointer directly.
4809         (scoped_restore_current_thread::scoped_restore_current_thread):
4810         Use inferior_thread.
4811         (thread_command): Use thread pointer directly.
4812         (thread_num_make_value_helper): Use inferior_thread.
4813         * top.c (execute_command): Use inferior_thread.
4814         * tui/tui-interp.c: Include "inferior.h".
4815         * varobj.c (varobj_create): Use inferior_thread.
4816         (value_of_root_1): Use find_thread_global_id instead of
4817         global_thread_id_to_ptid.
4818
4819 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
4820
4821         * regcache.c (readable_regcache::read_part): Avoid memcpy when
4822         possible.
4823         (regcache::write_part): Likewise.
4824         (readable_regcache::cooked_read_part): Update comment.
4825         (readable_regcache::cooked_write_part): Likewise.
4826         * regcache.h: (readable_regcache::read_part): Likewise.
4827         (regcache::write_part): Likewise.
4828
4829 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
4830             Dirk Schubert  <dirk.schubert@arm.com>
4831
4832         * aarch64-linux-nat.c (post_attach): New.
4833         (aarch64_linux_nat_target::post_attach): Override post_attach to
4834         record the number of hardware debug registers.
4835
4836 2018-06-20  Tom Tromey  <tom@tromey.com>
4837
4838         * python/py-param.c (add_setshow_generic): Make parameters const.
4839         (parmpy_init): Update.
4840
4841 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4842
4843         * regcache.h (regcache_cooked_read_ftype): Rename to...
4844         (register_read_ftype): ...this, change type to function_view.
4845         (class reg_buffer) <save>: Remove src parameter.
4846         (readonly_detached_regcache) <readonly_detached_regcache>: Make
4847         parameter non-const in first overload.  Remove src parameter in
4848         second overload.
4849         * regcache.c (do_cooked_read): Remove.
4850         (readonly_detached_regcache::readonly_detached_regcache): Make
4851         parameter non-const, adjust call to other constructor.
4852         (reg_buffer::save): Remove src parameter.
4853         * frame.c (do_frame_register_read): Remove.
4854         (frame_save_as_regcache): Use lambda function.
4855         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
4856         parameter to ppu2spu_data *.
4857         (ppu2spu_sniffer): Use lambda function.
4858
4859 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4860
4861         * record-full.c (record_full_target::insert_breakpoint): Remove
4862         "struct" keyword, add const.
4863
4864 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
4865
4866         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
4867         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
4868         * configure.ac: Remove AC_PREREQ, add missing quoting.
4869         * gnulib/configure.ac: Modernize usage of
4870         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
4871         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
4872         (AUTOMAKE_VERSION): Bump to 1.15.1.
4873         * configure: Re-generate.
4874         * config.in: Re-generate.
4875         * aclocal.m4: Re-generate.
4876         * gnulib/aclocal.m4: Re-generate.
4877         * gnulib/config.in: Re-generate.
4878         * gnulib/configure: Re-generate.
4879         * gnulib/import/Makefile.in: Re-generate.
4880
4881 2018-06-19  Pedro Alves  <palves@redhat.com>
4882
4883         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
4884         (lookup_minimal_symbol_by_pc_section): ... here with
4885         gdb_assert_not_reached added.
4886
4887 2018-06-19  Pedro Alves  <palves@redhat.com>
4888
4889         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
4890         parameter with a block parameter.  Compare location's block symbol
4891         with the frame's block instead of addresses.
4892         (skip_inline_frames): Pass the current block instead of the
4893         frame's address.  Break out as soon as we determine the frame
4894         should not be skipped.
4895
4896 2018-06-18  Tom Tromey  <tom@tromey.com>
4897
4898         * solib-aix.c (solib_aix_get_section_offsets): Return
4899         unique_xmalloc_ptr.
4900         (solib_aix_solib_create_inferior_hook): Update.
4901
4902 2018-06-18  Tom Tromey  <tom@tromey.com>
4903
4904         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
4905
4906 2018-06-18  Tom Tromey  <tom@tromey.com>
4907
4908         * solib-frv.c (frv_relocate_main_executable): Use
4909         unique_xmalloc_ptr.
4910         * solib-dsbt.c (dsbt_relocate_main_executable): Use
4911         unique_xmalloc_ptr.
4912
4913 2018-06-18  Tom Tromey  <tom@tromey.com>
4914
4915         * objfiles.h (inhibit_section_map_updates): Update.
4916         (resume_section_map_updates, resume_section_map_updates_cleanup):
4917         Remove.
4918         * solib-svr4.c (svr4_handle_solib_event): Update.
4919         * objfiles.c (inhibit_section_map_updates): Return
4920         scoped_restore_tmpl<int>.
4921         (resume_section_map_updates, resume_section_map_updates_cleanup):
4922         Remove.
4923
4924 2018-06-18  Tom Tromey  <tom@tromey.com>
4925
4926         * valprint.h (read_string): Update.
4927         * valprint.c (read_string): Change type of "buffer".
4928         (val_print_string): Update.
4929         * python/py-value.c (valpy_string): Update.
4930         * language.h (struct language_defn) <la_get_string>: Change
4931         type of "buffer".
4932         (default_get_string, c_get_string): Update.
4933         * language.c (default_get_string): Change type of "buffer".
4934         * guile/scm-value.c (gdbscm_value_to_string): Update.
4935         * c-lang.c (c_get_string): Change type of "buffer".
4936
4937 2018-06-18  Tom Tromey  <tom@tromey.com>
4938
4939         * ser-mingw.c (struct pipe_state_destroyer): New.
4940         (pipe_state_up): New typedef.
4941         (cleanup_pipe_state): Remove.
4942         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4943
4944 2018-06-18  Tom Tromey  <tom@tromey.com>
4945
4946         * rust-lang.h (rust_yyerror): Don't declare.
4947         * rust-lang.c (rust_language_defn): Update.
4948         * rust-exp.y (yyerror): Now static.
4949         * parse.c (parse_exp_in_context_1): Update.
4950         * p-lang.h (p_yyerror): Don't declare.
4951         * p-lang.c (p_language_defn): Update.
4952         * p-exp.y (yyerror): Now static.
4953         * opencl-lang.c (opencl_language_defn): Update.
4954         * objc-lang.c (objc_language_defn): Update.
4955         * m2-lang.h (m2_yyerror): Don't declare.
4956         * m2-lang.c (m2_language_defn): Update.
4957         * m2-exp.y (yyerror): Now static.
4958         * language.h (struct language_defn) <la_error>: Remove.
4959         * language.c (unk_lang_error): Remove.
4960         (unknown_language_defn, auto_language_defn): Remove.
4961         * go-lang.h (go_yyerror): Don't declare.
4962         * go-lang.c (go_language_defn): Update.
4963         * go-exp.y (yyerror): Now static.
4964         * f-lang.h (f_yyerror): Don't declare.
4965         * f-lang.c (f_language_defn): Update.
4966         * f-exp.y (yyerror): Now static.
4967         * d-lang.h (d_yyerror): Don't declare.
4968         * d-lang.c (d_language_defn): Update.
4969         * d-exp.y (yyerror): Now static.
4970         * c-lang.h (c_yyerror): Don't declare.
4971         * c-lang.c (c_language_defn, cplus_language_defn)
4972         (asm_language_defn, minimal_language_defn): Update.
4973         * c-exp.y (yyerror): Now static.
4974         * ada-lang.h (ada_yyerror): Don't declare.
4975         * ada-lang.c (ada_language_defn): Update.
4976         * ada-exp.y (yyerror): Now static.
4977
4978 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4979
4980         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4981         (store_sveregs_to_thread): Likewise.
4982         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4983         (aarch64_linux_store_inferior_registers): Likewise.
4984         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4985         function.
4986         (aarch64_sve_regs_copy_to_regcache): Likewise.
4987         (aarch64_sve_regs_copy_from_regcache): Likewise.
4988         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4989         declaration.
4990         (aarch64_sve_regs_copy_to_regcache): Likewise.
4991         (aarch64_sve_regs_copy_from_regcache): Likewise.
4992         (sve_context): Structure from Linux headers.
4993         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4994         (SVE_SIG_ZREG_SIZE): Likewise.
4995         (SVE_SIG_PREG_SIZE): Likewise.
4996         (SVE_SIG_FFR_SIZE): Likewise.
4997         (SVE_SIG_REGS_OFFSET): Likewise.
4998         (SVE_SIG_ZREGS_OFFSET): Likewise.
4999         (SVE_SIG_ZREG_OFFSET): Likewise.
5000         (SVE_SIG_ZREGS_SIZE): Likewise.
5001         (SVE_SIG_PREGS_OFFSET): Likewise.
5002         (SVE_SIG_PREG_OFFSET): Likewise.
5003         (SVE_SIG_PREGS_SIZE): Likewise.
5004         (SVE_SIG_FFR_OFFSET): Likewise.
5005         (SVE_SIG_REGS_SIZE): Likewise.
5006         (SVE_SIG_CONTEXT_SIZE): Likewise.
5007         (SVE_PT_REGS_MASK): Likewise.
5008         (SVE_PT_REGS_FPSIMD): Likewise.
5009         (SVE_PT_REGS_SVE): Likewise.
5010         (SVE_PT_VL_INHERIT): Likewise.
5011         (SVE_PT_VL_ONEXEC): Likewise.
5012         (SVE_PT_REGS_OFFSET): Likewise.
5013         (SVE_PT_FPSIMD_OFFSET): Likewise.
5014         (SVE_PT_FPSIMD_SIZE): Likewise.
5015         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5016         (SVE_PT_SVE_PREG_SIZE): Likewise.
5017         (SVE_PT_SVE_FFR_SIZE): Likewise.
5018         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5019         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5020         (__SVE_SIG_TO_PT): Likewise.
5021         (SVE_PT_SVE_OFFSET): Likewise.
5022         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5023         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5024         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5025         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5026         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5027         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5028         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5029         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5030         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5031         (SVE_PT_SVE_SIZE): Likewise.
5032         (SVE_PT_SIZE): Likewise.
5033         (HAS_SVE_STATE): New define.
5034
5035 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5036
5037         * nat/aarch64-sve-linux-sigcontext.h: New file.
5038         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5039         new files.
5040         (SVE_VQ_MIN): Likewise.
5041         (SVE_VQ_MAX): Likewise.
5042         (SVE_VL_MIN): Likewise.
5043         (SVE_VL_MAX): Likewise.
5044         (SVE_NUM_ZREGS): Likewise.
5045         (SVE_NUM_PREGS): Likewise.
5046         (sve_vl_valid): Likewise.
5047         (struct user_sve_header): Likewise.
5048
5049 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5050             Richard Bunt <Richard.Bunt@arm.com>
5051
5052         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5053         was requested by GDB.
5054
5055 2018-06-15  Tom de Vries  <tdevries@suse.de>
5056
5057         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5058
5059 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5060
5061         * gnulib/update-gnulib.sh: Print expected versions of
5062         autoconf/aclocal.
5063
5064 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5065
5066         * arch-utils.c (default_type_align): Use type_length_units.
5067         * gdbtypes.c (type_align): Use type_length_units.
5068
5069 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5070
5071         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5072         of 'define' command.
5073
5074 2018-06-14  Tom de Vries  <tdevries@suse.de>
5075
5076         PR cli/22573
5077         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5078         get_no_prettyformat_print_options.
5079
5080 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5081
5082         * sparc-nat.h: Include target.h.
5083         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
5084         <fetch_registers>: Remove this argument in function call.
5085         <store_registers>: Remove this argument in function call, remove
5086         extra semicolon.
5087         <low_forget_process>: Call sparc64_forget_process instead of
5088         sparc_forget_process.
5089
5090 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5091
5092         * procfs.c (_initialize_procfs): Use add_inf_child_target.
5093         (procfs_target::make_corefile_notes): Adjust to new
5094         target_read_alloc return type.
5095
5096 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5097             Stephen Roberts  <stephen.roberts@arm.com>
5098
5099         PR gdb/22882
5100         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
5101         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
5102         Move should_notify_stop local into more inner scope.
5103
5104 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5105             Stephen Roberts  <stephen.roberts@arm.com>
5106
5107         PR gdb/22882
5108         * infrun.c (resume_1): Add call to mark_async_event_handler.
5109
5110 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5111
5112         * infrun.c (do_target_wait): Change old version of $pc printed.
5113
5114 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
5115
5116         * dwarf2read.c (read_index_from_section): Rename to...
5117         (read_gdb_index_from_section): ... this, update all callers.
5118         (dwarf2_read_index): Rename to...
5119         (dwarf2_read_gdb_index): ... this, update all callers.
5120
5121 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
5122
5123         * gdb/hppa-linux-nat.c
5124         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
5125         hppa_linux_nat_target::fetch_registers.
5126
5127 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5128
5129         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
5130         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
5131         (AARCH64_DWARF_SVE_FFR): Likewise.
5132         (AARCH64_DWARF_SVE_P0): Likewise.
5133         (AARCH64_DWARF_SVE_Z0): Likewise.
5134
5135 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5136
5137         * common/common-regcache.h (raw_compare): New function.
5138         * regcache.c (regcache::raw_compare): Likewise.
5139         * regcache.h (regcache::raw_compare): New declaration.
5140
5141 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5142
5143         * common/common-regcache.h (reg_buffer_common): New structure.
5144         * regcache.c (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         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
5151         (reg_buffer::raw_supply): Likewise.
5152         (reg_buffer::raw_supply_integer): Likewise.
5153         (reg_buffer::raw_supply_zeroed): Likewise.
5154         (reg_buffer::raw_collect): Likewise.
5155         (reg_buffer::raw_collect_integer): Likewise.
5156
5157 2018-06-10  Tom Tromey  <tom@tromey.com>
5158
5159         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
5160         (class remote_state) <stop_reply_queue>: Now std::vector.
5161         (remote_state::~remote_state)
5162         (remote_target::stop_reply_queue_length): Update.
5163         (struct queue_iter_param, remove_child_of_pending_fork)
5164         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
5165         (check_pending_event_prevents_wildcard_vcont_callback)
5166         (remove_stop_reply_for_inferior)
5167         (remove_stop_reply_of_remote_state)
5168         (remote_notif_remove_once_on_match)
5169         (stop_reply_match_ptid_and_ws)
5170         (remote_kill_child_of_pending_fork): Remove.
5171         (remote_target::remove_new_fork_children)
5172         (remote_target::check_pending_events_prevent_wildcard_vcont)
5173         (remote_target::discard_pending_stop_replies)
5174         (remote_target::discard_pending_stop_replies_in_queue)
5175         (remote_target::remote_notif_remove_queued_reply)
5176         (remote_target::queued_stop_reply)
5177         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
5178         (remote_target::wait, remote_target::kill_new_fork_children)
5179         (remote_target::async): Update.
5180
5181 2018-06-10  Tom Tromey  <tom@tromey.com>
5182
5183         * record-full.c (record_full_arch_list_cleanups): Remove.
5184         (record_full_message): Use try/catch.
5185         (record_full_wait_cleanups): Remove.
5186         (record_full_wait_1): Use try/catch.
5187         (record_full_restore): Likewise.
5188
5189 2018-06-10  Tom Tromey  <tom@tromey.com>
5190
5191         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
5192         declare VEC.  Add constructor.
5193         <in_target_beneath>: Now bool.
5194         (record_full_breakpoints): Now a std::vector, static.
5195         (record_full_sync_record_breakpoints)
5196         (record_full_init_record_breakpoints)
5197         (record_full_target::insert_breakpoint)
5198         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
5199
5200 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
5201
5202         * dwarf2read.c (process_cu_includes): Remove struct keyword.
5203         * serial.c (serial_interface_lookup): Remove struct keyword.
5204
5205 2018-06-10  Tom Tromey  <tom@tromey.com>
5206
5207         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
5208         method.
5209         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
5210         a method.
5211         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
5212         method.
5213         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
5214         "beneath" as a method.
5215         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
5216         Use "beneath" as a method.
5217
5218 2018-06-10  Tom Tromey  <tom@tromey.com>
5219
5220         * tracefile.c (struct trace_file_writer_deleter): New.
5221         <operator()>: Rename from trace_file_writer_xfree.
5222         (trace_file_writer_up): New typedef.
5223         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
5224
5225 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5226
5227         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
5228         <m_registers, m_register_status>: Change type to
5229         std::unique_ptr.
5230         * regcache.c (reg_buffer::reg_buffer): Use new instead of
5231         XCNEWVEC.
5232
5233 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5234
5235         * common/common-regcache.h (enum register_status): Add
5236         underlying type "signed char".
5237         * regcache.h (reg_buffer) <m_register_status>: Change type to
5238         register_status *.
5239         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
5240         register_status instead of signed char.
5241         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
5242         (reg_buffer::get_register_status): Remove cast.
5243         (readable_regcache::raw_read): Remove cast.
5244         (readable_regcache::cooked_read): Remove cast.
5245
5246 2018-06-09  Tom Tromey  <tom@tromey.com>
5247
5248         * source.c (reverse_search_command, forward_search_command): Use
5249         scoped_fd.
5250
5251 2018-06-09  Tom Tromey  <tom@tromey.com>
5252
5253         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
5254         (serial_ops_list): Now static, std::vector.
5255         (serial_interface_lookup, serial_add_interface): Update.
5256
5257 2018-06-09  Tom Tromey  <tom@tromey.com>
5258
5259         * dwarf2read.c (process_cu_includes): Update.
5260         (process_full_comp_unit): Update.
5261         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
5262         std::vector.
5263
5264 2018-06-08  Paul Koning  <paul_koning@dell.com>
5265
5266         PR gdb/23252
5267
5268         * python/python.c (do_start_initialization):
5269         Avoid call to internal Python API.
5270         (init__gdb_module): New function.
5271
5272 2018-06-08  Gary Benson <gbenson@redhat.com>
5273
5274         * linux-thread-db.c (valprint.h): New include.
5275         (struct check_thread_db_info): New structure.
5276         (check_thread_db_on_load, tdb_testinfo): New static globals.
5277         (check_thread_db, check_thread_db_callback): New functions.
5278         (try_thread_db_load_1): Run integrity checks if requested.
5279         (maintenance_check_libthread_db): New function.
5280         (_initialize_thread_db): Register "maint check libthread-db"
5281         and "maint set/show check-libthread-db".
5282         * NEWS: Mention the above new commands.
5283
5284 2018-06-08  Tom Tromey  <tom@tromey.com>
5285
5286         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
5287         now a method.
5288
5289 2018-06-08  Tom Tromey  <tom@tromey.com>
5290
5291         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
5292
5293 2018-06-08  Tom Tromey  <tom@tromey.com>
5294
5295         * common/btrace-common.h (struct btrace_data): Add constructor,
5296         destructor, move assignment operator.
5297         <empty, clear, fini>: New methods.
5298         <format>: Initialize.
5299         (btrace_data_init, btrace_data_fini, btrace_data_clear)
5300         (btrace_data_empty): Don't declare.
5301         * common/btrace-common.c (btrace_data_init): Remove.
5302         (btrace_data::fini): Rename from btrace_data_fini.
5303         (btrace_data::empty): Rename from btrace_data_empty.
5304         (btrace_data::clear): Rename from btrace_data_clear.  Return
5305         bool.
5306         * btrace.h (make_cleanup_btrace_data): Don't declare.
5307         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
5308         (parse_xml_btrace): Update.
5309         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
5310         (maint_btrace_clear_packet_history_cmd): Update.
5311
5312 2018-06-07  Pedro Alves  <palves@redhat.com>
5313
5314         * target.h (target_ops) <beneath>: Now a method.  All references
5315         updated.
5316         (class target_stack): New.
5317         * target.c (g_target_stack): New.
5318         (g_current_top_target): Delete.
5319         (current_top_target): Get the top target out of g_target_stack.
5320         (target_stack::push, target_stack::unpush): New.
5321         (push_target, unpush_target): Reimplement.
5322         (target_is_pushed): Reimplement in terms of g_target_stack.
5323         (target_ops::beneath, target_stack::find_beneath): New.
5324
5325 2018-06-07  Pedro Alves  <palves@redhat.com>
5326
5327         * target.h (find_target_beneath): Delete declaration.
5328         * target.c (find_target_beneath): Delete definition.
5329         * aix-thread.c: All callers of find_target_beneath adjusted to
5330         call target_ops::beneath instead.
5331         * bsd-uthread.c: Likewise.
5332         * linux-thread-db.c: Likewise.
5333         * ravenscar-thread.c: Likewise.
5334         * sol-thread.c: Likewise.
5335         * spu-multiarch.c: Likewise.
5336
5337 2018-06-07  Pedro Alves  <palves@redhat.com>
5338
5339         * target.h (target_ops) <beneath>: Now a method.  All references
5340         updated.
5341         (target_ops) <m_beneath>: New.
5342         * target.c (target_ops::beneath): New.
5343         * corelow.c: Adjust all references to target_ops::beneath.
5344         * linux-thread-db.c: Likewise.
5345         * make-target-delegates: Likewise.
5346         * record-btrace.c: Likewise.
5347         * record-full.c: Likewise.
5348         * remote.c: Likewise.
5349         * target.c: Likewise.
5350         * target-delegates.c: Regenerate.
5351
5352 2018-06-07  Pedro Alves  <palves@redhat.com>
5353
5354         * target.h (target_stack): Delete.
5355         (current_top_target): Declare function.
5356         * target.c (target_stack): Delete.
5357         (g_current_top_target): New.
5358         (current_top_target): New function.
5359         * auxv.c: Use current_top_target instead of target_stack
5360         throughout.
5361         * avr-tdep.c: Likewise.
5362         * breakpoint.c: Likewise.
5363         * corefile.c: Likewise.
5364         * elfread.c: Likewise.
5365         * eval.c: Likewise.
5366         * exceptions.c: Likewise.
5367         * frame.c: Likewise.
5368         * gdbarch-selftests.c: Likewise.
5369         * gnu-v3-abi.c: Likewise.
5370         * ia64-tdep.c: Likewise.
5371         * ia64-vms-tdep.c: Likewise.
5372         * infcall.c: Likewise.
5373         * infcmd.c: Likewise.
5374         * infrun.c: Likewise.
5375         * linespec.c: Likewise.
5376         * linux-tdep.c: Likewise.
5377         * minsyms.c: Likewise.
5378         * ppc-linux-nat.c: Likewise.
5379         * ppc-linux-tdep.c: Likewise.
5380         * procfs.c: Likewise.
5381         * regcache.c: Likewise.
5382         * remote.c: Likewise.
5383         * rs6000-tdep.c: Likewise.
5384         * s390-linux-nat.c: Likewise.
5385         * s390-tdep.c: Likewise.
5386         * solib-aix.c: Likewise.
5387         * solib-darwin.c: Likewise.
5388         * solib-dsbt.c: Likewise.
5389         * solib-spu.c: Likewise.
5390         * solib-svr4.c: Likewise.
5391         * solib-target.c: Likewise.
5392         * sparc-tdep.c: Likewise.
5393         * sparc64-tdep.c: Likewise.
5394         * spu-tdep.c: Likewise.
5395         * symfile.c: Likewise.
5396         * symtab.c: Likewise.
5397         * target-descriptions.c: Likewise.
5398         * target-memory.c: Likewise.
5399         * target.c: Likewise.
5400         * target.h: Likewise.
5401         * tracefile-tfile.c: Likewise.
5402         * tracepoint.c: Likewise.
5403         * valops.c: Likewise.
5404         * valprint.c: Likewise.
5405         * value.c: Likewise.
5406         * windows-tdep.c: Likewise.
5407         * mi/mi-main.c: Likewise.
5408
5409 2018-06-07  Tom Tromey  <tom@tromey.com>
5410
5411         * valprint.h (build_address_symbolic): Declare.
5412         * printcmd.c (print_address_symbolic): Update.
5413         (build_address_symbolic): Change "name" and "filename" to
5414         std::string.
5415         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5416         Update.
5417         * defs.h (build_address_symbolic): Remove declaration.
5418
5419 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5420
5421         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5422         (aarch64_vnv_type): Add function.
5423         (aarch64_pseudo_register_name): Add V regs for SVE.
5424         (aarch64_pseudo_register_type): Likewise.
5425         (aarch64_pseudo_register_reggroup_p): Likewise.
5426         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5427         (aarch64_pseudo_read_value): Add V regs for SVE.
5428         (aarch64_pseudo_write_2): Use V0 offset for SVE
5429         (aarch64_pseudo_write): Add V regs for SVE.
5430         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5431
5432 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5433
5434         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5435         (sve_vl_from_vq): Likewise.
5436
5437 2018-06-05  Tom Tromey  <tom@tromey.com>
5438
5439         * cli/cli-cmds.c (show_version): Update.
5440         * top.c (print_gdb_version): Add "interactive" parameter.
5441         Update.
5442         * main.c (captured_main_1): Update.
5443         * top.h (print_gdb_version): Add "interactive" parameter and a
5444         comment.
5445
5446 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5447
5448         * common/enum-flags.h: Add trailing semicolon to example in
5449         comment.
5450
5451 2018-06-05  Tom Tromey  <tom@tromey.com>
5452
5453         PR cli/12326:
5454         * NEWS: Add entry about pager.
5455         * utils.c (pagination_disabled_for_command): New global.
5456         (prompt_for_continue): Allow "c" response to prompt.
5457         (reinitialize_more_filter): Clear
5458         pagination_disabled_for_command.
5459         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5460
5461 2018-06-04  Tom Tromey  <tom@tromey.com>
5462
5463         * ada-lang.h (ada_lookup_symbol_list): Update.
5464         * ada-lang.c (resolve_subexp): Update.
5465         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5466         parameter.
5467         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
5468         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
5469         results parameter to std::vector.
5470         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
5471         Update.
5472         * ada-exp.y (block_lookup): Update.
5473         (select_possible_type_sym): Change type of syms.  Remove nsyms
5474         parameter.
5475         (write_var_or_type, write_name_assoc): Update.
5476
5477 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
5478
5479         * windows-nat.c (windows_nat_target::xfer_partial): Return
5480         TARGET_XFER_E_IO if we need to delegate to the target beneath
5481         but BENEATH is NULL.
5482
5483 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
5484
5485         * Makefile.in (config.status): Add configure.nat as a
5486         dependency.
5487
5488 2018-06-04  Tom Tromey  <tom@tromey.com>
5489
5490         * cp-name-parser.y (cpname_state): Add method declarations.
5491         (HANDLE_QUAL): Update.
5492         (cpname_state::d_grab, cpname_state::fill_comp)
5493         (cpname_state::make_operator, cpname_state::make_dtor)
5494         (cpname_state::make_builtin_type, cpname_state::make_name)
5495         (cpname_state::d_qualify, cpname_state::d_int_type)
5496         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
5497         (%union): Move earlier.
5498
5499 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5500
5501         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
5502
5503 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5504
5505         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
5506         (aarch64_pseudo_write_1): Likewise.
5507         (aarch64_pseudo_read_value): Use helper.
5508         (aarch64_pseudo_write): Likewise.
5509
5510 2018-06-04  Pedro Alves  <palves@redhat.com>
5511
5512         * darwin-nat.c (darwin_ops): Delete.
5513         (darwin_attach_pid): Use get_native_target.
5514
5515 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5516
5517         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
5518         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
5519
5520 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5521
5522         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
5523         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
5524         (aarch64_gdbarch_init): Check for SVE.
5525         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
5526
5527 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5528
5529         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
5530         * aarch64-tdep.h (aarch64_read_description): Likewise.
5531         * arch/aarch64.c (aarch64_create_target_description): Likewise.
5532         * arch/aarch64.h (aarch64_create_target_description): Likewise.
5533         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
5534         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
5535         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
5536
5537 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
5538
5539         * value.c (value_fetch_lazy_bitfield): New.
5540         (value_fetch_lazy_memory): New.
5541         (value_fetch_lazy_register): New.
5542         (value_fetch_lazy): Factor out to smaller functions.
5543
5544 2018-06-01  Tom Tromey  <tom@tromey.com>
5545
5546         * cp-name-parser.y (backslashable, represented): Now const.
5547
5548 2018-06-01  Tom Tromey  <tom@tromey.com>
5549
5550         * cp-name-parser.y: Include parser-defs.h.
5551         (parser_fprintf): Remove declaration.
5552
5553 2018-06-01  Tom Tromey  <tom@tromey.com>
5554
5555         * cp-name-parser.y: Use %pure-parser, %lex-param, and
5556         %parse-param.
5557         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
5558         (global_result): Remove globals.
5559         (struct cpname_state): New.
5560         (yyparse): Don't declare.
5561         (yylex, yyerror): Move declarations after %union.
5562         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
5563         (make_name): Add state parameter.
5564         Update all callers.
5565         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
5566         parameter.
5567         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
5568         Update.
5569         (yylex): Add lvalp, state parameters.
5570         (yyerror): Add state parameter.
5571         (cp_demangled_name_to_comp): Update.
5572
5573 2018-06-01  Tom Tromey  <tom@tromey.com>
5574
5575         * cp-name-parser.y (parser_fprintf): Declare.
5576         (GDB_YY_REMAP_PREFIX): Define.
5577         Include yy-remap.h.  Don't redefine yy* identifiers.
5578
5579 2018-06-01  Tom Tromey  <tom@tromey.com>
5580
5581         * python/py-type.c (typy_legacy_template_argument): Update.
5582         * cp-support.h (cp_demangled_name_to_comp): Update.
5583         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
5584         parameter to be a "std::string *".
5585         (main): Update.
5586
5587 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
5588
5589         * ada-lex.l: Include "diagnostics.h" instead of
5590         "common/diagnostics.h".
5591         * unittests/environ-selftests.c: Likewise.
5592         * common/diagnostics.h: Moved to ../include.
5593
5594 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
5595
5596         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
5597         to language_mode_manual while calling breakpoint_re_set_one.
5598
5599 2018-06-01  Tom Tromey  <tom@tromey.com>
5600
5601         * valops.c (value_cast_structs, destructor_name_p): Update.
5602         * symtab.c (gdb_mangle_name): Update.
5603         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
5604         Update.
5605         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
5606         (pascal_object_print_value_fields, pascal_object_print_value):
5607         Update.
5608         * p-typeprint.c (pascal_type_print_derivation_info): Update.
5609         * linespec.c (find_methods): Update.
5610         * gdbtypes.h (type_name_no_tag): Remove.
5611         (type_name_or_error): Rename from type_name_no_tag_or_error.
5612         * gdbtypes.c (type_name_no_tag): Remove.
5613         (type_name_or_error): Rename from type_name_no_tag_or_error.
5614         (lookup_struct_elt_type, check_typedef): Update.
5615         * expprint.c (print_subexp_standard): Update.
5616         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
5617         * d-namespace.c (d_lookup_nested_symbol): Update.
5618         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
5619         (cp_print_class_member): Update.
5620         * cp-namespace.c (cp_lookup_nested_symbol): Update.
5621         * completer.c (add_struct_fields): Update.
5622         * c-typeprint.c (cp_type_print_derivation_info)
5623         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
5624         Update.
5625         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
5626         (ada_prefer_type, ada_is_exception_sym): Update.
5627
5628 2018-06-01  Tom Tromey  <tom@tromey.com>
5629
5630         * valops.c (enum_constant_from_type, value_namespace_elt)
5631         (value_maybe_namespace_elt): Update.
5632         * valarith.c (find_size_for_pointer_math): Update.
5633         * target-descriptions.c (make_gdb_type): Update.
5634         * symmisc.c (print_symbol): Update.
5635         * stabsread.c (define_symbol, read_type)
5636         (complain_about_struct_wipeout, add_undefined_type)
5637         (cleanup_undefined_types_1): Update.
5638         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
5639         (rust_range_type_p, val_print_struct, rust_print_struct_def)
5640         (rust_internal_print_type, rust_composite_type)
5641         (rust_evaluate_funcall, rust_evaluate_subexp)
5642         (rust_inclusive_range_type_p): Update.
5643         * python/py-type.c (typy_get_tag): Update.
5644         * p-typeprint.c (pascal_type_print_base): Update.
5645         * mdebugread.c (parse_symbol, parse_type): Update.
5646         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
5647         Update.
5648         * guile/scm-type.c (gdbscm_type_tag): Update.
5649         * go-lang.c (sixg_string_p): Update.
5650         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
5651         Update.
5652         * gdbtypes.h (struct main_type) <tag_name>: Remove.
5653         (TYPE_TAG_NAME): Remove.
5654         * gdbtypes.c (type_name_no_tag): Simplify.
5655         (check_typedef, check_types_equal, recursive_dump_type)
5656         (copy_type_recursive, arch_composite_type): Update.
5657         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
5658         in summary mode when needed.
5659         * eval.c (evaluate_funcall): Update.
5660         * dwarf2read.c (fixup_go_packaging, read_structure_type)
5661         (process_structure_scope, read_enumeration_type)
5662         (read_namespace_type, read_module_type, determine_prefix): Update.
5663         * cp-support.c (inspect_type): Update.
5664         * coffread.c (process_coff_symbol, decode_base_type): Update.
5665         * c-varobj.c (c_is_path_expr_parent): Update.
5666         * c-typeprint.c (c_type_print_base_struct_union): Update.
5667         (c_type_print_base_1): Update.  Print struct/class/union/enum in
5668         summary when using C language.
5669         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
5670         (gen_maybe_namespace_elt): Update.
5671         * ada-lang.c (ada_type_name): Simplify.
5672         (empty_record, ada_template_to_fixed_record_type_1)
5673         (template_to_static_fixed_type)
5674         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
5675
5676 2018-06-01  Tom Tromey  <tom@tromey.com>
5677
5678         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
5679         c_print_type.
5680         * c-typeprint.c (c_print_type_1): Add "language" parameter.
5681         (c_print_type): Update.
5682         (c_print_type): New overload.
5683         (c_type_print_varspec_prefix, c_type_print_args)
5684         (c_type_print_varspec_suffix, c_print_type_no_offsets)
5685         (c_type_print_base_struct_union, c_type_print_base_1)
5686         (cp_type_print_method_args): Add "language" parameter.
5687         (c_type_print_base): Update.
5688         * c-lang.h (c_print_type): Add new overload.
5689
5690 2018-06-01  Tom Tromey  <tom@tromey.com>
5691
5692         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
5693         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
5694
5695 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
5696
5697         * aarch64-tdep.c (aarch64_sve_register_names): New const
5698         var.
5699         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
5700         (AARCH64_SVE_Z_REGS_NUM): New define.
5701         (AARCH64_SVE_P_REGS_NUM): Likewise.
5702         (AARCH64_SVE_NUM_REGS): Likewise.
5703
5704 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
5705
5706         * nat/linux-ptrace.h [__alpha__]
5707         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
5708         definitions.
5709
5710 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
5711
5712         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
5713         the endianness selected.
5714         * NEWS: Document `set endian auto' mode operation update.
5715
5716 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5717
5718         * Makefile.in: Add new header.
5719         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
5720         (sve_vl_from_vg): Likewise.
5721         (sve_vq_from_vl): Likewise.
5722         (sve_vl_from_vq): Likewise.
5723         (sve_vq_from_vg): Likewise.
5724         (sve_vg_from_vq): Likewise.
5725         * configure.nat: Add new c file.
5726         * nat/aarch64-sve-linux-ptrace.c: New file.
5727         * nat/aarch64-sve-linux-ptrace.h: New file.
5728
5729 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5730
5731         * aarch64-linux-nat.c (aarch64_linux_read_description):
5732         Add parmeter zero.
5733         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
5734         Likewise.
5735         * aarch64-tdep.c (tdesc_aarch64_list): Add.
5736         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
5737         (aarch64_gdbarch_init): Add parmeter zero.
5738         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
5739         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
5740         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
5741         parmeter.
5742         * doc/gdb.texinfo: Describe SVE feature
5743         * features/aarch64-sve.c: New file.
5744
5745 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
5746
5747         PR gdb/23210
5748         * gdbarch.sh (significant_addr_bit): Default to zero when
5749         not set by target architecture.
5750         * gdbarch.c: Re-generated.
5751         * utils.c (address_significant): Update.
5752
5753 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
5754
5755         * stack.c (func_command): Remove trailing newline in call to error.
5756
5757 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5758
5759         * regcache.h (regcache_raw_collect): Remove, update callers to
5760         use regcache::raw_collect.
5761         * regcache.c (regcache_raw_collect): Remove.
5762
5763 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5764
5765         * regcache.h (regcache_raw_supply): Remove, update callers to
5766         use detached_regcache::raw_supply.
5767         * regcache.c (regcache_raw_supply): Remove.
5768
5769 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5770
5771         * regcache.h (regcache_cooked_write_part): Remove, update
5772         callers to use regcache::cooked_write_part.
5773         * regcache.c (regcache_cooked_write_part): Remove.
5774
5775 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5776
5777         * regcache.h (regcache_cooked_read_part): Remove, update callers
5778         to use readable_regcache::cooked_read_part.
5779         * regcache.c (regcache_cooked_read_part): Remove.
5780
5781 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5782
5783         * regcache.h (regcache_cooked_read_value): Remove, update
5784         callers to use readable_regcache::cooked_read_value.
5785         * regcache.c (regcache_cooked_read_value): Remove.
5786
5787 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5788
5789         * regcache.h (regcache_cooked_write): Remove, update callers to
5790         use regcache::cooked_write.
5791         * regcache.c (regcache_cooked_write): Remove.
5792
5793 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5794
5795         * regcache.h (regcache_invalidate): Remove, update callers to
5796         use detached_regcache::invalidate instead.
5797         * regcache.c (regcache_invalidate): Remove.
5798
5799 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5800
5801         * regcache.h (regcache_raw_write_part): Remove, update callers
5802         to use regcache::raw_write_part instead.
5803         * regcache.c (regcache_raw_write_part): Remove.
5804
5805 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5806
5807         * regcache.h (regcache_raw_read_part): Remove, update callers to
5808         use readable_regcache::raw_read_part instead.
5809         * regcache.c (regcache_raw_read_part): Remove.
5810
5811 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5812
5813         * regcache.h (regcache_cooked_read): Remove, update callers to
5814         use readable_regcache::cooked_read instead.
5815         * regcache.c (regcache_cooked_read): Remove.
5816
5817 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5818
5819         * regcache.h (regcache_raw_write): Remove, update callers to use
5820         regcache::raw_write instead.
5821         * regcache.c (regcache_raw_write): Remove.
5822
5823 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5824
5825         * regcache.h (regcache_raw_read): Remove, update callers to use
5826         readable_regcache::raw_read instead.
5827         * regcache.c (regcache_raw_read): Remove.
5828
5829 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5830
5831         * regcache.h (regcache_raw_update): Remove, update callers to
5832         use readable_regcache::raw_update instead.
5833         * regcache.c (regcache_raw_update): Remove.
5834
5835 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5836
5837         * regcache.h (regcache_register_status): Remove, update callers
5838         to use reg_buffer::get_register_status directly instead.
5839         * regcache.c (regcache_register_status): Remove.
5840
5841 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5842
5843         * regcache.h (regcache_get_ptid): Remove, update all callers to
5844         call regcache::ptid instead.
5845         * regcache.c (regcache_get_ptid): Remove.
5846
5847 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5848
5849         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
5850
5851 2018-05-30  Pedro Alves  <palves@redhat.com>
5852
5853         * common/common-exceptions.h (exception_rethrow): Use
5854         ATTRIBUTE_NORETURN.
5855
5856 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
5857
5858         * breakpoint.c (print_solib_event, check_status_catch_solib):
5859         Remove struct keyword in range-based for loops.
5860         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
5861         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
5862         Likewise.
5863         * linespec.c (find_superclass_methods, search_minsyms_for_name):
5864         Likewise.
5865         * symfile.c (addr_info_make_relative): Likewise.
5866         * thread.c (value_in_thread_stack_temporaries): Likewise.
5867
5868 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
5869
5870         PR gdb/16841
5871         * valops.c (value_struct_elt_for_reference): Call check_typedef on
5872         aggregate type to get its real type before accessing it.
5873
5874 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
5875
5876         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
5877         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
5878         * coff-pe-read.c (add_pe_forwarded_sym): Replace
5879         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
5880         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
5881         * jit.c (jit_breakpoint_re_set_internal): Likewise.
5882         * printcmd.c (info_address_command): Likewise.
5883
5884 2018-05-29  Tom Tromey  <tom@tromey.com>
5885
5886         * windows-nat.c (handle_exception): Update fall-through comment.
5887
5888 2018-05-29  Tom Tromey  <tom@tromey.com>
5889
5890         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
5891         (struct program_space) <added_solibs>: Now a std::vector.
5892         * breakpoint.c (print_solib_event): Update.
5893         (check_status_catch_solib): Update.
5894         * progspace.c (clear_program_space_solib_cache): Update.
5895         * solib.c (update_solib_list): Update.
5896
5897 2018-05-29  Tom Tromey  <tom@tromey.com>
5898
5899         * python/py-type.c (typy_richcompare): Update.
5900         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
5901         * gdbtypes.h (types_deeply_equal): Return bool.
5902         (types_equal): Likewise.
5903         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
5904         declare VEC.
5905         (check_types_equal): Change worklist to std::vector.  Return
5906         bool.
5907         (struct type_equality_entry): Add constructor.
5908         (compare_maybe_null_strings): Return bool.
5909         (check_types_worklist): Return bool.  Change worklist to
5910         std::vector.
5911         (types_deeply_equal): Use std::vector.
5912         (types_equal): Return bool.
5913         (compare_maybe_null_strings): Simplify.
5914
5915 2018-05-29  Tom Tromey  <tom@tromey.com>
5916
5917         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
5918
5919 2018-05-29  Tom Tromey  <tom@tromey.com>
5920
5921         * objc-lang.h: Don't include cp-support.h.
5922         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
5923         declare VEC.
5924
5925 2018-05-27  Tom Tromey  <tom@tromey.com>
5926
5927         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
5928
5929 2018-05-25  Tom Tromey  <tom@tromey.com>
5930
5931         * value.c (value::location): Initialize.
5932
5933 2018-05-25  Tom Tromey  <tom@tromey.com>
5934
5935         * dbxread.c (init_bincl_list): Remove.
5936         (bincl_list): Now a std::vector.
5937         (bincls_allocated, next_bincl): Remove.
5938         (free_bincl_list, do_free_bincl_list_cleanup)
5939         (make_cleanup_free_bincl_list): Remove.
5940         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5941         unique_xmalloc_ptr.
5942         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5943         (struct header_file_location): Add constructor.
5944         (add_bincl_to_list): Remove.
5945
5946 2018-05-25  Tom Tromey  <tom@tromey.com>
5947
5948         * tui/tui.c (tui_enable): Update.
5949         * mi/mi-interp.c (mi_interp::init): Update.
5950         * interps.h (class interp) <name>: New method.
5951         <m_name>: Rename from name.
5952         (~scoped_restore_interp): Update.
5953         * interps.c (interp::interp): Update.
5954         (interp_add, interp_set, interp_lookup_existing)
5955         (current_interp_named_p): Update.
5956
5957 2018-05-25  Tom Tromey  <tom@tromey.com>
5958
5959         * interps.c (interp_name): Remove.
5960         * mi/mi-interp.c (mi_interp::init): Update.
5961         * interps.h (interp_name): Remove.
5962         (~scoped_restore_interp): Update.
5963         * tui/tui.c (tui_enable): Update.
5964
5965 2018-05-25  Tom Tromey  <tom@tromey.com>
5966
5967         * utils.c (fputs_maybe_filtered): Update.
5968         * linespec.c (decode_line_full): Update.
5969         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5970         (mi_print_breakpoint_for_event, mi_solib_loaded)
5971         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5972         (mi_user_selected_context_changed): Update.
5973         * mi/mi-main.c (mi_execute_command): Update.
5974         * cli/cli-script.c (execute_control_command): Update.
5975         * python/python.c (execute_gdb_command): Update.
5976         * solib.c (info_sharedlibrary_command): Update.
5977         * interps.c (interp_ui_out): Remove.
5978         * interps.h (interp_ui_out): Remove.
5979
5980 2018-05-25  Tom Tromey  <tom@tromey.com>
5981
5982         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5983         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5984         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5985
5986 2018-05-25  Tom Tromey  <tom@tromey.com>
5987
5988         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5989         * interps.c (interp_exec): Use scoped_restore.
5990
5991 2018-05-25  Tom Tromey  <tom@tromey.com>
5992
5993         * remote.c (remote_target::remote_file_get): Use
5994         gdb::byte_vector.
5995         (remote_target::remote_file_put): Likewise.
5996
5997 2018-05-25  Tom Tromey  <tom@tromey.com>
5998
5999         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
6000         a std::string.
6001         (get_pe_section_index, add_pe_exported_sym): Update.
6002         (read_pe_exported_syms): Use gdb::def_vector.
6003
6004 2018-05-25  Tom Tromey  <tom@tromey.com>
6005
6006         * frame.c (remove_prev_frame): Remove.
6007         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6008
6009 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6010
6011         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6012         Remove prototypes.
6013         * mips-linux-nat.c (supply_fpregset): Always call
6014         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6015         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6016         `mips_fill_fpregset'.
6017         * mips-linux-tdep.c (mips_supply_fpregset)
6018         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6019         (mips_fill_fpregset_wrapper): Remove functions.
6020         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6021         (mips_linux_fpregset): Remove variable.
6022         (mips_linux_iterate_over_regset_sections): Use
6023         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6024         (mips_linux_o32_sigframe_init): Remove comment.
6025
6026 2018-05-25  Pedro Alves  <palves@redhat.com>
6027
6028         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6029         (struct readahead_cache, struct packet_reg, struct
6030         remote_arch_state, class remote_state): Move higher up in the
6031         file.
6032         (remote_target::m_remote_state): Now an object instead of a pointer.
6033         (remote_target::get_remote_state): Adjust.
6034
6035 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6036
6037         * stack.c (select_and_print_frame): Delete.
6038         (struct function_bounds): Move struct within function.
6039         (func_command): Most content moved into new function
6040         find_frame_for_function, use new function, print result, add
6041         function comment.
6042         (find_frame_for_function): New function, now returns a result.
6043
6044 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6045
6046         * stack.c (iterate_over_block_arg_vars): Fix comment.
6047         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6048
6049 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6050
6051         PR gdb/23203
6052         * frame.c
6053         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6054         Define.
6055         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6056         Define.
6057         * frame.h (class scoped_restore_selected_frame): New class.
6058         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6059         of any exception, use scoped_restore_selected_frame to restore the
6060         frame instead.
6061
6062 2018-05-24  Pedro Alves  <palves@redhat.com>
6063
6064         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6065         override.
6066
6067 2018-05-23  Tom Tromey  <tom@tromey.com>
6068
6069         * complaints.c (struct complaints): Remove.
6070         (symfile_complaint_book): Remove.
6071         (series): New global.
6072         (complaint_internal): Update.
6073         (clear_complaints): Update.
6074
6075 2018-05-23  Tom Tromey  <tom@tromey.com>
6076
6077         * complaints.c (counters): New global.
6078         (struct complain): Remove.
6079         (struct complaints) <root>: Remove.
6080         (complaint_sentinel): Remove.
6081         (symfile_complaint_book): Update.
6082         (find_complaint) Remove.
6083         (complaint_internal, clear_complaints): Update.
6084
6085 2018-05-23  Tom Tromey  <tom@tromey.com>
6086
6087         * complaints.c (struct complain) <file, line>: Remove.
6088         (find_complaint): Remove file, line parameters.
6089         (complaint_internal): Update.
6090
6091 2018-05-23  Tom Tromey  <tom@tromey.com>
6092
6093         * complaints.c (vcomplaint): Remove.
6094         (complaint_internal) Merge in contents of vcomplaint.
6095
6096 2018-05-23  Tom Tromey  <tom@tromey.com>
6097
6098         * complaints.c (struct complaints) <explanation>: Remove.
6099         (symfile_explanations): Remove.
6100         (symfile_complaint_book): Update.
6101         (vcomplaint): Update.
6102         (struct explanation): Remove.
6103
6104 2018-05-23  Tom Tromey  <tom@tromey.com>
6105
6106         * complaints.c (symfile_complaints): Remove.
6107         (complaint_internal): Remove "complaints" parameter.
6108         (clear_complaints, vcomplaint): Remove "c" parameter.
6109         (get_complaints): Remove.
6110         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
6111         (dwarf2_debug_line_missing_file_complaint)
6112         (dwarf2_debug_line_missing_end_sequence_complaint)
6113         (dwarf2_complex_location_expr_complaint)
6114         (dwarf2_const_value_length_mismatch_complaint)
6115         (dwarf2_section_buffer_overflow_complaint)
6116         (dwarf2_macro_malformed_definition_complaint)
6117         (dwarf2_invalid_attrib_class_complaint)
6118         (create_addrmap_from_index, dw2_symtab_iter_next)
6119         (dw2_expand_marked_cus)
6120         (dw2_debug_names_iterator::find_vec_in_debug_names)
6121         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
6122         (create_debug_type_hash_table, init_cutu_and_read_dies)
6123         (partial_die_parent_scope, add_partial_enumeration)
6124         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
6125         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
6126         (read_import_statement, read_file_scope, create_dwo_cu_reader)
6127         (create_cus_hash_table, create_dwp_hash_table)
6128         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
6129         (dwarf2_rnglists_process, dwarf2_ranges_process)
6130         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
6131         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
6132         (handle_struct_member_die, process_structure_scope)
6133         (read_array_type, read_common_block, read_module_type)
6134         (read_tag_pointer_type, read_typedef, read_base_type)
6135         (read_subrange_type, load_partial_dies, partial_die_info::read)
6136         (partial_die_info::read, partial_die_info::read)
6137         (partial_die_info::read, read_checked_initial_length_and_offset)
6138         (dwarf2_string_attr, read_formatted_entries)
6139         (dwarf_decode_line_header)
6140         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
6141         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
6142         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
6143         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
6144         (get_signatured_type, get_DW_AT_signature_type)
6145         (decode_locdesc, file_file_name, consume_improper_spaces)
6146         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
6147         (dwarf_decode_macro_bytes, dwarf_decode_macros)
6148         (dwarf2_symbol_mark_computed, set_die_type)
6149         (read_attribute_value): Update.
6150         * stap-probe.c (handle_stap_probe, get_stap_base_address):
6151         Update.
6152         * dbxread.c (unknown_symtype_complaint)
6153         (lbrac_mismatch_complaint, repeated_header_complaint)
6154         (set_namestring, function_outside_compilation_unit_complaint)
6155         (read_dbx_symtab, process_one_symbol): Update.
6156         * gdbtypes.c (stub_noname_complaint): Update.
6157         * windows-nat.c (handle_unload_dll): Update.
6158         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
6159         (decode_base_type): Update.
6160         * xcoffread.c (bf_notfound_complaint, ef_complaint)
6161         (eb_complaint, record_include_begin, record_include_end)
6162         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
6163         (process_xcoff_symbol, read_symbol)
6164         (function_outside_compilation_unit_complaint)
6165         (scan_xcoff_symtab): Update.
6166         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
6167         * buildsym.c (finish_block_internal, make_blockvector)
6168         (end_symtab_get_static_block, augment_type_symtab): Update.
6169         * dtrace-probe.c (dtrace_process_dof)
6170         (dtrace_static_probe_ops::get_probes): Update.
6171         * complaints.h (struct complaint): Don't declare.
6172         (symfile_complaints): Remove.
6173         (complaint_internal): Remove "complaints" parameter.
6174         (complaint): Likewise.
6175         (clear_complaints): Likewise.
6176         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6177         (reread_symbols): Update.
6178         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
6179         (dwarf2_frame_cache, decode_frame_entry): Update.
6180         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
6181         * objc-lang.c (lookup_objc_class, lookup_child_selector)
6182         (info_selectors_command): Update.
6183         * macrotab.c (macro_include, check_for_redefinition)
6184         (macro_undef): Update.
6185         * objfiles.c (filter_overlapping_sections): Update.
6186         * stabsread.c (invalid_cpp_abbrev_complaint)
6187         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
6188         (define_symbol, error_type, read_type, rs6000_builtin_type)
6189         (stabs_method_name_from_physname, read_member_functions)
6190         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
6191         (attach_fields_to_type, complain_about_struct_wipeout)
6192         (read_range_type, read_args, common_block_start)
6193         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
6194         Update.
6195         * mdebugread.c (index_complaint, unknown_ext_complaint)
6196         (basic_type_complaint, bad_tag_guess_complaint)
6197         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
6198         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
6199         (parse_procedure, parse_lines)
6200         (function_outside_compilation_unit_complaint)
6201         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
6202         (bad_tag_guess_complaint, reg_value_complaint): Update.
6203         * cp-support.c (demangled_name_complaint): Update.
6204         * macroscope.c (sal_macro_scope): Update.
6205         * dwarf-index-write.c (class debug_names): Update.
6206
6207 2018-05-23  Tom Tromey  <tom@tromey.com>
6208
6209         * complaints.c (clear_complaints): Remove "noisy" parameter.
6210         * complaints.h (clear_complaints): Update.
6211         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6212         (reread_symbols): Update.
6213
6214 2018-05-23  Tom Tromey  <tom@tromey.com>
6215
6216         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
6217         SUBSEQUENT_MESSAGE.
6218         (vcomplaint, clear_complaints): Update.
6219         (symfile_explanations): Remove some messages.
6220
6221 2018-05-23  Tom Tromey  <tom@tromey.com>
6222
6223         * complaints.c (internal_complaint): Remove.
6224         * complaints.h (internal_complaint): Remove.
6225
6226 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6227
6228         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
6229
6230 2018-05-22  Pedro Alves  <palves@redhat.com>
6231
6232         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
6233         (remote_fileio_badfd, remote_fileio_return_errno)
6234         (remote_fileio_return_success, remote_fileio_func_open)
6235         (remote_fileio_func_open, remote_fileio_func_close)
6236         (remote_fileio_func_read, remote_fileio_func_write)
6237         (remote_fileio_func_lseek, remote_fileio_func_rename)
6238         (remote_fileio_func_unlink, remote_fileio_func_stat)
6239         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
6240         (remote_fileio_func_isatty, remote_fileio_func_system): Add
6241         remote_target parameter.
6242         (remote_fio_func_map) <func>: Add remote_target parameter.
6243         (do_remote_fileio_request, remote_fileio_request):
6244         * remote-fileio.h (remote_fileio_request):
6245         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
6246         remote_target parameter.
6247         (remote_notif_process, handle_notification): Adjust to pass down
6248         the remote.
6249         (remote_notif_state_allocate): Add remote_target parameter.  Save
6250         it.
6251         * remote-notif.h (struct remote_target): Forward declare.
6252         (struct notif_client) <parse, ack, can_get_pending_events>: Add
6253         remote_target parameter.
6254         (struct remote_notif_state) <remote>: New field.
6255         (remote_notif_ack, remote_notif_parse): Add remote_target
6256         parameter.
6257         (remote_notif_state_allocate, remote_notif_state_allocate): Add
6258         remote_target parameter.
6259         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
6260         (threads_listing_context, rmt_thread_action, protocol_feature)
6261         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
6262         (packet_result, struct threads_listing_context, remote_state):
6263         Move definitions and declarations higher up.
6264         (remote_target) <~remote_target>: Declare.
6265         (remote_download_command_source, remote_file_put, remote_file_get)
6266         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
6267         (remote_hostio_pread_vFile, remote_hostio_send_command)
6268         (remote_hostio_set_filesystem, remote_hostio_open)
6269         (remote_hostio_close, remote_hostio_unlink, remote_state)
6270         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
6271         (get_memory_write_packet_size, get_memory_read_packet_size)
6272         (append_pending_thread_resumptions, remote_detach_1)
6273         (append_resumption, remote_resume_with_vcont)
6274         (add_current_inferior_and_thread, wait_ns, wait_as)
6275         (process_stop_reply, remote_notice_new_inferior)
6276         (process_initial_stop_replies, remote_add_thread)
6277         (btrace_sync_conf, remote_btrace_maybe_reopen)
6278         (remove_new_fork_children, kill_new_fork_children)
6279         (discard_pending_stop_replies, stop_reply_queue_length)
6280         (check_pending_events_prevent_wildcard_vcont)
6281         (discard_pending_stop_replies_in_queue, stop_reply)
6282         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
6283         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
6284         (remote_interrupt_as, remote_interrupt_ns)
6285         (remote_get_noisy_reply, remote_query_attached)
6286         (remote_add_inferior, remote_current_thread, get_current_thread)
6287         (set_thread, set_general_thread, set_continue_thread)
6288         (set_general_process, write_ptid)
6289         (remote_unpack_thread_info_response, remote_get_threadinfo)
6290         (parse_threadlist_response, remote_get_threadlist)
6291         (remote_threadlist_iterator, remote_get_threads_with_ql)
6292         (remote_get_threads_with_qxfer)
6293         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
6294         (get_offsets, remote_check_symbols, remote_supported_packet)
6295         (remote_query_supported, remote_packet_size)
6296         (remote_serial_quit_handler, remote_detach_pid)
6297         (remote_vcont_probe, remote_resume_with_hc)
6298         (send_interrupt_sequence, interrupt_query)
6299         (remote_notif_get_pending_events, fetch_register_using_p)
6300         (send_g_packet, process_g_packet, fetch_registers_using_g)
6301         (store_register_using_P, store_registers_using_G)
6302         (set_remote_traceframe, check_binary_download)
6303         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
6304         (remote_xfer_live_readonly_partial, remote_read_bytes)
6305         (remote_send_printf, remote_flash_write, readchar)
6306         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
6307         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
6308         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
6309         (extended_remote_disable_randomization, extended_remote_run)
6310         (send_environment_packet, extended_remote_environment_support)
6311         (extended_remote_set_inferior_cwd, remote_write_qxfer)
6312         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
6313         (packet_command): Now methods of ...
6314         (remote_target): ... this class.
6315         (m_remote_state) <remote_target>: New field.
6316         (struct remote_state) <stop_reply_queue,
6317         remote_async_inferior_event_token, wait_forever_enabled_p>: New
6318         fields.
6319         (remote_state::remote_state): Allocate stop_reply_queue.
6320         (remote_state): Delete global.
6321         (get_remote_state_raw): Delete.
6322         (remote_target::get_remote_state): Allocate m_remote_state on
6323         demand.
6324         (get_current_remote_target): New.
6325         (remote_ops, extended_remote_ops): Delete.
6326         (wait_forever_enabled_p, remote_async_inferior_event_token):
6327         Delete, moved to struct remote_state.
6328         (remote_target::close): Delete self.  Destruction bits split to
6329         ...
6330         (remote_target::~remote_target): ... this.
6331         (show_memory_packet_size): Adjust to use
6332         get_current_remote_target.
6333         (struct protocol_feature) <func>: Add remote_target parameter.
6334         All callers adjusted.
6335         (curr_quit_handler_target): New.
6336         (remote_serial_quit_handler): Reimplement.
6337         (remote_target::open_1): Adjust to use get_current_remote_target.
6338         Heap-allocate remote_target/extended_remote_target instances.
6339         (vcont_builder::vcont_builder): Add remote_target parameter, and
6340         save it in m_remote.  All callers adjusted.
6341         (vcont_builder::m_remote): New field.
6342         (vcont_builder::restart, vcont_builder::flush)
6343         (vcont_builder::push_action): Use it.
6344         (remote_target::commit_resume): Use it.
6345         (struct queue_iter_param) <remote>: New field.
6346         (remote_target::remove_new_fork_children): Fill in 'remote' field.
6347         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
6348         (check_pending_event_prevents_wildcard_vcont_callback)
6349         (remote_target::check_pending_events_prevent_wildcard_vcont)
6350         (remote_target::discard_pending_stop_replies)
6351         (remote_target::discard_pending_stop_replies_in_queue)
6352         (remote_target::remote_notif_remove_queued_reply): Fill in
6353         'remote' field.
6354         (remote_notif_get_pending_events): New.
6355         (remote_target::readchar, remote_target::remote_serial_write):
6356         Save/restore curr_quit_handler_target.
6357         (putpkt): New.
6358         (kill_new_fork_children): Fill in 'remote' field.
6359         (packet_command): Use get_current_remote_target, defer to
6360         remote_target method of same name.
6361         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6362         parameter, and save it in m_remote.  All callers adjusted.
6363         (scoped_remote_fd::release): Use m_remote.
6364         (scoped_remote_fd::m_remote): New field.
6365         (remote_file_put, remote_file_get, remote_file_delete): Use
6366         get_current_remote_target, defer to remote_target method of same
6367         name.
6368         (remote_btrace_reset): Add remote_state paremeter.  Update all
6369         callers.
6370         (remote_async_inferior_event_handler). Pass down 'data'.
6371         (remote_new_objfile): Use get_current_remote_target.
6372         (remote_target::vcont_r_supported): New.
6373         (set_range_stepping): Use get_current_remote_target and
6374         remote_target::vcont_r_supported.
6375         (_initialize_remote): Don't allocate 'remote_state' and
6376         'stop_reply_queue' globals.
6377         * remote.h (struct remote_target): Forward declare.
6378         (getpkt, putpkt, remote_notif_get_pending_events): Add
6379         'remote_target' parameter.
6380
6381 2018-05-22  Pedro Alves  <palves@redhat.com>
6382
6383         * remote.c (vcont_builder): Now a class.  Make all data members
6384         private.
6385         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6386         Declare methods.
6387         (vcont_builder_restart): Rename to ...
6388         (vcont_builder::restart): ... this.
6389         (vcont_builder_flush): Rename to ...
6390         (vcont_builder::flush): ... this.
6391         (vcont_builder_push_action): Rename to ...
6392         (vcont_builder::push_action): ... this.
6393         (remote_target::commit_resume): Adjust.
6394
6395 2018-05-22  Pedro Alves  <palves@redhat.com>
6396
6397         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6398         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6399         (get_fixed_memory_packet_size): New.
6400         (get_memory_packet_size): Use it.
6401         (set_memory_packet_size): Don't override the config size with
6402         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6403         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6404         Don't refer to get_memory_packet_size if not connected to a remote
6405         target.  Show "(default)" if configured size is 0.
6406
6407 2018-05-22  Pedro Alves  <palves@redhat.com>
6408
6409         * remote.c (remote_target::mourn_inferior): Move
6410         discard_pending_stop_replies call here from ...
6411         (_initialize_remote): ... here.
6412
6413 2018-05-22  Pedro Alves  <palves@redhat.com>
6414
6415         * remote.c (compare_section_command): Remove set_general_process
6416         call.
6417
6418 2018-05-22  Pedro Alves  <palves@redhat.com>
6419
6420         * remote.c (struct packet_reg, struct remote_arch_state):
6421         Move higher up in the file.
6422         (remote_state) <m_arch_states>: Store remote_arch_state values
6423         instead of remote_arch_state pointers.
6424         (remote_state::get_remote_arch_state): Adjust.
6425
6426 2018-05-22  Pedro Alves  <palves@redhat.com>
6427
6428         * remote.c: Include <unordered_map>.
6429         (remote_state): Now a class.
6430         (remote_state) <get_remote_arch_state>: Declare method.
6431         <get_remote_arch_state>: New field.
6432         (remote_arch_state) <remote_arch_state>: Declare ctor.
6433         <regs>: Now a unique_ptr.
6434         (remote_gdbarch_data_handle): Delete.
6435         (get_remote_arch_state): Delete.
6436         (remote_state::get_remote_arch_state): New.
6437         (get_remote_state): Adjust to call remote_state's
6438         get_remote_arch_state method.
6439         (init_remote_state): Delete, bits factored out to ...
6440         (remote_arch_state::remote_arch_state): ... this new method.
6441         (get_remote_packet_size, get_memory_packet_size)
6442         (process_g_packet, remote_target::fetch_registers)
6443         (remote_target::prepare_to_store, store_registers_using_G)
6444         (remote_target::store_registers, remote_target::get_trace_status):
6445         Adjust to call remote_state's method.
6446         (_initialize_remote): Remove reference to
6447         remote_gdbarch_data_handle.
6448
6449 2018-05-22  Pedro Alves  <palves@redhat.com>
6450
6451         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6452         pread>: New method declarations.
6453         (remote_target::open_1): Adjust.
6454         (readahead_cache_invalidate): Rename to ...
6455         (readahead_cache::invalidate): ... this, and adjust to be a class
6456         method.
6457         (readahead_cache_invalidate_fd): Rename to ...
6458         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6459         class method.
6460         (remote_hostio_pwrite): Adjust.
6461         (remote_hostio_pread_from_cache): Rename to ...
6462         (readahead_cache::pread): ... this, and adjust to be a class
6463         method.
6464         (remote_hostio_close): Adjust.
6465
6466 2018-05-22  Pedro Alves  <palves@redhat.com>
6467
6468         * remote.c (remote_hostio_close_cleanup): Delete.
6469         (class scoped_remote_fd): New.
6470         (remote_file_put, remote_file_get): Use it.
6471
6472 2018-05-22  Pedro Alves  <palves@redhat.com>
6473
6474         (struct vCont_action_support): Use bool and initialize all fields.
6475         (struct readahead_cache): Initialize all fields.
6476         (remote_state): Use bool and initialize all fields.
6477         (remote_state::remote_state, remote_state::~remote_state): New.
6478         (new_remote_state): Delete.
6479         (_initialize_remote): Use new to allocate remote_state.
6480
6481 2018-05-22  Pedro Alves  <palves@redhat.com>
6482             張俊芝  <zjz@zjz.name>
6483
6484         PR gdb/22973
6485         * c-exp.y: Include "c-support.h".
6486         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
6487         of tolower.  Use c_ident_is_alpha to scan names.
6488         * c-lang.c: Include "c-support.h".
6489         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
6490         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
6491         * c-support.h: New file, with bits factored out from ...
6492         * cp-name-parser.y: ... this file.
6493         Include "c-support.h".
6494         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
6495         c-support.h and renamed.
6496         (symbol_end, yylex): Adjust.
6497
6498 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6499
6500         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
6501         parameter type to CORE_ADDR.
6502         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
6503         parameter type in declaration to CORE_ADDR.
6504         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
6505         target_auxv_search to get AT_HWCAP and use the result to get the
6506         target description.
6507         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
6508         to CORE_ADDR. Remove the cast of the return value to unsigned
6509         long. Fix error predicate of target_auxv_search.
6510         (ppc_linux_nat_target::read_description): Change the type of the
6511         hwcap variable to CORE_ADDR.
6512
6513 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6514
6515         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
6516         if the size of fpscr is larger than 32 bits.
6517
6518 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6519
6520         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
6521         (ppc32_linux_vsxregmap): New global.
6522         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
6523         regcache_supply_regset, and regcache_collect_regset.
6524         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
6525         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
6526         (fetch_vsx_register, store_vsx_register): Remove.
6527         (fetch_vsx_registers): Add regno parameter. Get regset using
6528         ppc_linux_vsxregset. Use regset to supply registers.
6529         (store_vsx_registers): Add regno parameter. Get regset using
6530         ppc_linux_vsxregset. Use regset to collect registers.
6531         (fetch_register): Call fetch_vsx_registers instead of
6532         fetch_vsx_register.
6533         (store_register): Call store_vsx_registers instead of
6534         store_vsx_register.
6535         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
6536         new regno parameter.
6537         (store_ppc_registers): Call store_vsx_registers with -1 for the
6538         new regno parameter.
6539         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
6540         (ppc_collect_vsxregset): Remove.
6541
6542 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6543
6544         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
6545         offset fields.
6546         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
6547         for vector register offset fields.
6548         (ppc64_fbsd_reg_offsets): Likewise.
6549         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6550         to vector register offset fields.
6551         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6552         to vector register offset fields.
6553         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
6554         vector register offset fields.
6555         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
6556         initializers for vector register offset fields.
6557         (rs6000_aix64_reg_offsets): Likewise.
6558         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
6559         (ppc_supply_vrregset): Remove.
6560         (ppc_collect_vrregset): Remove.
6561         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
6562         (ppc_linux_vrregset) : New function.
6563         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
6564         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
6565         (ppc32_linux_vrregset): Remove.
6566         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
6567         and use result instead of ppc32_linux_vrregset.
6568         (ppc32_linux_reg_offsets): Remove initializers for vector register
6569         offset fields.
6570         (ppc64_linux_reg_offsets): Likewise.
6571         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
6572         * ppc-linux-nat.c: Include regset.h.
6573         (gdb_vrregset_t): Adjust comment to account for little-endian
6574         mode.
6575         (supply_vrregset, fill_vrregset): Remove.
6576         (fetch_altivec_register, store_altivec_register): Remove.
6577         (fetch_altivec_registers): Add regno parameter. Get regset using
6578         ppc_linux_vrregset. Use regset to supply registers.
6579         (store_altivec_registers): Add regno parameter. Get regset using
6580         ppc_linux_vrregset. Use regset to collect registers.
6581         (fetch_register): Call fetch_altivec_registers instead of
6582         fetch_altivec_register.
6583         (store_register): Call store_altivec_registers instead of
6584         store_altivec_register.
6585         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
6586         the new regno parameter.
6587         (store_ppc_registers): Call store_altivec_registers with -1 for
6588         the new regno parameter.
6589
6590 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6591
6592         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
6593         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
6594         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
6595         (gdb_vrregset_t): Change array type size to
6596         PPC_LINUX_SIZEOF_VRREGSET.
6597         (gdb_vsxregset_t): Change array type size to
6598         PPC_LINUX_SIZEOF_VSXREGSET.
6599         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
6600         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
6601         PPC_LINUX_SIZEOF_VSXREGSET.
6602
6603 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6604
6605         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
6606         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
6607         nat/ppc-linux.c.
6608         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
6609         ppc_linux_target_wordsize with tid.
6610         (ppc_linux_nat_target::read_description): Call ppc_linux_target
6611         wordsize with tid.
6612         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
6613         (ppc64_64bit_inferior_p): Add static and inline specifiers.
6614         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
6615         tid parameter. Remove static specifier.
6616         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
6617         (ppc_linux_target_wordsize): New declaration.
6618
6619 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6620
6621         * arch/ppc-linux-common.c: New file.
6622         * arch/ppc-linux-common.h: New file.
6623         * arch/ppc-linux-tdesc.h: New file.
6624         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
6625         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
6626         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
6627         arch/ppc-linux-tdesc.h.
6628         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
6629         arch/ppc-linux-tdesc.h.
6630         (ppc_linux_nat_target::read_description): Remove target
6631         description matching code. Fill a ppc_linux_features struct and
6632         call ppc_linux_match_description with it. Move comment about ISA
6633         2.05 to ppc-linux-common.c.
6634         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
6635         arch/ppc-linux-tdesc.h.
6636         (ppc_linux_core_read_description): Remove target description
6637         matching code. Fill a ppc_linux_features struct and call
6638         ppc_linux_match_description with it.
6639         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
6640         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
6641         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
6642         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
6643         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
6644         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
6645         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
6646         (tdesc_powerpc_e500l): Remove.
6647
6648 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
6649
6650         * ada-lang.c (catch_assert_command): Pass empty string instead
6651         of NULL for excep_string argument.
6652
6653 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6654
6655         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
6656         the width of the requested register exceeds the width of the
6657         `ptrace' data type.
6658
6659 2018-05-21  Tom Tromey  <tom@tromey.com>
6660
6661         * printcmd.c (output_command): Remove.
6662         (output_command_const): Rename to output_command.
6663         * valprint.h (output_command): Rename from output_command_const.
6664         * tracepoint.c (trace_dump_actions): Call output_command.
6665
6666 2018-05-21  Tom Tromey  <tom@tromey.com>
6667
6668         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
6669         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
6670         * ada-lang.h (create_ada_exception_catchpoint): Update.
6671         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
6672         std::string.
6673         (create_excep_cond_exprs, ~ada_catchpoint)
6674         (should_stop_exception, print_one_exception)
6675         (print_mention_exception, print_recreate_exception): Update.
6676         (ada_get_next_arg): Remove.
6677         (catch_ada_exception_command_split): Use std::string.  Change type
6678         of "excep_string", "cond_string".
6679         (catch_ada_exception_command): Update.
6680         (create_ada_exception_catchpoint): Change type of excep_string.
6681         (ada_exception_sal): Remove excep_string parameter.
6682         (~ada_catchpoint): Remove.
6683
6684 2018-05-21  Tom Tromey  <tom@tromey.com>
6685
6686         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
6687         cleanup.
6688
6689 2018-05-21  Tom Tromey  <tom@tromey.com>
6690
6691         * ada-lang.c (ada_exception_message_1, ada_exception_message):
6692         Return unique_xmalloc_ptr.
6693         (print_it_exception): Update.
6694
6695 2018-05-21  Tom Tromey  <tom@tromey.com>
6696
6697         * tracepoint.c (trace_dump_actions): Use std::string.
6698
6699 2018-05-21  Tom Tromey  <tom@tromey.com>
6700
6701         * symfile.c (reread_symbols): Use std::string for original_name.
6702
6703 2018-05-21  Tom Tromey  <tom@tromey.com>
6704
6705         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
6706         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
6707         constructor.
6708
6709 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
6710
6711         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
6712         instance to...
6713         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
6714         * objfiles.c (get_objfile_bfd_data): Allocate
6715         objfile_per_bfd_storage with obstack_new when allocating on
6716         obstack.
6717
6718 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6719
6720         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
6721         OBSTACK_ZALLOC.
6722         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
6723         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
6724         * mdebugread.c (mdebug_build_psymtabs): Likewise.
6725         (add_pending): Likewise.
6726         (parse_symbol): Likewise.
6727         (parse_partial_symbols): Likewise.
6728         (psymtab_to_symtab_1): Likewise.
6729         (new_psymtab): Likewise.
6730         (elfmdebug_build_psymtabs): Likewise.
6731         * minsyms.c (terminate_minimal_symbol_table): Likewise.
6732         * objfiles.c (get_objfile_bfd_data): Likewise.
6733         (objfile_register_static_link): Likewise.
6734         * psymtab.c (allocate_psymtab): Likewise.
6735         * stabsread.c (read_member_functions): Likewise.
6736         * xcoffread.c (xcoff_end_psymtab): Likewise.
6737
6738 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6739
6740         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
6741         compiler supports std::is_trivially_constructible.
6742         * common/poison.h: Include obstack.h.
6743         (IsMallocable): Define to is_trivially_constructible if the
6744         compiler supports it, define to true_type otherwise.
6745         (xobnew): New.
6746         (XOBNEW): Redefine.
6747         (xobnewvec): New.
6748         (XOBNEWVEC): Redefine.
6749         * gdb_obstack.h (obstack_zalloc): New.
6750         (OBSTACK_ZALLOC): Redefine.
6751         (obstack_calloc): New.
6752         (OBSTACK_CALLOC): Redefine.
6753         (obstack_new): New.
6754         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
6755         (gdbarch_obstack): New declaration in gdbarch.h, definition in
6756         gdbarch.c.
6757         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
6758         obstack_calloc/obstack_zalloc.
6759         (gdbarch_obstack_zalloc): Remove.
6760         * target-descriptions.c (tdesc_data_init): Use obstack_new.
6761
6762 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6763
6764         * stack.c (backtrace_command_1): Remove useless variable int i.
6765
6766 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6767
6768         * stack.c (print_frame_info): Fix comment.
6769
6770 2018-05-18  Tom Tromey  <tom@tromey.com>
6771
6772         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
6773         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
6774         (~dwarf2_per_objfile): Update
6775         (dwarf2_get_dwz_file): Use new.
6776         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
6777         unique_ptr.
6778
6779 2018-05-18  Tom Tromey  <tom@tromey.com>
6780
6781         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
6782         unique_ptr.
6783         * dwarf2read.c (struct dwp_file): Add constructor and
6784         initializers.
6785         (open_and_init_dwp_file): Return a unique_ptr.
6786         (dwarf2_per_objfile, create_dwp_hash_table)
6787         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
6788         (lookup_dwo_unit_in_dwp): Update.
6789         (open_and_init_dwp_file, get_dwp_file): Update.
6790
6791 2018-05-18  Tom Tromey  <tom@tromey.com>
6792
6793         * dwarf2read.c (dwarf2_per_objfile): Update.
6794         (struct mapped_index): Add initializers.
6795         (dwarf2_read_index): Use new.
6796         (dw2_symtab_iter_init): Update.
6797         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
6798         unique_ptr.
6799
6800 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6801
6802         * dwarf2read.c (mapped_index) <total_size>: Remove.
6803
6804 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6805
6806         * unittests/format_pieces-selftests.c (test_format_specifier):
6807         Add ARI comments.
6808
6809 2018-05-18  Tom Tromey  <tom@tromey.com>
6810
6811         * c-typeprint.c (maybe_print_hole): New function.
6812         (c_print_type_struct_field_offset): Update.
6813         (c_type_print_base_struct_union): Call maybe_print_hole.
6814
6815 2018-05-17  Keith Seitz  <keiths@redhat.com>
6816
6817         * breakpoint.c (build_bpstat_chain): New function, moved from
6818         bpstat_stop_status.
6819         (bpstat_stop_status): Add optional parameter, `stop_chain'.
6820         If no stop chain is passed, call build_bpstat_chain to build it.
6821         * breakpoint.h (build_bpstat_chain): Declare.
6822         (bpstat_stop_status): Move documentation here from breakpoint.c.
6823         * infrun.c (handle_signal_stop): Before eliding inlined frames,
6824         build the stop chain and pass it to skip_inline_frames.
6825         Pass this stop chain to bpstat_stop_status.
6826         * inline-frame.c: Include breakpoint.h.
6827         (stopped_by_user_bp_inline_frame): New function.
6828         (skip_inline_frames): Add parameter `stop_chain'.
6829         Move documention to inline-frame.h.
6830         If non-NULL, use stopped_by_user_bp_inline_frame to determine
6831         whether the frame should be elided.
6832         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
6833         Add moved documentation and update for new parameter.
6834
6835 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6836
6837         PR cli/14975
6838         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6839         unittests/format_pieces-selftests.c.
6840         * common/format.h (format_piece) <operator==>: New.
6841         (format_pieces) <operator[]>: Remove.
6842         * common/format.c (format_pieces::format_pieces): Handle \e.
6843         * unittests/format_pieces-selftests.c: New.
6844
6845 2018-05-17  Tom Tromey  <tom@tromey.com>
6846
6847         PR symtab/23010:
6848         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
6849         (dw2_instantiate_symtab): Add skip_partial parameter.
6850         (dw2_find_last_source_symtab, dw2_map_expand_apply)
6851         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
6852         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
6853         (dw2_expand_symtabs_matching_one)
6854         (dw2_find_pc_sect_compunit_symtab)
6855         (dw2_debug_names_lookup_symbol)
6856         (dw2_debug_names_expand_symtabs_for_function): Update.
6857         (init_cutu_and_read_dies): Add skip_partial parameter.
6858         (process_psymtab_comp_unit, build_type_psymtabs_1)
6859         (process_skeletonless_type_unit, load_partial_comp_unit)
6860         (psymtab_to_symtab_1): Update.
6861         (load_full_comp_unit): Add skip_partial parameter.
6862         (process_imported_unit_die, dwarf2_read_addr_index)
6863         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
6864         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
6865         (read_signatured_type): Update.
6866
6867 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6868
6869         * value.c (release_value): Remove unused variable.
6870         (record_latest_value): Likewise.
6871         (access_value_history): Likewise.
6872         (preserve_values): Likewise.
6873
6874 2018-05-17  Tom Tromey  <tom@tromey.com>
6875
6876         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
6877         Initialize.
6878
6879 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
6880
6881         PR gdb/22286
6882         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
6883         Also handle registers whose width is not a multiple of
6884         PTRACE_TYPE_RET.
6885         (linux_nat_trad_target::store_register): Likewise.
6886
6887 2018-05-16  Tom Tromey  <tom@tromey.com>
6888
6889         * gdbcore.h (core_bfd): Redefine.
6890         * corelow.c (core_target::close): Update.
6891         (core_target_open): Update.
6892         * progspace.h (struct program_space) <cbfd>: Now a
6893         gdb_bfd_ref_ptr.
6894
6895 2018-05-16  Tom Tromey  <tom@tromey.com>
6896
6897         PR cli/19551:
6898         * symfile-add-flags.h (enum symfile_add_flags)
6899         <SYMFILE_NOT_FILENAME>: New constant.
6900         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
6901         objfile name from BFD.
6902         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
6903         * minidebug.c (find_separate_debug_file_in_section): Put
6904         ".gnu_debugdata" into BFD's file name.
6905
6906 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
6907
6908         * regcache.c (regcache_read_ftype, regcache_write_ftype):
6909         Remove.
6910
6911 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
6912
6913         PR binutils/21446
6914         * aarch64-tdep.c (aarch64_analyze_prologue,
6915         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
6916         Indicate not interested in errors.
6917
6918 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6919
6920         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
6921         Supply the MIPS_ZERO_REGNUM register.
6922
6923 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6924
6925         * mips-tdep.c (mask_address_var): Make variable static.
6926
6927 2018-05-14  Tom Tromey  <tom@tromey.com>
6928
6929         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
6930
6931 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6932
6933         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
6934         FXSAVE_ADDR for the mxcsr register.
6935
6936 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6937
6938         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6939
6940 2018-05-11  Pedro Alves  <palves@redhat.com>
6941
6942         * corelow.c (core_target) <core_target>: No longer inline.
6943         Initialize m_core_gdbarch, m_core_vec and build the section table
6944         here.
6945         <~core_target>: New.
6946         <core_gdbarch, get_core_register_section>: New methods.
6947         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6948         factored out from ...
6949         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6950         (core_ops): Delete.
6951         (sniff_core_bfd): Add gdbarch parameter.
6952         (core_close): Delete, merged into ...
6953         (core_target::close): ... here.  Delete self.
6954         (core_close_cleanup): Delete.
6955         (core_target_open): Allocate a core_target on the heap.  Use a
6956         unique_ptr instead of a cleanup.  Bits moved into the core_target
6957         ctor.  Adjust to use core_target methods instead of globals.
6958         (get_core_register_section): Rename to ...
6959         (core_target::get_core_register_section): ... this and adjust.
6960         (struct get_core_registers_cb_data): New.
6961         (get_core_registers_cb): Use it.  Use bool.
6962         (core_target::fetch_registers, core_target::files_info)
6963         (core_target::xfer_partial, core_target::read_description)
6964         (core_target::pid_to, core_target::thread_name): Adjust to
6965         reference class fields instead of globals.
6966         * target.h (struct target_ops_deleter, target_ops_up): New.
6967
6968 2018-05-11  Pedro Alves  <palves@redhat.com>
6969
6970         * corefile.c (core_file_command): Move to corelow.c.
6971         * corelow.c (the_core_target): Delete.
6972         (core_file_command): Moved from corefile.c.  Check exec_bfd
6973         instead of the_core_target.  Use target_detach instead of calling
6974         into the_core_target directly.
6975         (maybe_say_no_core_file_now): New.
6976         (core_target::detach): Use it.
6977         (_initialize_corelow): Remove references to the_core_target.
6978         * gdbcore.h (the_core_target): Delete.
6979
6980 2018-05-11  Tom Tromey  <tromey@redhat.com>
6981             Pedro Alves  <palves@redhat.com>
6982
6983         * corefile.c (core_bfd): Remove.
6984         * gdbcore.h (core_bfd): Now a macro.
6985         * progspace.h (struct program_space) <cbfd>: New field.
6986
6987 2018-05-11  Tom Tromey  <tom@tromey.com>
6988
6989         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6990         gdb::def_vector.
6991
6992 2018-05-10  Tom Tromey  <tom@tromey.com>
6993
6994         * configure: Rebuild.
6995         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6996
6997 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6998
6999         PR server/23158:
7000         * regformats/regdat.sh: Adjust script, following the addition
7001         of the new expedite_regs parameter to init_target_desc.
7002
7003 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
7004     
7005         PR gdb/23127
7006         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7007         set_gdbarch_significant_addr_bit.
7008         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7009         set_gdbarch_significant_addr_bit.
7010         * utils.c (address_significant): Update to sign extend addr.
7011
7012 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7013
7014         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7015         (xtensa_linux_init_abi): Limit tdep->num_regs by
7016         tdep->num_nopriv_regs.
7017         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7018         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7019         not initialized.
7020
7021 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7022
7023         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7024
7025 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7026
7027         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7028         (I387_MXCSR_INIT_VAL): New constant.
7029         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7030         buffer if it was supplied by the inferior.
7031         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7032         (i387_xsave_get_clear_bv): New function.
7033         (i387_supply_xsave): Only read x87 control registers from the
7034         xsave buffer if the feature is enabled, and the state will have
7035         been written, otherwise, provide a suitable default.
7036         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7037         including x87 control registers.  Update control registers if they
7038         have changed from the default value, and mark features as enabled
7039         as required.
7040         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7041
7042 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7043
7044         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7045
7046 2018-05-07  Tom Tromey  <tom@tromey.com>
7047
7048         * configure: Rebuild.
7049         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7050
7051 2018-05-07  Tom Tromey  <tom@tromey.com>
7052
7053         PR tdep/20362:
7054         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7055         bit.  Use correct value for VDIV.
7056
7057 2018-05-04  Tom Tromey  <tom@tromey.com>
7058
7059         * configure: Rebuild.
7060         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7061
7062 2018-05-04  Tom Tromey  <tom@tromey.com>
7063
7064         * linux-record.c (record_linux_system_call) <case
7065         RECORD_SYS_RECVFROM>: Add "break".
7066
7067 2018-05-04  Tom Tromey  <tom@tromey.com>
7068
7069         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7070         Add missing "break".
7071         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7072         Add missing "break".
7073
7074 2018-05-04  Tom Tromey  <tom@tromey.com>
7075
7076         * rs6000-tdep.c (ppc_process_record_op4)
7077         (ppc_process_record_op63): Add fall-through comment.
7078
7079 2018-05-04  Tom Tromey  <tom@tromey.com>
7080
7081         * i386-tdep.c (i386_process_record): Add fall-through comment.
7082
7083 2018-05-04  Tom Tromey  <tom@tromey.com>
7084
7085         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
7086         comment.
7087
7088 2018-05-04  Tom Tromey  <tom@tromey.com>
7089
7090         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
7091         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
7092         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
7093         comment.
7094         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
7095         comment.
7096         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
7097         comment.
7098
7099 2018-05-04  Tom Tromey  <tom@tromey.com>
7100
7101         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
7102
7103 2018-05-04  Tom Tromey  <tom@tromey.com>
7104
7105         * s390-tdep.c (s390_process_record): Fix fall-through comments.
7106         * xcoffread.c (scan_xcoff_symtab): Move comment later.
7107         * symfile.c (section_is_mapped): Fix fall-through comment.
7108         * stabsread.c (define_symbol, read_member_functions): Fix
7109         fall-through comment.
7110         * s390-linux-tdep.c (s390_process_record): Fix fall-through
7111         comment.
7112         * remote.c (remote_wait_as): Fix fall-through comment.
7113         * p-exp.y (yylex): Fix fall-through comment.
7114         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
7115         comment.
7116         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
7117         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
7118         * jv-exp.y (yylex): Fix fall-through comment.
7119         * go-exp.y (lex_one_token): Fix fall-through comment.
7120         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
7121         fall-through comment.
7122         * f-exp.y (yylex): Fix fall-through comment.
7123         * dwarf2read.c (process_die): Fix fall-through comments.
7124         * dbxread.c (process_one_symbol): Fix fall-through comment.
7125         * d-exp.y (lex_one_token): Fix fall-through comment.
7126         * cp-name-parser.y (yylex): Fix fall-through comment.
7127         * coffread.c (coff_symtab_read): Fix fall-through comment.
7128         * c-exp.y (lex_one_token): Fix fall-through comment.
7129         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
7130         comment.
7131         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
7132         comment.
7133
7134 2018-05-04  Tom Tromey  <tom@tromey.com>
7135
7136         PR python/22730:
7137         * NEWS: Mention gdb.execute change.
7138         * gdbcmd.h (execute_control_command): Don't declare.
7139         * python/python.c (execute_gdb_command): Use read_command_lines_1,
7140         execute_control_commands, execute_control_commands_to_string.
7141         * cli/cli-script.h (execute_control_commands)
7142         (execute_control_commands_to_string): Declare.
7143         (execute_control_command): Add from_tty parameter.
7144         * cli/cli-script.c (execute_control_commands)
7145         (execute_control_commands_to_string): New functions.
7146         (execute_user_command): Use execute_control_commands.
7147         (execute_control_command_1): Add "from_tty" parameter.  Update.
7148         (execute_control_command): Likewise.
7149
7150 2018-05-04  Tom Tromey  <tom@tromey.com>
7151
7152         PR python/22731:
7153         * NEWS: Mention that breakpoint commands are writable.
7154         * python/py-breakpoint.c (bppy_set_commands): New function.
7155         (breakpoint_object_getset) <"commands">: Use it.
7156
7157 2018-05-04  Tom Tromey  <tom@tromey.com>
7158
7159         * tracepoint.c (actions_command): Update.
7160         * mi/mi-cmd-break.c (mi_command_line_array)
7161         (mi_command_line_array_cnt, mi_command_line_array_ptr)
7162         (mi_read_next_line): Remove.
7163         (mi_cmd_break_commands): Update.
7164         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
7165         function_view.
7166         * cli/cli-script.c (get_command_line): Update.
7167         (process_next_line): Use function_view.  Constify.
7168         (recurse_read_control_structure, read_command_lines)
7169         (read_command_lines_1): Change argument types to function_view.
7170         (do_define_command, document_command): Update.
7171         * breakpoint.h (check_tracepoint_command): Don't declare.
7172         * breakpoint.c (check_tracepoint_command): Remove.
7173         (commands_command_1, create_tracepoint_from_upload): Update.
7174
7175 2018-05-04  Tom Tromey  <tom@tromey.com>
7176
7177         PR gdb/11750:
7178         * cli/cli-script.h (enum command_control_type) <define_control>:
7179         New constant.
7180         * cli/cli-script.c (multi_line_command_p): Handle define_control.
7181         (build_command_line, execute_control_command_1)
7182         (process_next_line): Likewise.
7183         (do_define_command): New function, extracted from define_command.
7184         (define_command): Use it.
7185
7186 2018-05-04  Tom Tromey  <tom@tromey.com>
7187
7188         * tracepoint.c (actions_command): Update.
7189         * cli/cli-script.h (read_command_lines): Update.
7190         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
7191         (MAX_TMPBUF): Remove define.
7192         (define_command): Use string_printf.
7193         (document_command): Likewise.
7194         * breakpoint.c (commands_command_1): Update.
7195
7196 2018-05-04  Tom Tromey  <tom@tromey.com>
7197
7198         * top.c (execute_command): Update.
7199         * cli/cli-script.h (print_command_lines): Now varargs.
7200         * cli/cli-script.c (print_command_lines): Now varargs.
7201         (execute_control_command_1) <case while_control, case if_control>:
7202         Update.
7203
7204 2018-05-04  Tom Tromey  <tom@tromey.com>
7205
7206         * tracepoint.c (all_tracepoint_actions): Rename from
7207         all_tracepoint_actions_and_cleanup.  Change return type.
7208         (actions_command, encode_actions_1, encode_actions)
7209         (trace_dump_actions, tdump_command): Update.
7210         * remote.c (remote_download_command_source): Update.
7211         * python/python.c (gdbpy_eval_from_control_command)
7212         (python_command, python_interactive_command): Update.
7213         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
7214         * guile/guile.c (guile_command)
7215         (gdbscm_eval_from_control_command, guile_command): Update.
7216         * compile/compile.c (compile_code_command)
7217         (compile_print_command, compile_to_object): Update.
7218         * cli/cli-script.h (struct command_lines_deleter): New.
7219         (counted_command_line): New typedef.
7220         (struct command_line): Add constructor, destructor.
7221         <body_list>: Remove.
7222         <body_list_0, body_list_1>: New members.
7223         (command_line_up): Remove typedef.
7224         (read_command_lines, read_command_lines_1, get_command_line):
7225         Update.
7226         (copy_command_lines): Don't declare.
7227         * cli/cli-script.c (build_command_line): Use "new".
7228         (get_command_line): Return counted_command_line.
7229         (print_command_lines, execute_user_command)
7230         (execute_control_command_1, while_command, if_command): Update.
7231         (realloc_body_list): Remove.
7232         (process_next_line, recurse_read_control_structure): Update.
7233         (read_command_lines, read_command_lines_1): Return counted_command_line.
7234         (free_command_lines): Use "delete".
7235         (copy_command_lines): Remove.
7236         (define_command, document_command, show_user_1): Update.
7237         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
7238         a counted_command_line.
7239         * breakpoint.h (counted_command_line): Remove typedef.
7240         (breakpoint_set_commands): Update.
7241         * breakpoint.c (check_no_tracepoint_commands)
7242         (validate_commands_for_breakpoint): Update.
7243         (breakpoint_set_commands): Change commands to be a
7244         counted_command_line.
7245         (commands_command_1, update_dprintf_command_list)
7246         (create_tracepoint_from_upload): Update.
7247
7248 2018-05-04  Tom Tromey  <tom@tromey.com>
7249
7250         * cli/cli-decode.h (cmd_list_element): New constructor.
7251         (~cmd_list_element): New destructor.
7252         (struct cmd_list_element): Add initializers.
7253         * cli/cli-decode.c (do_add_cmd): Use "new".
7254         (delete_cmd): Use "delete".
7255
7256 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
7257             Pedro Alves <palves@redhat.com>
7258
7259         PR breakpoints/19806 and support for PR external/20207.
7260         * NEWS: Mention Aarch64 watchpoint improvements.
7261         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
7262         watchpoints and PR external/20207 watchpoints.
7263         * nat/aarch64-linux-hw-point.c
7264         (kernel_supports_any_contiguous_range): New.
7265         (aarch64_watchpoint_offset): New.
7266         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
7267         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
7268         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
7269         (aarch64_align_watchpoint): New parameters aligned_offset_p and
7270         next_addr_orig_p.  Support PR external/20207 watchpoints.
7271         (aarch64_downgrade_regs): New.
7272         (aarch64_dr_state_insert_one_point): New parameters offset and
7273         addr_orig.
7274         (aarch64_dr_state_remove_one_point): Likewise.
7275         (aarch64_handle_breakpoint): Update caller.
7276         (aarch64_handle_aligned_watchpoint): Likewise.
7277         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
7278         aligned_offset.
7279         (aarch64_linux_set_debug_regs): Remove const from state.  Call
7280         aarch64_downgrade_regs.
7281         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
7282         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
7283         (DR_CONTROL_MASK): ... this.
7284         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
7285         (unsigned int aarch64_watchpoint_offset): New prototype.
7286         (aarch64_linux_set_debug_regs): Remove const from state.
7287         * utils.c (align_up, align_down): Move to ...
7288         * common/common-utils.c (align_up, align_down): ... here.
7289         * utils.h (align_up, align_down): Move to ...
7290         * common/common-utils.h (align_up, align_down): ... here.
7291
7292 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
7293
7294         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
7295         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
7296         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
7297         Re-implement to match the ABI as summarized in GCC's
7298         gcc/config/sparc/sparc.c.  All callers updated.
7299         (sparc32_store_arguments): Remove assertion.
7300
7301 2018-05-04  Tom Tromey  <tom@tromey.com>
7302
7303         * printcmd.c: Don't include tui.h.
7304         (decode_format): Use skip_spaces.
7305
7306 2018-05-04  Tom Tromey  <tom@tromey.com>
7307
7308         PR gdb/22619:
7309         * printcmd.c (last_count): New global.
7310         (x_command): Use saved count when repeating.
7311
7312 2018-05-04  Tom Tromey  <tom@tromey.com>
7313
7314         * nto-procfs.c (do_closedir_cleanup): Remove.
7315         (procfs_pidlist): Use gdb_dir_up.
7316         * procfs.c (do_closedir_cleanup): Remove.
7317         (proc_update_threads): Use gdb_dir_up.
7318         * common/filestuff.h (struct gdb_dir_deleter): New.
7319         (gdb_dir_up): New typedef.
7320
7321 2018-05-04  Tom Tromey  <tom@tromey.com>
7322
7323         * ada-lang.c (print_mention_exception): Use std::string.
7324
7325 2018-05-04  Tom Tromey  <tom@tromey.com>
7326
7327         * ada-lang.c (create_excep_cond_exprs): Update.
7328         (ada_exception_catchpoint_cond_string): Use std::string.
7329
7330 2018-05-04  Tom Tromey  <tom@tromey.com>
7331
7332         * ada-lang.c (xget_renaming_scope): Return std::string.
7333         (old_renaming_is_invisible): Update.
7334
7335 2018-05-04  Tom Tromey  <tom@tromey.com>
7336
7337         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
7338         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
7339
7340 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
7341
7342         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
7343
7344 2018-05-04  Tom Tromey  <tom@tromey.com>
7345
7346         * remote.c (remote_query_supported_append): Change type.
7347         (remote_check_symbols): Update.
7348
7349 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
7350
7351         PR gdb/11420
7352         * configure.ac: Prepend libpython.
7353         * python/python-config.py: Likewise.
7354         * configure: Regenerate.
7355
7356 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
7357
7358         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
7359
7360 2018-05-03  Pedro Alves  <palves@redhat.com>
7361
7362         * s390-linux-nat.c
7363         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7364         override.  Write 'true' instead of '1'.
7365         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7366         declaration.
7367
7368 2018-05-02  Pedro Alves  <palves@redhat.com>
7369
7370         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7371         add_inf_child_target.
7372         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7373         add_inf_child_target.
7374         * aix-thread.c (aix_thread_target_info): New.
7375         (aix_thread_target) <shortname, longname, doc>: Delete.
7376         <info>: New.
7377         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7378         add_inf_child_target.
7379         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7380         add_inf_child_target.
7381         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7382         add_inf_child_target.
7383         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7384         add_inf_child_target.
7385         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7386         add_inf_child_target.
7387         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7388         add_inf_child_target.
7389         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7390         add_inf_child_target.
7391         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7392         add_inf_child_target.
7393         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7394         add_inf_child_target.
7395         * bfd-target.c (target_bfd_target_info): New.
7396         (target_bfd) <shortname, longname, doc>: Delete.
7397         <info>: New.
7398         * bsd-kvm.c (bsd_kvm_target_info): New.
7399         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7400         <info>: New.
7401         (bsd_kvm_target::open): Rename to ...
7402         (bsd_kvm_target_open): ... this.  Adjust.
7403         * bsd-uthread.c (bsd_uthread_target_info): New.
7404         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7405         <info>: New.
7406         * corefile.c (core_file_command): Adjust.
7407         * corelow.c (core_target_info): New.
7408         (core_target) <shortname, longname, doc>: Delete.
7409         <info>: New.
7410         (core_target::open): Rename to ...
7411         (core_target_open): ... this.  Adjust.
7412         * ctf.c (ctf_target_info): New.
7413         (ctf_target) <shortname, longname, doc>: Delete.
7414         <info>: New.
7415         (ctf_target::open): Rename to ...
7416         (ctf_target_open): ... this.
7417         (_initialize_ctf): Adjust.
7418         * exec.c (exec_target_info): New.
7419         (exec_target) <shortname, longname, doc>: Delete.
7420         <info>: New.
7421         (exec_target::open): Rename to ...
7422         (exec_target_open): ... this.
7423         * gdbcore.h (core_target_open): Declare.
7424         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7425         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7426         add_inf_child_target.
7427         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7428         add_inf_child_target.
7429         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7430         add_inf_child_target.
7431         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7432         add_inf_child_target.
7433         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7434         add_inf_child_target.
7435         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7436         add_inf_child_target.
7437         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7438         add_inf_child_target.
7439         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7440         add_inf_child_target.
7441         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7442         add_inf_child_target.
7443         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7444         add_inf_child_target.
7445         * inf-child.c (inf_child_target_info): New.
7446         (inf_child_target::info): New.
7447         (inf_child_open_target): Remove 'target' parameter.  Use
7448         get_native_target instead.
7449         (inf_child_target::open): Delete.
7450         (add_inf_child_target): New.
7451         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7452         Delete.
7453         <info>: New.
7454         (add_inf_child_target): Declare.
7455         (inf_child_open_target): Declare.
7456         * linux-thread-db.c (thread_db_target_info): New.
7457         (thread_db_target) <shortname, longname, doc>: Delete.
7458         <info>: New.
7459         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7460         add_inf_child_target.
7461         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7462         add_inf_child_target.
7463         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7464         add_inf_child_target.
7465         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7466         add_inf_child_target.
7467         * make-target-delegates (print_class): Adjust.
7468         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
7469         add_inf_child_target.
7470         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
7471         add_inf_child_target.
7472         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
7473         add_inf_child_target.
7474         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
7475         add_inf_child_target.
7476         * nto-procfs.c (nto_native_target_info): New.
7477         (nto_procfs_target_native) <shortname, longname, doc>:
7478         Delete.
7479         <info>: New.
7480         (nto_procfs_target_info): New.
7481         (nto_procfs_target_procfs) <shortname, longname, doc>:
7482         Delete.
7483         <info>: New.
7484         (init_procfs_targets): Adjust.
7485         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
7486         add_inf_child_target.
7487         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
7488         add_inf_child_target.
7489         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
7490         add_inf_child_target.
7491         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
7492         add_inf_child_target.
7493         * ravenscar-thread.c (ravenscar_target_info): New.
7494         (ravenscar_thread_target) <shortname, longname, doc>:
7495         Delete.
7496         <info>: New.
7497         * record-btrace.c (record_btrace_target_info):
7498         (record_btrace_target) <shortname, longname, doc>: Delete.
7499         <info>: New.
7500         (record_btrace_target::open): Rename to ...
7501         (record_btrace_target_open): ... this.  Adjust.
7502         * record-full.c (record_longname, record_doc): New.
7503         (record_full_base_target) <shortname, longname, doc>: Delete.
7504         <info>: New.
7505         (record_full_target_info): New.
7506         (record_full_target): <shortname>: Delete.
7507         <info>: New.
7508         (record_full_core_open_1, record_full_open_1): Update comments.
7509         (record_full_base_target::open): Rename to ...
7510         (record_full_open): ... this.
7511         (cmd_record_full_restore): Update.
7512         (_initialize_record_full): Update.
7513         * remote-sim.c (remote_sim_target_info): New.
7514         (gdbsim_target) <shortname, longname, doc>: Delete.
7515         <info>: New.
7516         (gdbsim_target::open): Rename to ...
7517         (gdbsim_target_open): ... this.
7518         (_initialize_remote_sim): Adjust.
7519         * remote.c (remote_doc): New.
7520         (remote_target_info): New.
7521         (remote_target) <shortname, longname, doc>: Delete.
7522         <info>: New.
7523         (extended_remote_target_info): New.
7524         (extended_remote_target) <shortname, longname, doc>: Delete.
7525         <info>: New.
7526         (remote_target::open_1): Make static.  Adjust.
7527         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
7528         * s390-linux-nat.c (_initialize_s390_nat): Use
7529         add_inf_child_target.
7530         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
7531         add_inf_child_target.
7532         * sol-thread.c (thread_db_target_info): New.
7533         (sol_thread_target) <shortname, longname, doc>: Delete.
7534         <info>: New.
7535         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
7536         add_inf_child_target.
7537         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
7538         add_inf_child_target.
7539         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
7540         add_inf_child_target.
7541         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
7542         add_inf_child_target.
7543         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
7544         add_inf_child_target.
7545         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
7546         add_inf_child_target.
7547         * spu-linux-nat.c (_initialize_spu_nat): Use
7548         add_inf_child_target.
7549         * spu-multiarch.c (spu_multiarch_target_info): New.
7550         (spu_multiarch_target) <shortname, longname, doc>: Delete.
7551         <info>: New.
7552         * target-delegates.c: Regenerate.
7553         * target.c: Include <unordered_map>.
7554         (target_ops_p): Delete.
7555         (DEF_VEC_P(target_ops_p)): Delete.
7556         (target_factories): New.
7557         (test_target_info): New.
7558         (test_target_ops::info): New.
7559         (open_target): Adjust to use target_factories.
7560         (add_target_with_completer): Rename to ...
7561         (add_target): ... this.  Change prototype.  Register target_info
7562         and open callback in target_factories.  Register target_info in
7563         command context instead of target_ops.
7564         (add_target): Delete old implementation.
7565         (add_deprecated_target_alias): Change prototype.  Adjust.
7566         (the_native_target): New.
7567         (set_native_target, get_native_target): New.
7568         (find_default_run_target): Use the_native_target.
7569         (find_attach_target, find_run_target): Simplify.
7570         (target_ops::open): Delete.
7571         (dummy_target_info): New.
7572         (dummy_target::shortname, dummy_target::longname)
7573         (dummy_target::doc): Delete.
7574         (dummy_target::info): New.
7575         (debug_target::shortname, debug_target::longname)
7576         (debug_target::doc): Delete.
7577         (debug_target::info): New.
7578         * target.h (struct target_info): New.
7579         (target_ops::~target_ops): Add comment.
7580         (target_ops::info): New.
7581         (target_ops::shortname, target_ops::longname, target_ops::doc): No
7582         longer virtual.  Implement in terms of target_info.
7583         (set_native_target, get_native_target): Declare.
7584         (target_open_ftype): New.
7585         (add_target, add_target_with_completer)
7586         (add_deprecated_target_alias): Change prototype.
7587         (test_target) <shortname, longname, doc>: Delete.
7588         <info>: New.
7589         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
7590         add_inf_child_target.
7591         * tracefile-tfile.c (tfile_target_info): New.
7592         (tfile_target) <shortname, longname, doc>: Delete.
7593         <info>: New.
7594         (tfile_target::open): Rename to ...
7595         (tfile_target_open): ... this.
7596         (_initialize_tracefile_tfile): Adjust.
7597         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
7598         add_inf_child_target.
7599         * windows-nat.c (_initialize_windows_nat): Use
7600         add_inf_child_target.
7601         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
7602         add_inf_child_target.
7603
7604 2018-05-02  Pedro Alves  <palves@redhat.com>
7605
7606         * linux-nat.h (linux_nat_target) <low_new_thread,
7607         low_delete_thread, low_new_fork, low_forget_process,
7608         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
7609         New virtual methods.
7610         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7611         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
7612         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
7613         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7614         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
7615         Delete.
7616         * linux-fork.c (delete_fork): Adjust to call low method.
7617         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
7618         (linux_nat_new_fork, linux_nat_forget_process_hook)
7619         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
7620         (linux_nat_status_is_event):
7621         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
7622         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
7623         to call low method.
7624         (sigtrap_is_event): Rename to ...
7625         (linux_nat_target::low_status_is_event): ... this.
7626         (linux_nat_set_status_is_event): Delete.
7627         (save_stop_reason, linux_nat_wait_1)
7628         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
7629         low methods.
7630         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7631         (linux_nat_set_new_fork, linux_nat_set_forget_process)
7632         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7633         (linux_nat_set_prepare_to_resume): Delete.
7634         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
7635         low virtual methods.
7636         * amd64-linux-nat.c: Likewise.
7637         * arm-linux-nat.c: Likewise.
7638         * i386-linux-nat.c: Likewise.
7639         * ia64-linux-nat.c: Likewise.
7640         * mips-linux-nat.c: Likewise.
7641         * ppc-linux-nat.c: Likewise.
7642         * s390-linux-nat.c: Likewise.
7643         * sparc64-linux-nat.c: Likewise.
7644         * x86-linux-nat.c: Likewise.
7645         * x86-linux-nat.h: Include "nat/x86-linux.h".
7646         (x86_linux_nat_target) <low_new_fork, low_forget_process,
7647         low_prepare_to_resume, low_new_thread, low_delete_thread>:
7648         Override methods.
7649
7650 2018-05-02  Pedro Alves  <palves@redhat.com>
7651
7652         * target.h (target_ops)
7653         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
7654         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
7655         stopped_by_watchpoint, have_continuable_watchpoint,
7656         stopped_data_address, watchpoint_addr_within_range,
7657         can_accel_watchpoint_condition, can_run, thread_alive,
7658         has_all_memory, has_memory, has_stack, has_registers,
7659         has_execution, can_async_p, is_async_p, supports_non_stop,
7660         always_non_stop_p, can_execute_reverse, supports_multi_process,
7661         supports_enable_disable_tracepoint,
7662         supports_disable_randomization, supports_string_tracing,
7663         supports_evaluation_of_breakpoint_conditions,
7664         can_run_breakpoint_commands, filesystem_is_local,
7665         can_download_tracepoint, get_trace_state_variable_value,
7666         set_trace_notes, get_tib_address, use_agent, can_use_agent,
7667         record_is_replaying, record_will_replay,
7668         augmented_libraries_svr4_read>: Adjust to return bool.
7669         * aarch64-linux-nat.c: All implementations adjusted.
7670         * aix-thread.c: All implementations adjusted.
7671         * arm-linux-nat.c: All implementations adjusted.
7672         * breakpoint.c: All implementations adjusted.
7673         * bsd-kvm.c: All implementations adjusted.
7674         * bsd-uthread.c: All implementations adjusted.
7675         * corelow.c: All implementations adjusted.
7676         * ctf.c: All implementations adjusted.
7677         * darwin-nat.c: All implementations adjusted.
7678         * darwin-nat.h: All implementations adjusted.
7679         * exec.c: All implementations adjusted.
7680         * fbsd-nat.c: All implementations adjusted.
7681         * fbsd-nat.h: All implementations adjusted.
7682         * gnu-nat.c: All implementations adjusted.
7683         * gnu-nat.h: All implementations adjusted.
7684         * go32-nat.c: All implementations adjusted.
7685         * ia64-linux-nat.c: All implementations adjusted.
7686         * inf-child.c: All implementations adjusted.
7687         * inf-child.h: All implementations adjusted.
7688         * inf-ptrace.c: All implementations adjusted.
7689         * inf-ptrace.h: All implementations adjusted.
7690         * linux-nat.c: All implementations adjusted.
7691         * linux-nat.h: All implementations adjusted.
7692         * mips-linux-nat.c: All implementations adjusted.
7693         * nto-procfs.c: All implementations adjusted.
7694         * ppc-linux-nat.c: All implementations adjusted.
7695         * procfs.c: All implementations adjusted.
7696         * ravenscar-thread.c: All implementations adjusted.
7697         * record-btrace.c: All implementations adjusted.
7698         * record-full.c: All implementations adjusted.
7699         * remote-sim.c: All implementations adjusted.
7700         * remote.c: All implementations adjusted.
7701         * s390-linux-nat.c: All implementations adjusted.
7702         * sol-thread.c: All implementations adjusted.
7703         * spu-multiarch.c: All implementations adjusted.
7704         * target-delegates.c: All implementations adjusted.
7705         * target.c: All implementations adjusted.
7706         * target.h: All implementations adjusted.
7707         * tracefile-tfile.c: All implementations adjusted.
7708         * tracefile.c: All implementations adjusted.
7709         * tracefile.h: All implementations adjusted.
7710         * windows-nat.c: All implementations adjusted.
7711         * x86-linux-nat.h: All implementations adjusted.
7712         * x86-nat.h: All implementations adjusted.
7713
7714 2018-05-02  Pedro Alves  <palves@redhat.com>
7715
7716         * make-target-delegates (scan_target_h): Don't trim lines here.
7717         Replace sequences of tabs and/or whitespace with a single
7718         whitespace.
7719         (top level, parsing methods): Trim each line before processing it
7720         here.
7721
7722 2018-05-02  Pedro Alves  <palves@redhat.com>
7723             John Baldwin  <jhb@freebsd.org>
7724
7725         * target.h (enum strata) <debug_stratum>: New.
7726         (struct target_ops) <all delegation methods>: Replace by C++
7727         virtual methods, and drop "to_" prefix.  All references updated
7728         throughout.
7729         <to_shortname, to_longname, to_doc, to_data,
7730         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
7731         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
7732         virtual methods.  All references updated throughout.
7733         <can_attach, supports_terminal_ours, can_create_inferior,
7734         get_thread_control_capabilities, attach_no_wait>: New
7735         virtual methods.
7736         <insert_breakpoint, remove_breakpoint>: Now
7737         TARGET_DEFAULT_NORETURN methods.
7738         <info_proc>: Now returns bool.
7739         <to_magic>: Delete.
7740         (OPS_MAGIC): Delete.
7741         (current_target): Delete.  All references replaced by references
7742         to ...
7743         (target_stack): ... this.  New.
7744         (target_shortname, target_longname): Adjust.
7745         (target_can_run): Now a function declaration.
7746         (default_child_has_all_memory, default_child_has_memory)
7747         (default_child_has_stack, default_child_has_registers)
7748         (default_child_has_execution): Remove target_ops parameter.
7749         (complete_target_initialization): Delete.
7750         (memory_breakpoint_target): New template class.
7751         (test_target_ops): Refactor as a C++ class with virtual methods.
7752         * make-target-delegates (NAME_PART): Tighten.
7753         (POINTER_PART, CP_SYMBOL): New.
7754         (SIMPLE_RETURN_PART): Reimplement.
7755         (VEC_RETURN_PART): Expect less.
7756         (RETURN_PART, VIRTUAL_PART): New.
7757         (METHOD): Adjust to C++ virtual methods.
7758         (scan_target_h): Remove reference to C99.
7759         (dname): Output "target_ops::" prefix.
7760         (write_function_header): Adjust to output a C++ class method.
7761         (write_declaration): New.
7762         (write_delegator): Adjust to output a C++ class method.
7763         (tdname): Output "dummy_target::" prefix.
7764         (write_tdefault, write_debugmethod): Adjust to output a C++ class
7765         method.
7766         (tdefault_names, debug_names): Delete.
7767         (return_types, tdefaults, styles, argtypes_array): New.
7768         (top level): All methods are delegators.
7769         (print_class): New.
7770         (top level): Print dummy_target and debug_target classes.
7771         * target-delegates.c: Regenerate.
7772         * target-debug.h (target_debug_print_enum_info_proc_what)
7773         (target_debug_print_thread_control_capabilities)
7774         (target_debug_print_thread_info_p): New.
7775         * target.c (dummy_target): Delete.
7776         (the_dummy_target, the_debug_target): New.
7777         (target_stack): Now extern.
7778         (set_targetdebug): Push/unpush debug target.
7779         (default_child_has_all_memory, default_child_has_memory)
7780         (default_child_has_stack, default_child_has_registers)
7781         (default_child_has_execution): Remove target_ops parameter.
7782         (complete_target_initialization): Delete.
7783         (add_target_with_completer): No longer call
7784         complete_target_initialization.
7785         (target_supports_terminal_ours): Use regular delegation.
7786         (update_current_target): Delete.
7787         (push_target): No longer check magic number.  Don't call
7788         update_current_target.
7789         (unpush_target): Don't call update_current_target.
7790         (target_is_pushed): No longer check magic number.
7791         (target_require_runnable): Skip for all stratums over
7792         process_stratum.
7793         (target_ops::info_proc): New.
7794         (target_info_proc): Use find_target_at and
7795         find_default_run_target.
7796         (target_supports_disable_randomization): Use regular delegation.
7797         (target_get_osdata): Use find_target_at.
7798         (target_ops::open, target_ops::close, target_ops::can_attach)
7799         (target_ops::attach, target_ops::can_create_inferior)
7800         (target_ops::create_inferior, target_ops::can_run)
7801         (target_can_run): New.
7802         (default_fileio_target): Use regular delegation.
7803         (target_ops::fileio_open, target_ops::fileio_pwrite)
7804         (target_ops::fileio_pread, target_ops::fileio_fstat)
7805         (target_ops::fileio_close, target_ops::fileio_unlink)
7806         (target_ops::fileio_readlink): New.
7807         (target_fileio_open_1, target_fileio_unlink)
7808         (target_fileio_readlink): Always call the target method.  Handle
7809         FILEIO_ENOSYS.
7810         (return_zero, return_zero_has_execution): Delete.
7811         (init_dummy_target): Delete.
7812         (dummy_target::dummy_target, dummy_target::shortname)
7813         (dummy_target::longname, dummy_target::doc)
7814         (debug_target::debug_target, debug_target::shortname)
7815         (debug_target::longname, debug_target::doc): New.
7816         (target_supports_delete_record): Use regular delegation.
7817         (setup_target_debug): Delete.
7818         (maintenance_print_target_stack): Skip debug_stratum.
7819         (initialize_targets): Instantiate the_dummy_target and
7820         the_debug_target.
7821         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
7822         use target_stack.
7823         (target_auxv_search, fprint_target_auxv): Adjust.
7824         (info_auxv_command): Adjust to use target_stack.
7825         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
7826         * exceptions.c (print_flush): Handle a NULL target_stack.
7827         * regcache.c (target_ops_no_register): Refactor as class with
7828         virtual methods.
7829
7830         * exec.c (exec_target): New class.
7831         (exec_ops): Now an exec_target.
7832         (exec_open, exec_close_1, exec_get_section_table)
7833         (exec_xfer_partial, exec_files_info, exec_has_memory)
7834         (exec_make_note_section): Refactor as exec_target methods.
7835         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
7836         Delete.
7837         (exec_target::find_memory_regions): New.
7838         (_initialize_exec): Don't call init_exec_ops.
7839         * gdbcore.h (exec_file_clear): Delete.
7840
7841         * corefile.c (core_target): Delete.
7842         (core_file_command): Adjust.
7843         * corelow.c (core_target): New class.
7844         (the_core_target): New.
7845         (core_close): Remove target_ops parameter.
7846         (core_close_cleanup): Adjust.
7847         (core_target::close): New.
7848         (core_open, core_detach, get_core_registers, core_files_info)
7849         (core_xfer_partial, core_thread_alive, core_read_description)
7850         (core_pid_to_str, core_thread_name, core_has_memory)
7851         (core_has_stack, core_has_registers, core_info_proc): Rework as
7852         core_target methods.
7853         (ignore, core_remove_breakpoint, init_core_ops): Delete.
7854         (_initialize_corelow): Initialize the_core_target.
7855         * gdbcore.h (core_target): Delete.
7856         (the_core_target): New.
7857
7858         * ctf.c: (ctf_target): New class.
7859         (ctf_ops): Now a ctf_target.
7860         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
7861         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
7862         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
7863         methods.
7864         (init_ctf_ops): Delete.
7865         (_initialize_ctf): Don't call it.
7866         * tracefile-tfile.c (tfile_target): New class.
7867         (tfile_ops): Now a tfile_target.
7868         (tfile_open, tfile_close, tfile_files_info)
7869         (tfile_get_tracepoint_status, tfile_trace_find)
7870         (tfile_fetch_registers, tfile_xfer_partial)
7871         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
7872         Refactor as tfile_target methods.
7873         (tfile_xfer_partial_features): Remove target_ops parameter.
7874         (init_tfile_ops): Delete.
7875         (_initialize_tracefile_tfile): Don't call it.
7876         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
7877         (tracefile_has_stack, tracefile_has_registers)
7878         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
7879         tracefile_target methods.
7880         (init_tracefile_ops): Delete.
7881         (tracefile_target::tracefile_target): New.
7882         * tracefile.h: Include "target.h".
7883         (tracefile_target): New class.
7884         (init_tracefile_ops): Delete.
7885
7886         * spu-multiarch.c (spu_multiarch_target): New class.
7887         (spu_ops): Now a spu_multiarch_target.
7888         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
7889         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
7890         (spu_search_memory, spu_mourn_inferior): Refactor as
7891         spu_multiarch_target methods.
7892         (init_spu_ops): Delete.
7893         (_initialize_spu_multiarch): Remove references to init_spu_ops,
7894         complete_target_initialization.
7895
7896         * ravenscar-thread.c (ravenscar_thread_target): New class.
7897         (ravenscar_ops): Now a ravenscar_thread_target.
7898         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
7899         (ravenscar_thread_alive, ravenscar_pid_to_str)
7900         (ravenscar_fetch_registers, ravenscar_store_registers)
7901         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
7902         (ravenscar_stopped_by_hw_breakpoint)
7903         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
7904         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
7905         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
7906         methods.
7907         (init_ravenscar_thread_ops): Delete.
7908         (_initialize_ravenscar): Remove references to
7909         init_ravenscar_thread_ops and complete_target_initialization.
7910
7911         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
7912         (bsd_uthread_target): New class.
7913         (bsd_uthread_ops): Now a bsd_uthread_target.
7914         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
7915         (bsd_uthread_close, bsd_uthread_mourn_inferior)
7916         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
7917         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
7918         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
7919         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
7920         (bsd_uthread_target): Delete function.
7921         (_initialize_bsd_uthread): Remove reference to
7922         complete_target_initialization.
7923
7924         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
7925         (target_bfd): ... this new class.
7926         (target_bfd_xfer_partial, target_bfd_get_section_table)
7927         (target_bfd_close): Refactor as target_bfd methods.
7928         (target_bfd::~target_bfd): New.
7929         (target_bfd_reopen): Adjust.
7930         (target_bfd::close): New.
7931
7932         * record-btrace.c (record_btrace_target): New class.
7933         (record_btrace_ops): Now a record_btrace_target.
7934         (record_btrace_open, record_btrace_stop_recording)
7935         (record_btrace_disconnect, record_btrace_close)
7936         (record_btrace_async, record_btrace_info)
7937         (record_btrace_insn_history, record_btrace_insn_history_range)
7938         (record_btrace_insn_history_from, record_btrace_call_history)
7939         (record_btrace_call_history_range)
7940         (record_btrace_call_history_from, record_btrace_record_method)
7941         (record_btrace_is_replaying, record_btrace_will_replay)
7942         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7943         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7944         (record_btrace_store_registers, record_btrace_prepare_to_store)
7945         (record_btrace_to_get_unwinder)
7946         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7947         (record_btrace_commit_resume, record_btrace_wait)
7948         (record_btrace_stop, record_btrace_can_execute_reverse)
7949         (record_btrace_stopped_by_sw_breakpoint)
7950         (record_btrace_supports_stopped_by_sw_breakpoint)
7951         (record_btrace_stopped_by_hw_breakpoint)
7952         (record_btrace_supports_stopped_by_hw_breakpoint)
7953         (record_btrace_update_thread_list, record_btrace_thread_alive)
7954         (record_btrace_goto_begin, record_btrace_goto_end)
7955         (record_btrace_goto, record_btrace_stop_replaying_all)
7956         (record_btrace_execution_direction)
7957         (record_btrace_prepare_to_generate_core)
7958         (record_btrace_done_generating_core): Refactor as
7959         record_btrace_target methods.
7960         (init_record_btrace_ops): Delete.
7961         (_initialize_record_btrace): Remove reference to
7962         init_record_btrace_ops.
7963         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7964         the execution_direction global.
7965         (record_full_base_target, record_full_target)
7966         (record_full_core_target): New classes.
7967         (record_full_ops): Now a record_full_target.
7968         (record_full_core_ops): Now a record_full_core_target.
7969         (record_full_target::detach, record_full_target::disconnect)
7970         (record_full_core_target::disconnect)
7971         (record_full_target::mourn_inferior, record_full_target::kill):
7972         New.
7973         (record_full_open, record_full_close, record_full_async): Refactor
7974         as methods of the record_full_base_target class.
7975         (record_full_resume, record_full_commit_resume): Refactor
7976         as methods of the record_full_target class.
7977         (record_full_wait, record_full_stopped_by_watchpoint)
7978         (record_full_stopped_data_address)
7979         (record_full_stopped_by_sw_breakpoint)
7980         (record_full_supports_stopped_by_sw_breakpoint)
7981         (record_full_stopped_by_hw_breakpoint)
7982         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7983         methods of the record_full_base_target class.
7984         (record_full_store_registers, record_full_xfer_partial)
7985         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7986         Refactor as methods of the record_full_target class.
7987         (record_full_can_execute_reverse, record_full_get_bookmark)
7988         (record_full_goto_bookmark, record_full_execution_direction)
7989         (record_full_record_method, record_full_info, record_full_delete)
7990         (record_full_is_replaying, record_full_will_replay)
7991         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7992         (record_full_stop_replaying): Refactor as methods of the
7993         record_full_base_target class.
7994         (record_full_core_resume, record_full_core_kill)
7995         (record_full_core_fetch_registers)
7996         (record_full_core_prepare_to_store)
7997         (record_full_core_store_registers, record_full_core_xfer_partial)
7998         (record_full_core_insert_breakpoint)
7999         (record_full_core_remove_breakpoint)
8000         (record_full_core_has_execution): Refactor
8001         as methods of the record_full_core_target class.
8002         (record_full_base_target::supports_delete_record): New.
8003         (init_record_full_ops): Delete.
8004         (init_record_full_core_ops): Delete.
8005         (record_full_save): Refactor as method of the
8006         record_full_base_target class.
8007         (_initialize_record_full): Remove references to
8008         init_record_full_ops and init_record_full_core_ops.
8009
8010         * remote.c (remote_target, extended_remote_target): New classes.
8011         (remote_ops): Now a remote_target.
8012         (extended_remote_ops): Now an extended_remote_target.
8013         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8014         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8015         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8016         (remote_pass_signals, remote_set_syscall_catchpoint)
8017         (remote_program_signals, )
8018         (remote_thread_always_alive): Remove target_ops parameter.
8019         (remote_thread_alive, remote_thread_name)
8020         (remote_update_thread_list, remote_threads_extra_info)
8021         (remote_static_tracepoint_marker_at)
8022         (remote_static_tracepoint_markers_by_strid)
8023         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8024         (remote_open): Refactor as methods of remote_target.
8025         (extended_remote_open, extended_remote_detach)
8026         (extended_remote_attach, extended_remote_post_attach):
8027         (extended_remote_supports_disable_randomization)
8028         (extended_remote_create_inferior): : Refactor as method of
8029         extended_remote_target.
8030         (remote_set_permissions, remote_open_1, remote_detach)
8031         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8032         (remote_resume, remote_commit_resume, remote_stop)
8033         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8034         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8035         (remote_prepare_to_store, remote_store_registers)
8036         (remote_flash_erase, remote_flash_done, remote_files_info)
8037         (remote_kill, remote_mourn, remote_insert_breakpoint)
8038         (remote_remove_breakpoint, remote_insert_watchpoint)
8039         (remote_watchpoint_addr_within_range)
8040         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8041         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8042         (remote_supports_stopped_by_sw_breakpoint)
8043         (remote_stopped_by_hw_breakpoint)
8044         (remote_supports_stopped_by_hw_breakpoint)
8045         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8046         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8047         (remote_verify_memory): Refactor as methods of remote_target.
8048         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8049         parameter.
8050         (remote_xfer_partial, remote_get_memory_xfer_limit)
8051         (remote_search_memory, remote_rcmd, remote_memory_map)
8052         (remote_pid_to_str, remote_get_thread_local_address)
8053         (remote_get_tib_address, remote_read_description): Refactor as
8054         methods of remote_target.
8055         (remote_target::fileio_open, remote_target::fileio_pwrite)
8056         (remote_target::fileio_pread, remote_target::fileio_close): New.
8057         (remote_hostio_readlink, remote_hostio_fstat)
8058         (remote_filesystem_is_local, remote_can_execute_reverse)
8059         (remote_supports_non_stop, remote_supports_disable_randomization)
8060         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8061         (remote_supports_enable_disable_tracepoint)
8062         (remote_supports_string_tracing)
8063         (remote_can_run_breakpoint_commands, remote_trace_init)
8064         (remote_download_tracepoint, remote_can_download_tracepoint)
8065         (remote_download_trace_state_variable, remote_enable_tracepoint)
8066         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8067         (remote_trace_start, remote_get_trace_status)
8068         (remote_get_tracepoint_status, remote_trace_stop)
8069         (remote_trace_find, remote_get_trace_state_variable_value)
8070         (remote_save_trace_data, remote_get_raw_trace_data)
8071         (remote_set_disconnected_tracing, remote_core_of_thread)
8072         (remote_set_circular_trace_buffer, remote_traceframe_info)
8073         (remote_get_min_fast_tracepoint_insn_len)
8074         (remote_set_trace_buffer_size, remote_set_trace_notes)
8075         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8076         (remote_disable_btrace, remote_teardown_btrace)
8077         (remote_read_btrace, remote_btrace_conf)
8078         (remote_augmented_libraries_svr4_read, remote_load)
8079         (remote_pid_to_exec_file, remote_can_do_single_step)
8080         (remote_execution_direction, remote_thread_handle_to_thread_info):
8081         Refactor as methods of remote_target.
8082         (init_remote_ops, init_extended_remote_ops): Delete.
8083         (remote_can_async_p, remote_is_async_p, remote_async)
8084         (remote_thread_events, remote_upload_tracepoints)
8085         (remote_upload_trace_state_variables): Refactor as methods of
8086         remote_target.
8087         (_initialize_remote): Remove references to init_remote_ops and
8088         init_extended_remote_ops.
8089
8090         * remote-sim.c (gdbsim_target): New class.
8091         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
8092         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
8093         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
8094         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
8095         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
8096         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
8097         Refactor as methods of gdbsim_target.
8098         (gdbsim_ops): Now a gdbsim_target.
8099         (init_gdbsim_ops): Delete.
8100         (gdbsim_cntrl_c): Adjust.
8101         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
8102
8103         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
8104         (the_amd64_linux_nat_target): New.
8105         (amd64_linux_fetch_inferior_registers)
8106         (amd64_linux_store_inferior_registers): Refactor as methods of
8107         amd64_linux_nat_target.
8108         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
8109         * i386-linux-nat.c: Don't include "linux-nat.h".
8110         (i386_linux_nat_target): New class.
8111         (the_i386_linux_nat_target): New.
8112         (i386_linux_fetch_inferior_registers)
8113         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
8114         as methods of i386_linux_nat_target.
8115         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
8116         * inf-child.c (inf_child_ops): Delete.
8117         (inf_child_fetch_inferior_registers)
8118         (inf_child_store_inferior_registers): Delete.
8119         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
8120         methods of inf_child_target.
8121         (inf_child_target::supports_terminal_ours)
8122         (inf_child_target::terminal_init)
8123         (inf_child_target::terminal_inferior)
8124         (inf_child_target::terminal_ours_for_output)
8125         (inf_child_target::terminal_ours, inf_child_target::interrupt)
8126         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
8127         New.
8128         (inf_child_open, inf_child_disconnect, inf_child_close)
8129         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
8130         (inf_child_post_startup_inferior, inf_child_can_run)
8131         (inf_child_pid_to_exec_file): Refactor as methods of
8132         inf_child_target.
8133         (inf_child_follow_fork): Delete.
8134         (inf_child_target::can_create_inferior)
8135         (inf_child_target::can_attach): New.
8136         (inf_child_target::has_all_memory, inf_child_target::has_memory)
8137         (inf_child_target::has_stack, inf_child_target::has_registers)
8138         (inf_child_target::has_execution): New.
8139         (inf_child_fileio_open, inf_child_fileio_pwrite)
8140         (inf_child_fileio_pread, inf_child_fileio_fstat)
8141         (inf_child_fileio_close, inf_child_fileio_unlink)
8142         (inf_child_fileio_readlink, inf_child_use_agent)
8143         (inf_child_can_use_agent): Refactor as methods of
8144         inf_child_target.
8145         (return_zero, inf_child_target): Delete.
8146         (inf_child_target::inf_child_target): New.
8147         * inf-child.h: Include "target.h".
8148         (inf_child_target): Delete function prototype.
8149         (inf_child_target): New class.
8150         (inf_child_open_target, inf_child_mourn_inferior)
8151         (inf_child_maybe_unpush_target): Delete.
8152         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
8153         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
8154         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
8155         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
8156         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
8157         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
8158         (inf_ptrace_wait, inf_ptrace_xfer_partial)
8159         (inf_ptrace_thread_alive, inf_ptrace_files_info)
8160         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
8161         methods of inf_ptrace_target.
8162         (inf_ptrace_target): Delete function.
8163         * inf-ptrace.h: Include "inf-child.h".
8164         (inf_ptrace_target): Delete function declaration.
8165         (inf_ptrace_target): New class.
8166         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
8167         * linux-nat.c (linux_target): New.
8168         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
8169         (linux_nat_target::~linux_nat_target): New.
8170         (linux_child_post_attach, linux_child_post_startup_inferior)
8171         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
8172         (linux_child_remove_fork_catchpoint)
8173         (linux_child_insert_vfork_catchpoint)
8174         (linux_child_remove_vfork_catchpoint)
8175         (linux_child_insert_exec_catchpoint)
8176         (linux_child_remove_exec_catchpoint)
8177         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
8178         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
8179         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
8180         (linux_nat_stopped_data_address)
8181         (linux_nat_stopped_by_sw_breakpoint)
8182         (linux_nat_supports_stopped_by_sw_breakpoint)
8183         (linux_nat_stopped_by_hw_breakpoint)
8184         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
8185         (linux_nat_kill, linux_nat_mourn_inferior)
8186         (linux_nat_xfer_partial, linux_nat_thread_alive)
8187         (linux_nat_update_thread_list, linux_nat_pid_to_str)
8188         (linux_nat_thread_name, linux_child_pid_to_exec_file)
8189         (linux_child_static_tracepoint_markers_by_strid)
8190         (linux_nat_is_async_p, linux_nat_can_async_p)
8191         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
8192         (linux_nat_supports_multi_process)
8193         (linux_nat_supports_disable_randomization, linux_nat_async)
8194         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
8195         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
8196         (linux_nat_fileio_open, linux_nat_fileio_readlink)
8197         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
8198         methods of linux_nat_target.
8199         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
8200         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
8201         parameter.
8202         (check_stopped_by_watchpoint): Adjust.
8203         (linux_xfer_partial): Delete.
8204         (linux_target_install_ops, linux_target, linux_nat_add_target):
8205         Delete.
8206         (linux_nat_target::linux_nat_target): New.
8207         * linux-nat.h: Include "inf-ptrace.h".
8208         (linux_nat_target): New.
8209         (linux_target, linux_target_install_ops, linux_nat_add_target):
8210         Delete function declarations.
8211         (linux_target): Declare global.
8212         * linux-thread-db.c (thread_db_target): New.
8213         (thread_db_target::thread_db_target): New.
8214         (thread_db_ops): Delete.
8215         (the_thread_db_target): New.
8216         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
8217         (thread_db_update_thread_list, thread_db_pid_to_str)
8218         (thread_db_extra_thread_info)
8219         (thread_db_thread_handle_to_thread_info)
8220         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
8221         (thread_db_resume): Refactor as methods of thread_db_target.
8222         (init_thread_db_ops): Delete.
8223         (_initialize_thread_db): Remove reference to init_thread_db_ops.
8224         * x86-linux-nat.c: Don't include "linux-nat.h".
8225         (super_post_startup_inferior): Delete.
8226         (x86_linux_nat_target::~x86_linux_nat_target): New.
8227         (x86_linux_child_post_startup_inferior)
8228         (x86_linux_read_description, x86_linux_enable_btrace)
8229         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
8230         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
8231         methods of x86_linux_nat_target.
8232         (x86_linux_create_target): Delete.  Bits folded ...
8233         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
8234         pointer.
8235         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
8236         (x86_linux_nat_target): New class.
8237         (x86_linux_create_target): Delete.
8238         (x86_linux_add_target): Now takes a linux_nat_target pointer.
8239         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
8240         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
8241         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
8242         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
8243         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
8244         make extern.
8245         (x86_use_watchpoints): Delete.
8246         * x86-nat.h: Include "breakpoint.h" and "target.h".
8247         (x86_use_watchpoints): Delete.
8248         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
8249         (x86_stopped_by_watchpoint, x86_stopped_data_address)
8250         (x86_insert_watchpoint, x86_remove_watchpoint)
8251         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
8252         (x86_stopped_by_hw_breakpoint): New declarations.
8253         (x86_nat_target): New template class.
8254
8255         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
8256         (the_ppc_linux_nat_target): New.
8257         (ppc_linux_fetch_inferior_registers)
8258         (ppc_linux_can_use_hw_breakpoint)
8259         (ppc_linux_region_ok_for_hw_watchpoint)
8260         (ppc_linux_ranged_break_num_registers)
8261         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
8262         (ppc_linux_insert_mask_watchpoint)
8263         (ppc_linux_remove_mask_watchpoint)
8264         (ppc_linux_can_accel_watchpoint_condition)
8265         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
8266         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
8267         (ppc_linux_watchpoint_addr_within_range)
8268         (ppc_linux_masked_watch_num_registers)
8269         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
8270         (ppc_linux_read_description): Refactor as methods of
8271         ppc_linux_nat_target.
8272         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
8273
8274         * procfs.c (procfs_xfer_partial): Delete forward declaration.
8275         (procfs_target): New class.
8276         (the_procfs_target): New.
8277         (procfs_target): Delete function.
8278         (procfs_auxv_parse, procfs_attach, procfs_detach)
8279         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
8280         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
8281         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
8282         (procfs_create_inferior, procfs_update_thread_list)
8283         (procfs_thread_alive, procfs_pid_to_str)
8284         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
8285         (procfs_stopped_data_address, procfs_insert_watchpoint)
8286         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
8287         (proc_find_memory_regions, procfs_info_proc)
8288         (procfs_make_note_section): Refactor as methods of procfs_target.
8289         (_initialize_procfs): Adjust.
8290         * sol-thread.c (sol_thread_target): New class.
8291         (sol_thread_ops): Now a sol_thread_target.
8292         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
8293         (sol_thread_fetch_registers, sol_thread_store_registers)
8294         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
8295         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
8296         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
8297         (init_sol_thread_ops): Delete.
8298         (_initialize_sol_thread): Adjust.  Remove references to
8299         init_sol_thread_ops and complete_target_initialization.
8300
8301         * windows-nat.c (windows_nat_target): New class.
8302         (windows_fetch_inferior_registers)
8303         (windows_store_inferior_registers, windows_resume, windows_wait)
8304         (windows_attach, windows_detach, windows_pid_to_exec_file)
8305         (windows_files_info, windows_create_inferior)
8306         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
8307         (windows_close, windows_pid_to_str, windows_xfer_partial)
8308         (windows_get_tib_address, windows_get_ada_task_ptid)
8309         (windows_thread_name, windows_thread_alive): Refactor as
8310         windows_nat_target methods.
8311         (do_initial_windows_stuff): Adjust.
8312         (windows_target): Delete function.
8313         (_initialize_windows_nat): Adjust.
8314
8315         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
8316         (darwin_mourn_inferior, darwin_kill_inferior)
8317         (darwin_create_inferior, darwin_attach, darwin_detach)
8318         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
8319         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
8320         (darwin_supports_multi_process): Refactor as darwin_nat_target
8321         methods.
8322         (darwin_resume_to, darwin_files_info): Delete.
8323         (_initialize_darwin_inferior): Rename to ...
8324         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
8325         * darwin-nat.h: Include "inf-child.h".
8326         (darwin_nat_target): New class.
8327         (darwin_complete_target): Delete.
8328         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
8329         (darwin_target): New.
8330         (i386_darwin_fetch_inferior_registers)
8331         (i386_darwin_store_inferior_registers): Refactor as methods of
8332         darwin_nat_target.
8333         (darwin_complete_target): Delete, with ...
8334         (_initialize_i386_darwin_nat): ... bits factored out here.
8335
8336         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
8337         (the_alpha_linux_nat_target): New.
8338         (alpha_linux_register_u_offset): Refactor as
8339         alpha_linux_nat_target method.
8340         (_initialize_alpha_linux_nat): Adjust.
8341         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
8342         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8343         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
8344         methods of linux_nat_trad_target.
8345         (linux_trad_target): Delete.
8346         * linux-nat-trad.h (linux_trad_target): Delete function.
8347         (linux_nat_trad_target): New class.
8348         * mips-linux-nat.c (mips_linux_nat_target): New class.
8349         (super_fetch_registers, super_store_registers, super_close):
8350         Delete.
8351         (the_mips_linux_nat_target): New.
8352         (mips64_linux_regsets_fetch_registers)
8353         (mips64_linux_regsets_store_registers)
8354         (mips64_linux_fetch_registers, mips64_linux_store_registers)
8355         (mips_linux_register_u_offset, mips_linux_read_description)
8356         (mips_linux_can_use_hw_breakpoint)
8357         (mips_linux_stopped_by_watchpoint)
8358         (mips_linux_stopped_data_address)
8359         (mips_linux_region_ok_for_hw_watchpoint)
8360         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8361         (mips_linux_close): Refactor as methods of mips_linux_nat.
8362         (_initialize_mips_linux_nat): Adjust to C++ification.
8363
8364         * aix-thread.c (aix_thread_target): New class.
8365         (aix_thread_ops): Now an aix_thread_target.
8366         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8367         (aix_thread_fetch_registers, aix_thread_store_registers)
8368         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8369         (aix_thread_thread_alive, aix_thread_pid_to_str)
8370         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8371         Refactor as methods of aix_thread_target.
8372         (init_aix_thread_ops): Delete.
8373         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8374         and complete_target_initialization.
8375         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8376         (rs6000_nat_target): New class.
8377         (the_rs6000_nat_target): New.
8378         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8379         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8380         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8381         (super_create_inferior): Delete.
8382         (_initialize_rs6000_nat): Adjust to C++ification.
8383
8384         * arm-linux-nat.c (arm_linux_nat_target): New class.
8385         (the_arm_linux_nat_target): New.
8386         (arm_linux_fetch_inferior_registers)
8387         (arm_linux_store_inferior_registers, arm_linux_read_description)
8388         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8389         (arm_linux_remove_hw_breakpoint)
8390         (arm_linux_region_ok_for_hw_watchpoint)
8391         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8392         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8393         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8394         arm_linux_nat_target.
8395         (_initialize_arm_linux_nat): Adjust to C++ification.
8396
8397         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8398         (the_aarch64_linux_nat_target): New.
8399         (aarch64_linux_fetch_inferior_registers)
8400         (aarch64_linux_store_inferior_registers)
8401         (aarch64_linux_child_post_startup_inferior)
8402         (aarch64_linux_read_description)
8403         (aarch64_linux_can_use_hw_breakpoint)
8404         (aarch64_linux_insert_hw_breakpoint)
8405         (aarch64_linux_remove_hw_breakpoint)
8406         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8407         (aarch64_linux_region_ok_for_hw_watchpoint)
8408         (aarch64_linux_stopped_data_address)
8409         (aarch64_linux_stopped_by_watchpoint)
8410         (aarch64_linux_watchpoint_addr_within_range)
8411         (aarch64_linux_can_do_single_step): Refactor as methods of
8412         aarch64_linux_nat_target.
8413         (super_post_startup_inferior): Delete.
8414         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8415
8416         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8417         (the_hppa_linux_nat_target): New.
8418         (hppa_linux_fetch_inferior_registers)
8419         (hppa_linux_store_inferior_registers): Refactor as methods of
8420         hppa_linux_nat_target.
8421         (_initialize_hppa_linux_nat): Adjust to C++ification.
8422
8423         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8424         (the_ia64_linux_nat_target): New.
8425         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8426         (ia64_linux_stopped_data_address)
8427         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8428         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8429         ia64_linux_nat_target methods.
8430         (super_xfer_partial): Delete.
8431         (_initialize_ia64_linux_nat): Adjust to C++ification.
8432
8433         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8434         (the_m32r_linux_nat_target): New.
8435         (m32r_linux_fetch_inferior_registers)
8436         (m32r_linux_store_inferior_registers): Refactor as
8437         m32r_linux_nat_target methods.
8438         (_initialize_m32r_linux_nat): Adjust to C++ification.
8439
8440         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8441         (the_m68k_linux_nat_target): New.
8442         (m68k_linux_fetch_inferior_registers)
8443         (m68k_linux_store_inferior_registers): Refactor as
8444         m68k_linux_nat_target methods.
8445         (_initialize_m68k_linux_nat): Adjust to C++ification.
8446
8447         * s390-linux-nat.c (s390_linux_nat_target): New class.
8448         (the_s390_linux_nat_target): New.
8449         (s390_linux_fetch_inferior_registers)
8450         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8451         (s390_insert_watchpoint, s390_remove_watchpoint)
8452         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8453         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8454         (s390_auxv_parse, s390_read_description): Refactor as methods of
8455         s390_linux_nat_target.
8456         (_initialize_s390_nat): Adjust to C++ification.
8457
8458         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8459         (the_sparc_linux_nat_target): New.
8460         (_initialize_sparc_linux_nat): Adjust to C++ification.
8461         * sparc-nat.c (sparc_fetch_inferior_registers)
8462         (sparc_store_inferior_registers): Remove target_ops parameter.
8463         * sparc-nat.h (sparc_fetch_inferior_registers)
8464         (sparc_store_inferior_registers): Remove target_ops parameter.
8465         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8466         (the_sparc64_linux_nat_target): New.
8467         (_initialize_sparc64_linux_nat): Adjust to C++ification.
8468
8469         * spu-linux-nat.c (spu_linux_nat_target): New class.
8470         (the_spu_linux_nat_target): New.
8471         (spu_child_post_startup_inferior, spu_child_post_attach)
8472         (spu_child_wait, spu_fetch_inferior_registers)
8473         (spu_store_inferior_registers, spu_xfer_partial)
8474         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
8475         methods.
8476         (_initialize_spu_nat): Adjust to C++ification.
8477
8478         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
8479         (the_tilegx_linux_nat_target): New.
8480         (fetch_inferior_registers, store_inferior_registers):
8481         Refactor as methods.
8482         (_initialize_tile_linux_nat): Adjust to C++ification.
8483
8484         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
8485         (the_xtensa_linux_nat_target): New.
8486         (xtensa_linux_fetch_inferior_registers)
8487         (xtensa_linux_store_inferior_registers): Refactor as
8488         xtensa_linux_nat_target methods.
8489         (_initialize_xtensa_linux_nat): Adjust to C++ification.
8490
8491         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
8492         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
8493         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
8494         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
8495         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
8496         (fbsd_stopped_by_sw_breakpoint)
8497         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
8498         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
8499         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
8500         (fbsd_post_startup_inferior, fbsd_post_attach)
8501         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
8502         (fbsd_set_syscall_catchpoint)
8503         (super_xfer_partial, super_resume, super_wait)
8504         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
8505         (fbsd_handle_debug_trap): Remove target_ops parameter.
8506         (fbsd_nat_add_target): Delete.
8507         * fbsd-nat.h: Include "inf-ptrace.h".
8508         (fbsd_nat_add_target): Delete.
8509         (USE_SIGTRAP_SIGINFO): Define.
8510         (fbsd_nat_target): New class.
8511
8512         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
8513         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
8514         (amd64bsd_target): Delete.
8515         * amd64-bsd-nat.h: New file.
8516         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
8517         "x86-bsd-nat.h".
8518         (amd64_fbsd_nat_target): New class.
8519         (the_amd64_fbsd_nat_target): New.
8520         (amd64fbsd_read_description): Refactor as method of
8521         amd64_fbsd_nat_target.
8522         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8523         (_initialize_amd64fbsd_nat): Adjust to C++ification.
8524         * amd64-nat.h (amd64bsd_target): Delete function declaration.
8525         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
8526         (i386bsd_store_inferior_registers): Remove target_ops parameter.
8527         (i386bsd_target): Delete.
8528         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
8529         (i386bsd_fetch_inferior_registers)
8530         (i386bsd_store_inferior_registers): Declare.
8531         (i386_bsd_nat_target): New class.
8532         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
8533         (the_i386_fbsd_nat_target): New.
8534         (i386fbsd_resume, i386fbsd_read_description): Refactor as
8535         i386_fbsd_nat_target methods.
8536         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8537         (_initialize_i386fbsd_nat): Adjust to C++ification.
8538         * x86-bsd-nat.c (super_mourn_inferior): Delete.
8539         (x86bsd_mourn_inferior, x86bsd_target): Delete.
8540         (_initialize_x86_bsd_nat): Adjust to C++ification.
8541         * x86-bsd-nat.h: Include "x86-nat.h".
8542         (x86bsd_target): Delete declaration.
8543         (x86bsd_nat_target): New class.
8544
8545         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
8546         (the_aarch64_fbsd_nat_target): New.
8547         (aarch64_fbsd_fetch_inferior_registers)
8548         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
8549         aarch64_fbsd_nat_target.
8550         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
8551         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
8552         (the_alpha_bsd_nat_target): New.
8553         (alphabsd_fetch_inferior_registers)
8554         (alphabsd_store_inferior_registers): Refactor as
8555         alpha_bsd_nat_target methods.
8556         (_initialize_alphabsd_nat): Refactor as methods of
8557         alpha_bsd_nat_target.
8558         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
8559         (the_amd64_nbsd_nat_target): New.
8560         (_initialize_amd64nbsd_nat): Adjust to C++ification.
8561         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
8562         (the_amd64_obsd_nat_target): New.
8563         (_initialize_amd64obsd_nat): Adjust to C++ification.
8564         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
8565         (the_arm_fbsd_nat_target): New.
8566         (arm_fbsd_fetch_inferior_registers)
8567         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
8568         (_initialize_arm_fbsd_nat): Refactor as methods of
8569         arm_fbsd_nat_target.
8570         (_initialize_arm_fbsd_nat): Adjust to C++ification.
8571         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
8572         (the_arm_netbsd_nat_target): New.
8573         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
8574         arm_netbsd_nat_target.
8575         (_initialize_arm_netbsd_nat): Adjust to C++ification.
8576         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
8577         (the_hppa_nbsd_nat_target): New.
8578         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
8579         hppa_nbsd_nat_target methods.
8580         (_initialize_hppanbsd_nat): Adjust to C++ification.
8581         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
8582         (the_hppa_obsd_nat_target): New.
8583         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
8584         methods of hppa_obsd_nat_target.
8585         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
8586         add_target.
8587         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
8588         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
8589         add_target.
8590         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
8591         (_initialize_i386obsd_nat): Use add_target.
8592         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
8593         (the_m68k_bsd_nat_target): New.
8594         (m68kbsd_fetch_inferior_registers)
8595         (m68kbsd_store_inferior_registers): Refactor as methods of
8596         m68k_bsd_nat_target.
8597         (_initialize_m68kbsd_nat): Adjust to C++ification.
8598         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
8599         (the_mips_fbsd_nat_target): New.
8600         (mips_fbsd_fetch_inferior_registers)
8601         (mips_fbsd_store_inferior_registers): Refactor as methods of
8602         mips_fbsd_nat_target.
8603         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
8604         add_target.
8605         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
8606         (the_mips_nbsd_nat_target): New.
8607         (mipsnbsd_fetch_inferior_registers)
8608         (mipsnbsd_store_inferior_registers): Refactor as methods of
8609         mips_nbsd_nat_target.
8610         (_initialize_mipsnbsd_nat): Adjust to C++ification.
8611         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
8612         (the_mips64_obsd_nat_target): New.
8613         (mips64obsd_fetch_inferior_registers)
8614         (mips64obsd_store_inferior_registers): Refactor as methods of
8615         mips64_obsd_nat_target.
8616         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
8617         add_target.
8618         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
8619         nbsd_nat_target.
8620         * nbsd-nat.h: Include "inf-ptrace.h".
8621         (nbsd_nat_target): New class.
8622         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
8623         (obsd_wait): Refactor as methods of obsd_nat_target.
8624         (obsd_add_target): Delete.
8625         * obsd-nat.h: Include "inf-ptrace.h".
8626         (obsd_nat_target): New class.
8627         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
8628         (the_ppc_fbsd_nat_target): New.
8629         (ppcfbsd_fetch_inferior_registers)
8630         (ppcfbsd_store_inferior_registers): Refactor as methods of
8631         ppc_fbsd_nat_target.
8632         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
8633         add_target.
8634         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
8635         (the_ppc_nbsd_nat_target): New.
8636         (ppcnbsd_fetch_inferior_registers)
8637         (ppcnbsd_store_inferior_registers): Refactor as methods of
8638         ppc_nbsd_nat_target.
8639         (_initialize_ppcnbsd_nat): Adjust to C++ification.
8640         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
8641         (the_ppc_obsd_nat_target): New.
8642         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
8643         methods of ppc_obsd_nat_target.
8644         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
8645         add_target.
8646         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
8647         (the_sh_nbsd_nat_target): New.
8648         (shnbsd_fetch_inferior_registers)
8649         (shnbsd_store_inferior_registers): Refactor as methods of
8650         sh_nbsd_nat_target.
8651         (_initialize_shnbsd_nat): Adjust to C++ification.
8652         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
8653         (inf_ptrace_xfer_partial): Delete.
8654         (sparc_xfer_partial, sparc_target): Delete.
8655         * sparc-nat.h (sparc_fetch_inferior_registers)
8656         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
8657         (sparc_target): Delete function declaration.
8658         (sparc_target): New template class.
8659         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
8660         (_initialize_sparcnbsd_nat): Adjust to C++ification.
8661         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
8662         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
8663         add_target.
8664         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
8665         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
8666         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
8667         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
8668         add_target.
8669         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
8670         (the_vax_bsd_nat_target): New.
8671         (vaxbsd_fetch_inferior_registers)
8672         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
8673         methods.
8674         (_initialize_vaxbsd_nat): Adjust to C++ification.
8675
8676         * bsd-kvm.c (bsd_kvm_target): New class.
8677         (bsd_kvm_ops): Now a bsd_kvm_target.
8678         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
8679         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
8680         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
8681         bsd_kvm_target.
8682         (bsd_kvm_return_one): Delete.
8683         (bsd_kvm_add_target): Adjust to C++ification.
8684
8685         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
8686         (nto_procfs_target_procfs): New classes.
8687         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
8688         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
8689         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
8690         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
8691         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
8692         (procfs_remove_hw_breakpoint, procfs_resume)
8693         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
8694         (procfs_kill_inferior, procfs_store_registers)
8695         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
8696         as methods of nto_procfs_target.
8697         (nto_procfs_ops): Now an nto_procfs_target_procfs.
8698         (nto_native_ops): Delete.
8699         (procfs_open, procfs_native_open): Delete.
8700         (nto_native_ops): Now an nto_procfs_target_native.
8701         (init_procfs_targets): Adjust to C++ification.
8702         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
8703         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
8704         Refactor as methods of nto_procfs_target.
8705
8706         * go32-nat.c (go32_nat_target): New class.
8707         (the_go32_nat_target): New.
8708         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
8709         (go32_store_registers, go32_xfer_partial, go32_files_info)
8710         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
8711         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
8712         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
8713         (go32_pid_to_str): Refactor as methods of go32_nat_target.
8714         (go32_target): Delete.
8715         (_initialize_go32_nat): Adjust to C++ification.
8716
8717         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
8718         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
8719         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
8720         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
8721         gnu_nat_target.
8722         (gnu_target): Delete.
8723         * gnu-nat.h (gnu_target): Delete.
8724         (gnu_nat_target): New class.
8725         * i386-gnu-nat.c (gnu_base_target): New.
8726         (i386_gnu_nat_target): New class.
8727         (the_i386_gnu_nat_target): New.
8728         (_initialize_i386gnu_nat): Adjust to C++ification.
8729
8730 2018-05-02  Pedro Alves  <palves@redhat.com>
8731
8732         * bfd-target.c (target_bfd_xclose): Rename to ...
8733         (target_bfd_close): ... this.
8734         (target_bfd_reopen): Adjust.
8735         * target.c (target_close): Remove references to to_xclose.
8736         * target.h (target_ops::to_xclose): Delete.
8737         (target_ops::to_close): Update comments.
8738
8739 2018-05-02  Pedro Alves  <palves@redhat.com>
8740
8741         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
8742         "linux-nat.h".
8743         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
8744         * inf-ptrace.c (inf_ptrace_register_u_offset)
8745         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8746         (inf_ptrace_store_register, inf_ptrace_store_registers)
8747         (inf_ptrace_trad_target): Move to ...
8748         * linux-nat-trad.c: ... this new file.
8749         * linux-nat-trad.h: New file.
8750         * linux-nat.c (linux_target_install_ops): Make extern.
8751         (linux_trad_target): Delete.
8752         * linux-nat.h (linux_trad_target): Delete declaration.
8753         (linux_target_install_ops): Declare.
8754         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
8755         "linux-nat.h".
8756
8757 2018-05-02  Pedro Alves  <palves@redhat.com>
8758
8759         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8760         procfs_target/add_target here.
8761         * procfs.c (procfs_target): Make static.
8762         (_initialize_procfs): Call add_target here.
8763         * procfs.h (struct target_ops): Remove forward declaration.
8764         (procfs_target): Remove declaration.
8765         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
8766
8767 2018-05-02  Pedro Alves  <palves@redhat.com>
8768
8769         * procfs.c (procfs_stopped_by_watchpoint)
8770         (procfs_insert_watchpoint, procfs_remove_watchpoint)
8771         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
8772         Forward declare.
8773         (procfs_use_watchpoints): Delete, move contents...
8774         (procfs_target): ... here.
8775         * procfs.h (procfs_use_watchpoints): Delete declaration.
8776         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8777         procfs_use_watchpoints.
8778         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
8779         procfs_use_watchpoints.
8780
8781 2018-05-02  Tom Tromey  <tom@tromey.com>
8782
8783         PR python/20084:
8784         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
8785         and var_zuinteger_unlimited.
8786         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
8787         and PARAM_ZUINTEGER_UNLIMITED.
8788         (set_parameter_value): Handle var_zuinteger and
8789         var_zuinteger_unlimited.
8790         (add_setshow_generic): Likewise.
8791         (parmpy_init): Likewise.
8792
8793 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
8794
8795         PR rust/23124
8796         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
8797         pointer is not null before dereferencing it.
8798
8799 2018-04-30  Tom Tromey  <tom@tromey.com>
8800
8801         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
8802         is_mi_like_p.
8803
8804 2018-04-30  Tom Tromey  <tom@tromey.com>
8805
8806         * breakpoint.c (mention): Remove use of is_mi_like_p.
8807         (print_mention_ranged_breakpoint): Likewise.
8808         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
8809         of is_mi_like_p.
8810
8811 2018-04-30  Tom Tromey  <tom@tromey.com>
8812
8813         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
8814
8815 2018-04-30  Tom Tromey  <tom@tromey.com>
8816
8817         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
8818         (info_spu_event_command): Remove some uses of is_mi_like_p.
8819
8820 2018-04-30  Tom Tromey  <tom@tromey.com>
8821
8822         * python/py-framefilter.c (py_print_single_arg)
8823         (enumerate_locals, py_print_args, py_print_frame): Remove some
8824         uses of is_mi_like_p.
8825
8826 2018-04-30  Tom Tromey  <tom@tromey.com>
8827
8828         * ui-out.c: Update.
8829         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
8830         * ui-out.h (ui_out::is_mi_like_p): Now const.
8831         (ui_out::do_is_mi_like_p): Now const.
8832         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
8833
8834 2018-04-30  Tom Tromey  <tom@tromey.com>
8835
8836         * varobj.c (varobj_set_visualizer): Use new_reference.
8837         * python/python.c (gdbpy_decode_line): Use new_reference.
8838         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
8839         new_reference.
8840
8841 2018-04-30  Tom Tromey  <tom@tromey.com>
8842
8843         * varobj.c (install_new_value): Use new_reference.
8844         * value.h (value_incref): Return void.  Swap intro comment with
8845         value_decref.
8846         * value.c (set_value_parent): Use new_reference.
8847         (value_incref): Return void.  Update intro comment.
8848         (release_value): Use new_reference.
8849         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
8850
8851 2018-04-30  Tom Tromey  <tom@tromey.com>
8852
8853         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
8854         * gdb_bfd.h (new_bfd_ref): Remove.
8855         (gdb_bfd_open): Update comment.
8856         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
8857         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
8858         (gdb_bfd_fdopenr): Use new_reference.
8859         * exec.c (exec_file_attach): Use new_reference.
8860
8861 2018-04-30  Tom Tromey  <tom@tromey.com>
8862
8863         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
8864         method.
8865
8866 2018-04-30  Tom Tromey  <tom@tromey.com>
8867
8868         * jit.c (jit_read_code_entry): Use type_align.
8869         * i386-tdep.c (i386_gdbarch_init): Don't call
8870         set_gdbarch_long_long_align_bit.
8871         * gdbarch.sh: Remove long_long_align_bit.
8872         * gdbarch.c, gdbarch.h: Rebuild.
8873         * arc-tdep.c (arc_type_align): New function.
8874         (arc_gdbarch_init): Use arc_type_align.  Don't call
8875         set_gdbarch_long_long_align_bit.
8876
8877 2018-04-30  Tom Tromey  <tom@tromey.com>
8878
8879         * rust-lang.c (rust_type_alignment): Remove.
8880         (rust_composite_type): Use type_align.
8881
8882 2018-04-30  Tom Tromey  <tom@tromey.com>
8883
8884         * NEWS: Mention Type.align.
8885         * python/py-type.c (typy_get_alignof): New function.
8886         (type_object_getset): Add "alignof".
8887
8888 2018-04-30  Tom Tromey  <tom@tromey.com>
8889
8890         PR exp/17095:
8891         * NEWS: Update.
8892         * std-operator.def (UNOP_ALIGNOF): New operator.
8893         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
8894         New.
8895         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
8896         * c-lang.c (c_op_print_tab): Add alignof.
8897         * c-exp.y (ALIGNOF): New token.
8898         (exp): Add "ALIGNOF" production.
8899         (ident_tokens): Add _Alignof and alignof.
8900
8901 2018-04-30  Tom Tromey  <tom@tromey.com>
8902
8903         * i386-tdep.c (i386_type_align): New function.
8904         (i386_gdbarch_init): Update.
8905         * gdbarch.sh (type_align): New method.
8906         * gdbarch.c, gdbarch.h: Rebuild.
8907         * arch-utils.h (default_type_align): Declare.
8908         * arch-utils.c (default_type_align): New function.
8909         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
8910         (struct type) <align_log2>: New field.
8911         <instance_flags>: Now a bitfield.
8912         (TYPE_RAW_ALIGN): New macro.
8913         (type_align, type_raw_align, set_type_align): Declare.
8914         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
8915         functions.
8916         * dwarf2read.c (quirk_rust_enum): Set type alignment.
8917         (get_alignment, maybe_set_alignment): New functions.
8918         (read_structure_type, read_enumeration_type, read_array_type)
8919         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
8920         (read_subrange_type, read_base_type): Set type alignment.
8921
8922 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
8923
8924         * dwarf2read.c (read_index_from_section): Use bool.
8925
8926 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
8927
8928         PR gdb/22950
8929         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
8930         with #ifdef.
8931
8932 2018-04-29  John Reiser  <jreiser@BitWagon.com>
8933
8934         PR build/22873
8935         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8936         last step, and do it atomically.
8937
8938 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8939
8940         * compile/compile-c-types.c (convert_int, convert_float):
8941         Update for C FE v1.
8942
8943 2018-04-27  Tom Tromey  <tom@tromey.com>
8944
8945         PR rust/22545:
8946         * rust-lang.c (rust_inclusive_range_type_p): New function.
8947         (rust_range): Handle inclusive ranges.
8948         (rust_compute_range): Likewise.
8949         * rust-exp.y (struct rust_op) <inclusive>: New field.
8950         (DOTDOTEQ): New constant.
8951         (range_expr): Add "..=" productions.
8952         (operator_tokens): Add "..=" token.
8953         (ast_range): Add "inclusive" parameter.
8954         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8955         ranges.
8956         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8957         bounds values.
8958         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8959         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8960         Update comments.
8961         * expprint.c (print_subexp_standard): Handle new bounds values.
8962         (dump_subexp_body_standard): Likewise.
8963
8964 2018-04-27  Tom Tromey  <tom@tromey.com>
8965
8966         * configure: Rebuild.
8967         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8968         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8969         "OVERRIDE".
8970         (class symbol_needs_eval_context): Likewise.
8971         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8972         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8973         "virtual".
8974         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8975         "override".
8976         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8977         * aarch64-tdep.c (instruction_reader::read): Use "override".
8978         (instruction_reader_test::read): Likewise.
8979         * arm-tdep.c (instruction_reader::read): Use "override".
8980         (instruction_reader_thumb::read): Likewise.
8981
8982 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8983
8984         PR remote/9665
8985         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8986         instead of remote_send.
8987         (remote_send): Remove.
8988
8989 2018-04-26  Pedro Alves  <palves@redhat.com>
8990
8991         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8992         find_function_start_sal instead of find_pc_line.
8993
8994 2018-04-26  Pedro Alves  <palves@redhat.com>
8995
8996         * breakpoint.c (set_breakpoint_location_function): Handle
8997         mst_data_gnu_ifunc.
8998         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8999         * elfread.c (elf_symtab_read): Give data symbols with
9000         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
9001         (elf_rel_plt_read): Update comment.
9002         * linespec.c (convert_linespec_to_sals): Handle
9003         mst_data_gnu_ifunc.
9004         (minsym_found): Handle mst_data_gnu_ifunc.
9005         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9006         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9007         * parse.c (find_minsym_type_and_address): Handle
9008         mst_data_gnu_ifunc.
9009         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9010         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9011         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9012         comment.
9013         <mst_data_gnu_ifunc>: New enumerator.
9014
9015 2018-04-26  Pedro Alves  <palves@redhat.com>
9016
9017         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9018         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9019         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9020         Handle it.
9021         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9022         (lookup_minimal_symbol_by_pc): Adjust.
9023         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9024         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9025         * minsyms.h (lookup_msym_prefer): New enum.
9026         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9027         parameter by a lookup_msym_prefer parameter.
9028
9029 2018-04-26  Pedro Alves  <palves@redhat.com>
9030
9031         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9032         ends in "@plt" instead of looking at the symbol's section.
9033
9034 2018-04-26  Pedro Alves  <palves@redhat.com>
9035
9036         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9037         all references.
9038         (find_pc_partial_function_gnu_ifunc): Rename to ...
9039         (find_pc_partial_function): ... this, and remove references to
9040         'is_gnu_ifunc_p'.
9041         (find_pc_partial_function): Delete old implementation.
9042         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9043
9044 2018-04-26  Pedro Alves  <palves@redhat.com>
9045
9046         * linespec.c (struct bound_minimal_symbol_search_key): New.
9047         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9048         skip first line if we found a GNU ifunc minimal symbol by name.
9049         (compare_msymbols): Change parameters to work with a destructured
9050         lhs minsym.
9051         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9052         functions.
9053
9054 2018-04-26  Pedro Alves  <palves@redhat.com>
9055
9056         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9057         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9058         address/name.
9059         (add_location_to_breakpoint): Store the minsym and the objfile in
9060         the breakpoint location.
9061         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9062         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9063         Record the minsym in the sal.
9064         * symtab.h (symtab_and_line) <msymbol>: New field.
9065
9066 2018-04-26  Pedro Alves  <palves@redhat.com>
9067
9068         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9069         unless we actually resolved the ifunc.
9070
9071 2018-04-26  Pedro Alves  <palves@redhat.com>
9072
9073         * c-exp.y (variable production): Prefer ifunc minsyms over
9074         regular function symbols.
9075         * symtab.c (find_gnu_ifunc): New function.
9076         * minsyms.h (lookup_msym_prefer): New enum.
9077         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9078         parameter by a lookup_msym_prefer parameter.
9079         * symtab.h (find_gnu_ifunc): New declaration.
9080
9081 2018-04-26  Pedro Alves  <palves@redhat.com>
9082
9083         * blockframe.c (find_gnu_ifunc_target_type): New function.
9084         (find_function_type): New.
9085         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
9086         return a value with a memory address.
9087         (eval_call): For calls to GNU ifunc functions, try to find the
9088         type of the target function from the type that the resolver
9089         returns.
9090         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
9091         symbols.
9092         * infcall.c (find_function_return_type): Delete.
9093         (find_function_addr): Add 'function_type' parameter.  For calls to
9094         GNU ifunc functions, try to find the type of the target function
9095         from the type that the resolver returns, and return it via
9096         FUNCTION_TYPE.
9097         (call_function_by_hand_dummy): Adjust to use the function type
9098         returned by find_function_addr.
9099         (find_function_addr): Add 'function_type' parameter and move
9100         description here.
9101         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
9102         declarations.
9103
9104 2018-04-26  Pedro Alves  <palves@redhat.com>
9105
9106         * c-exp.y (variable production): Skip finding an alias for ifunc
9107         symbols.
9108
9109 2018-04-26  Pedro Alves  <palves@redhat.com>
9110
9111         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
9112
9113 2018-04-25  Pedro Alves  <palves@redhat.com>
9114
9115         * infcmd.c (kill_command): Print the pid as string, not the whole
9116         thread's ptid.  Add comment.  s/has been killed/killed/ in output
9117         message.
9118         * remote.c (remote_detach_1): Print the pid as string, not the
9119         whole thread's ptid.
9120
9121 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9122             Sergio Durigan Junior  <sergiodj@redhat.com>
9123             Pedro Alves  <palves@redhat.com>
9124
9125         * infcmd.c (kill_command): Print message when inferior has
9126         been killed.
9127         * inferior.c (print_inferior_events): Remove 'static'.  Set as
9128         '1'.
9129         (add_inferior): Improve message printed when
9130         'print_inferior_events' is on.
9131         (exit_inferior): Remove message printed when
9132         'print_inferior_events' is on.
9133         (detach_inferior): Improve message printed when
9134         'print_inferior_events' is on.
9135         (initialize_inferiors): Use 'add_inferior_silent' to set
9136         'current_inferior_'.
9137         * inferior.h (print_inferior_events): Declare here as
9138         'extern'.
9139         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
9140         '[Detaching...]' messages when 'print_inferior_events' is on.
9141         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
9142         as prefix/suffix for messages.  Remove periods.  Fix erroneous
9143         'Detaching after fork from child...', replace it by '... from
9144         parent...'.
9145         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
9146         prefix/suffix when printing 'Detaching...' messages.  Print
9147         them when 'print_inferior_events' is on.
9148         * remote.c (remote_detach_1): Print message when detaching
9149         from inferior and '!is_fork_parent'.
9150
9151 2018-04-24  Tom Tromey  <tom@tromey.com>
9152
9153         * cli-out.h: Reindent.
9154
9155 2018-04-24  Tom Tromey  <tom@tromey.com>
9156
9157         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
9158         (cli_ui_out::do_field_string): Use fputs_filtered.
9159         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
9160
9161 2018-04-23  Tom Tromey  <tom@tromey.com>
9162
9163         * guile/scm-frame.c (gdbscm_frame_read_var): Use
9164         gdb::unique_xmalloc_ptr.
9165
9166 2018-04-23  Tom Tromey  <tom@tromey.com>
9167
9168         * configure: Rebuild.
9169
9170 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
9171
9172         PR gdb/23095
9173         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
9174         prepare_for_testing.  Set normal_bp to r_debug_state if target
9175         is bsd.
9176
9177 2018-04-21  Pedro Alves  <palves@redhat.com>
9178             Rajendra SY  <rajendra.sy@gmail.com>
9179
9180         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
9181         * remote.c (extended_remote_attach): In all-stop mode, mark the
9182         thread as executing.
9183
9184 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
9185
9186         * thread.c (thread_apply_all_command): Fix comment.
9187         (thread_command): Fix comment.
9188
9189 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
9190
9191         * common/tdesc.h (tdesc_create_feature): Remove xml filename
9192         parameter.
9193         * features/aarch64-core.c (create_feature_aarch64_core):
9194         Regenerate.
9195         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
9196         Likewise.
9197         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
9198         Likewise.
9199         * features/i386/32bit-avx512.c
9200         (create_feature_i386_32bit_avx512): Likewise.
9201         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
9202         Likewise.
9203         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
9204         Likewise.
9205         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
9206         Likewise.
9207         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
9208         Likewise.
9209         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
9210         Likewise.
9211         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
9212         Likewise.
9213         * features/i386/64bit-avx512.c
9214         (create_feature_i386_64bit_avx512): Likewise.
9215         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
9216         Likewise.
9217         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
9218         Likewise.
9219         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
9220         Likewise.
9221         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
9222         Likewise.
9223         * features/i386/64bit-segments.c
9224         (create_feature_i386_64bit_segments): Likewise.
9225         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
9226         Likewise.
9227         * features/i386/x32-core.c
9228         (create_feature_i386_x32_core): Likewise.
9229         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
9230         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
9231         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
9232         * target-descriptions.c: In generated code, don't pass xml
9233         filename.
9234
9235 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9236
9237         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
9238         (print_xml_feature::visit_post): Likewise.
9239         (print_xml_feature::visit): Likewise.
9240         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
9241         (print_xml_feature): Add new class.
9242         * regformats/regdat.sh: Null xmltarget on feature targets.
9243         * target-descriptions.c (struct target_desc): Add xmltarget.
9244         (maintenance_check_tdesc_xml_convert): Add unittest function.
9245         (tdesc_get_features_xml): Add function to get xml.
9246         (maintenance_check_xml_descriptions): Test xml generation.
9247         * xml-tdesc.c (string_read_description_xml): Add function.
9248         * xml-tdesc.h (string_read_description_xml): Add declaration.
9249
9250 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9251
9252         * features/Makefile: Add feature marker to targets with new style
9253         target descriptions.
9254         * regformats/aarch64.dat: Regenerate.
9255         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
9256         * regformats/i386/amd64-avx-linux.dat: Likewise.
9257         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
9258         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
9259         * regformats/i386/amd64-linux.dat: Likewise.
9260         * regformats/i386/amd64-mpx-linux.dat: Likewise.
9261         * regformats/i386/amd64.dat: Likewise.
9262         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
9263         * regformats/i386/i386-avx-linux.dat: Likewise.
9264         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
9265         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
9266         * regformats/i386/i386-linux.dat: Likewise.
9267         * regformats/i386/i386-mmx-linux.dat: Likewise.
9268         * regformats/i386/i386-mpx-linux.dat: Likewise.
9269         * regformats/i386/i386.dat: Likewise.
9270         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
9271         * regformats/i386/x32-avx-linux.dat: Likewise.
9272         * regformats/i386/x32-linux.dat: Likewise.
9273         * regformats/tic6x-c62x-linux.dat: Likewise.
9274         * regformats/tic6x-c64x-linux.dat: Likewise.
9275         * regformats/tic6x-c64xp-linux.dat: Likewise.
9276         * regformats/regdat.sh: Parse feature marker.
9277
9278 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9279
9280         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
9281         (tdesc_osabi_name): Likewise.
9282         * target-descriptions.c (tdesc_architecture_name): Add new
9283         function.
9284         (tdesc_osabi_name): Likewise.
9285
9286 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9287
9288         * common/tdesc.c (tdesc_predefined_type): Move to here.
9289         (tdesc_named_type): Likewise.
9290         (tdesc_create_vector): Likewise.
9291         (tdesc_create_struct): Likewise.
9292         (tdesc_set_struct_size): Likewise.
9293         (tdesc_create_union): Likewise.
9294         (tdesc_create_flags): Likewise.
9295         (tdesc_create_enum): Likewise.
9296         (tdesc_add_field): Likewise.
9297         (tdesc_add_typed_bitfield): Likewise.
9298         (tdesc_add_bitfield): Likewise.
9299         (tdesc_add_flag): Likewise.
9300         (tdesc_add_enum_value): Likewise.
9301         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
9302         (struct tdesc_type_vector): Likewise.
9303         (struct tdesc_type_field): Likewise.
9304         (struct tdesc_type_with_fields): Likewise.
9305         (tdesc_create_enum): Add declaration.
9306         (tdesc_add_typed_bitfield): Likewise.
9307         (tdesc_add_enum_value): Likewise.
9308         * target-descriptions.c (tdesc_type_field): Move from here.
9309         (tdesc_type_builtin): Likewise.
9310         (tdesc_type_vector): Likewise.
9311         (tdesc_type_with_fields): Likewise.
9312         (tdesc_predefined_types): Likewise.
9313         (tdesc_named_type): Likewise.
9314         (tdesc_create_vector): Likewise.
9315         (tdesc_create_struct): Likewise.
9316         (tdesc_set_struct_size): Likewise.
9317         (tdesc_create_union): Likewise.
9318         (tdesc_create_flags): Likewise.
9319         (tdesc_create_enum): Likewise.
9320         (tdesc_add_field): Likewise.
9321         (tdesc_add_typed_bitfield): Likewise.
9322         (tdesc_add_bitfield): Likewise.
9323         (tdesc_add_flag): Likewise.
9324         (tdesc_add_enum_value): Likewise.
9325         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
9326         (tdesc_add_typed_bitfield): Likewise.
9327         (tdesc_add_enum_value): Likewise.
9328
9329 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9330
9331         * common/tdesc.c (tdesc_feature::accept): Move to here.
9332         (tdesc_feature::operator==): Likewise.
9333         (tdesc_create_reg): Likewise.
9334         * common/tdesc.h (tdesc_type_kind): Likewise.
9335         (struct tdesc_type): Likewise.
9336         (struct tdesc_feature): Likewise.
9337         * regformats/regdat.sh: Create a feature.
9338         * target-descriptions.c (tdesc_type_kind): Move from here.
9339         (tdesc_type): Likewise.
9340         (tdesc_type_up): Likewise.
9341         (tdesc_feature): Likewise.
9342         (tdesc_create_reg): Likewise.
9343
9344 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9345
9346         * Makefile.in: Add arch/tdesc.c
9347         * common/tdesc.c: New file.
9348         * common/tdesc.h (tdesc_element_visitor): Move to here.
9349         (tdesc_element): Likewise.
9350         (tdesc_reg): Likewise.
9351         (tdesc_reg_up): Likewise.
9352         * regformats/regdef.h (reg): Add offset to constructors.
9353         * target-descriptions.c (tdesc_element_visitor): Move from here.
9354         (tdesc_element): Likewise.
9355         (tdesc_reg): Likewise.
9356         (tdesc_reg_up): Likewise.
9357
9358 2018-04-17  Tom Tromey  <tom@tromey.com>
9359
9360         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9361         discriminant field.
9362
9363 2018-04-17  Tom Tromey  <tom@tromey.com>
9364
9365         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9366
9367 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9368
9369         * symtab.c (print_symbol_info): Skip printing filename and line
9370         number when `last' is NULL.
9371         (symtab_symbol_info): Use empty string instead of NULL for first
9372         invocation of print_symbol_info.
9373         (rbreak_command): Pass NULL to `last' parameter of
9374         print_symbol_info.
9375
9376 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9377
9378         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9379         instead of nullptr.
9380
9381 2018-04-16  Pedro Alves  <palves@redhat.com>
9382
9383         * MAINTAINERS (sh): Remove.
9384         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9385         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9386         (ALLDEPFILES): Remove sh64-tdep.c.
9387         * NEWS: Mentions that support for SH-5/SH64 is removed.
9388         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9389         (sh*-*-openbsd*): Ditto.
9390         (sh64-*-elf*): Remove.
9391         (sh*): Remove.
9392         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9393         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9394         * sh-tdep.c: No longer include "sh64-tdep.h".
9395         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9396         * sh64-tdep.c, sh64-tdep.h: Remove files.
9397
9398 2018-04-16  Pedro Alves  <palves@redhat.com>
9399
9400         * MAINTAINERS: Remove m88k.
9401         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9402         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9403         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9404         * NEWS: Mention that support for m88k was removed.
9405         * configure.host (m88*-*-*): Remove support.
9406         * configure.nat (m88k-*-*): Remove support.
9407         * configure.tgt (m88*-*-openbsd*): Remove.
9408         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9409
9410 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9411
9412         * configure.tgt (x86_tobjs): New variable.
9413         (amd64_tobjs, i386_tobjs): Use it.
9414
9415 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9416
9417         * symtab.c (print_symbol_info): Precede the symbol definition by
9418         the line number when available.
9419         * NEWS: Advertise this enhancement.
9420
9421 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9422
9423         * NEWS (New options): announce set/show record btrace cpu.
9424         * btrace.c: Include record-btrace.h.
9425         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9426         the vendor is unknown.
9427         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9428         Maybe overwrite the btrace configuration's cpu.
9429         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9430         (btrace_fetch): Add cpu parameter.  Update callers.
9431         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9432         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9433         errata workarounds if the vendor is unknown.
9434         * python/py-record-btrace.c: Include record-btrace.h.
9435         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9436         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9437         * record-btrace.c (record_btrace_cpu_state_kind): New.
9438         (record_btrace_cpu): New.
9439         (set_record_btrace_cpu_cmdlist): New.
9440         (record_btrace_get_cpu): New.
9441         (require_btrace_thread, record_btrace_info)
9442         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9443         (cmd_set_record_btrace_cpu_none): New.
9444         (cmd_set_record_btrace_cpu_auto): New.
9445         (cmd_set_record_btrace_cpu): New.
9446         (cmd_show_record_btrace_cpu): New.
9447         (_initialize_record_btrace): Initialize set/show record btrace cpu
9448         commands.
9449         * record-btrace.h (record_btrace_get_cpu): New.
9450
9451 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9452
9453         * record.c (set_record_command): Fix typo in message.
9454
9455 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9456
9457         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9458
9459 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9460
9461         * infrun.c (process_event_stop_test): Call
9462         gdbarch_in_indirect_branch_thunk.
9463         * gdbarch.sh (in_indirect_branch_thunk): New.
9464         * gdbarch.c: Regenerated.
9465         * gdbarch.h: Regenerated.
9466         * x86-tdep.h: New.
9467         * x86-tdep.c: New.
9468         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
9469         (HFILES_NO_SRCDIR): Add x86-tdep.h.
9470         (ALLDEPFILES): Add x86-tdep.c.
9471         * arch-utils.h (default_in_indirect_branch_thunk): New.
9472         * arch-utils.c (default_in_indirect_branch_thunk): New.
9473         * i386-tdep: Include x86-tdep.h.
9474         (i386_in_indirect_branch_thunk): New.
9475         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
9476         function.
9477         * amd64-tdep: Include x86-tdep.h.
9478         (amd64_in_indirect_branch_thunk): New.
9479         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
9480
9481 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
9482
9483         PR gdb/23053
9484         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
9485         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
9486         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
9487         regression.
9488
9489 2018-04-12  Tom Tromey  <tom@tromey.com>
9490
9491         * rust-lang.c (rust_print_struct_def): Remove univariant code.
9492         (rust_evaluate_subexp): Likewise.
9493
9494 2018-04-12  Pedro Alves  <palves@redhat.com>
9495
9496         * procfs.c (procfs_detach): Make forward declaration's prototype
9497         match definition's protototype.
9498         (proc_get_LDT_entry): Remove stale do_cleanups call.
9499
9500 2018-04-12  Pedro Alves  <palves@redhat.com>
9501
9502         * target.h (target_ops::to_has_exited): Delete.
9503         (target_has_exited): Delete.
9504         * target-delegates.c: Regenerate.
9505
9506 2018-04-11  Pedro Alves  <palves@redhat.com>
9507
9508         * target.c (fileio_fh_t::t): Add comment.
9509         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9510         (target_fileio_close): Handle a NULL target.
9511         (invalidate_fileio_fh): New.
9512         (target_close): Call it.
9513         * remote.c (remote_hostio_send_command): No longer check whether
9514         remote_desc is open.
9515
9516 2018-04-11  Pedro Alves  <palves@redhat.com>
9517
9518         * target.c (fileio_fh_t): Make it a named struct instead of a
9519         typedef.
9520         (fileio_fh_t::is_closed): New method.
9521         (DEF_VEC_O (fileio_fh_t)): Remove.
9522         (fileio_fhandles): Now a std::vector.
9523         (is_closed_fileio_fh): Delete.
9524         (acquire_fileio_fd): Adjust.  Rename parameters.
9525         (release_fileio_fd): Adjust.
9526         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
9527         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9528         (target_fileio_close): Adjust.
9529
9530 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
9531
9532         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
9533         index.
9534
9535 2018-04-10  Pedro Alves  <palves@redhat.com>
9536
9537         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
9538         (scoped_finish_thread_state): New class.
9539         * infcmd.c (run_command_1): Use it instead of finish_thread_state
9540         cleanup.
9541         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
9542         (fetch_inferior_event, normal_stop): Likewise.
9543         * thread.c (finish_thread_state_cleanup): Delete.
9544
9545 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9546             Pedro Alves  <palves@redhat.com>
9547
9548         * value.c: Include "selftest.h" and "common/array-view.h".
9549         (struct range) <operator ==>: New.
9550         (test_ranges_contain): New.
9551         (check_ranges_vector): New.
9552         (test_insert_into_bit_range_vector): New.
9553         (_initialize_values): Register selftests.
9554         * common/array-view.h (operator==, operator!=): New.
9555
9556 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9557
9558         * common/gdb_vecs.h (unordered_remove): Add overload that takes
9559         an iterator.
9560         * inline-frame.c: Include <algorithm>.
9561         (struct inline_state): Add constructor.
9562         (inline_state_s): Remove.
9563         (DEF_VEC_O(inline_state_s)): Remove.
9564         (inline_states): Change type to std::vector.
9565         (find_inline_frame_state): Adjust to std::vector.
9566         (allocate_inline_frame_state): Remove.
9567         (clear_inline_frame_state): Adjust to std::vector.
9568         (skip_inline_frames): Adjust to std::vector.
9569
9570 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9571
9572         * tracepoint.h (struct trace_state_variable): Add constructor.
9573         <name>: Change type to std::string.
9574         * tracepoint.c (tsv_s): Remove.
9575         (DEF_VEC_O(tsv_s)): Remove.
9576         (tvariables): Change to std::vector.
9577         (create_trace_state_variable): Adjust to std::vector.
9578         (find_trace_state_variable): Likewise.
9579         (find_trace_state_variable_by_number): Likewise.
9580         (delete_trace_state_variable): Likewise.
9581         (trace_variable_command): Adjust to std::string.
9582         (delete_trace_variable_command): Likewise.
9583         (tvariables_info_1): Adjust to std::vector.
9584         (save_trace_state_variables): Likewise.
9585         (start_tracing): Likewise.
9586         (merge_uploaded_trace_state_variables): Adjust to std::vector
9587         and std::string.
9588         * target.h (struct target_ops)
9589         <to_download_trace_state_variable>: Pass reference to
9590         trace_state_variable.
9591         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
9592         * target-delegates.c: Re-generate.
9593         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
9594         (mi_tsv_deleted): Likewise.
9595         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
9596         * remote.c (remote_download_trace_state_variable): Change
9597         pointer to reference and adjust.
9598         * make-target-delegates (parse_argtypes): Handle references.
9599         (write_function_header): Likewise.
9600         (munge_type): Likewise.
9601
9602 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9603
9604         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9605         string_view-selftests.c.
9606         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
9607         testsuite.
9608         * unittests/basic_string_view/cons/char/1.cc: Likewise.
9609         * unittests/basic_string_view/cons/char/2.cc: Likewise.
9610         * unittests/basic_string_view/cons/char/3.cc: Likewise.
9611         * unittests/basic_string_view/element_access/char/1.cc:
9612         Likewise.
9613         * unittests/basic_string_view/element_access/char/empty.cc:
9614         Likewise.
9615         * unittests/basic_string_view/element_access/char/front_back.cc:
9616         Likewise.
9617         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
9618         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
9619         Likewise.
9620         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
9621         Likewise.
9622         * unittests/basic_string_view/modifiers/swap/char/1.cc:
9623         Likewise.
9624         * unittests/basic_string_view/operations/compare/char/1.cc:
9625         Likewise.
9626         * unittests/basic_string_view/operations/compare/char/13650.cc:
9627         Likewise.
9628         * unittests/basic_string_view/operations/copy/char/1.cc:
9629         Likewise.
9630         * unittests/basic_string_view/operations/data/char/1.cc:
9631         Likewise.
9632         * unittests/basic_string_view/operations/find/char/1.cc:
9633         Likewise.
9634         * unittests/basic_string_view/operations/find/char/2.cc:
9635         Likewise.
9636         * unittests/basic_string_view/operations/find/char/3.cc:
9637         Likewise.
9638         * unittests/basic_string_view/operations/find/char/4.cc:
9639         Likewise.
9640         * unittests/basic_string_view/operations/rfind/char/1.cc:
9641         Likewise.
9642         * unittests/basic_string_view/operations/rfind/char/2.cc:
9643         Likewise.
9644         * unittests/basic_string_view/operations/rfind/char/3.cc:
9645         Likewise.
9646         * unittests/basic_string_view/operations/substr/char/1.cc:
9647         Likewise.
9648         * unittests/basic_string_view/operators/char/2.cc: Likewise.
9649         * unittests/string_view-selftests.c: New file.
9650
9651 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9652
9653         * unittests/basic_string_view/capacity/1.cc: New file.
9654         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
9655         * unittests/basic_string_view/cons/char/1.cc: New file.
9656         * unittests/basic_string_view/cons/char/2.cc: New file.
9657         * unittests/basic_string_view/cons/char/3.cc: New file.
9658         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
9659         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
9660         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
9661         * unittests/basic_string_view/element_access/char/1.cc: New file.
9662         * unittests/basic_string_view/element_access/char/2.cc: New file.
9663         * unittests/basic_string_view/element_access/char/empty.cc: New file.
9664         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
9665         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
9666         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
9667         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
9668         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
9669         * unittests/basic_string_view/include.cc: New file.
9670         * unittests/basic_string_view/inserters/char/1.cc: New file.
9671         * unittests/basic_string_view/inserters/char/2.cc: New file.
9672         * unittests/basic_string_view/inserters/char/3.cc: New file.
9673         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
9674         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
9675         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
9676         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
9677         * unittests/basic_string_view/literals/types.cc: New file.
9678         * unittests/basic_string_view/literals/values.cc: New file.
9679         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
9680         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
9681         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
9682         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
9683         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
9684         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
9685         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
9686         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
9687         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
9688         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
9689         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
9690         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
9691         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
9692         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
9693         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
9694         * unittests/basic_string_view/operations/data/char/1.cc: New file.
9695         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
9696         * unittests/basic_string_view/operations/find/char/1.cc: New file.
9697         * unittests/basic_string_view/operations/find/char/2.cc: New file.
9698         * unittests/basic_string_view/operations/find/char/3.cc: New file.
9699         * unittests/basic_string_view/operations/find/char/4.cc: New file.
9700         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
9701         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
9702         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
9703         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
9704         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
9705         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
9706         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
9707         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
9708         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
9709         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
9710         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
9711         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
9712         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
9713         * unittests/basic_string_view/operators/char/2.cc: New file.
9714         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
9715         * unittests/basic_string_view/range_access/char/1.cc: New file.
9716         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
9717         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
9718         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
9719         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
9720         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
9721         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
9722         * unittests/basic_string_view/requirements/typedefs.cc: New file.
9723         * unittests/basic_string_view/typedefs.cc: New file.
9724         * unittests/basic_string_view/types/1.cc: New file.
9725
9726 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9727
9728         * common/gdb_string_view.h: Remove libstdc++ implementation
9729         details, adjust to gdb reality.
9730         * common/gdb_string_view.tcc: Likewise.
9731         * cli/cli-script.c (struct string_view): Remove.
9732         (user_args) <m_args>: Change element type to gdb::string_view.
9733         (user_args::insert_args): Adjust.
9734
9735 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9736
9737         * common/gdb_string_view.h: New file.
9738         * common/gdb_string_view.tcc: New file.
9739
9740 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9741
9742         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
9743         * configure: Re-generate.
9744
9745 2018-04-09  Pedro Alves  <palves@redhat.com>
9746
9747         * gdbarch.sh: Include "observable.h" instead of "observer.h".
9748         (set_target_gdbarch): Call
9749         gdb::observers::architecture_changed.notify instead of
9750         observer_notify_architecture_changed.
9751
9752 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9753
9754         * tracepoint.c (struct current_traceframe_cleanup): Remove.
9755         (do_restore_current_traceframe_cleanup): Remove.
9756         (restore_current_traceframe_cleanup_dtor): Remove.
9757         (make_cleanup_restore_current_traceframe): Remove.
9758         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
9759         New.
9760         * tracepoint.h (struct scoped_restore_current_traceframe): New.
9761         * infrun.c (fetch_inferior_event): Use
9762         scoped_restore_current_traceframe.
9763
9764 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9765
9766         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
9767         Remove.
9768         <n_allocated_type_units>: Remove.
9769         <all_type_units>: Change to std::vector.
9770         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9771         to std::vector change.
9772         (dwarf2_per_objfile::get_cutu): Likewise.
9773         (dwarf2_per_objfile::get_tu): Likewise.
9774         (create_signatured_type_table_from_index): Likewise.
9775         (create_signatured_type_table_from_debug_names): Likewise.
9776         (dw2_symtab_iter_next): Likewise.
9777         (dw2_print_stats): Likewise.
9778         (dw2_expand_all_symtabs): Likewise.
9779         (dw2_expand_marked_cus): Likewise.
9780         (dw2_debug_names_iterator::next): Likewise.
9781         (dwarf2_initialize_objfile): Likewise.
9782         (add_signatured_type_cu_to_table): Likewise.
9783         (create_all_type_units): Likewise.
9784         (add_type_unit): Likewise.
9785         (struct tu_abbrev_offset): Add constructor.
9786         (build_type_psymtabs_1): Adjust to std::vector change.
9787         (print_tu_stats): Likewise.
9788         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9789         (write_debug_names): Likewise.
9790
9791 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9792
9793         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
9794         Make an std::vector.
9795         <n_comp_units>: Remove.
9796         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9797         to std::vector change.
9798         (dwarf2_per_objfile::get_cutu): Likewise.
9799         (dwarf2_per_objfile::get_cu): Likewise.
9800         (create_cus_from_index): Likewise.
9801         (create_addrmap_from_index): Likewise.
9802         (create_addrmap_from_aranges): Likewise.
9803         (dwarf2_read_index): Likewise.
9804         (dw2_find_last_source_symtab): Likewise.
9805         (dw2_map_symtabs_matching_filename): Likewise.
9806         (dw2_symtab_iter_next): Likewise.
9807         (dw2_print_stats): Likewise.
9808         (dw2_expand_all_symtabs): Likewise.
9809         (dw2_expand_symtabs_with_fullname): Likewise.
9810         (dw2_expand_marked_cus): Likewise.
9811         (dw2_map_symbol_filenames): Likewise.
9812         (create_cus_from_debug_names): Likewise.
9813         (dwarf2_read_debug_names): Likewise.
9814         (dw2_debug_names_iterator::next): Likewise.
9815         (dwarf2_initialize_objfile): Likewise.
9816         (set_partial_user): Likewise.
9817         (dwarf2_build_psymtabs_hard): Likewise.
9818         (read_comp_units_from_section): Remove arguments, adjust to
9819         std::vector change.
9820         (create_all_comp_units): Adjust to std::vector and
9821         read_comp_units_from_section changes.
9822         (dwarf2_find_containing_comp_unit): Adjust to std::vector
9823         change.
9824         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9825         (psyms_seen_size): Likewise.
9826         (write_gdbindex): Likewise.
9827         (write_debug_names): Likewise.
9828
9829 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9830
9831         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
9832         with dwarf2_per_objfile.
9833         (create_cus_from_index): Likewise.
9834         (create_signatured_type_table_from_index): Likewise.
9835         (dwarf2_read_index): Likewise.
9836         (dwarf2_initialize_objfile): Likewise.
9837         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
9838         per_cu rather than get_dwarf2_per_objfile.
9839
9840 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9841
9842         * dwarf2read.h (struct signatured_type): Forward declare.
9843         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
9844         New methods.
9845         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
9846         (dw2_get_cutu): ...this.
9847         (dwarf2_per_objfile::get_cu): Rename from...
9848         (dw2_get_cu): ...this.
9849         (dwarf2_per_objfile::get_tu): New.
9850         (create_addrmap_from_index): Adjust.
9851         (create_addrmap_from_aranges): Adjust.
9852         (dw2_find_last_source_symtab): Adjust.
9853         (dw2_map_symtabs_matching_filename): Adjust.
9854         (dw2_symtab_iter_next): Adjust.
9855         (dw2_print_stats): Adjust.
9856         (dw2_expand_all_symtabs): Adjust.
9857         (dw2_expand_symtabs_with_fullname): Adjust.
9858         (dw2_expand_marked_cus): Adjust.
9859         (dw_expand_symtabs_matching_file_matcher): Adjust.
9860         (dw2_map_symbol_filenames): Adjust.
9861         (dw2_debug_names_iterator::next): Adjust.
9862         (dwarf2_initialize_objfile): Adjust.
9863         (set_partial_user): Adjust.
9864         (dwarf2_build_psymtabs_hard): Adjust.
9865
9866 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9867
9868         * dwarf2read.c (create_signatured_type_table_from_debug_names):
9869         Remove unused variables.
9870         (dw2_map_symtabs_matching_filename): Likewise.
9871         (dwarf2_record_block_ranges): Likewise.
9872         (dwarf2_read_addr_index): Likewise.
9873         (follow_die_offset): Likewise.
9874
9875 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9876
9877         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
9878         to symbol_file_add_main.
9879
9880 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9881
9882         PR mi/22299
9883         * mi/mi-console.c (do_fputc_async_safe): New.
9884         (mi_console_file::write_async_safe): New.
9885         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
9886         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
9887         New.
9888         * ui-file.c (ui_file::putstrn): Adjust call to
9889         fputstrn_unfiltered.
9890         * utils.c (printchar): Replace do_fputs and do_fprintf
9891         parameters by do_fputc.
9892         (fputstr_filtered): Adjust call to printchar.
9893         (fputstr_unfiltered): Likewise.
9894         (fputstrn_filtered): Likewise.
9895         (fputstrn_unfiltered): Add do_fputc parameter, pass to
9896         printchar.
9897         * utils.h (do_fputc_ftype): New typedef.
9898         (fputstrn_unfiltered): Add do_fputc parameter.
9899
9900 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9901
9902         * regformats/i386/i386-avx.dat: Remove.
9903
9904 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9905
9906         PR gdb/22979
9907         * amd64-tdep.c (amd64_none_init_abi): New function.
9908         (amd64_x32_none_init_abi): New function.
9909         (_initialize_amd64_tdep): Register handlers for x86-64 and
9910         x64_32 with GDB_OSABI_NONE.
9911         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
9912         GDB_OSABI_NONE osabi.
9913
9914 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9915
9916         PR gdb/22980
9917         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
9918         GDB_OSABI_NONE.
9919         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
9920         * osabi.c (gdb_osabi_names): Add "unknown" entry.
9921
9922 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9923
9924         * common/byte-vector.h (char_vector): New type.
9925         * target.h (target_read_alloc): Return
9926         gdb::optional<byte_vector>.
9927         (target_read_stralloc): Return gdb::optional<char_vector>.
9928         (target_get_osdata): Return gdb::optional<char_vector>.
9929         * target.c (target_read_alloc_1): Templatize.  Replacement
9930         manual memory management with vector.
9931         (target_read_alloc): Change return type, adjust.
9932         (target_read_stralloc): Change return type, adjust.
9933         (target_get_osdata): Change return type, adjust.
9934         * auxv.c (struct auxv_info) <length>: Remove.
9935         <data>: Change type to gdb::optional<byte_vector>.
9936         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9937         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9938         (target_auxv_search): Adjust.
9939         (fprint_target_auxv): Adjust.
9940         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9941         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9942         (linux_make_corefile_notes): Adjust.
9943         * osdata.c (get_osdata): Adjust.
9944         * remote.c (remote_get_threads_with_qxfer): Adjust.
9945         (remote_memory_map): Adjust.
9946         (remote_traceframe_info): Adjust.
9947         (btrace_read_config): Adjust.
9948         (remote_read_btrace): Adjust.
9949         (remote_pid_to_exec_file): Adjust.
9950         * solib-aix.c (solib_aix_get_library_list): Adjust.
9951         * solib-dsbt.c (decode_loadmap): Don't free buf.
9952         (dsbt_get_initial_loadmaps): Adjust.
9953         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9954         * solib-target.c (solib_target_current_sos): Adjust.
9955         * tracepoint.c (sdata_make_value): Adjust.
9956         * xml-support.c (xinclude_start_include): Adjust.
9957         (xml_fetch_content_from_file): Adjust.
9958         * xml-support.h (xml_fetch_another): Change return type.
9959         (xml_fetch_content_from_file): Change return type.
9960         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9961         * xml-tdesc.c (file_read_description_xml): Adjust.
9962         (fetch_available_features_from_target): Change return type.
9963         (target_fetch_description_xml): Adjust.
9964         (target_read_description_xml): Adjust.
9965
9966 2018-04-06  Tom Tromey  <tom@tromey.com>
9967
9968         * value.c (~value): Update.
9969         (struct value) <contents>: Now unique_xmalloc_ptr.
9970         (value_contents_bits_eq, allocate_value_contents)
9971         (value_contents_raw, value_contents_all_raw)
9972         (value_contents_for_printing, value_contents_for_printing_const)
9973         (set_value_enclosing_type): Update.
9974
9975 2018-04-06  Tom Tromey  <tom@tromey.com>
9976
9977         * value.c (range_s): Remove typedef, VEC.
9978         (struct range): Add operator<.
9979         (range_lessthan): Remove.
9980         (ranges_contain): Change type.
9981         (~value): Update.
9982         (struct value) <unavailable, optimized_out>: Now std::vector.
9983         (value_entirely_available)
9984         (value_entirely_covered_by_range_vector)
9985         (value_entirely_unavailable, value_entirely_optimized_out):
9986         Update.
9987         (insert_into_bit_range_vector): Change argument type.
9988         (find_first_range_overlap): Likewise.
9989         (struct ranges_and_idx, value_contents_bits_eq)
9990         (require_not_optimized_out, require_available): Update.
9991         (ranges_copy_adjusted): Change argument types.
9992         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9993
9994 2018-04-06  Tom Tromey  <tom@tromey.com>
9995
9996         * value.c (~value): Update.
9997         (struct value) <parent>: Now a value_ref_ptr.
9998         (value_parent, set_value_parent, value_address, value_copy):
9999         Update.
10000
10001 2018-04-06  Tom Tromey  <tom@tromey.com>
10002
10003         * value.c (struct value): Add constructor, destructor, and member
10004         initializers.
10005         (allocate_value_lazy, value_decref): Update.
10006
10007 2018-04-06  Tom Tromey  <tom@tromey.com>
10008
10009         * value.c (struct value) <released, next>: Remove.
10010         (all_values): Now a std::vector.
10011         (allocate_value_lazy): Update.
10012         (value_next): Remove.
10013         (value_mark, value_free_to_mark, release_value)
10014         (value_release_to_mark): Update.
10015
10016 2018-04-06  Tom Tromey  <tom@tromey.com>
10017
10018         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10019         (free_value_chain): Remove.
10020         * value.c (free_value_chain): Remove.
10021         (value_release_to_mark): Return a std::vector.
10022         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10023         std::vector.
10024         (check_condition): Update.
10025         * eval.c (fetch_subexp_value): Change "val_chain" to a
10026         std::vector.
10027         * breakpoint.c (update_watchpoint): Update.
10028         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10029
10030 2018-04-06  Tom Tromey  <tom@tromey.com>
10031
10032         * value.h (free_all_values): Remove.
10033         * value.c (free_all_values): Remove.
10034
10035 2018-04-06  Tom Tromey  <tom@tromey.com>
10036
10037         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10038         (value_history_chain, value_history_count): Remove.
10039         (value_history): New global.
10040         (record_latest_value, access_value_history, show_values)
10041         (preserve_values): Update.
10042
10043 2018-04-06  Tom Tromey  <tom@tromey.com>
10044
10045         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10046         * varobj.c (varobj_set_display_format, varobj_set_value)
10047         (install_default_visualizer, construct_visualizer)
10048         (install_new_value, ~varobj, varobj_get_value_type)
10049         (my_value_of_variable, varobj_editable_p): Update.
10050         * c-varobj.c (c_describe_child, c_value_of_variable)
10051         (cplus_number_of_children, cplus_describe_child): Update.
10052         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10053         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10054         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10055
10056 2018-04-06  Tom Tromey  <tom@tromey.com>
10057
10058         * printcmd.c (last_examine_address): Change type to
10059         value_ref_ptr.
10060         (do_examine, x_command): Update.
10061
10062 2018-04-06  Tom Tromey  <tom@tromey.com>
10063
10064         * value.c (release_value): Update.
10065         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10066         (struct bpstats) <val>: Now a value_ref_ptr.
10067         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10068         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10069         (~watchpoint, print_it_watchpoint, watch_command_1)
10070         (invalidate_bp_value_on_memory_change): Update.
10071
10072 2018-04-06  Tom Tromey  <tom@tromey.com>
10073
10074         * varobj.c (varobj_clear_saved_item)
10075         (update_dynamic_varobj_children, install_new_value, ~varobj):
10076         Update.
10077         * value.h (value_incref): Move declaration earlier.
10078         (value_decref): Rename from value_free.
10079         (struct value_ref_policy): New.
10080         (value_ref_ptr): New typedef.
10081         (struct value_deleter): Remove.
10082         (gdb_value_up): Remove typedef.
10083         (release_value): Change return type.
10084         (release_value_or_incref): Remove.
10085         * value.c (set_value_parent): Update.
10086         (value_incref): Change return type.
10087         (value_decref): Rename from value_free.
10088         (value_free_to_mark, free_all_values, free_value_chain): Update.
10089         (release_value): Return value_ref_ptr.
10090         (release_value_or_incref): Remove.
10091         (record_latest_value, set_internalvar, clear_internalvar):
10092         Update.
10093         * stack.c (info_frame_command): Don't call value_free.
10094         * python/py-value.c (valpy_dealloc, valpy_new)
10095         (value_to_value_object): Update.
10096         * printcmd.c (do_examine): Update.
10097         * opencl-lang.c (lval_func_free_closure): Update.
10098         * mi/mi-main.c (register_changed_p): Don't call value_free.
10099         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
10100         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
10101         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
10102         value_free.
10103         * guile/scm-value.c (vlscm_free_value_smob)
10104         (vlscm_scm_from_value): Update.
10105         * frame.c (frame_register_unwind, frame_unwind_register_signed)
10106         (frame_unwind_register_unsigned, get_frame_register_bytes)
10107         (put_frame_register_bytes): Don't call value_free.
10108         * findvar.c (address_from_register): Don't call value_free.
10109         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
10110         * dwarf2loc.c (entry_data_value_free_closure)
10111         (value_of_dwarf_reg_entry, free_pieced_value_closure)
10112         (dwarf2_evaluate_loc_desc_full): Update.
10113         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10114         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10115         (~watchpoint, watch_command_1)
10116         (invalidate_bp_value_on_memory_change): Update.
10117         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
10118
10119 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
10120
10121         PR gdb/23022
10122         * warning.m4: Add -Wno-error=deprecated-register.
10123         * configure: Re-generate.
10124
10125 2018-04-05  Tom Tromey  <tom@tromey.com>
10126
10127         * linespec.h: Remove include of "vec.h".
10128
10129 2018-04-05  Tom Tromey  <tom@tromey.com>
10130
10131         * linespec.c (typep): Remove typedef.
10132         (find_methods, find_superclass_methods): Take a std::vector.
10133         (find_method): Use std::vector.
10134
10135 2018-04-05  Tom Tromey  <tom@tromey.com>
10136
10137         * utils.c (compare_strings): Remove.
10138         * utils.h (compare_strings): Remove.
10139         * objc-lang.h (find_imps): Update.
10140         * objc-lang.c (find_methods): Take a std::vector.
10141         (uniquify_strings, find_imps): Likewise.
10142         * linespec.c (find_methods): Take a std::vector.
10143         (decode_objc): Use std::vector.
10144         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
10145         a std::vector.
10146         (find_method, find_function_symbols): Use std::vector.
10147
10148 2018-04-05  Tom Tromey  <tom@tromey.com>
10149
10150         * completer.c (completion_tracker::completion_tracker): Remove
10151         cast.
10152         (completion_tracker::discard_completions): Likewise.
10153         * breakpoint.c (ambiguous_names_p): Remove cast.
10154         * ada-lang.c (_initialize_ada_language): Remove cast.
10155         * utils.h (streq): Update.
10156         (streq_hash): Add new declaration.
10157         * utils.c (streq): Return bool.
10158         (streq_hash): New function.
10159
10160 2018-04-05  Tom Tromey  <tom@tromey.com>
10161
10162         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
10163         Remove a string copy.
10164
10165 2018-04-05  Tom Tromey  <tom@tromey.com>
10166
10167         * linespec.c (filter_results): Use std::vector.
10168         (decode_line_2, decode_line_full): Update.
10169
10170 2018-04-05  Tom Tromey  <tom@tromey.com>
10171
10172         * linespec.c (canonical_to_fullform): Return std::string.
10173         (filter_results): Update.
10174         (struct decode_line_2_item): Add constructor.
10175         <fullform, displayform>: Now std::string.
10176         (decode_line_2_compare_items): Now a std::sort comparator.
10177         (decode_line_2): Update.
10178
10179 2018-04-05  Tom Tromey  <tom@tromey.com>
10180
10181         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
10182         (unexpected_linespec_error): Update.
10183         (linespec_parse_basic, parse_linespec): Update.
10184
10185 2018-04-05  Tom Tromey  <tom@tromey.com>
10186
10187         * linespec.c (linespec_parse_basic): Reindent.
10188
10189 2018-04-05  Tom Tromey  <tom@tromey.com>
10190
10191         * minsyms.h (iterate_over_minimal_symbols): Update.
10192         * minsyms.c (iterate_over_minimal_symbols): Take a
10193         gdb::function_view.
10194         * linespec.c (struct collect_minsyms): Remove.
10195         (compare_msyms): Now a std::sort comparator.
10196         (add_minsym): Add parameters.
10197         (search_minsyms_for_name): Update.  Use std::vector.
10198
10199 2018-04-03  Tom Tromey  <tom@tromey.com>
10200
10201         * mipsread.c (read_alphacoff_dynamic_symtab): Use
10202         gdb::byte_vector.
10203
10204 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10205
10206         * MAINTAINERS (Write After Approval): Add Weimin Pan.
10207
10208 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10209
10210         PR gdb/16959
10211         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
10212         printing static type.
10213
10214 2018-04-01  Tom Tromey  <tom@tromey.com>
10215
10216         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
10217         (rs6000_xfer_shared_libraries): Update.
10218
10219 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
10220
10221         * common/gdb_vecs.h (char_ptr): Remove.
10222         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
10223
10224 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10225
10226         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
10227         with std::vector.
10228         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
10229
10230 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10231
10232         * tracepoint.h (struct uploaded_tp): Initialize fields.
10233         <actions, step_actions, cmd_strings>: Change type to
10234         std::vector<char *>.
10235         * tracepoint.c (get_uploaded_tp): Allocate with new.
10236         (free_uploaded_tps): Free with delete.
10237         (parse_tracepoint_definition): Adjust to std::vector change.
10238         * breakpoint.c (read_uploaded_action): Likewise.
10239         (create_tracepoint_from_upload): Likewise.
10240         * ctf.c (ctf_write_uploaded_tp): Likewise.
10241         (SET_ARRAY_FIELD): Likewise.
10242         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
10243
10244 2018-03-30  Tom Tromey  <tom@tromey.com>
10245
10246         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
10247         std::unique_ptr.
10248         (svr4_keep_data_in_core): Update.
10249         (svr4_read_so_list): Update.
10250
10251 2018-03-30  Tom Tromey  <tom@tromey.com>
10252
10253         * windows-nat.c (handle_output_debug_string, handle_exception):
10254         Update.
10255         * target.h (target_read_string): Update.
10256         * target.c (target_read_string): Change "string" to
10257         unique_xmalloc_ptr.
10258         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
10259         Update.
10260         * solib-frv.c (frv_current_sos): Update.
10261         * solib-dsbt.c (dsbt_current_sos): Update.
10262         * solib-darwin.c (darwin_current_sos): Update.
10263         * linux-thread-db.c (inferior_has_bug): Update.
10264         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
10265         Update.  Remove alloca.
10266         * ada-lang.c (ada_main_name): Update.
10267
10268 2018-03-30  Tom Tromey  <tom@tromey.com>
10269
10270         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
10271         (struct dwo_file_deleter): New.
10272         (dwo_file_up): New typedef.
10273         (open_and_init_dwo_file): Use dwo_file_up.
10274         (free_dwo_file_cleanup): Remove.
10275
10276 2018-03-30  Tom Tromey  <tom@tromey.com>
10277
10278         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
10279         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
10280
10281 2018-03-30  Tom Tromey  <tom@tromey.com>
10282
10283         * dwarf2read.c (class free_cached_comp_units): New class.
10284         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
10285         (free_cached_comp_units): Remove function.
10286
10287 2018-03-30  Tom Tromey  <tom@tromey.com>
10288
10289         * utils.h (make_cleanup_unpush_target): Remove.
10290         * inf-ptrace.c (struct target_unpusher): New.
10291         (target_unpush_up) New typedef.
10292         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
10293         target_unpush_up.
10294         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
10295
10296 2018-03-27  Tom Tromey  <tom@tromey.com>
10297
10298         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
10299
10300 2018-03-27  Pedro Alves  <palves@redhat.com>
10301             Tom Tromey  <tom@tromey.com>
10302
10303         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
10304         destructor.  Now a class.
10305         (gdb_readline_wrapper_cleanup): Remove function.
10306         (gdb_readline_wrapper): Remove cleanups.
10307
10308 2018-03-27  Tom Tromey  <tom@tromey.com>
10309
10310         * typeprint.h (struct type_print_options) <local_typedefs,
10311         global_typedefs>: Remove "struct" keyword.
10312         (class typedef_hash_table): New class.
10313         (recursively_update_typedef_hash, add_template_parameters)
10314         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
10315         (find_typedef_in_hash): Don't declare.
10316         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
10317         (typedef_hash_table::recursively_update): Rename from
10318         recursively_update_typedef_hash.  Now a member.
10319         (typedef_hash_table::add_template_parameters): Rename from
10320         add_template_parameters.  Now a member.
10321         (typedef_hash_table::typedef_hash_table): Now a constructor;
10322         rename from create_typedef_hash.
10323         (typedef_hash_table::~typedef_hash_table): Now a destructor;
10324         rename from free_typedef_hash.
10325         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
10326         (do_free_global_table): Remove.
10327         (typedef_hash_table::typedef_hash_table): New constructor; renamed
10328         from copy_type_recursive.
10329         (create_global_typedef_table): Remove.
10330         (typedef_hash_table::find_global_typedef): Now a member of
10331         typedef_hash_table.
10332         (typedef_hash_table::find_typedef): Rename from
10333         find_typedef_in_hash; now a member.
10334         (whatis_exp): Update.
10335         * extension.h (struct ext_lang_type_printers): Add constructor and
10336         destructor.
10337         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
10338         declare.
10339         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
10340         Now a constructor; rename from start_ext_lang_type_printers.
10341         (ext_lang_type_printers): Now a destructor; rename from
10342         free_ext_lang_type_printers.
10343         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
10344         Update.
10345         (c_type_print_base_struct_union): Update.  Remove cleanups.
10346
10347 2018-03-27  Tom Tromey  <tom@tromey.com>
10348
10349         * dwarf-index-write.c: Include <cmath>.
10350
10351 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10352
10353         * NEWS: Add entry describing new "set|show varsize-limit" command.
10354         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
10355         command.
10356         * printcmd.c (_initialize_printcmd): Add "set var" alias of
10357         "set variable".
10358
10359 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10360
10361         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10362         dwarf-index-write.c
10363         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10364         * dwarf-index-common.c: New file.
10365         * dwarf-index-common.h: New file.
10366         * dwarf-index-write.c: New file.
10367         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10368         (struct dwarf2_section_info): Move from here.
10369         (dwarf2_section_info_def): Likewise.
10370         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10371         (offset_type): Likewise.
10372         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10373         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10374         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10375         (byte_swap): Likewise.
10376         (MAYBE_SWAP): Likewise.
10377         (dwarf2_per_cu_ptr): Likewise.
10378         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10379         (struct tu_stats): Likewise.
10380         (struct dwarf2_per_objfile): Likewise.
10381         (struct dwarf2_per_cu_data): Likewise.
10382         (struct signatured_type): Likewise.
10383         (sig_type_ptr): Likewise.
10384         (DEF_VEC_P (sig_type_ptr)): Likewise.
10385         (INDEX4_SUFFIX): Likewise.
10386         (INDEX5_SUFFIX): Likewise.
10387         (DEBUG_STR_SUFFIX): Likewise.
10388         (dwarf2_read_section): Make non-static.
10389         (mapped_index_string_hash): Move from here.
10390         (dwarf5_djb_hash): Likewise.
10391         (file_write): Likewise.
10392         (class data_buf): Likewise.
10393         (struct symtab_index_entry): Likewise.
10394         (struct mapped_symtab): Likewise.
10395         (find_slot): Likewise.
10396         (hash_expand): Likewise.
10397         (add_index_entry): Likewise.
10398         (uniquify_cu_indices): Likewise.
10399         (class c_str_view): Likewise.
10400         (class c_str_view_hasher): Likewise.
10401         (class vector_hasher): Likewise.
10402         (write_hash_table): Likewise.
10403         (psym_index_map): Likewise.
10404         (struct addrmap_index_data): Likewise.
10405         (add_address_entry): Likewise.
10406         (add_address_entry_worker): Likewise.
10407         (write_address_map): Likewise.
10408         (symbol_kind): Likewise.
10409         (write_psymbols): Likewise.
10410         (struct signatured_type_index_data): Likewise.
10411         (write_one_signatured_type): Likewise.
10412         (recursively_count_psymbols): Likewise.
10413         (recursively_write_psymbols): Likewise.
10414         (class debug_names): Likewise.
10415         (check_dwarf64_offsets): Likewise.
10416         (psyms_seen_size): Likewise.
10417         (write_gdbindex): Likewise.
10418         (write_debug_names): Likewise.
10419         (assert_file_size): Likewise.
10420         (write_psymtabs_to_index): Likewise.
10421         (save_gdb_index_command): Likewise.
10422         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10423         command.
10424         * dwarf2read.h: New file.
10425
10426 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10427
10428         PR gdb/22670
10429         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10430         symbol name if the CU's language stores symbol names in linkage
10431         format.
10432         * language.h (struct language_defn)
10433         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10434         all instances of this struct.
10435
10436 2018-03-26  Tom Tromey  <tom@tromey.com>
10437
10438         * stack.c (backtrace_command_1): Remove verbose code.
10439
10440 2018-03-26  Tom Tromey  <tom@tromey.com>
10441
10442         * python/py-framefilter.c (py_print_type): Don't catch
10443         exceptions.  Return void.
10444         (py_print_value): Likewise.
10445         (py_print_single_arg): Likewise.
10446         (enumerate_args): Don't catch exceptions.
10447         (py_print_args): Likewise.
10448         (py_print_frame): Likewise.
10449         (gdbpy_apply_frame_filter): Catch exceptions here.
10450
10451 2018-03-26  Tom Tromey  <tom@tromey.com>
10452
10453         * stack.c (_initialize_stack): Remove trailing newlines from help
10454         text.  Add "Usage" line to "backtrace" help.
10455
10456 2018-03-26  Tom Tromey  <tom@tromey.com>
10457
10458         PR python/16486:
10459         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10460
10461 2018-03-26  Tom Tromey  <tom@tromey.com>
10462
10463         * python/py-framefilter.c (py_print_single_arg): Return
10464         EXT_LANG_BT_ERROR from catch.
10465
10466 2018-03-26  Tom Tromey  <tom@tromey.com>
10467
10468         PR backtrace/15584:
10469         * stack.c (backtrace_command_1): Move some code into no-filters
10470         "if".
10471
10472 2018-03-26  Tom Tromey  <tom@tromey.com>
10473
10474         * python/py-framefilter.c (throw_quit_or_print_exception): New
10475         function.
10476         (gdbpy_apply_frame_filter): Use it.
10477
10478 2018-03-26  Tom Tromey  <tom@tromey.com>
10479
10480         PR cli/17716:
10481         * python/py-framefilter.c (py_print_type, py_print_value)
10482         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
10483         RETURN_MASK_ERROR.
10484
10485 2018-03-26  Tom Tromey  <tom@tromey.com>
10486
10487         * python/py-framefilter.c (enumerate_args): Use
10488         gdb::unique_xmalloc_ptr.
10489
10490 2018-03-26  Tom Tromey  <tom@tromey.com>
10491
10492         * python/py-framefilter.c (py_print_frame): Return
10493         EXT_LANG_BT_OK.
10494         (gdbpy_apply_frame_filter): Update comment.
10495         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
10496         Remove.
10497         <EXT_LANG_BT_NO_FILTERS>: Change value.
10498
10499 2018-03-26  Tom Tromey  <tom@tromey.com>
10500
10501         PR backtrace/15582:
10502         * stack.c (backtrace_command): Parse "hide" argument.
10503         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
10504         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
10505         constant.
10506
10507 2018-03-26  Tom Tromey  <tom@tromey.com>
10508
10509         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
10510         add "flags".
10511         (backtrace_command): Remove "fulltrace", add "flags".
10512
10513 2018-03-26  Tom Tromey  <tom@tromey.com>
10514
10515         * stack.c (backtrace_command): Rewrite command line parsing.
10516
10517 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10518
10519         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
10520
10521 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10522
10523         * filename-seen-cache.h: Add include guard.
10524
10525 2018-03-26  Keith Seitz  <keiths@redhat.com>
10526
10527         * symfile.c (place_section): Remove "struct" from section_addr_info
10528         in comment.
10529         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
10530         "struct" keyword from section_addr_info.
10531
10532 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
10533
10534         * regformats/regdef.h (reg): Add constructors.
10535
10536 2018-03-25  Pedro Alves  <palves@redhat.com>
10537
10538         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
10539         if then/else bodies in var_func_name extraction.
10540
10541 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
10542
10543         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
10544         lookup_minimal_symbol() to find symbol entry.
10545         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
10546
10547 2018-03-23  Keith Seitz  <keiths@redhat.com>
10548
10549         PR c++/22968
10550         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
10551         nested type definitions for C++, too.
10552
10553 2018-03-23  Tom Tromey  <tom@tromey.com>
10554
10555         * machoread.c (struct oso_el): Add a constructor.  Don't define as
10556         a typedef.
10557         (macho_register_oso): Remove.
10558         (macho_symtab_read): Take a std::vector.
10559         (oso_el_compare_name): Now a std::sort comparator.
10560         (macho_symfile_read_all_oso): Take a std::vector.
10561         (macho_symfile_read): Use std::vector.  Remove cleanups.
10562
10563 2018-03-22  Tom Tromey  <tom@tromey.com>
10564
10565         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
10566         (record_full_goto_bookmark): Use std::string.
10567
10568 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10569
10570         PR tdep/18295
10571         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
10572         a single mask.
10573
10574 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10575
10576         * rs6000-tdep.c (store_insn_p): New function.
10577         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
10578         and cr_reg to their unshifted values. Use store_insn_p to
10579         match LR saves using either R1 or fdata->alloca_reg. Use
10580         store_insn_p to match CR saves. Set alloca_reg_offset
10581         when alloca_reg and framep are set. Remove lr_reg shift
10582         when assigning to fdata->lr_register.
10583
10584 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10585
10586         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
10587         command line args instead of emitting a warning.
10588
10589 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10590
10591         * tracepoint.h (struct static_tracepoint_marker): Initialize
10592         fields, define default constructor, move constructor and move
10593         assignment, disable the rest.
10594         <str_id, extra>: Make std::string.
10595         (release_static_tracepoint_marker): Remove.
10596         (free_current_marker): Remove.
10597         * tracepoint.c (free_current_marker): Remove.
10598         (parse_static_tracepoint_marker_definition): Adjust to
10599         std::string, use new hex2str overload.
10600         (release_static_tracepoint_marker): Remove.
10601         (print_one_static_tracepoint_marker): Get marker by reference
10602         and adjust to std::string.
10603         (info_static_tracepoint_markers_command): Adjust to std::vector
10604         changes
10605         * target.h (static_tracepoint_marker_p): Remove typedef.
10606         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
10607         (struct target_ops) <to_static_tracepoint_marker_at>: Return
10608         bool.
10609         <to_static_tracepoint_markers_by_strid>: Return std::vector.
10610         * target-debug.h
10611         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
10612         (target_debug_print_std_vector_static_tracepoint_marker): New.
10613         (target_debug_print_struct_static_tracepoint_marker_p): Rename
10614         to...
10615         (target_debug_print_static_tracepoint_marker_p): ... this.
10616         * target-delegates.c: Re-generate.
10617         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
10618         Make std::string.
10619         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
10620         (decode_static_tracepoint_spec): Adjust to std::vector.
10621         (tracepoint_print_one_detail): Adjust to std::string.
10622         (strace_marker_decode_location): Adjust to std::string.
10623         (update_static_tracepoint): Adjust to std::string, remove call
10624         to release_static_tracepoint_marker.
10625         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
10626         Adjust to std::vector.
10627         * remote.c (remote_static_tracepoint_marker_at): Return bool.
10628         (remote_static_tracepoint_markers_by_strid): Adjust to
10629         std::vector.
10630         * common/rsp-low.h (hex2str): New overload with explicit count
10631         of bytes.
10632         * common/rsp-low.c (hex2str): New overload with explicit count
10633         of bytes.
10634         * unittests/rsp-low-selftests.c (test_hex2str): New function.
10635         (_initialize_rsp_low_selftests): Add test_hex2str test.
10636         * unittests/tracepoint-selftests.c
10637         (test_parse_static_tracepoint_marker_definition): Adjust to
10638         std::string.
10639
10640 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10641
10642         * tracepoint.c (parse_static_tracepoint_marker_definition):
10643         Consider case where the definition is followed by more
10644         definitions.
10645         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10646         tracepoint-selftests.c.
10647         * unittests/tracepoint-selftests.c: New.
10648
10649 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10650
10651         * MAINTAINERS (Write After Approval): Add Pedro Franco de
10652         Carvalho.
10653
10654 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10655
10656         * symtab.c (find_pc_sect_line): fixed indentation.
10657
10658 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10659
10660         * symtab.c (find_pc_sect_line): now uses binary search.
10661
10662 2018-03-19  Tom Tromey  <tom@tromey.com>
10663
10664         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
10665         "IDENT" production.
10666
10667 2018-03-19  Pedro Alves  <palves@redhat.com>
10668             Tom Tromey  <tom@tromey.com>
10669
10670         * unittests/observable-selftests.c: New file.
10671         * common/observable.h: New file.
10672         * observable.h: New file.
10673         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
10674         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
10675         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
10676         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
10677         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
10678         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
10679         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
10680         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
10681         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
10682         python/py-breakpoint.c, python/py-finishbreakpoint.c,
10683         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
10684         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
10685         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
10686         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
10687         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
10688         tui/tui-interp.c, valops.c: Update all users.
10689         * tui/tui-hooks.c (tui_bp_created_observer)
10690         (tui_bp_deleted_observer, tui_bp_modified_observer)
10691         (tui_inferior_exit_observer, tui_before_prompt_observer)
10692         (tui_normal_stop_observer, tui_register_changed_observer):
10693         Remove.
10694         (tui_observers_token): New global.
10695         (attach_or_detach, tui_attach_detach_observers): New functions.
10696         (tui_install_hooks, tui_remove_hooks): Use
10697         tui_attach_detach_observers.
10698         * record-btrace.c (record_btrace_thread_observer): Remove.
10699         (record_btrace_thread_observer_token): New global.
10700         * observer.sh: Remove.
10701         * observer.c: Rename to observable.c.
10702         * observable.c (namespace gdb_observers): Define new objects.
10703         (observer_debug): Move into gdb_observers namespace.
10704         (struct observer, struct observer_list, xalloc_observer_list_node)
10705         (xfree_observer_list_node, generic_observer_attach)
10706         (generic_observer_detach, generic_observer_notify): Remove.
10707         (_initialize_observer): Update.
10708         Don't include observer.inc.
10709         * Makefile.in (generated_files): Remove observer.h, observer.inc.
10710         (clean mostlyclean): Likewise.
10711         (observer.h, observer.inc): Remove targets.
10712         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
10713         (COMMON_SFILES): Use observable.c, not observer.c.
10714         * .gitignore: Remove observer.h.
10715
10716 2018-03-18  Tom Tromey  <tom@tromey.com>
10717
10718         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
10719         gdb::def_vector.
10720         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
10721
10722 2018-03-17  Tom Tromey  <tom@tromey.com>
10723
10724         * auto-load.c (auto_load_objfile_script_1): Use std::string.
10725
10726 2018-03-17  Tom Tromey  <tom@tromey.com>
10727
10728         * target.c (class scoped_target_fd): New.
10729         (target_fileio_close_cleanup): Remove.
10730         (target_fileio_read_alloc_1): Use scoped_target_fd.
10731
10732 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
10733
10734         * silent-rules.mk: New.
10735         * Makefile.in: Include silent-rules.mk
10736         (srcdir, VPATH, top_srcdir): Move up.
10737         (COMPILE): Add ECHO_CXX.
10738         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
10739         (init.c): Add ECHO_INIT_C.
10740         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
10741         (version.c): Add ECHO_GEN.
10742         (printcmd.o): Add ECHO_CXX.
10743         (target-float.o): Add ECHO_CXX.
10744         (ada-exp.o): Add ECHO_CXX.
10745         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
10746         (insight$(EXEEXT)): Add ECHO_CXXLD.
10747         * gnulib/configure.ac: Add AM_SILENT_RULES.
10748         * gnulib/aclocal.m4: Re-generate.
10749         * gnulib/configure: Re-generate.
10750         * gnulib/import/Makefile.in: Re-generate.
10751
10752 2018-03-16  Tom Tromey  <tom@tromey.com>
10753
10754         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
10755         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
10756         * utils.c (do_free_section_addr_info)
10757         (make_cleanup_free_section_addr_info): Remove.
10758         * symfile.h (struct other_sections): Add constructor.
10759         (struct section_addr_info): Remove.
10760         (section_addr_info): New typedef.
10761         (struct sym_fns) <sym_offsets>: Change type of parameter.
10762         (build_section_addr_info_from_objfile)
10763         (relative_addr_info_to_section_offsets, addr_info_make_relative)
10764         (default_symfile_offsets, symbol_file_add)
10765         (symbol_file_add_from_bfd)
10766         (build_section_addr_info_from_section_table): Update.
10767         (alloc_section_addr_info, free_section_addr_info): Don't declare.
10768         * symfile.c (alloc_section_addr_info): Remove.
10769         (build_section_addr_info_from_section_table): Change return type.
10770         Update.
10771         (build_section_addr_info_from_bfd)
10772         (build_section_addr_info_from_objfile): Likewise.
10773         (free_section_addr_info): Remove.
10774         (relative_addr_info_to_section_offsets): Change type of "addrs".
10775         (addrs_section_compar): Now a std::sort comparator.
10776         (addrs_section_sort): Change return type.
10777         (addr_info_make_relative): Change type of "addrs".  Update.
10778         (default_symfile_offsets, syms_from_objfile_1)
10779         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
10780         (symbol_file_add_separate): Update.
10781         (symbol_file_add): Change type of "addrs".  Update.
10782         (add_symbol_file_command): Update.  Remove cleanups.
10783         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
10784         cleanups.
10785         * symfile-debug.c (debug_sym_offsets): Change type of "info".
10786         * solib.c (solib_read_symbols): Update.
10787         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
10788         * machoread.c (macho_symfile_offsets): Update.
10789         * jit.c (jit_bfd_try_read_symtab): Update.
10790
10791 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
10792
10793         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10794         unittests/utils-selftests.c.
10795         * unittests/utils-selftests.c: New file.
10796
10797 2018-03-14  Tom Tromey  <tom@tromey.com>
10798
10799         PR cli/14977:
10800         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
10801         for NULL.
10802
10803 2018-03-14  Tom Tromey  <tom@tromey.com>
10804
10805         PR cli/19918:
10806         * printcmd.c (printf_pointer): Allow "-" in format.
10807
10808 2018-03-14  Tom Tromey  <tom@tromey.com>
10809
10810         * printcmd.c (_initialize_printcmd): Add usage to printf.
10811
10812 2018-03-14  Yao Qi  <qiyao@sourceware.org>
10813
10814         * MAINTAINERS: Update my email address.
10815
10816 2018-03-13  Tom Tromey  <tom@tromey.com>
10817
10818         * machoread.c (macho_check_dsym): Change filenamep to a
10819         std::string*.
10820         (macho_symfile_read): Update.
10821         * symfile.c (load_command): Use std::string.
10822
10823 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10824
10825         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
10826         to error message string.
10827         (riscv_register_name): Use xsnprintf instead of sprintf.
10828         (riscv_insn::fetch_instruction): Use gdb_assert instead of
10829         internal_error.
10830         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
10831         error.
10832         (riscv_push_dummy_call): Likewise.
10833
10834 2018-03-12  Tom Tromey  <tom@tromey.com>
10835
10836         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
10837         Use gdb::byte_vector.
10838         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
10839
10840 2018-03-12  Yao Qi  <yao.qi@linaro.org>
10841
10842         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
10843         parameter type to readable_regcache.
10844         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
10845         the declaration.
10846
10847 2018-03-11  Tom Tromey  <tom@tromey.com>
10848
10849         * dwarf2read.c (struct nextfield): Add initializers.
10850         (struct nextfnfield): Remove.
10851         (struct fnfieldlist): Add initializers.  Remove "length" and
10852         "head", use std::vector.
10853         (struct decl_field_list): Remove.
10854         (struct field_info): Add initializers.
10855         <fields, baseclasses>: Now std::vector.
10856         <nbaseclasses, nfnfields, typedef_field_list_count,
10857         nested_types_list_count>: Remove.
10858         (dwarf2_add_field, dwarf2_add_type_defn)
10859         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
10860         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
10861         (process_structure_scope): Update.
10862
10863 2018-03-11  Tom Tromey  <tom@tromey.com>
10864
10865         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
10866         for use by std::sort.
10867         (build_type_psymtabs_1): Use std::vector.
10868
10869 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
10870
10871         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
10872         and LIBMPFR in the printed configuration.
10873
10874 2018-03-08  Tom Tromey  <tom@tromey.com>
10875
10876         * source.c (get_filename_and_charpos): Use scoped_fd.
10877         * nto-procfs.c (procfs_open_1): Use scoped_fd.
10878         (procfs_pidlist): Likewise.
10879         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
10880         (iterate_over_mappings): Likewise.
10881
10882 2018-03-08  Tom Tromey  <tom@tromey.com>
10883
10884         * infcall.c (struct call_return_meta_info)
10885         <stack_temporaries_enabled>: Remove.
10886         (get_call_return_value, call_function_by_hand_dummy): Update.
10887         * thread.c (disable_thread_stack_temporaries): Remove.
10888         (enable_thread_stack_temporaries): Remove.
10889         (thread_stack_temporaries_enabled_p): Return bool.
10890         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
10891         (get_last_thread_stack_temporary): Update.
10892         * eval.c (evaluate_subexp): Update.
10893         * gdbthread.h (class enable_thread_stack_temporaries): Now a
10894         class, not a function.
10895         (value_ptr, value_vec): Remove typedefs.
10896         (class thread_info) <stack_temporaries_enabled>: Now bool.
10897         <stack_temporaries>: Now a std::vector.
10898         (thread_stack_temporaries_enabled_p)
10899         (value_in_thread_stack_temporaries): Return bool.
10900
10901 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
10902
10903         * remote.c (putpkt_binary): Fix omitted bytes reporting.
10904         (getpkt_or_notif_sane_1): Likewise.
10905
10906 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10907
10908         * build-id.c (build_id_to_debug_bfd): Use std::string.
10909
10910 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10911
10912         * build-id.c (find_separate_debug_file_by_buildid): Return
10913         std::string.
10914         * build-id.h (find_separate_debug_file_by_buildid): Return
10915         std::string.
10916         * coffread.c (coff_symfile_read): Adjust to std::string.
10917         * elfread.c (elf_symfile_read): Adjust to std::string.
10918         * symfile.c (separate_debug_file_exists): Change parameter to
10919         std::string.
10920         (find_separate_debug_file): Return std::string.
10921         (find_separate_debug_file_by_debuglink): Return std::string.
10922         * symfile.h (find_separate_debug_file_by_debuglink): Return
10923         std::string.
10924
10925 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10926
10927         * common/xml-utils.c (xml_escape_text): Move code to...
10928         (xml_escape_text_append): ... this new function.
10929         * common/xml-utils.h (xml_escape_text_append): New declaration.
10930         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
10931         New function.
10932         (_initialize_xml_utils): register test_xml_escape_text_append as
10933         a selftest.
10934
10935 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10936
10937         * defs.h: Remove MAX_REGISTER_SIZE.
10938         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10939         asserts.
10940         * python/py-unwind.c (pyuw_sniffer): Likewise.
10941
10942 2018-03-07  Tom Tromey  <tom@tromey.com>
10943
10944         * linux-tdep.c (linux_info_proc): Update.
10945         * target.h (struct target_ops) <to_fileio_readlink>: Return
10946         optional<string>.
10947         (target_fileio_readlink): Return optional<string>.
10948         * remote.c (remote_hostio_readlink): Return optional<string>.
10949         * inf-child.c (inf_child_fileio_readlink): Return
10950         optional<string>.
10951         * target.c (target_fileio_readlink): Return optional<string>.
10952
10953 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10954
10955         * regcache.c (cooked_read_test): Add riscv to the list of
10956         architectures that have a save_reggroup.
10957
10958 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10959
10960         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10961         value is not a dynamic class object.
10962
10963 2018-03-06  Tom Tromey  <tom@tromey.com>
10964
10965         * rust-exp.y: Formatting fixes.
10966
10967 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10968
10969         * riscv-tdep.c (riscv_register_name): Remove target description
10970         support.
10971         (riscv_gdbarch_init): Remove target description check.
10972
10973 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10974
10975         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10976         comment.
10977         * riscv-tdep.h: Likewise.
10978
10979 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10980
10981         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10982         (riscv_pseudo_register_write): Delete.
10983         (riscv_gdbarch_init): Remove all use of pseudo registers.
10984
10985 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10986
10987         * record-btrace.c (btrace_print_lines): Replace cleanup
10988         parameter with RAII equivalents.
10989         (btrace_insn_history): Replace cleanup with RAII equivalents.
10990         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10991         make_cleanup_ui_out_tuple_begin_end): Remove.
10992         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10993         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10994         make_cleanup_ui_out_list_begin_end): Remove.
10995
10996 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10997
10998         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10999         parameter types to std::vector.  Use bool.
11000         (record_btrace_wait): Replace VEC(tp_t) with
11001         std::vector<thread_info *>.
11002         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
11003
11004 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11005
11006         * record-btrace.c (record_btrace_disable_callback): Remove.
11007         (struct scoped_btrace_disable): New.
11008         (record_btrace_open): Use scoped_btrace_disable.
11009
11010 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11011
11012         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11013         reading values from registers.
11014
11015 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11016
11017         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11018         where appropriate.
11019
11020 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11021
11022         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11023         change parameter type.  Use GDB's print functions, and use
11024         core_addr_to_string where appropriate.
11025         (riscv_push_dummy_call): Use core_addr_to_string where
11026         appropriate, update call to riscv_print_arg_location, and reindent
11027         a few lines.
11028         (riscv_return_value): Update call to riscv_print_arg_location.
11029
11030 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11031             Tim Newsome <tim@sifive.com>
11032             Albert Ou <a0u@eecs.berkeley.edu>
11033             Darius Rad <darius@bluespec.com>
11034
11035         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11036         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11037         (ALLDEPFILES): Add riscv-tdep.c
11038         * configure.tgt: Add riscv support.
11039         * riscv-tdep.c: New file.
11040         * riscv-tdep.h: New file.
11041         * NEWS: Mention new target.
11042         * MAINTAINERS: Add entry for riscv.
11043
11044 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11045
11046         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11047         fields within aggregates.
11048
11049 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11050
11051         * record-btrace.c (btrace_print_lines): Change type of flags to
11052         gdb_disassembly_flags.
11053
11054 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11055
11056         * fbsd-nat.c: Include "inf-ptrace.h".
11057         (USE_SIGTRAP_SIGINFO): Conditionally define.
11058         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11059         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11060         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11061         function.
11062         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11063         Likewise.
11064         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11065         Likewise.
11066         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11067         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11068         "supports_stopped_by_hw_breakpoint" target methods.
11069
11070 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11071
11072         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11073         * fbsd-nat.c (debug_fbsd_nat): New variable.
11074         (show_fbsd_nat_debug): New function.
11075         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11076         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11077
11078 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11079
11080         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11081         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11082         prototype.
11083         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
11084         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
11085         method.
11086
11087 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11088
11089         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
11090         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
11091
11092 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11093
11094         * charset.c (struct charset_vector): New.
11095         (charsets): Change type to charset_vector.
11096         (find_charset_names): Adjust.
11097         (add_one): Adjust.
11098         (_initialize_charset): Adjust.
11099
11100 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11101
11102         * progspace.h (struct program_space) <deleted_solibs>: Change
11103         type to std::vector<std::string>.
11104         * progspace.c (clear_program_space_solib_cache): Adjust.
11105         * breakpoint.c (print_solib_event): Adjust.
11106         (check_status_catch_solib): Adjust.
11107         * solib.c (update_solib_list): Adjust.
11108         * ui-out.h (class ui_out) <field_string>: New overload.
11109         * ui-out.c (ui_out::field_string): New overload.
11110
11111 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11112
11113         * progspace.h (struct program_space): Add constructor and
11114         destructor, initialize fields.
11115         (add_program_space): Remove.
11116         * progspace.c (add_program_space): Rename to...
11117         (program_space::program_space): ... this.
11118         (release_program_space): Rename to...
11119         (program_space::~program_space): ... this.
11120         (delete_program_space): Use delete to delete program_space.
11121         (initialize_progspace): Use new to allocate program_space.
11122         * inferior.c (add_inferior_with_spaces): Likewise.
11123         (clone_inferior_command): Likewise.
11124         * infrun.c (follow_fork_inferior): Likewise.
11125         (handle_vfork_child_exec_or_exit): Likewise.
11126
11127 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11128
11129         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
11130         (delim_string_to_char_ptr_vec): Return std::vector of
11131         gdb::unique_xmalloc_ptr.
11132         (dirnames_to_char_ptr_vec_append): Take std::vector of
11133         gdb::unique_xmalloc_ptr.
11134         (dirnames_to_char_ptr_vec): Return std::vector of
11135         gdb::unique_xmalloc_ptr.
11136         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
11137         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
11138         (delim_string_to_char_ptr_vec): Return an std::vector of
11139         gdb::unique_xmalloc_ptr, adjust the code.
11140         (dirnames_to_char_ptr_vec_append): Take an std::vector of
11141         gdb::unique_xmalloc_ptr, adjust the code.
11142         (dirnames_to_char_ptr_vec): Return an std::vector of
11143         gdb::unique_xmalloc_ptr, adjust the code.
11144         * auto-load.c (auto_load_safe_path_vec): Change type to
11145         std::vector of gdb::unique_xmalloc_ptr.
11146         (auto_load_expand_dir_vars): Return an std::vector of
11147         gdb::unique_xmalloc_ptr, adjust the code.
11148         (auto_load_safe_path_vec_update): Adjust.
11149         (filename_is_in_auto_load_safe_path_vec): Adjust.
11150         (auto_load_objfile_script_1): Adjust.
11151         * build-id.c (build_id_to_debug_bfd): Adjust.
11152         * linux-thread-db.c (thread_db_load_search): Adjust.
11153         * source.c (add_path): Adjust.
11154         (openp): Adjust.
11155         * symfile.c (find_separate_debug_file): Adjust.
11156         * utils.c (do_free_char_ptr_vec): Remove.
11157         (make_cleanup_free_char_ptr_vec): Remove.
11158
11159 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
11160
11161         PR gdb/22907
11162         * common/pathstuff.c: Conditionally include "<windows.h>".
11163
11164 2018-03-01  Georg Sauthoff  <mail@georg.so>
11165
11166         PR gdb/22888
11167         * gcore.in: Quote variables and switch interpreter to bash.
11168
11169 2018-03-01  Tom Tromey  <tom@tromey.com>
11170
11171         * dwarf2read.c (alloc_discriminant_info): Fix default_index
11172         assertion.  Add assertion for discriminant_index.
11173         (quirk_rust_enum): Use correct base type name in univariant case.
11174
11175 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
11176
11177         * record.c (get_call_history_modifiers): Return a
11178         record_print_flags.
11179         (cmd_record_call_history): Adjust.
11180         * record-btrace.c (record_btrace_call_history): Adjust.
11181         (record_btrace_call_history_range): Adjust.
11182         (record_btrace_call_history_from): Adjust.
11183         * target-debug.h (target_debug_print_record_print_flags): New.
11184         * target-delegates.c: Re-generate.
11185         * target.c (target_call_history): Change flags type.
11186         (target_call_history_from): Likewise.
11187         (target_call_history_range): Likewise.
11188         * target.h (struct target_ops) <target_call_history>: Likewise.
11189         (target_call_history_from): Likewise.
11190         (target_call_history_range): Likewise.
11191
11192 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11193             Simon Marchi  <simon.marchi@polymtl.ca>
11194
11195         * common/common-utils.c: Include "sys/stat.h".
11196         (is_regular_file): Move here from "source.c"; change return
11197         type to "bool".
11198         * common/common-utils.h (is_regular_file): New prototype.
11199         * common/pathstuff.c (contains_dir_separator): New function.
11200         * common/pathstuff.h (contains_dir_separator): New prototype.
11201         * source.c: Don't include "sys/stat.h".
11202         (is_regular_file): Move to "common/common-utils.c".
11203
11204 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11205
11206         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
11207         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
11208         * auto-load.c: Include "common/pathstuff.h".
11209         * common/common-def.h (current_directory): Move here.
11210         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
11211         function.
11212         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
11213         prototype.
11214         * common/pathstuff.c: New file.
11215         * common/pathstuff.h: New file.
11216         * compile/compile.c: Include "common/pathstuff.h".
11217         * defs.h (current_directory): Move to "common/common-defs.h".
11218         * dwarf2read.c: Include "common/pathstuff.h".
11219         * exec.c: Likewise.
11220         * guile/scm-safe-call.c: Likewise.
11221         * linux-thread-db.c: Likewise.
11222         * main.c: Likewise.
11223         * nto-tdep.c: Likewise.
11224         * objfiles.c: Likewise.
11225         * source.c: Likewise.
11226         * symtab.c: Likewise.
11227         * utils.c: Include "common/pathstuff.h".
11228         (gdb_realpath): Move to "common/pathstuff.c".
11229         (gdb_realpath_keepfile): Likewise.
11230         (gdb_abspath): Likewise.
11231         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
11232         (gdb_realpath_keepfile): Likewise.
11233         (gdb_abspath): Likewise.
11234
11235 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
11236
11237         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
11238         wildcard process pid for super_resume for kernels with a
11239         specific bug.
11240
11241 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
11242
11243         * compile/compile.c (get_args): Add additional comments
11244         explaining function.
11245
11246 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
11247             Tom Tromey  <tom@tromey.com>
11248
11249         * target.h (memory_write_request_s): Remove typedef.  Don't define
11250         VEC.
11251         (target_write_memory_blocks): Change argument to std::vector.
11252         (struct memory_write_request): Add constructor.
11253         * target-memory.c (compare_block_starting_address): Return bool.
11254         Change argument types.
11255         (claim_memory): Change arguments to use std::vector.
11256         (split_regular_and_flash_blocks, blocks_to_erase)
11257         (compute_garbled_blocks): Likewise.
11258         (cleanup_request_data, cleanup_write_requests_vector): Remove.
11259         (target_write_memory_blocks): Change argument to std::vector.
11260         * symfile.c (struct load_section_data): Add constructor and
11261         destructor.  Use std::vector for "requests".
11262         (struct load_progress_data): Add initializers.
11263         (load_section_callback): Update.  Use "new".
11264         (clear_memory_write_data): Remove.
11265         (generic_load): Update.
11266
11267 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
11268
11269         * arch/aarch64.h: Use common/tdesc.h.
11270
11271 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11272
11273         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
11274         architecture with a 64-bit ABI.
11275
11276 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11277
11278         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
11279         ahead of target description loading.
11280
11281 2018-02-26  Tom Tromey  <tom@tromey.com>
11282
11283         * stack.c (backtrace_command_1): Update.
11284         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
11285         of "flags".
11286         * python/py-framefilter.c (py_print_frame)
11287         (gdbpy_apply_frame_filter): Change type of "flags".
11288         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
11289         of "flags".
11290         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
11291         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
11292         * extension.h (enum frame_filter_flag): Rename from
11293         frame_filter_flags.
11294         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
11295         (apply_ext_lang_frame_filter): Change type of "flags".
11296         * extension.c (apply_ext_lang_frame_filter): Change type of
11297         "flags".
11298         * extension-priv.h (struct extension_language_ops)
11299         <apply_frame_filter>: Change type of "flags".
11300
11301 2018-02-26  Tom Tromey  <tom@tromey.com>
11302
11303         PR python/16497:
11304         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
11305         off-by-one in py_end computation.
11306         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
11307         PRINT_MORE_FRAMES.
11308         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
11309         constant.
11310
11311 2018-02-26  Tom Tromey  <tom@tromey.com>
11312
11313         * dwarf2read.c (struct variant_field): New.
11314         (struct nextfield) <variant>: New field.
11315         (dwarf2_add_field): Handle DW_TAG_variant_part.
11316         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
11317         discriminated union.
11318         (read_structure_type): Handle DW_TAG_variant_part.
11319         (handle_struct_member_die): New function, extracted from
11320         process_structure_scope.  Handle DW_TAG_variant.
11321         (process_structure_scope): Handle discriminated unions.  Call
11322         handle_struct_member_die.
11323
11324 2018-02-26  Tom Tromey  <tom@tromey.com>
11325
11326         * rust-lang.h (rust_last_path_segment): Declare.
11327         * rust-lang.c (rust_last_path_segment): Now public.  Change
11328         contract.
11329         (struct disr_info): Remove.
11330         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
11331         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
11332         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
11333         (rust_enum_p, rust_enum_variant): New function.
11334         (rust_underscore_fields): Remove "offset" parameter.
11335         (rust_print_enum): New function.
11336         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
11337         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
11338         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
11339         enums.
11340         (rust_internal_print_type): New function, from rust_print_type.
11341         Remove enum code.
11342         (rust_print_type): Call rust_internal_print_type.
11343         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
11344         Update enum handling.
11345         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
11346         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
11347         (rust_union_quirks): New functions.
11348         (process_full_comp_unit, process_full_type_unit): Call
11349         rust_union_quirks.
11350         (process_structure_scope): Update rust_unions if necessary.
11351
11352 2018-02-26  Tom Tromey  <tom@tromey.com>
11353
11354         * value.h (value_union_variant): Declare.
11355         * valops.c (value_union_variant): New function.
11356         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
11357         (struct discriminant_info): New.
11358         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
11359         enumerator.
11360         (struct main_type) <flag_discriminated_union>: New field.
11361
11362 2018-02-26  Tom Tromey  <tom@tromey.com>
11363
11364         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11365         unittests/unpack-selftests.c.
11366         * unittests/unpack-selftests.c: New file.
11367         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11368
11369 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11370
11371         * dwarf2read.c (struct partial_die_info) <read>: New method.
11372         (read_partial_die): Remove the declaration.
11373         (load_partial_dies): Update.
11374         (partial_die_info::partial_die_info):
11375         (read_partial_die): Change it to partial_die_info::read.
11376
11377 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11378
11379         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11380         (fixup_partial_die): Remove declaration.
11381         (scan_partial_symbols): Update.
11382         (partial_die_parent_scope): Likewise.
11383         (partial_die_full_name): Likewise.
11384         (fixup_partial_die): Change it to partial_die_info::fixup.
11385
11386 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11387
11388         * dwarf2read.c (read_partial_die): Update the declaration.
11389         (load_partial_dies): Caller update.
11390         (read_partial_die): Remove one argument abbrev_len.
11391
11392 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11393
11394         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11395         assignment operator.
11396         (load_partial_dies): Use ctor and copy ctor.
11397         (read_partial_die): Update.
11398         (dwarf2_cu::find_partial_die): Use ctor.
11399
11400 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11401
11402         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11403         (find_partial_die_in_comp_unit): Change it to
11404         dwarf2_cu::find_partial_die.
11405         (find_partial_die): Update.
11406
11407 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11408
11409         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11410         is NULL.
11411
11412 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11413
11414         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11415
11416 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11417
11418         * arch/amd64.h: Use common/tdesc.h.
11419         * arch/i386.c: Likewise.
11420         * arch/i386.h: Likewise.
11421         * arch/tic6x.c: Likewise.
11422         * arch/tdesc.h: Move file from here...
11423         * common/tdesc.h: ...to here.
11424         * features/aarch64-core.c: Regenerate.
11425         * features/aarch64-fpu.c: Regenerate.
11426         * features/i386/32bit-avx.c: Regenerate.
11427         * features/i386/32bit-avx512.c: Regenerate.
11428         * features/i386/32bit-core.c: Regenerate.
11429         * features/i386/32bit-linux.c: Regenerate.
11430         * features/i386/32bit-mpx.c: Regenerate.
11431         * features/i386/32bit-pkeys.c: Regenerate.
11432         * features/i386/32bit-sse.c: Regenerate.
11433         * features/i386/64bit-avx.c: Regenerate.
11434         * features/i386/64bit-avx512.c: Regenerate.
11435         * features/i386/64bit-core.c: Regenerate.
11436         * features/i386/64bit-linux.c: Regenerate.
11437         * features/i386/64bit-mpx.c: Regenerate.
11438         * features/i386/64bit-pkeys.c: Regenerate.
11439         * features/i386/64bit-segments.c: Regenerate.
11440         * features/i386/64bit-sse.c: Regenerate.
11441         * features/i386/x32-core.c: Regenerate.
11442         * features/tic6x-c6xp.c: Regenerate.
11443         * features/tic6x-core.c: Regenerate.
11444         * features/tic6x-gp.c: Regenerate.
11445         * target-descriptions.c: Use common/tdesc.h.
11446         * target-descriptions.h: Likewise.
11447
11448 2018-02-24  Tom Tromey  <tom@tromey.com>
11449
11450         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11451         (try_thread_db_load_from_dir, thread_db_load_search): Use
11452         std::string.
11453         (info_auto_load_libthread_db_compare): Return bool.  Change
11454         argument types.
11455         (info_auto_load_libthread_db): Use std::vector, std::string.
11456         Remove cleanups.
11457
11458 2018-02-24  Tom Tromey  <tom@tromey.com>
11459
11460         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11461         std::string.
11462         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11463         std::string*.
11464         * gdbarch.c: Rebuild.
11465         * gdbarch.h: Rebuild.
11466         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11467         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
11468         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
11469         std::string*.
11470
11471 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
11472
11473         * gdbtypes.h (sect_offset): Change type to uint64_t.
11474         (sect_offset_str): New function.
11475         * dwarf2read.c (create_addrmap_from_aranges): Use
11476         sect_offset_str.
11477         (error_check_comp_unit_head): Likewise.
11478         (create_debug_type_hash_table): Likewise.
11479         (read_cutu_die_from_dwo): Likewise.
11480         (init_cutu_and_read_dies): Likewise.
11481         (init_cutu_and_read_dies_no_follow): Likewise.
11482         (process_psymtab_comp_unit_reader): Likewise.
11483         (partial_die_parent_scope): Likewise.
11484         (peek_die_abbrev): Likewise.
11485         (process_queue): Likewise.
11486         (dwarf2_physname): Likewise.
11487         (read_namespace_alias): Likewise.
11488         (read_import_statement): Likewise.
11489         (create_dwo_cu_reader): Likewise.
11490         (create_cus_hash_table): Likewise.
11491         (lookup_dwo_cutu): Likewise.
11492         (inherit_abstract_dies): Likewise.
11493         (read_func_scope): Likewise.
11494         (read_call_site_scope): Likewise.
11495         (dwarf2_add_member_fn): Likewise.
11496         (read_common_block): Likewise.
11497         (read_module_type): Likewise.
11498         (read_typedef): Likewise.
11499         (read_subrange_type): Likewise.
11500         (load_partial_dies): Likewise.
11501         (read_partial_die): Likewise.
11502         (find_partial_die): Likewise.
11503         (read_str_index): Likewise.
11504         (dwarf2_string_attr): Likewise.
11505         (build_error_marker_type): Likewise.
11506         (lookup_die_type): Likewise.
11507         (dump_die_shallow): Likewise.
11508         (follow_die_ref): Likewise.
11509         (dwarf2_fetch_die_loc_sect_off): Likewise.
11510         (dwarf2_fetch_constant_bytes): Likewise.
11511         (follow_die_sig): Likewise.
11512         (get_signatured_type): Likewise.
11513         (get_DW_AT_signature_type): Likewise.
11514         (dwarf2_find_containing_comp_unit): Likewise.
11515         (set_die_type): Likewise.
11516
11517 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
11518
11519         * arch/aarch64.c: Include "common-defs.h".
11520         * arch/amd64.c: Likewise.
11521         * arch/i386.c: Likewise.
11522
11523 2018-02-21  Tom Tromey  <tom@tromey.com>
11524
11525         * value.h: (extract_field_op): Update.
11526         * eval.c (extract_field_op): Return a const char *.
11527         * expression.h (parse_expression_for_completion): Update.
11528         * completer.c (complete_expression): Update.
11529         (add_struct_fields): Make fieldname const.
11530         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
11531         (mark_completion_tag, parse_exp_in_context_1): Update.
11532         (parse_expression_for_completion): Change "name" to
11533         unique_xmalloc_ptr*.
11534
11535 2018-02-21  Tom Tromey  <tom@tromey.com>
11536
11537         * infcall.c (call_function_by_hand_dummy): Use std::vector.
11538
11539 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11540
11541         * avr-tdep.c (avr_read_pc): Change parameter type to
11542         readable_regcache.
11543         * gdbarch.sh (read_pc): Likewise.
11544         * gdbarch.c: Re-generated.
11545         * gdbarch.h: Re-generated.
11546         * hppa-tdep.c (hppa_read_pc): Change parameter type to
11547         readable_regcache.
11548         * ia64-tdep.c (ia64_read_pc): Likewise.
11549         * mips-tdep.c (mips_read_pc): Likewise.
11550         * spu-tdep.c (spu_read_pc): Likewise.
11551
11552 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11553
11554         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
11555         * regcache-dump.c: New file.
11556         * regcache.c: Move register_dump to regcache-dump.c.
11557         (maintenance_print_registers): Likewise.
11558         (maintenance_print_raw_registers): Likewise.
11559         (maintenance_print_cooked_registers): Likewise.
11560         (maintenance_print_register_groups): Likewise.
11561         (maintenance_print_remote_registers): Likewise.
11562         (_initialize_regcache): Likewise.
11563         * regcache.h (register_dump): Moved from regcache.c.
11564
11565 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11566
11567         * regcache.c (regcache::regcache): Update.
11568         (regcache::invalidate): Move it to detached_regcache::invalidate.
11569         (get_thread_arch_aspace_regcache): Update.
11570         (regcache::raw_update): Update.
11571         (regcache::cooked_read): Remove some code.
11572         (regcache::cooked_read_value): Likewise.
11573         (regcache::raw_write): Remove assert on m_readonly_p.
11574         (regcache::raw_supply_integer): Move it to
11575         detached_regcache::raw_supply_integer.
11576         (regcache::raw_supply_zeroed): Likewise.
11577         * regcache.h (detached_regcache) <raw_supply_integer>: New
11578         declaration.
11579         <raw_supply_zeroed, invalidate>: Likewise.
11580         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
11581         <invalidate>: Likewise.
11582         <m_readonly_p>: Removed.
11583
11584 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11585
11586         * infcmd.c (get_return_value): Let stop_regs point to
11587         get_current_regcache.
11588         * regcache.c (regcache::regcache): Remove.
11589         (register_dump_reg_buffer): New class.
11590         (regcache_print): Adjust.
11591         * regcache.h (regcache): Remove constructors.
11592
11593 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11594
11595         * regcache.c (class register_dump): New class.
11596         (register_dump_regcache, register_dump_none): New class.
11597         (register_dump_remote, register_dump_groups): New class.
11598         (regcache_print): Update.
11599         * regcache.h (regcache_dump_what): Move it to regcache.c.
11600         (regcache) <dump>: Remove.
11601
11602 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11603
11604         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
11605          reg_buffer_rw *.
11606         (jit_unwind_reg_set_impl): Call raw_supply.
11607         (jit_frame_sniffer): Use reg_buffer_rw.
11608         * record-full.c (record_full_core_regbuf): Change its type.
11609         (record_full_core_open_1): Use reg_buffer_rw.
11610         (record_full_close): Likewise.
11611         (record_full_core_fetch_registers): Use regcache->raw_supply.
11612         (record_full_core_store_registers): Likewise.
11613         * regcache.c (regcache::get_register_status): Move it to
11614         reg_buffer.
11615         (regcache_raw_set_cached_value): Remove.
11616         (regcache::raw_set_cached_value): Remove.
11617         (regcache::raw_write): Call raw_supply.
11618         (regcache::raw_supply): Move it to reg_buffer_rw.
11619         * regcache.h (regcache_raw_set_cached_value): Remove.
11620         (reg_buffer_rw): New class.
11621
11622 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11623
11624         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
11625         readonly_detached_regcache.
11626         (dummy_frame_prev_register): Use regcache->cooked_read.
11627         * frame.c (frame_save_as_regcache): Change return type.
11628         (frame_pop): Update.
11629         * frame.h (frame_save_as_regcache): Update declaration.
11630         * inferior.h (get_infcall_suspend_state_regcache): Update
11631         declaration.
11632         * infrun.c (infcall_suspend_state) <registers>: use
11633         readonly_detached_regcache.
11634         (save_infcall_suspend_state): Don't use regcache_dup.
11635         (get_infcall_suspend_state_regcache): Change return type.
11636         * linux-fork.c (struct fork_info) <savedregs>: Change to
11637         readonly_detached_regcache.
11638         <pc>: New field.
11639         (fork_save_infrun_state): Don't use regcache_dup.
11640         (info_checkpoints_command): Adjust.
11641         * mi/mi-main.c (register_changed_p): Update declaration.
11642         (mi_cmd_data_list_changed_registers): Use
11643         readonly_detached_regcache.
11644         (register_changed_p): Change parameter type to
11645         readonly_detached_regcache.
11646         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
11647         readonly_detached_regcache.
11648         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
11649         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
11650         New.
11651         (regcache::save): Move it to reg_buffer.
11652         (regcache::restore): Change parameter type.
11653         (regcache_dup): Remove.
11654         * regcache.h (reg_buffer) <save>: New method.
11655         (readonly_detached_regcache): New class.
11656         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
11657         readonly_detached_regcache.
11658         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
11659
11660 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11661
11662         * frame.c (frame_save_as_regcache): Use regcache method save.
11663         (frame_pop): Use regcache method restore.
11664         * infrun.c (restore_infcall_suspend_state): Likewise.
11665         * linux-fork.c (fork_load_infrun_state): Likewise.
11666         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
11667         save.
11668         * regcache.c (regcache_save): Remove.
11669         (regcache::restore): More asserts.
11670         (regcache_cpy): Remove.
11671         * regcache.h (regcache_save): Remove the declaration.
11672         (regcache::restore): Move from private to public.
11673         Remove the friend declaration of regcache_cpy.
11674         (regcache_cpy): Remove declaration.
11675
11676 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11677
11678         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
11679         parameter type to 'readable_regcache *'.
11680         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11681         * arm-tdep.c (arm_neon_quad_read): Likewise.
11682         (arm_pseudo_read): Likewise.
11683         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11684         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11685         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11686         * gdbarch.c: Re-generated.
11687         * gdbarch.h: Re-generated.
11688         * gdbarch.sh (pseudo_register_read): Change parameter type to
11689         'readable_regcache *'.
11690         (pseudo_register_read_value): Likewise.
11691         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
11692         (h8300_pseudo_register_read): Likewise.
11693         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
11694         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11695         (i386_pseudo_register_read_into_value): Likewise.
11696         (i386_pseudo_register_read_value): Likewise.
11697         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
11698         declaration.
11699         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
11700         * m32c-tdep.c (m32c_raw_read): Likewise.
11701         (m32c_read_flg): Likewise.
11702         (m32c_banked_register): Likewise.
11703         (m32c_banked_read): Likewise.
11704         (m32c_sb_read): Likewise.
11705         (m32c_part_read): Likewise.
11706         (m32c_cat_read): Likewise.
11707         (m32c_r3r2r1r0_read): Likewise.
11708         (m32c_pseudo_register_read): Likewise.
11709         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11710         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11711         (mep_pseudo_cr64_read): Likewise.
11712         (mep_pseudo_register_read): Likewise.
11713         * mips-tdep.c (mips_pseudo_register_read): Likewise.
11714         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11715         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11716         * regcache.c (regcache::raw_read): Move it to readable_regcache.
11717         (regcache::cooked_read): Likewise.
11718         (regcache::cooked_read_value): Likewise.
11719         (regcache_cooked_read_signed):
11720         (regcache::cooked_read): Likewise.
11721         * regcache.h (readable_regcache): New class.
11722         (regcache): Inherit readable_regcache.  Move some methods to
11723         readable_regcache.
11724         * rl78-tdep.c (rl78_pseudo_register_read): Change
11725         parameter type to 'readable_regcache *'.
11726         * rs6000-tdep.c (do_regcache_raw_read): Remove.
11727         (e500_pseudo_register_read): Change parameter type to
11728         'readable_regcache *'.
11729         (dfp_pseudo_register_read): Likewise.
11730         (vsx_pseudo_register_read): Likewise.
11731         (efpr_pseudo_register_read): Likewise.
11732         * s390-tdep.c (s390_pseudo_register_read): Likewise.
11733         * sh-tdep.c (sh_pseudo_register_read): Likewise.
11734         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
11735         (sh64_pseudo_register_read): Likewise.
11736         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
11737         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11738         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
11739         (spu_pseudo_register_read): Likewise.
11740         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11741         (xtensa_pseudo_register_read): Likewise.
11742
11743 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11744
11745         * regcache.c (regcache::regcache): Call reg_buffer ctor.
11746         (regcache::arch): Move it to reg_buffer::arch.
11747         (regcache::register_buffer): Likewise.
11748         (regcache::assert_regnum): Likewise.
11749         (regcache::num_raw_registers): Likewise.
11750         * regcache.h (reg_buffer): New class.
11751         (regcache): Inherit reg_buffer.
11752
11753 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
11754
11755         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
11756         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
11757
11758 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
11759
11760         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
11761
11762 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
11763
11764         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
11765         (SFILES): Remove common/*.c files.
11766         (COMMON_OBS): Remove some *.o files built from common/*.c files.
11767         * common/common.host: Add common reference.
11768         * configure.ac: Likewise.
11769         * configure: Regenerate.
11770
11771 2018-02-16  Yao Qi  <yao.qi@linaro.org>
11772
11773         * block.c (block_namespace_info): Inherit allocate_on_obstack.
11774         (block_initialize_namespace): Use new.
11775         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
11776         (dwarf2_free_objfile): Use delete.
11777         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
11778         (copy_type_recursive): Use new.
11779         * gdb_obstack.h (allocate_on_obstack): New.
11780
11781 2018-02-15  Yao Qi  <yao.qi@linaro.org>
11782
11783         PR gdb/22849
11784         * inferior.c (exit_inferior_1): Reset inf->control.
11785
11786 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
11787
11788         * ada-lang.c (ada_to_fixed_value_create): Delete advance
11789         declaration.
11790
11791 2018-02-14  Pedro Alves  <palves@redhat.com>
11792
11793         * frame-unwind.c (frame_unwind_try_unwinder): Always call
11794         frame_cleanup_after_sniffer on exception.
11795
11796 2018-02-14  Tom Tromey  <tom@tromey.com>
11797
11798         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
11799         const.
11800         (solib_bfd_open): Make pathname const.
11801         * solib.c (solib_bfd_open): Make pathname const.
11802         * solib-spu.c (spu_bfd_fopen): Make name const.
11803         (spu_bfd_open): Make pathname const.
11804         * solib-darwin.c (darwin_bfd_open): Make pathname const.
11805         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
11806
11807 2018-02-14  Tom Tromey  <tom@tromey.com>
11808
11809         * symfile.c (symfile_bfd_open): Update.
11810         * source.h (openp, source_full_path_of, find_and_open_source):
11811         Change argument type to unique_xmalloc_ptr.
11812         * source.c (openp): Take a unique_xmalloc_ptr.
11813         (source_full_path_of, find_and_open_source): Likewise.
11814         (open_source_file, symtab_to_fullname): Update.
11815         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
11816         unique_xmalloc_ptr.
11817         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
11818         (exec_file_find): Update.
11819         * psymtab.c (psymtab_to_fullname): Update.
11820         * nto-tdep.h (nto_find_and_open_solib): Update.
11821         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
11822         unique_xmalloc_ptr.
11823         * exec.c (exec_file_attach): Update.
11824         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
11825         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
11826
11827 2018-02-14  Tom Tromey  <tom@tromey.com>
11828
11829         * solib.c: Include source.h.
11830         * nto-tdep.c: Include source.h.
11831         * mi/mi-cmd-env.c: Include source.h.
11832         * infcmd.c: Include source.h.
11833         * exec.c: Include source.h.
11834         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
11835         (add_path, directory_switch, source_path, init_source_path): Move
11836         declarations...
11837         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
11838         (add_path, directory_switch, source_path, init_source_path):
11839         ...here.
11840
11841 2018-02-14  Tom Tromey  <tom@tromey.com>
11842
11843         * solist.h (exec_file_find, solib_find): Return
11844         unique_xmalloc_ptr.
11845         (solib_bfd_fopen): Take a const char *.
11846         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
11847         (exec_file_find, solib_find): Likewise.
11848         (solib_bfd_fopen): Do not take ownership of "pathname".
11849         (solib_bfd_open): Use unique_xmalloc_ptr.
11850         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
11851         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
11852         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
11853         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
11854
11855 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
11856
11857         * ada-lang.c (name_match_type_from_name): Remove reference to
11858         ada_name_for_lookup in function's documentation.
11859         * ada-lang.h (ada_name_for_lookup): Delete declaration.
11860
11861 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11862
11863         * defs.h (enum openp_flags): New enum.
11864         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
11865         Move to enum openp_flags.
11866         (openp_flags): New enum flags.
11867         (openp): Change parameter type to openp_flags.
11868         * source.c (openp): Change parameter type to openp_flags.
11869         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
11870         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
11871
11872 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11873
11874         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
11875         per-command.
11876
11877 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11878
11879         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
11880         into...
11881         (class dwarf2_queue_guard): ...the destructor of this new class.
11882         (dw2_do_instantiate_symtab): Create instance of the new class
11883         dwarf2_queue_guard, remove cleanup.
11884
11885 2018-02-09  Tom Tromey  <tom@tromey.com>
11886
11887         * source.c (find_source_lines): Don't reference past the end of
11888         the vector.
11889
11890 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11891
11892         * remote.c (remote_btrace_maybe_reopen): Change error message.
11893         * btrace.c (btrace_enable): Likewise.
11894         (parse_xml_btrace): Likewise.
11895         (parse_xml_btrace_conf): Likewise.
11896
11897 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11898
11899         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
11900         (linux_enable_pt, linux_enable_bts): Call
11901         diagnose_perf_event_open_fail.
11902
11903 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11904
11905         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
11906         Remove parameter and change return type.  Update callers.  Move it.
11907         (linux_enable_bts, linux_enable_pt): Improve error message.
11908         (linux_enable_pt): Remove zero buffer size check.
11909         (linux_enable_btrace): Improve error messages.  Remove NULL return
11910         check.
11911
11912 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11913
11914         * btrace.c (btrace_enable): Remove target_supports_btrace call.
11915         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
11916         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
11917         (linux_supports_pt, linux_supports_btrace): Remove.
11918         (linux_enable_bts): Call cpu_supports_bts.
11919         * nat/linux-btrace.h (linux_supports_btrace): Remove.
11920         * remote.c (remote_supports_btrace): Remove.
11921         (init_remote_ops): Remove remote_supports_btrace.
11922         * target-delegates.c: Regenerated.
11923         * target.c (target_supports_btrace): Remove.
11924         * target.h (target_ops) <to_supports_btrace>: Remove
11925         (target_supports_btrace): Remove.
11926         * x86-linux-nat.c (x86_linux_create_target): Remove
11927         linux_supports_btrace.
11928
11929 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11930
11931         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
11932         btrace failed.
11933         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
11934         exception and use message in own exception.
11935
11936 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11937
11938         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11939         (perf_event_pt_event_type): Use gdb_file_up.
11940         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11941         scoped_fd, and scoped_mmap.
11942
11943 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11944
11945         * common/scoped_mmap.h: New.
11946         * unittests/scoped_mmap-selftest.c: New.
11947         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11948         unittests/scoped_mmap-selftest.c.
11949
11950 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11951
11952         * common/scoped_fd.h: New.
11953         * unittests/scoped_fd-selftest.c: New.
11954         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11955         unittests/scoped_fd-selftest.c.
11956
11957 2018-02-09  Tom Tromey  <tom@tromey.com>
11958
11959         * auto-load.c (auto_load_section_scripts): Use
11960         gdb::unique_xmalloc_ptr.
11961
11962 2018-02-09  Tom Tromey  <tom@tromey.com>
11963
11964         * auto-load.c (execute_script_contents): Use std::string.
11965
11966 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11967
11968         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11969         Python function, rather than a new command.
11970
11971 2018-02-08  Tom Tromey  <tom@tromey.com>
11972
11973         * solib.c (solib_find_1): Use std::string.
11974         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11975
11976 2018-02-08  Tom Tromey  <tom@tromey.com>
11977
11978         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11979
11980 2018-02-08  Tom Tromey  <tom@tromey.com>
11981
11982         * source.c (find_source_lines): Use gdb::def_vector.
11983
11984 2018-02-08  Tom Tromey  <tom@tromey.com>
11985
11986         * macrocmd.c (struct temporary_macro_definition): New.
11987         (macro_define_command): Use temporary_macro_definition.  Remove
11988         cleanups.
11989         (free_macro_definition_ptr): Remove.
11990
11991 2018-02-08  Tom Tromey  <tom@tromey.com>
11992
11993         * macroexp.c (maybe_expand): Use std::string.
11994
11995 2018-02-08  Tom Tromey  <tom@tromey.com>
11996
11997         * macroexp.c (struct macro_buffer): Add initializers for some
11998         members.
11999         (init_buffer, init_shared_buffer, free_buffer)
12000         (free_buffer_return_text): Remove.
12001         (macro_buffer): New constructors.
12002         (~macro_buffer): New destructor.
12003         (macro_buffer::set_shared): New method.
12004         (macro_buffer::resize_buffer, macro_buffer::appendc)
12005         (macro_buffer::appendmem): Now methods, not free functions.
12006         (set_token, append_tokens_without_splicing, stringify)
12007         (macro_stringify): Update.
12008         (gather_arguments): Change return type.  Remove argc_p argument,
12009         add args_ptr argument.  Use std::vector.
12010         (substitute_args): Remove argc argument.  Accept std::vector.
12011         (expand): Update.  Use std::vector.
12012         (scan, macro_expand, macro_expand_next): Update.
12013
12014 2018-02-08  Tom Tromey  <tom@tromey.com>
12015
12016         * symtab.c (default_collect_symbol_completion_matches_break_on):
12017         Use unique_xmalloc_ptr.
12018         * macroscope.h: (sal_macro_scope, user_macro_scope)
12019         (default_macro_scope): Return unique_xmalloc_ptr.
12020         * macroscope.c (sal_macro_scope, user_macro_scope)
12021         (default_macro_scope): Return unique_xmalloc_ptr.
12022         * macroexp.h (macro_expand, macro_expand_once): Return
12023         unique_xmalloc_ptr.
12024         * macroexp.c (macro_expand, macro_expand_once): Return
12025         unique_xmalloc_ptr.
12026         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12027         (info_macro_command, info_macros_command): Use
12028         unique_xmalloc_ptr.
12029         * compile/compile-c-support.c (write_macro_definitions): Use
12030         unique_xmalloc_ptr.
12031         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12032
12033 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12034
12035         * value.c (value_static_field): Assign field type instead of
12036         containing type when returning an optimized out value.
12037
12038 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12039
12040         * ft32-tdep.c (ft32_read_pc): Remove.
12041         (ft32_write_pc): Remove.
12042         (ft32_gdbarch_init): Update.
12043         * m32r-tdep.c (m32r_read_pc): Remove.
12044         (m32r_gdbarch_init): Update.
12045         * mep-tdep.c (mep_read_pc): Remove.
12046         (mep_gdbarch_init): Update.
12047         * microblaze-tdep.c (microblaze_write_pc): Remove.
12048         (microblaze_gdbarch_init): Update.
12049         * mn10300-tdep.c (mn10300_read_pc): Remove.
12050         (mn10300_write_pc): Remove.
12051         (mn10300_gdbarch_init): Update.
12052         * moxie-tdep.c (moxie_read_pc): Remove.
12053         (moxie_write_pc): Remove.
12054         (moxie_gdbarch_init): Update.
12055
12056 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12057
12058         * expprint.c (print_subexp_standard): Handle
12059         OP_F77_UNDETERMINED_ARGLIST.
12060         (dump_subexp_body_standard): Likewise.
12061
12062 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12063
12064         * target-descriptions.c (tdesc_element_visitor) Add empty
12065         implementations.
12066         (tdesc_type): Move make_gdb_type from here.
12067         (tdesc_type_builtin): Likewise.
12068         (tdesc_type_vector): Likewise.
12069         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12070         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12071         (make_gdb_type_union): Likewise.
12072         (make_gdb_type_flags): Likewise.
12073         (make_gdb_type_enum): Likewise.
12074         (make_gdb_type): New function.
12075         (tdesc_register_type): Use static make_gdb_type.
12076
12077 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12078
12079         * infcmd.c (default_print_one_register_info): Align natural-format
12080         column values consistently one under another.
12081         (pad_to_column): New function.
12082
12083 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
12084
12085         * dwarf2read.c (dwarf2_physname): Move commment.
12086
12087 2018-02-01  Leszek Swirski  <leszeks@google.com>
12088
12089         * varobj.c (varobj_formatted_print_options): Allow recursive
12090         pretty printing if pretty printing is enabled.
12091
12092 2018-02-01  Leszek Swirski  <leszeks@google.com>
12093
12094         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
12095         names after a structop as a filename.
12096
12097 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12098
12099         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
12100         (arm_record_coproc_data_proc): Likewise.
12101
12102 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12103
12104         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
12105
12106 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
12107
12108         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
12109         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
12110
12111 2018-01-31  Pedro Alves  <palves@redhat.com>
12112
12113         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
12114         * inflow.c (child_terminal_save_inferior): Wrap reference to
12115         tcgetpgrp in HAVE_TERMIOS_H.
12116         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
12117         _WIN32.
12118         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
12119         always iterate over all inferiors.
12120         (gdbsim_cntrl_c): Adjust.
12121         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
12122
12123 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12124
12125         * gdbtypes.c (lookup_array_range_type): Make sure the array's
12126         index type is objfile-owned if the element type is as well.
12127
12128 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12129
12130         GDB 8.1 released.
12131
12132 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12133
12134         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
12135         "features/s390x-linux64.c".
12136         (_initialize_s390_linux_tdep): Remove initialization of tdescs
12137         s390_linux32 and s390x_linux64.
12138         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
12139         default tdesc.
12140         * s390-tdep.c: Include "features/s390-linux32.c" and
12141         "features/s390x-linux64.c".
12142         (s390_tdesc_valid): Add check for tdesc_has_registers.
12143         (s390_gdbarch_init): Make sure there is always a valid tdesc.
12144         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
12145         tdesc_s390x_linux64.
12146         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
12147         tdesc_s390x_linux64 to...
12148         * s390-tdep.h: ...here.
12149
12150 2018-01-30  Pedro Alves  <palves@redhat.com>
12151
12152         PR gdb/13211
12153         * config.in, configure: Regenerate.
12154         * configure.ac: Check for getpgid.
12155         * go32-nat.c (go32_pass_ctrlc): New.
12156         (go32_target): Install it.
12157         * inf-child.c (inf_child_target): Install
12158         child_terminal_save_inferior, child_pass_ctrlc and
12159         child_interrupt.
12160         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
12161         (inf_ptrace_target): No longer install it.
12162         * infcmd.c (interrupt_target_1): Adjust.
12163         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
12164         (child_interrupt): Declare.
12165         (inferior::terminal_state): New.
12166         * inflow.c (struct terminal_info): Update comments.
12167         (inferior_process_group): Delete.
12168         (terminal_is_ours): Delete.
12169         (gdb_tty_state): New.
12170         (child_terminal_init): Adjust.
12171         (is_gdb_terminal, sharing_input_terminal_1)
12172         (sharing_input_terminal): New functions.
12173         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
12174         Set the process's actual process group in the foreground if
12175         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
12176         mark terminal as the inferior's if not sharing GDB's terminal.
12177         Don't check attach_flag.
12178         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
12179         pass down a target_terminal_state.
12180         (child_terminal_save_inferior): New, factored out from ...
12181         (child_terminal_ours_1): ... this.  Handle
12182         target_terminal_state::is_ours_for_output.
12183         (child_interrupt, child_pass_ctrlc): New.
12184         (inflow_inferior_exit): Clear the inferior's terminal_state.
12185         (copy_terminal_info): Copy the inferior's terminal state.
12186         (_initialize_inflow): Remove reference to terminal_is_ours.
12187         * inflow.h (inferior_process_group): Delete.
12188         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
12189         * procfs.c (procfs_target): Don't install procfs_interrupt.
12190         (procfs_interrupt): Delete.
12191         * remote.c (remote_serial_quit_handler): Adjust.
12192         (remote_interrupt): Remove ptid parameter.  Adjust.
12193         * target-delegates.c: Regenerate.
12194         * target.c: Include "terminal.h".
12195         (target_terminal::terminal_state): Rename to ...
12196         (target_terminal::m_terminal_state): ... this.
12197         (target_terminal::init): Adjust.
12198         (target_terminal::inferior): Adjust to per-inferior
12199         terminal_state.
12200         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
12201         (target_terminal::ours, target_terminal::ours_for_output): Use
12202         target_terminal_is_ours_kind.
12203         (target_interrupt): Remove ptid parameter.  Adjust.
12204         (default_target_pass_ctrlc): Adjust.
12205         * target.h (target_ops::to_terminal_save_inferior): New field.
12206         (target_ops::to_interrupt): Remove ptid_t parameter.
12207         (target_interrupt): Remove ptid_t parameter.  Update comment.
12208         (target_pass_ctrlc): Update comment.
12209         * target/target.h (target_terminal_state): New scoped enum,
12210         factored out of ...
12211         (target_terminal::terminal_state): ... here.
12212         (target_terminal::inferior): Update comments.
12213         (target_terminal::restore_inferior): New.
12214         (target_terminal::is_inferior, target_terminal::is_ours)
12215         (target_terminal::is_ours_for_output): Adjust.
12216         (target_terminal::scoped_restore_terminal_state): Adjust to
12217         rename, and call restore_inferior() instead of inferior().
12218         (target_terminal::scoped_restore_terminal_state::m_state): Change
12219         type.
12220         (target_terminal::terminal_state): Rename to ...
12221         (target_terminal::m_terminal_state): ... this and change type.
12222
12223 2018-01-30  Pedro Alves  <palves@redhat.com>
12224
12225         * linux-nat.c (wait_for_signal): New function.
12226         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
12227         directly.
12228         (async_terminal_is_ours)
12229         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
12230         (linux_nat_add_target): Don't override
12231         to_terminal_inferior/to_terminal_ours.
12232
12233 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
12234
12235         * remote.c (remote_follow_fork): Don't call "detach_inferior".
12236
12237 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
12238
12239         * dwarf2read.c (free_dwo_files): Add forward-declaration.
12240         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
12241         dwarf2_per_objfile_free here.
12242         (dwarf2_per_objfile_free): Remove.
12243         (_initialize_dwarf2_read): Don't register
12244         dwarf2_per_objfile_free as a registry cleanup.
12245
12246 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
12247
12248         Avoid compilation errors in MinGW native builds
12249
12250         The error is triggered by including python-internal.h, and the
12251         error message is:
12252
12253              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
12254                       from build-gnulib/import/math.h:27,
12255                       from d:/usr/Python26/include/pyport.h:235,
12256                       from d:/usr/Python26/include/Python.h:58,
12257                       from python/python-internal.h:94,
12258                       from python/py-arch.c:24:
12259              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
12260         using ::hypot;
12261                 ^~~~~
12262
12263         This happens because Python headers define 'hypot' to expand t
12264         '_hypot' in the Windows builds.
12265         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
12266         'hypoth'.  This avoids a compilation error.
12267
12268 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12269
12270         * MAINTAINERS (Write After Approval): Fix ordering.
12271
12272 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12273
12274         * MAINTAINERS (Write After Approval): Add Alan Hayward.
12275
12276 2018-01-26  Alan Modra  <amodra@gmail.com>
12277
12278         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
12279         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
12280         Remove nop.  Make const.  Comment.
12281         (powerpc32_plt_stub_so_2): New.
12282         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
12283         Correct count.  Update uses.
12284         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
12285         Move common code reading PLT entry word.  Correct
12286         powerpc32_plt_stub PLT address calculation.
12287         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
12288         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
12289         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
12290         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
12291         (ppc64_standard_linkage8): Likewise.
12292         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
12293         Correct insns description.
12294         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
12295
12296 2018-01-24  Pedro Alves  <palves@redhat.com>
12297
12298         GCC PR libstdc++/83906
12299         * gdbtypes.c (operator==(const dynamic_prop &,
12300         const dynamic_prop &)): New.
12301         (operator==(const range_bounds &, const range_bounds &)): New.
12302         (check_types_equal): Use them instead of memcmp.
12303         * gdbtypes.h (operator==(const dynamic_prop &,
12304         const dynamic_prop &)): Declare.
12305         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
12306         (operator==(const range_bounds &, const range_bounds &)): Declare.
12307         (operator!=(const range_bounds &, const range_bounds &)): Declare.
12308
12309 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12310
12311         * s390-linux-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): Move to s390-tdep.c.
12316         (s390_linux_init_abi_any): Adjust.
12317         * s390-tdep.c (s390_record_address_mask)
12318         (s390_record_calc_disp_common, s390_record_calc_disp)
12319         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12320         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12321         (s390_process_record): Moved from s390-linux-tdep.c
12322         (s390_gdbarch_init): Adjust.
12323
12324 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12325
12326         * s390-linux-nat.c (s390-tdep.h): New include.
12327         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
12328         (HFILES_NO_SRCDIR): Add s390-tdep.h.
12329         (ALLDEPFILES): Add s390-tdep.c.
12330         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
12331         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
12332         * s390-tdep.h: ...this.  New file.
12333         * s390-linux-tdep.c (s390-tdep.h): New include.
12334         (_initialize_s390_tdep): Rename to...
12335         (_initialize_s390_linux_tdep): ...this and adjust.
12336         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
12337         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
12338         s390-tdep.h.
12339         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
12340         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
12341         (s390_is_partial_instruction, s390_software_single_step)
12342         (is_non_branch_ril, s390_displaced_step_copy_insn)
12343         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
12344         (s390_prologue_data, s390_addr, s390_store, s390_load)
12345         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
12346         (s390_register_call_saved, s390_guess_tracepoint_registers)
12347         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
12348         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
12349         (s390_pseudo_register_name, s390_pseudo_register_type)
12350         (s390_pseudo_register_read, s390_pseudo_register_write)
12351         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
12352         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
12353         (s390_addr_bits_remove, s390_address_class_type_flags)
12354         (s390_address_class_type_flags_to_name)
12355         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
12356         (s390_function_arg_float, s390_function_arg_vector)
12357         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
12358         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
12359         (s390_frame_align, s390_register_return_value, s390_return_value)
12360         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12361         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12362         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12363         (s390_trad_frame_prev_register, s390_unwind_cache)
12364         (s390_prologue_frame_unwind_cache)
12365         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12366         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12367         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12368         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12369         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12370         (s390_frame_base_address, s390_local_base_address)
12371         (s390_frame_base, s390_gcc_target_options)
12372         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12373         (s390_validate_reg_range, s390_tdesc_valid)
12374         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12375         * s390-tdep.c: ...this.  New file.
12376
12377 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12378
12379         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12380         (s390_process_record, s390_gdbarch_tdep_alloc)
12381         (s390_linux_init_abi_any): Use/set new hook.
12382
12383 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12384
12385         * s390-linux-tdep.c (osabi.h): New include.
12386         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12387         (s390_linux_init_abi_any): New functions.
12388         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12389
12390 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12391
12392         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12393         tdesc_has_registers check
12394
12395 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12396
12397         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12398         (s390_validate_reg_range): New macro.
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) <tdesc>: New field.
12404         (s390_gdbarch_tdep_alloc): Adjust.
12405         (s390_gdbarch_init): Adjust.
12406
12407 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12408
12409         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12410         <have_tdb>: Change type to bool.
12411         (s390_gdbarch_tdep_alloc): Adjust.
12412         (s390_gdbarch_init): Adjust.
12413
12414 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12415
12416         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12417         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12418         (s390_gdbarch_tdep_alloc): New function.
12419         (s390_gdbarch_init): Allocate tdep at start and use its fields
12420         instead of separate variables.
12421
12422 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12423
12424         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12425         when looking for cached gdbarch and add comment for remaining.
12426
12427 2018-01-22  Pedro Alves  <palves@redhat.com>
12428             Sergio Durigan Junior  <sergiodj@redhat.com>
12429
12430         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12431         case.
12432
12433 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12434
12435         * MAINTAINERS: Update my company e-mail address.
12436
12437 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12438
12439         * regcache.c (cooked_write_test): New function.
12440         (_initialize_regcache): Register the test.
12441
12442 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12443
12444         * ia64-tdep.c (ia64_pseudo_register_read): Call
12445         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12446         * m32c-tdep.c (m32c_cat_read): Likewise.
12447         (m32c_r3r2r1r0_read): Likewise.
12448         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12449         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12450
12451 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12452
12453         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12454         method raw_read instead of regcache_raw_read.
12455         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12456         * arm-tdep.c (arm_neon_quad_read): Likewise.
12457         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12458         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12459         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12460         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12461         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12462         (i386_pseudo_register_read_into_value): Likewise.
12463         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12464         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12465         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12466         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12467         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
12468         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
12469         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12470         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
12471         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
12472
12473 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12474
12475         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
12476         * configure.tgt: Remove target mt.
12477         * mt-tdep.c: Remove.
12478         * regcache.c (cooked_read_test): Remove the check for mt.
12479
12480 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12481
12482         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
12483         instead of gdbarch_pseudo_register_read_value.
12484
12485 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12486
12487         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
12488         language is Ada.
12489
12490 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12491
12492         * linespec.c (create_sals_line_offset): Remove code that preserved
12493         the symtab_and_line's line number.
12494
12495 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12496
12497         * varobj.c (varobj_create): Don't set valid_block when creating a
12498         floating varobj.
12499
12500 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12501
12502         * varobj.c (varobj_create): Remove out of date comment.
12503
12504 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12505
12506         PR mi/20395
12507         * ada-exp.y (write_var_from_sym): Pass extra parameter when
12508         updating innermost block.
12509         * parse.c (innermost_block_tracker::update): Take extra type
12510         parameter, and check types match before updating innermost block.
12511         (write_dollar_variable): Update innermost block for registers.
12512         * parser-defs.h (enum innermost_block_tracker_type): New enum.
12513         (innermost_block_tracker::innermost_block_tracker): Initialise
12514         m_types member.
12515         (innermost_block_tracker::reset): Take type parameter.
12516         (innermost_block_tracker::update): Take type parameter, and pass
12517         type through as needed.
12518         (innermost_block_tracker::m_types): New member.
12519         * varobj.c (varobj_create): Pass type when reseting innermost
12520         block.
12521
12522 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12523
12524         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
12525         * ada-lang.c (resolve_subexp): Likewise.
12526         * breakpoint.c (set_breakpoint_condition) Likewise.
12527         (watch_command_1) Likewise.
12528         * c-exp.y (variable): Likewise.
12529         * d-exp.y (PrimaryExpression): Likewise.
12530         * f-exp.y (variable): Likewise.
12531         * go-exp.y (variable): Likewise.
12532         * m2-exp.y (variable): Likewise.
12533         * objfiles.c (objfile::~objfile): Likewise.
12534         * p-exp.y (variable): Likewise.
12535         * parse.c (innermost_block): Change type.
12536         * parser-defs.h (class innermost_block_tracker): New.
12537         (innermost_block): Change to innermost_block_tracker.
12538         * printcmd.c (display_command): Switch to innermost_block API.
12539         (do_one_display): Likewise.
12540         * rust-exp.y (do_one_display): Likewise.
12541         * symfile.c (clear_symtab_users): Likewise.
12542         * varobj.c (varobj_create): Switch to innermost_block API, replace
12543         use of innermost_block with block stored on varobj object.
12544
12545 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12546
12547         * expression.h (innermost_block): Remove declaration.
12548         * varobj.c: Add 'parser-defs.h' include.
12549
12550 2018-01-19  Tom Tromey  <tom@tromey.com>
12551
12552         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
12553         symbols in the static and global blocks.
12554
12555 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
12556
12557         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
12558         gdb_ptrace.h, and move including gdb_wait.h ...
12559         * nat/linux-ptrace.h: ... to here.
12560
12561 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12562
12563         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
12564         inf_ptrace_detach_success.
12565         (inf_ptrace_detach_success): Add inferior parameter, use it
12566         instead of inferior_ptid, pass it to detach_inferior.
12567         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
12568         parameter.
12569         * inferior.c (detach_inferior): Add overload that takes an
12570         inferior object.
12571         * inferior.h (detach_inferior): Likewise.
12572         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
12573         use inferior_ptid, adjust call to inf_ptrace_detach_success.
12574         * linux-thread-db.c (thread_db_detach): Use inf parameter.
12575
12576 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12577
12578         * target.h (struct target_ops) <to_detach>: Add inferior
12579         parameter.
12580         (target_detach): Likewise.
12581         * target.c (dispose_inferior): Pass inferior down.
12582         (target_detach): Pass inferior down.  Assert that it is equal to
12583         the current inferior.
12584         * aix-thread.c (aix_thread_detach): Pass inferior down.
12585         * corefile.c (core_file_command): Pass current_inferior() down.
12586         * corelow.c (core_detach): Add inferior parameter.
12587         * darwin-nat.c (darwin_detach): Likewise.
12588         * gnu-nat.c (gnu_detach): Likewise.
12589         * inf-ptrace.c (inf_ptrace_detach): Likewise.
12590         * infcmd.c (detach_command): Pass current_inferior() down to
12591         target_detach.
12592         * infrun.c (follow_fork_inferior): Pass parent_inf to
12593         target_detach.
12594         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
12595         target_detach.
12596         * linux-nat.c (linux_nat_detach): Add inferior parameter.
12597         * linux-thread-db.c (thread_db_detach): Likewise.
12598         * nto-procfs.c (procfs_detach): Likewise.
12599         * procfs.c (procfs_detach): Likewise.
12600         * record.c (record_detach): Likewise.
12601         * record.h (struct inferior): Forward-declare.
12602         (record_detach): Add inferior parameter.
12603         * remote-sim.c (gdbsim_detach): Likewise.
12604         * remote.c (remote_detach_1): Likewise.
12605         (remote_detach): Likewise.
12606         (extended_remote_detach): Likewise.
12607         * sol-thread.c (sol_thread_detach): Likewise.
12608         * target-debug.h (target_debug_print_inferior_p): New macro.
12609         * target-delegates.c: Re-generate.
12610         * top.c (kill_or_detach): Pass inferior down to target_detach.
12611         * windows-nat.c (windows_detach): Add inferior parameter.
12612
12613 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12614
12615         * target.h (struct target_ops) <to_detach>: Remove args
12616         parameter.
12617         (target_detach): Likewise.
12618         * target.c (dispose_inferior): Adjust.
12619         (target_detach): Remove args parameter, adjust.
12620         * aix-thread.c (aix_thread_detach): Adjust.
12621         * corefile.c (core_file_command): Adjust.
12622         * corelow.c (core_detach): Adjust.
12623         * darwin-nat.c (darwin_detach): Adjust.
12624         * gnu-nat.c (gnu_detach): Adjust.
12625         * inf-ptrace.c (inf_ptrace_detach): Adjust.
12626         * infcmd.c (detach_command): Adjust
12627         * infrun.c (follow_fork_inferior): Adjust.
12628         (handle_vfork_child_exec_or_exit): Adjust.
12629         * linux-fork.c (linux_fork_detach): Remove args parameter.
12630         * linux-fork.h (linux_fork_detach): Likewise.
12631         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
12632         * linux-thread-db.c (thread_db_detach): Likewise.
12633         * nto-procfs.c (procfs_detach): Likewise.
12634         * procfs.c (procfs_detach): Likewise.
12635         (do_detach): Remove signo parameter.
12636         * record.c (record_detach): Remove args parameter.
12637         * record.h (record_detach): Likewise.
12638         * remote-sim.c (gdbsim_detach): Likewise.
12639         * remote.c (remote_detach_1): Likewise.
12640         (remote_detach): Likewise.
12641         (extended_remote_detach): Likewise.
12642         * sol-thread.c (sol_thread_detach): Likewise.
12643         * target-delegates.c: Re-generate.
12644         * top.c (struct qt_args) <args>: Remove field.
12645         (kill_or_detach): Don't pass args.
12646         (quit_force): Don't set args.
12647         * windows-nat.c (windows_detach): Remove args parameter.
12648
12649 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12650
12651         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
12652         (arm_linux_init_abi): Install it.
12653
12654 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12655
12656         * osabi.c (gdb_osabi_names): Extend the regexp for
12657         arm-linux-gnueabihf.
12658
12659 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12660
12661         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
12662         m_abbrevs.
12663         (abbrev_table::add_abbrev): Update.
12664         (abbrev_table::lookup_abbrev): Update.
12665
12666 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12667
12668         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
12669
12670 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
12671
12672         * compile/compile.c (compile_to_object): Convert "triplet_rx"
12673         to "std::string".
12674
12675 2018-01-17  Tom Tromey  <tom@tromey.com>
12676
12677         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
12678
12679 2018-01-17  Tom Tromey  <tom@tromey.com>
12680
12681         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
12682         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
12683         (create_array_type_with_stride): Update.
12684         * dwarf2read.c (set_die_type): Update.
12685
12686 2018-01-17  Tom Tromey  <tom@tromey.com>
12687
12688         * dwarf2read.c (delayed_method_info): Remove typedef.
12689         (dwarf2_cu::method_info): Now a std::vector.
12690         (add_to_method_list): Update.
12691         (free_delayed_list): Remove.
12692         (compute_delayed_physnames): Update.
12693         (process_full_comp_unit, process_full_type_unit): Clear the method
12694         list.  Remove cleanups.
12695         (psymtab_include_file_name): Add name_holder parameter.  Use
12696         unique_xmalloc_ptr.
12697         (dwarf_decode_lines): Update.
12698
12699 2018-01-17  Tom Tromey  <tom@tromey.com>
12700             Simon Marchi  <simon.marchi@ericsson.com>
12701
12702         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
12703         (dwarf2_per_objfile::free_cached_comp_units)
12704         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12705         (init_cutu_and_read_dies_no_follow): Update.
12706         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
12707         (dwarf2_cu::~dwarf2_cu): New.
12708         (free_heap_comp_unit, free_stack_comp_unit): Remove.
12709         (age_cached_comp_units, free_one_cached_comp_unit): Update.
12710
12711 2018-01-17  Tom Tromey  <tom@tromey.com>
12712             Simon Marchi  <simon.marchi@ericsson.com>
12713
12714         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
12715         (struct die_reader_specs) <abbrev_table>: New member.
12716         (struct abbrev_table): Add constructor.
12717         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
12718         <abbrev_obstack>: Now an auto_obstack.
12719         (abbrev_table_up): New typedef.
12720         (init_cu_die_reader): Add abbrev_table parameter.
12721         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
12722         Add result_dwo_abbrev_table.
12723         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12724         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
12725         Update.
12726         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
12727         parameter.
12728         (skip_children): Update.
12729         (abbrev_table::alloc_abbrev): Rename from
12730         abbrev_table_alloc_abbrev.
12731         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
12732         (abbrev_table::lookup_abbrev): Rename from
12733         abbrev_table_lookup_abbrev.
12734         (abbrev_table_read_table): Return abbrev_table_up.
12735         (abbrev_table_free, abbrev_table_free_cleanup)
12736         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
12737         (load_partial_dies): Update.
12738
12739 2018-01-17  Tom Tromey  <tom@tromey.com>
12740
12741         * dwarf2read.c (dwarf2_compute_name): Update comment.
12742         (read_func_scope, read_variable): Update.
12743         (new_symbol): Remove.
12744         (new_symbol_full): Rename to new_symbol.
12745
12746 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
12747
12748         PR gdb/16577
12749         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
12750         a warning instead of throwing an error, set section size to 0 and return
12751         NULL.
12752         * gdb_bfd.h (gdb_bfd_map_section): Update description.
12753
12754 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12755
12756         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
12757         std::string.
12758         (linux_ptrace_attach_fail_reason_string): Likewise.
12759         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
12760         Likewise.
12761         (linux_ptrace_attach_fail_reason_string): Likewise.
12762         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
12763
12764 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12765
12766         * linux-nat.c (linux_nat_attach): Remove xstrdup.
12767
12768 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
12769
12770         PR gdb/21559
12771         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
12772         checking for fs_base/gs_base fields in struct user_regs_struct.
12773         * configure: Regenerate.
12774
12775 2018-01-17  Yao Qi  <yao.qi@linaro.org>
12776
12777         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
12778         function.
12779         (aarch64_linux_init_abi): Install it to gdbarch hook
12780         gcc_target_options.
12781
12782 2018-01-15  Pedro Alves  <palves@redhat.com>
12783
12784         * common/signals-state-save-restore.c
12785         (save_original_signals_state): Fix typos.
12786
12787 2017-01-12  Tom Tromey  <tom@tromey.com>
12788             Sergio Durigan Junior  <sergiodj@redhat.com>
12789
12790         * Makefile.in (install-only): Install gdb-add-index.
12791
12792 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
12793
12794         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
12795
12796 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12797
12798         * infrun.c (keep_going_pass_signal): Clear step-over info when
12799         insert_breakpoints fails.
12800
12801 2018-01-11  Pedro Alves  <palves@redhat.com>
12802
12803         PR gdb/22583
12804         * infrun.c (resume): Rename to ...
12805         (resume_1): ... this.
12806         (resume): Reimplement as wrapper around resume_1.
12807
12808 2018-01-11  Pedro Alves  <palves@redhat.com>
12809
12810         PR remote/22597
12811         * remote.c (remote_parse_stop_reply): Default to the last-set
12812         general thread instead of to 'magic_null_ptid'.
12813
12814 2018-01-10  Pedro Alves  <palves@redhat.com>
12815
12816         * language.h (language_get_symbol_name_matcher): Rename ...
12817         (get_symbol_name_matcher): ... this.
12818         * language.c (language_get_symbol_name_matcher): Ditto.
12819         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
12820         callers adjusted.
12821
12822 2018-01-10  Pedro Alves  <palves@redhat.com>
12823
12824         PR gdb/22670
12825         * dwarf2read.c
12826         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
12827         Adjust to use language_get_symbol_name_matcher instead of
12828         language_defn::la_get_symbol_name_matcher.
12829         * language.c (language_get_symbol_name_matcher): If in Ada mode
12830         and the lookup name is a verbatim match, return Ada's matcher.
12831         * language.h (language_get_symbol_name_matcher): Adjust comment.
12832         (ada_lookup_name_info::verbatim_p):: New method.
12833
12834 2018-01-10  Pedro Alves  <palves@redhat.com>
12835
12836         PR gdb/22670
12837         * ada-lang.c (ada_collect_symbol_completion_matches): If the
12838         minsym's language is language_auto or language_cplus, pass down
12839         language_ada instead.
12840         * symtab.c (compare_symbol_name): Don't frob symbol language here.
12841
12842 2018-01-10  Pedro Alves  <palves@redhat.com>
12843
12844         PR gdb/22670
12845         * minsyms.c (linkage_name_str): New function.
12846         (iterate_over_minimal_symbols): Use it.
12847
12848 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12849
12850         * NEWS: Document that 'info proc' now works on FreeBSD.
12851
12852 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12853
12854         * configure.ac: Check for kinfo_getfile in libutil.
12855         * configure: Regenerate.
12856         * config.in: Regenerate.
12857         * fbsd-nat.c: Include "fbsd-tdep.h".
12858         (fbsd_fetch_cmdline): New.
12859         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
12860         rather than calling error.
12861         (fbsd_info_proc): New.
12862         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
12863         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
12864         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
12865
12866 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12867
12868         * fbsd-nat.c (struct free_deleter): Remove.
12869         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
12870
12871 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12872
12873         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
12874         NULL for an empty pathname.
12875
12876 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12877
12878         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
12879         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
12880         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
12881         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
12882         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
12883         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
12884         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
12885         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
12886         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
12887         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
12888         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
12889         (fbsd_core_fetch_timeval, fbsd_print_sigset)
12890         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
12891         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
12892         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
12893
12894 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
12895
12896         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
12897         (gnu_xfer_auxv): New function.
12898         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
12899         TARGET_OBJECT_AUXV.
12900
12901 2018-01-08  Yao Qi  <yao.qi@linaro.org>
12902             Simon Marchi  <simon.marchi@ericsson.com>
12903
12904         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
12905         common/selftest.c.
12906         (COMMON_OBS): Remove selftest.o.
12907         * configure.ac: Append selftest-arch.c and common/selftest.c to
12908         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
12909         * configure: Re-generated.
12910         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
12911         GDB_SELF_TEST.
12912         (maintenance_info_selftests): Likewise.
12913
12914 2018-01-08  Xavier Roirand  <roirand@adacore.com>
12915
12916         * ada-valprint.c (val_print_packed_array_elements): Use
12917         proper number of elements when printing an array indexed
12918         by an enumeration type.
12919
12920 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12921
12922         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
12923         (dw2_get_file_names_reader): Adjust.
12924         (lookup_dwo_signatured_type): Adjust.
12925         (lookup_dwp_signatured_type): Adjust.
12926         (lookup_signatured_type): Adjust.
12927         (create_type_unit_group): Adjust.
12928         (get_type_unit_group): Adjust.
12929         (process_psymtab_comp_unit_reader): Adjust.
12930         (build_type_psymtabs_reader): Adjust.
12931         (scan_partial_symbols): Adjust.
12932         (add_partial_symbol): Adjust.
12933         (add_partial_subprogram): Adjust.
12934         (peek_die_abbrev): Adjust.
12935         (fixup_go_packaging): Adjust.
12936         (process_imported_unit_die): Adjust.
12937         (dwarf2_compute_name): Adjust.
12938         (dwarf2_physname): Adjust.
12939         (read_import_statement): Adjust.
12940         (handle_DW_AT_stmt_list): Adjust.
12941         (read_file_scope): Adjust.
12942         (read_func_scope): Adjust.
12943         (read_lexical_block_scope): Adjust.
12944         (read_call_site_scope): Adjust.
12945         (read_variable): Adjust.
12946         (dwarf2_rnglists_process): Adjust.
12947         (dwarf2_ranges_process): Adjust.
12948         (dwarf2_ranges_read): Adjust.
12949         (dwarf2_get_pc_bounds): Adjust.
12950         (dwarf2_record_block_ranges): Adjust.
12951         (dwarf2_add_field): Adjust.
12952         (dwarf2_add_member_fn): Adjust.
12953         (read_structure_type): Adjust.
12954         (process_structure_scope): Adjust.
12955         (read_enumeration_type): Adjust.
12956         (read_array_type): Adjust.
12957         (mark_common_block_symbol_computed): Adjust.
12958         (read_common_block): Adjust.
12959         (read_namespace_type): Adjust.
12960         (read_namespace): Adjust.
12961         (read_module_type): Adjust.
12962         (read_tag_pointer_type): Adjust.
12963         (read_tag_ptr_to_member_type): Adjust.
12964         (read_tag_string_type): Adjust.
12965         (read_subroutine_type): Adjust.
12966         (read_typedef): Adjust.
12967         (read_base_type): Adjust.
12968         (attr_to_dynamic_prop): Adjust.
12969         (read_subrange_type): Adjust.
12970         (read_unspecified_type): Adjust.
12971         (dwarf2_read_abbrevs): Adjust.
12972         (load_partial_dies): Adjust.
12973         (read_partial_die): Adjust.
12974         (find_partial_die): Adjust.
12975         (guess_partial_die_structure_name): Adjust.
12976         (fixup_partial_die): Adjust.
12977         (read_attribute_value): Adjust.
12978         (read_addr_index): Adjust.
12979         (read_addr_index_from_leb128): Adjust.
12980         (read_str_index): Adjust.
12981         (dwarf2_string_attr): Adjust.
12982         (get_debug_line_section): Adjust.
12983         (dwarf_decode_line_header): Adjust.
12984         (lnp_state_machine::check_line_address): Adjust.
12985         (dwarf_decode_lines_1): Adjust.
12986         (dwarf_decode_lines): Adjust.
12987         (dwarf2_start_symtab): Adjust.
12988         (var_decode_location): Adjust.
12989         (new_symbol_full): Adjust.
12990         (dwarf2_const_value_data): Adjust.
12991         (dwarf2_const_value_attr): Adjust.
12992         (dwarf2_const_value): Adjust.
12993         (die_type): Adjust.
12994         (die_containing_type): Adjust.
12995         (build_error_marker_type): Adjust.
12996         (lookup_die_type): Adjust.
12997         (guess_full_die_structure_name): Adjust.
12998         (anonymous_struct_prefix): Adjust.
12999         (determine_prefix): Adjust.
13000         (dwarf2_name): Adjust.
13001         (follow_die_ref_or_sig): Adjust.
13002         (follow_die_offset): Adjust.
13003         (follow_die_ref): Adjust.
13004         (follow_die_sig_1): Adjust.
13005         (follow_die_sig): Adjust.
13006         (get_signatured_type): Adjust.
13007         (get_DW_AT_signature_type): Adjust.
13008         (decode_locdesc): Adjust.
13009         (dwarf_decode_macros): Adjust.
13010         (cu_debug_loc_section): Adjust.
13011         (fill_in_loclist_baton): Adjust.
13012         (dwarf2_symbol_mark_computed): Adjust.
13013         (init_one_comp_unit): Don't assign
13014         dwarf2_cu::dwarf2_per_objfile.
13015         (set_die_type): Adjust.
13016
13017 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13018
13019         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13020         <dwarf2_per_objfile>: New field.
13021         (dwarf2_per_objfile): Remove global.
13022         (get_dwarf2_per_objfile): New function.
13023         (set_dwarf2_per_objfile): New function.
13024         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13025         dwarf2_per_objfile.
13026         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13027         (read_abbrev_offset): Likewise.
13028         (read_indirect_string): Likewise.
13029         (read_indirect_line_string): Likewise.
13030         (read_indirect_string_at_offset): Likewise.
13031         (read_indirect_string_from_dwz): Likewise.
13032         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13033         dwarf2_per_objfile.
13034         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13035         (create_all_comp_units): Change objfile parameter to
13036         dwarf2_per_objfile.
13037         (create_all_type_units): Likewise.
13038         (process_queue): Add dwarf2_per_objfile parameter.
13039         (read_and_check_comp_unit_head): Likewise.
13040         (lookup_dwo_unit_in_dwp): Likewise.
13041         (get_dwp_file): Likewise.
13042         (process_cu_includes): Likewise.
13043         (struct free_dwo_file_cleanup_data): New struct.
13044         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13045         set_dwarf2_per_objfile.
13046         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13047         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13048         context, adjust calls.
13049         (dw2_instantiate_symtab): Likewise.
13050         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13051         (dw2_get_cu): Likewise.
13052         (create_cu_from_index_list): Change objfile parameter to
13053         dwarf2_per_objfile.
13054         (create_cus_from_index_list): Get dwarf2_per_objfile from
13055         context, adjust calls.
13056         (create_cus_from_index): Likewise.
13057         (create_signatured_type_table_from_index): Change objfile
13058         parameter to dwarf2_per_objfile.
13059         (create_signatured_type_table_from_debug_names): Change objfile
13060         parameter to dwarf2_per_objfile.
13061         (create_addrmap_from_index): Likewise.
13062         (create_addrmap_from_aranges): Likewise.
13063         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13064         (dw2_setup): Remove.
13065         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13066         context.
13067         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13068         get_dwarf2_per_objfile.
13069         (dw2_forget_cached_source_info): Likewise.
13070         (dw2_map_symtabs_matching_filename): Likewise.
13071         (struct dw2_symtab_iterator) <index>: Remove.
13072         <dwarf2_per_objfile>: New field.
13073         (dw2_symtab_iter_init): Replace index parameter with
13074         dwarf2_per_objfile.
13075         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13076         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13077         (dw2_print_stats): Likewise.
13078         (dw2_dump): Likewise.
13079         (dw2_expand_symtabs_for_function): Likewise.
13080         (dw2_expand_all_symtabs): Likewise.
13081         (dw2_expand_symtabs_with_fullname): Likewise.
13082         (dw2_expand_marked_cus): Replace index and objfile parameters
13083         with dwarf2_per_objfile.
13084         (dw_expand_symtabs_matching_file_matcher): Add
13085         dwarf2_per_objfile parameter and adjust calls.
13086         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
13087         adjust calls.
13088         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
13089         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
13090         adjust calls.
13091         (create_cus_from_debug_names_list): Replace objfile parameter
13092         with dwarf2_per_objfile and adjust calls.
13093         (create_cus_from_debug_names): Likewise.
13094         (dwarf2_read_debug_names): Likewise.
13095         (mapped_debug_names::namei_to_name): Adjust call.
13096         (dw2_debug_names_iterator::next): Likewise.
13097         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
13098         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
13099         (dw2_debug_names_dump): Likewise.
13100         (dw2_debug_names_expand_symtabs_for_function): Likewise.
13101         (dw2_debug_names_expand_symtabs_matching): Likewise.
13102         (dwarf2_initialize_objfile): Likewise.
13103         (dwarf2_build_psymtabs): Likewise.
13104         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
13105         this_cu.
13106         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
13107         (read_and_check_comp_unit_head): Likewise.
13108         (read_abbrev_offset): Likewise.
13109         (create_debug_type_hash_table): Likewise.
13110         (create_debug_types_hash_table): Likewise.
13111         (create_all_type_units): Replace objfile parameter with
13112         dwarf2_per_objfile.
13113         (add_type_unit): Add dwarf2_per_objfile parameter.
13114         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
13115         with dwarf2_per_objfile.
13116         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
13117         (lookup_dwp_signatured_type): Likewise.
13118         (lookup_signatured_type): Likewise.
13119         (read_cutu_die_from_dwo): Likewise.
13120         (init_tu_and_read_dwo_dies): Likewise.
13121         (init_cutu_and_read_dies): Likewise.
13122         (init_cutu_and_read_dies_no_follow): Likewise.
13123         (allocate_type_unit_groups_table): Add objfile parameter.
13124         (create_type_unit_group): Use dwarf2_per_objfile from cu.
13125         (get_type_unit_group): Likewise.
13126         (process_psymtab_comp_unit): Update call.
13127         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
13128         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
13129         (print_tu_stats): Likewise.
13130         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
13131         in void* parameter.
13132         (build_type_psymtabs): Change objfile parameter to
13133         dwarf2_per_objfile.
13134         (process_skeletonless_type_unit): Use dwarf2_per_objfile
13135         passed in void* parameter.
13136         (process_skeletonless_type_units): Change objfile parameter to
13137         dwarf2_per_objfile.
13138         (set_partial_user): Likewise.
13139         (dwarf2_build_psymtabs_hard): Likewise.
13140         (read_comp_units_from_section): Likewise.
13141         (create_all_comp_units): Likewise.
13142         (scan_partial_symbols): Update calls.
13143         (add_partial_symbol): Likewise.
13144         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
13145         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
13146         (process_queue): Add dwarf2_per_objfile parameter.
13147         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
13148         (compute_compunit_symtab_includes): Likewise.
13149         (process_cu_includes): Add dwarf2_per_objfile parameter.
13150         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
13151         (process_full_type_unit): Likewise.
13152         (process_imported_unit_die): Update call.
13153         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
13154         (read_file_scope): Likewise.
13155         (allocate_dwo_file_hash_table): Add objfile parameter.
13156         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
13157         (create_cus_hash_table): Likewise.
13158         (create_dwp_hash_table): Likewise.
13159         (create_dwo_unit_in_dwp_v1): Likewise.
13160         (create_dwp_v2_section): Likewise.
13161         (create_dwo_unit_in_dwp_v2): Likewise.
13162         (lookup_dwo_unit_in_dwp): Likewise.
13163         (try_open_dwop_file): Likewise.
13164         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
13165         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
13166         cleanup to include a reference to dwarf2_per_objfile.
13167         (open_dwp_file): Add dwarf2_per_objfile parameter.
13168         (open_and_init_dwp_file): Likewise.
13169         (get_dwp_file): Likewise.
13170         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
13171         (queue_and_load_all_dwo_tus): Update call.
13172         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
13173         data.
13174         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
13175         (dwarf2_ranges_process): Likewise.
13176         (dwarf2_get_pc_bounds): Likewise.
13177         (mark_common_block_symbol_computed): Likewise.
13178         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13179         (dwarf2_read_abbrevs): Update call.
13180         (read_partial_die): Use dwarf2_per_objfile from cu.
13181         (find_partial_die): Likewise.
13182         (fixup_partial_die): Likewise.
13183         (read_attribute_value): Likewise.
13184         (read_indirect_string_at_offset_from): Add objfile parameter.
13185         (read_indirect_string_at_offset): Add dwarf2_per_objfile
13186         parameter.
13187         (read_indirect_string_from_dwz): Add objfile parameter.
13188         (read_indirect_string): Add objfile parameter.
13189         (read_addr_index_1): Add dwarf2_per_objfile parameter.
13190         (read_addr_index): Use dwarf2_per_objfile from cu.
13191         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
13192         call dw2_setup.
13193         (read_str_index): Use dwarf2_per_objfile from cu.
13194         (get_debug_line_section): Likewise.
13195         (read_formatted_entries): Add dwarf2_per_objfile parameter.
13196         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
13197         (new_symbol_full): Use dwarf2_per_objfile from cu.
13198         (build_error_marker_type): Likewise.
13199         (lookup_die_type): Likewise.
13200         (determine_prefix): Likewise.
13201         (follow_die_offset): Likewise.
13202         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
13203         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
13204         (dwarf2_fetch_die_type_sect_off): Likewise.
13205         (dwarf2_get_die_type): Likewise.
13206         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
13207         (get_signatured_type): Likewise.
13208         (get_DW_AT_signature_type): Likewise.
13209         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
13210         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
13211         (cu_debug_loc_section): Likewise.
13212         (fill_in_loclist_baton): Likewise.
13213         (dwarf2_symbol_mark_computed): Likewise.
13214         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13215         dwarf2_per_objfile.
13216         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
13217         parameter.
13218         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13219         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
13220         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
13221         (set_die_type): Use dwarf2_free_objfile from cu.
13222         (get_die_type_at_offset): Likewise.
13223         (dwarf2_per_objfile_free): Don't assign global variable.
13224         (debug_names) <constructor>: Add dwarf2_per_objfile
13225         parameter, update m_debugstrlookup construction.
13226         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
13227         parameter.
13228         <m_dwarf2_per_objfile>: New field.
13229         <lookup>: Use m_dwarf2_per_objfile.
13230         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
13231         (psyms_seen_size): Likewise.
13232         (write_gdbindex): Replace objfile parameter with
13233         dwarf2_per_objfile.
13234         (write_debug_names): Likewise.
13235         (write_psymtabs_to_index): Likewise.
13236         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
13237         calls.
13238
13239 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13240
13241         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
13242         <dwarf2_per_objfile>: New field.
13243         (struct dwarf2_per_cu_data) <objfile>: Remove.
13244         <dwarf2_per_objfile>: New field.
13245         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
13246         of objfile.
13247         (create_signatured_type_table_from_index): Likewise.
13248         (create_debug_type_hash_table): Likewise.
13249         (fill_in_sig_entry_from_dwo_entry): Likewise.
13250         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
13251         (create_type_unit_group): Assign dwarf2_per_objfile instead of
13252         objfile.
13253         (create_partial_symtab): Access objfile through
13254         dwarf2_per_objfile.
13255         (process_psymtab_comp_unit_reader): Likewise.
13256         (read_comp_units_from_section): Likewise.
13257         (scan_partial_symbols): Likewise.
13258         (add_partial_symbol): Likewise.
13259         (add_partial_subprogram): Likewise.
13260         (peek_die_abbrev): Likewise.
13261         (fixup_go_packaging): Likewise.
13262         (process_full_comp_unit): Likewise.
13263         (process_full_type_unit): Likewise.
13264         (process_imported_unit_die): Likewise.
13265         (dwarf2_compute_name): Likewise.
13266         (dwarf2_physname): Likewise.
13267         (read_import_statement): Likewise.
13268         (create_cus_hash_table): Assign dwarf2_physname instead of
13269         objfile.
13270         (read_func_scope): Access objfile through dwarf2_per_objfile.
13271         (read_lexical_block_scope): Likewise.
13272         (read_call_site_scope): Likewise.
13273         (read_variable): Likewise.
13274         (dwarf2_rnglists_process): Likewise.
13275         (dwarf2_ranges_process): Likewise.
13276         (dwarf2_ranges_read): Likewise.
13277         (dwarf2_record_block_ranges): Likewise.
13278         (dwarf2_add_field): Likewise.
13279         (dwarf2_add_member_fn): Likewise.
13280         (read_structure_type): Likewise.
13281         (process_structure_scope): Likewise.
13282         (read_enumeration_type): Likewise.
13283         (read_array_type): Likewise.
13284         (read_common_block): Likewise.
13285         (read_namespace_type): Likewise.
13286         (read_namespace): Likewise.
13287         (read_module_type): Likewise.
13288         (read_tag_pointer_type): Likewise.
13289         (read_tag_ptr_to_member_type): Likewise.
13290         (read_tag_string_type): Likewise.
13291         (read_subroutine_type): Likewise.
13292         (read_typedef): Likewise.
13293         (read_base_type): Likewise.
13294         (attr_to_dynamic_prop): Likewise.
13295         (read_subrange_type): Likewise.
13296         (read_unspecified_type): Likewise.
13297         (load_partial_dies): Likewise.
13298         (read_partial_die): Likewise.
13299         (find_partial_die): Likewise.
13300         (guess_partial_die_structure_name): Likewise.
13301         (fixup_partial_die): Likewise.
13302         (read_attribute_value): Likewise.
13303         (read_addr_index_from_leb128): Likewise.
13304         (dwarf2_read_addr_index): Likewise.
13305         (dwarf2_string_attr): Likewise.
13306         (lnp_state_machine::check_line_address): Likewise.
13307         (dwarf_decode_lines_1): Likewise.
13308         (dwarf_decode_lines): Likewise.
13309         (dwarf2_start_symtab): Likewise.
13310         (var_decode_location): Likewise.
13311         (new_symbol_full): Likewise.
13312         (dwarf2_const_value_data): Likewise.
13313         (dwarf2_const_value_attr): Likewise.
13314         (dwarf2_const_value): Likewise.
13315         (die_type): Likewise.
13316         (die_containing_type): Likewise.
13317         (lookup_die_type): Likewise.
13318         (guess_full_die_structure_name): Likewise.
13319         (anonymous_struct_prefix): Likewise.
13320         (dwarf2_name): Likewise.
13321         (follow_die_ref_or_sig): Likewise.
13322         (follow_die_offset): Likewise.
13323         (follow_die_ref): Likewise.
13324         (dwarf2_fetch_die_loc_sect_off): Likewise.
13325         (dwarf2_fetch_constant_bytes): Likewise.
13326         (dwarf2_fetch_die_type_sect_off): Likewise.
13327         (dwarf2_get_die_type): Likewise.
13328         (follow_die_sig): Likewise.
13329         (decode_locdesc): Likewise.
13330         (dwarf2_per_cu_objfile): Likewise.
13331         (dwarf2_per_cu_text_offset): Likewise.
13332         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
13333         objfile.
13334         (set_die_type): Access objfile through
13335         dwarf2_per_objfile.
13336
13337 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13338
13339         * valprint.c (converted_character_d): Remove typedef.
13340         (DEF_VEC_O (converted_character_d)): Remove.
13341         (count_next_character): Use std::vector.
13342         (print_converted_chars_to_obstack): Likewise.
13343         (generic_printstr): Likewise.
13344
13345 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13346
13347         * xml-support.h (struct gdb_xml_value): Add constructor.
13348         <value>: Change type to unique_xmalloc_ptr.
13349         (gdb_xml_value_s): Remove typedef.
13350         (DEF_VEC_O (gdb_xml_value_s)): Remove.
13351         (gdb_xml_element_start_handler): Change parameter type to
13352         std::vector.
13353         (xml_find_attribute): Likewise.
13354         * xml-support.c (xml_find_attribute): Change parameter type to
13355         std::vector and adjust.
13356         (gdb_xml_values_cleanup): Remove.
13357         (gdb_xml_parser::start_element): Adjust to std::vector.
13358         (xinclude_start_include): Change paraeter type to std::vector
13359         and adjust.
13360         * btrace.c (check_xml_btrace_version): Likewise.
13361         (parse_xml_btrace_block): Likewise.
13362         (parse_xml_btrace_pt_config_cpu): Likewise.
13363         (parse_xml_btrace_pt): Likewise.
13364         (parse_xml_btrace_conf_bts): Likewise.
13365         (parse_xml_btrace_conf_pt): Likewise.
13366         * memory-map.c (memory_map_start_memory): Likewise.
13367         (memory_map_start_property): Likewise.
13368         * osdata.c (osdata_start_osdata): Likewise.
13369         (osdata_start_item): Likewise.
13370         (osdata_start_column): Likewise.
13371         * remote.c (start_thread): Likewise.
13372         * solib-aix.c (library_list_start_library): Likewise.
13373         (library_list_start_list): Likewise.
13374         * solib-svr4.c (library_list_start_library): Likewise.
13375         (svr4_library_list_start_list): Likewise.
13376         * solib-target.c (library_list_start_segment): Likewise.
13377         (library_list_start_section): Likewise.
13378         (library_list_start_library): Likewise.
13379         (library_list_start_list): Likewise.
13380         * tracepoint.c (traceframe_info_start_memory): Likewise.
13381         (traceframe_info_start_tvar): Likewise.
13382         * xml-syscall.c (syscall_start_syscall): Likewise.
13383         * xml-tdesc.c (tdesc_start_target): Likewise.
13384         (tdesc_start_feature): Likewise.
13385         (tdesc_start_reg): Likewise.
13386         (tdesc_start_union): Likewise.
13387         (tdesc_start_struct): Likewise.
13388         (tdesc_start_flags): Likewise.
13389         (tdesc_start_enum): Likewise.
13390         (tdesc_start_field): Likewise.
13391         (tdesc_start_enum_value): Likewise.
13392         (tdesc_start_vector): Likewise.
13393
13394 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13395
13396         * extension.h (struct xmethod_worker) <clone>: Remove.
13397         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13398         Remove.
13399         (python_xmethod_worker::clone): Remove.
13400         * valops.c (find_overload_match): Use std::move instead of
13401         clone.
13402
13403 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13404
13405         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13406         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13407         <free_xmethod_worker_data>: Remove.
13408         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13409         <get_xmethod_arg_types>: Remove.
13410         <get_xmethod_result_type>: Remove.
13411         <invoke_xmethod>: Remove.
13412         * extension.c (new_xmethod_worker): Remove.
13413         (clone_xmethod_worker): Remove.
13414         (get_matching_xmethod_workers): Return void, pass std::vector by
13415         pointer.
13416         (get_xmethod_arg_types): Rename to...
13417         (xmethod_worker::get_arg_types): ... this, and adjust.
13418         (get_xmethod_result_type): Rename to...
13419         (xmethod_worker::get_result_type): ... this, and adjust.
13420         (invoke_xmethod): Remove.
13421         (free_xmethod_worker): Remove.
13422         (free_xmethod_worker_vec): Remove.
13423         * extension.h (enum ext_lang_rc): Move here from
13424         extension-priv.h.
13425         (struct xmethod_worker): Add constructor and destructor.
13426         <data>: Remove.
13427         <value>: Remove.
13428         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13429         virtual pure methods.
13430         <get_arg_types, get_result_type>: New methods.
13431         (xmethod_worker_ptr): Remove typedef.
13432         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13433         (xmethod_worker_vec): Remove typedef.
13434         (xmethod_worker_up): New typedef.
13435         (invoke_xmethod): Remove.
13436         (clone_xmethod_worker): Remove.
13437         (free_xmethod_worker): Remove.
13438         (free_xmethod_worker_vec): Remove.
13439         (get_xmethod_arg_types): Remove.
13440         (get_xmethod_result_type): Remove.
13441         * valops.c (find_method_list): Use std::vector, don't use
13442         intermediate vector.
13443         (value_find_oload_method_list): Use std::vector.
13444         (find_overload_match): Use std::vector.
13445         (find_oload_champ): Use std::vector.
13446         * value.c (value_free): Use operator delete.
13447         (value_of_xmethod): Rename to...
13448         (value_from_xmethod): ... this.  Don't assign
13449         xmethod_worker::value, take rvalue-reference.
13450         (result_type_of_xmethod): Adjust.
13451         (call_xmethod): Adjust.
13452         * value.h: Include extension.h.
13453         (struct xmethod_worker): Don't forward-declare.
13454         (value_of_xmethod): Rename to...
13455         (value_from_xmethod): ... this, take rvalue-reference.
13456         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13457         (struct python_xmethod_worker): ... this, add constructor and
13458         destructor.
13459         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13460         (gdbpy_free_xmethod_worker_data): Rename to...
13461         (python_xmethod_worker::~python_xmethod_worker): ... this and
13462         adjust.
13463         (gdbpy_clone_xmethod_worker_data): Rename to...
13464         (python_xmethod_worker::clone): ... this and adjust.
13465         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13466         temporary vector.
13467         (gdbpy_get_xmethod_arg_types): Rename to...
13468         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
13469         (gdbpy_get_xmethod_result_type): Rename to...
13470         (python_xmethod_worker::do_get_result_type): ... this and
13471         adjust.
13472         (gdbpy_invoke_xmethod): Rename to...
13473         (python_xmethod_worker::invoke): ... this and adjust.
13474         (new_python_xmethod_worker): Rename to...
13475         (python_xmethod_worker::python_xmethod_worker): ... this and
13476         adjust.
13477         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
13478         Remove.
13479         (gdbpy_free_xmethod_worker_data): Remove.
13480         (gdbpy_get_matching_xmethod_workers): Use std::vector.
13481         (gdbpy_get_xmethod_arg_types): Remove.
13482         (gdbpy_get_xmethod_result_type): Remove.
13483         (gdbpy_invoke_xmethod): Remove.
13484         * python/python.c (python_extension_ops): Remove obsolete
13485         callbacks.
13486
13487 2018-01-05  Pedro Alves  <palves@redhat.com>
13488
13489         PR gdb/18653
13490         * common/signals-state-save-restore.c
13491         (save_original_signals_state): New parameter 'quiet'.  Warn if we
13492         find a custom handler preinstalled, instead of internal erroring.
13493         But only warn if !quiet.
13494         * common/signals-state-save-restore.h
13495         (save_original_signals_state): New parameter 'quiet'.
13496         * main.c (captured_main_1): Move save_original_signals_state call
13497         after option handling, and pass QUIET.
13498
13499 2018-01-05  Pedro Alves  <palves@redhat.com>
13500
13501         * spu-tdep.c (spu_catch_start): Pass
13502         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
13503
13504 2018-01-05  Pedro Alves  <palves@redhat.com>
13505
13506         PR gdb/22670
13507         * ada-lang.c (literal_symbol_name_matcher): New function.
13508         (ada_get_symbol_name_matcher): Use it for
13509         symbol_name_match_type::SEARCH_NAME.
13510         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
13511         it down instead of assuming symbol_name_match_type::FULL.
13512         * block.h (block_lookup_symbol): New parameter 'match_type'.
13513         * c-valprint.c (print_unpacked_pointer): Use
13514         lookup_symbol_search_name instead of lookup_symbol.
13515         * compile/compile-object-load.c (get_out_value_type): Pass down
13516         symbol_name_match_type::SEARCH_NAME.
13517         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
13518         symbol_name_match_type::FULL.
13519         * cp-support.c (cp_get_symbol_name_matcher): Handle
13520         symbol_name_match_type::SEARCH_NAME.
13521         * infrun.c (insert_exception_resume_breakpoint): Use
13522         lookup_symbol_search_name.
13523         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
13524         * psymtab.c (maintenance_check_psymtabs): Use
13525         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
13526         * stack.c (print_frame_args): Use lookup_symbol_search_name and
13527         SYMBOL_SEARCH_NAME.
13528         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
13529         if symbol_name_match_type::SEARCH_NAME.
13530         (lookup_symbol_in_language): Pass down
13531         symbol_name_match_type::FULL.
13532         (lookup_symbol_search_name): New.
13533         (lookup_language_this): Pass down
13534         symbol_name_match_type::SEARCH_NAME.
13535         (lookup_symbol_aux, lookup_local_symbol): New parameter
13536         'match_type'.  Pass it down.
13537         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
13538         (lookup_symbol_search_name): New declaration.
13539         (lookup_symbol_in_block): New 'match_type' parameter.
13540
13541 2018-01-05  Pedro Alves  <palves@redhat.com>
13542
13543         PR gdb/22670
13544         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
13545         ada_lookup_symbol.
13546         (ada_lookup_symbol): Reimplement in terms of
13547         ada_lookup_symbol_list, bits factored out from
13548         ada_lookup_encoded_symbol.
13549
13550 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13551
13552         * ada-exp.y (write_object_renaming): When subscripting an array
13553         using a symbol as the index, pass the block in call to
13554         ada_lookup_encoded_symbol when looking that symbol up.
13555
13556 2018-01-05  Jerome Guitton  <guitton@adacore.com>
13557
13558         * ada-lang.c (ada_array_length): Use ada_index_type instead of
13559         TYPE_INDEX_TYPE.
13560
13561 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13562
13563         * ada-lang.c (ada_to_fixed_value_create): Add handling of
13564         the case where VALUE_LVAL (val0) is not lval_memory.
13565
13566 2018-01-05  Xavier Roirand  <roirand@adacore.com>
13567
13568         * ada-valprint.c (print_optional_low_bound): Handle
13569         character-indexed array printing like boolean-indexed array
13570         printing.
13571
13572 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13573
13574         * NEWS: Create a new section for the next release branch.
13575         Rename the section of the current branch, now that it has
13576         been cut.
13577
13578 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13579
13580         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
13581         * version.in: Bump version to 8.1.50.DATE-git.
13582
13583 2018-01-03  Xavier Roirand  <roirand@adacore.com>
13584
13585         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
13586         Add field.
13587         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
13588         Add field.
13589         (default_exception_support_info) <catch_handlers_sym>: Add field.
13590         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
13591         (ada_exception_name_addr_1): Add "catch handlers" handling.
13592         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
13593         Update all callers.
13594         (create_excep_cond_exprs) <ex>: Add parameter.
13595         (re_set_exception): Update create_excep_cond_exprs call.
13596         (print_it_exception, print_one_exception, print_mention_exception)
13597         (print_recreate_exception): Add "catch handler" handling.
13598         (allocate_location_catch_handlers, re_set_catch_handlers)
13599         (check_status_catch_handlers, print_it_catch_handlers)
13600         (print_one_catch_handlers, print_mention_catch_handlers)
13601         (print_recreate_catch_handlers): New function.
13602         (catch_handlers_breakpoint_ops): New variable.
13603         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
13604         Add parameter.  Add "catch handler" handling.
13605         (ada_exception_sym_name, ada_exception_breakpoint_ops):
13606         Add "catch handler" handling.
13607         (ada_exception_catchpoint_cond_string): Add "catch handler"
13608         handling.
13609         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
13610         call.
13611         (catch_ada_handlers_command): New function.
13612         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
13613         operations structure.
13614         (_initialize_ada_language): Add "catch handlers" command entry.
13615         * NEWS: Document "catch handlers" feature.
13616
13617 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13618
13619         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
13620         account when creating the array type of the slice.
13621         (ada_value_slice): Likewise.
13622
13623 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13624
13625         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
13626         New enum value.
13627         (create_array_type_with_stride): Add byte_stride_prop parameter.
13628         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
13629         New parameter.  Update all callers in this file.
13630         (array_type_has_dynamic_stride): New function.
13631         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
13632         of arrays with dynamic byte strides.
13633         * dwarf2read.c (read_array_type): Add support for dynamic
13634         DW_AT_byte_stride attributes.
13635
13636 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13637
13638         * dwarf2read.c (read_unspecified_type): Treat
13639         DW_TAG_enumeration_type DIEs from Ada units as stubs.
13640
13641 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13642
13643         Update copyright year range in all GDB files.
13644
13645 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13646
13647         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
13648         and gdb/testsuite/gdb.base/step-line.c.
13649
13650 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13651
13652         * copyright.py (main): Dump the contents of
13653         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
13654         even if BY_HAND is empty.
13655
13656 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13657
13658         * top.c (print_gdb_version): Update Copyright year in version
13659         message.
13660
13661 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13662
13663         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
13664
13665 For older changes see ChangeLog-2017.
13666 \f
13667 Local Variables:
13668 mode: change-log
13669 left-margin: 8
13670 fill-column: 74
13671 version-control: never
13672 coding: utf-8
13673 End: