Eliminate most remaining cleanups under gdb/guile/
[external/binutils.git] / gdb / ChangeLog
1 2018-07-18  Pedro Alves  <palves@redhat.com>
2
3         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
4         exceptions.
5         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
6         (gdbscm_wrap): New.
7         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
8         directly instead of a cleanup.
9         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
10         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
11         (vlscm_binop_gdbthrow): New, factored out from ...
12         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
13         (vlscm_rich_compare): Use gdbscm_wrap.
14         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
15         instead of a cleanup.
16         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
17         cleanup.
18         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
19         Use xfree directly instead of a cleanup.
20         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
21         Adjust to use gdbscm_wrap and scoped_value_mark.
22         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
23         (gdbscm_value_address, gdbscm_value_dereference)
24         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
25         scoped_value_mark.
26         (gdbscm_value_dynamic_type): Use scoped_value_mark.
27         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
28         scoped_value_mark.
29         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
30         gdbscm_wrap and scoped_value_mark.
31         (gdbscm_value_to_string): Use xfree directly instead of a
32         cleanup.  Move 'buffer' unique_ptr to TRY scope.
33         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
34         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
35         scoped_value_mark.
36         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
37         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
38         scoped_value_mark.
39         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
40         gdbscm_wrap.
41
42 2018-07-18  Tom de Vries  <tdevries@suse.de>
43
44         * findvar.c (default_read_var_value): Also resolve dynamic type for
45         LOC_OPTIMIZED_OUT vars.
46
47 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
48
49         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
50         decoding.
51
52 2018-07-17  Tom Tromey  <tom@tromey.com>
53
54         * guile/scm-param.c (pascm_set_func, pascm_show_func)
55         (compute_enum_list, pascm_set_param_value_x)
56         (gdbscm_parameter_value): Update.
57         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
58         (gdbscm_scm_to_host_string): Update.
59         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
60         Update.
61         * guile/scm-cmd.c (cmdscm_add_completion): Update.
62         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
63         * guile/scm-string.c (gdbscm_scm_to_string): Return
64         unique_xmalloc_ptr.
65         (gdbscm_scm_to_host_string): Likewise.
66
67 2018-07-17  Tom Tromey  <tom@tromey.com>
68
69         * guile/guile.c (gdbscm_eval_from_control_command): Update.
70         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
71         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
72         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
73         unique_xmalloc_ptr.
74
75 2018-07-17  Tom Tromey  <tom@tromey.com>
76
77         * guile/scm-param.c (pascm_signal_setshow_error): Update.
78         * guile/guile-internal.h (gdbscm_exception_message_to_string):
79         Update.
80         * guile/scm-cmd.c (cmdscm_function): Update.
81         * guile/scm-pretty-print.c
82         (ppscm_print_exception_unless_memory_error): Update.
83         * guile/scm-exception.c (gdbscm_exception_message_to_string):
84         Return unique_xmalloc_ptr.
85
86 2018-07-17  Tom Tromey  <tom@tromey.com>
87
88         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
89         Use string_printf.
90
91 2018-07-17  Jim Wilson  <jimw@sifive.com>
92
93         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
94         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
95         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
96         unecessary braces after EF_RISCV_RVC test.  Delete call to
97         set_gdbarch_decr_pc_after_break.
98
99         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
100         RISCV_LAST_FP_REGNUM + 1.
101         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
102
103 2018-07-17  Tom Tromey  <tom@tromey.com>
104
105         * configure.ac: Remove --disable-gdbcli.
106         * configure: Rebuild.
107         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
108         (SUBDIR_CLI_CFLAGS): Remove.
109         (SFILES): Use SUBDIR_CLI_SRCS.
110         (COMMON_OBS): Use SUBDIR_CLI_OBS.
111
112 2018-07-17  Tom Tromey  <tom@tromey.com>
113
114         PR gdb/18624:
115         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
116
117 2018-07-16  Jim Wilson  <jimw@sifive.com>
118
119         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
120
121 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
122
123         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
124         variable.
125         (libunwind_frame_sniffer): Likewise.
126         (libunwind_frame_prev_register): Likewise.
127         (libunwind_sigtramp_frame_sniffer): Likewise.
128         * ia64-tdep.c (ia64_access_reg): Likewise.
129         (ia64_access_rse_reg): Likewise.
130         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
131         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
132
133 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
134
135         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
136
137 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
138
139         * remote-sim.c (gdbsim_target::close,
140         gdbsim_target::mourn_inferior): Remove unused variables.
141
142 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
143
144         * ia64-tdep.c (ktab_buf): New global.
145         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
146         (get_kernel_table): Adjust.
147
148 2018-07-16  Tom Tromey  <tom@tromey.com>
149
150         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
151         * dwarf2read.c (using_directives, new_symbol): Use
152         outermost_context_p.
153         * dbxread.c (process_one_symbol): Use outermost_context_p.
154         * coffread.c (coff_symtab_read): Use outermost_context_p.
155
156 2018-07-16  Tom Tromey  <tom@tromey.com>
157
158         * dwarf2read.c (using_directives, read_func_scope)
159         (read_lexical_block_scope): Update.
160         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
161         * buildsym.h (local_using_directives, global_using_directives):
162         Don't declare.
163         (get_local_using_directives, set_local_using_directives)
164         (get_global_using_directives): Declare.
165         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
166         m_global_using_directives>: New members.
167         (finish_block_internal, prepare_for_building)
168         (reset_symtab_globals, end_symtab_get_static_block)
169         (push_context): Update.
170         (get_local_using_directives, set_local_using_directives)
171         (get_global_using_directives): New functions.
172         (buildsym_init): Update.
173
174 2018-07-16  Tom Tromey  <tom@tromey.com>
175
176         * xcoffread.c (xcoff_initial_scan): Don't call
177         free_pending_blocks.
178         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
179         * buildsym.h (class scoped_free_pendings): Add constructor.
180         (free_pending_blocks): Don't declare.
181         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
182         (free_pending_blocks): Now static.
183
184 2018-07-16  Tom Tromey  <tom@tromey.com>
185
186         * buildsym.h (push_subfile, pop_subfile): Update declarations.
187         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
188         member.
189         (struct subfile_stack): Remove.
190         (subfile_stack): Remove.
191         (push_subfile, pop_subfile, buildsym_init): Update.
192
193 2018-07-16  Tom Tromey  <tom@tromey.com>
194
195         * buildsym.c (push_subfile): Use gdb_assert.
196         (pop_subfile): Use gdb_assert.
197
198 2018-07-16  Tom Tromey  <tom@tromey.com>
199
200         * buildsym.h (merge_symbol_lists): Remove.
201         * buildsym.c (merge_symbol_lists): Remove.
202
203 2018-07-16  Tom Tromey  <tom@tromey.com>
204
205         * stabsread.c (scan_file_globals): Update comment.
206         * stabsread.h (scan_file_globals): Move from buildsym.h.
207         * buildsym.h (scan_file_globals): Move to stabsread.h.
208
209 2018-07-16  Tom Tromey  <tom@tromey.com>
210
211         * xcoffread.c (xcoff_new_init): Update.
212         * mipsread.c (mipscoff_new_init): Update.
213         * mdebugread.c (mdebug_build_psymtabs): Update.
214         * elfread.c (elf_new_init): Update.
215         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
216         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
217         * buildsym.h (buildsym_new_init): Don't declare.
218         * buildsym.c (buildsym_new_init): Remove.
219
220 2018-07-16  Tom Tromey  <tom@tromey.com>
221
222         * stabsread.h (within_function): Move from buildsym.h.
223         * stabsread.c (start_stabs): Clear within_function.
224         * coffread.c (coff_start_symtab): Clear within_function.
225         * buildsym.h (within_function): Move to stabsread.h.
226         * buildsym.c (prepare_for_building): Update.
227
228 2018-07-16  Tom Tromey  <tom@tromey.com>
229
230         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
231         * dwarf2read.c (dwarf2_start_symtab): Don't set
232         processing_gcc_compilation.
233         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
234
235 2018-07-16  Tom Tromey  <tom@tromey.com>
236
237         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
238         (next_symbol_text_func): Move from buildsym.h.
239         * stabsread.c (hashname): Move from buildsym.c.
240         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
241         (next_symbol_text_func, hashname): Move to stabsread.h.
242         * buildsym.c: Don't include bcache.h
243         (hashname): Move to stasbread.c.
244
245 2018-07-16  Tom Tromey  <tom@tromey.com>
246
247         * buildsym.h (context_stack_size): Don't declare.
248         * buildsym.c (context_stack_size): New global.
249
250 2018-07-16  Tom Tromey  <tom@tromey.com>
251
252         * dbxread.c (processing_acc_compilation): New global.
253         * buildsym.h (processing_acc_compilation): Don't declare.
254
255 2018-07-16  Tom Tromey  <tom@tromey.com>
256
257         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
258         * dbxread.c (read_ofile_symtab): Update.
259         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
260         * buildsym.h (last_source_start_addr): Remove.
261         (set_last_source_start_addr, get_last_source_start_addr):
262         Declare.
263         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
264         parameter.
265         (struct buildsym_compunit) <m_last_source_start_addr>: New
266         member.
267         (prepare_for_building): Remove start_addr parameter.
268         (start_symtab, restart_symtab, end_symtab_get_static_block)
269         (end_symtab_with_blockvector): Update.
270         (set_last_source_start_addr, get_last_source_start_addr): New
271         functions.
272
273 2018-07-16  Tom Tromey  <tom@tromey.com>
274
275         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
276         member.
277         (have_line_numbers): Remove.
278         (record_line, prepare_for_building, end_symtab_get_static_block)
279         (augment_type_symtab): Update.
280
281 2018-07-16  Tom Tromey  <tom@tromey.com>
282
283         * buildsym.c (~buildsym_compunit): Free the macro table.
284         (struct buildsym_compunit) <get_macro_table, release_macros>: New
285         methods.
286         <m_pending_macros>: New member.
287         (pending_macros): Remove.
288         (~scoped_free_pendings, get_macro_table, prepare_for_building)
289         (reset_symtab_globals, end_symtab_get_static_block)
290         (end_symtab_with_blockvector, augment_type_symtab)
291         (buildsym_init): Update.
292
293 2018-07-16  Tom Tromey  <tom@tromey.com>
294
295         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
296         parameter.
297         (buildsym_compunit::set_last_source_file): New method.
298         <m_last_source_file>: New member.
299         (prepare_for_building): Remove "name" parameter.
300         (start_symtab, restart_symtab, reset_symtab_globals): Update.
301         (last_source_file): Remove.
302         (set_last_source_file, get_last_source_file): Update.
303
304 2018-07-16  Tom Tromey  <tom@tromey.com>
305
306         * buildsym.c (prepare_for_building): Add assert.
307
308 2018-07-16  Tom Tromey  <tom@tromey.com>
309
310         * buildsym.c (~buildsym_compunit): Update.
311         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
312         (start_subfile, patch_subfile_names)
313         (end_symtab_with_blockvector): Update.
314
315 2018-07-16  Tom Tromey  <tom@tromey.com>
316
317         * buildsym.c (struct buildsym_compunit): Add constructor,
318         destructor, initializers.
319         (start_buildsym_compunit): Remove.
320         (free_buildsym_compunit): Use "delete".
321         (start_symtab, restart_symtab): Use "new".
322
323 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
324
325         * symfile.c (set_objfile_default_section_offset): Remove struct
326         keyword.
327
328 2018-07-14  Stafford Horne  <shorne@gmail.com>
329
330         * (Responsible Maintainers): Add myself as or1k maintainer.
331
332 2018-07-13  Tom Tromey  <tom@tromey.com>
333
334         * symfile.c (set_objfile_default_section_offset): Use extra braces
335         around initializer.
336
337 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
338
339         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
340         non-branching basr.
341
342 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
343
344         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
345         unittests/cli-utils-selftests.c
346         * unittests/cli-utils-selftests.c: New file.
347
348 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
349
350         * NEWS: Mention new commands. Mention change to 'thread apply'.
351
352 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
353
354         * thread.c (thr_try_catch_cmd): New function.
355         (thread_apply_all_command): Handle qcs flags.
356         (thread_apply_command): Handle qcs flags.
357         (taas_command): New function.
358         (tfaas_command): New function.
359         (_initialize_thread): Update to setup the new commands 'taas
360         and 'tfaas'. Change doc string for 'thread apply'.
361
362 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
363
364         * stack.c: (trailing_outermost_frame): New function, mostly
365         extracted from backtrace_command_1.
366         (leading_innermost_frame): New function.
367         (backtrace_command_1): Update to call trailing_outermost_frame.
368         (frame_apply_command_count): New function.
369         (frame_apply_level_command): New function.
370         (frame_apply_all_command): New function.
371         (frame_apply_command): New function.
372         (faas_command): New function.
373         (frame_cmd_list): New variable.
374         (_initialize_stack): Update to setup the new commands 'frame apply'
375         and 'faas'.
376
377 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
378
379         * cli-utils.c (number_or_range_parser::get_number): Only handle
380         numbers or convenience var as numbers.
381         (parse_flags): New function.
382         (parse_flags_qcs): New function.
383         (number_or_range_parser::finished): Ensure parsing end is detected
384         before end of string.
385         * cli-utils.h (parse_flags): New function.
386         (parse_flags_qcs): New function.
387         (number_or_range_parser): Remove m_finished bool.
388         (number_or_range_parser::skip_range): Set m_in_range to false.
389
390 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
391
392         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
393         on Windows.
394
395 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
396             Jan Kratochvil  <jan.kratochvil@redhat.com>
397             Paul Fertser  <fercerpav@gmail.com>
398             Tsutomu Seki  <sekiriki@gmail.com>
399             Pedro Alves  <palves@redhat.com>
400
401         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
402         'unittests/parse-connection-spec-selftests.c'.
403         (COMMON_SFILES): Add 'common/netstuff.c'.
404         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
405         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
406         * common/netstuff.c: New file.
407         * common/netstuff.h: New file.
408         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
409         (wait_for_connect): Update comment.  New parameter
410         'gdb::optional<int> sock' instead of 'struct serial *scb'.
411         Use 'sock' directly instead of 'scb->fd'.
412         (try_connect): New function, with code from 'net_open'.
413         (net_open): Rewrite main loop to deal with multiple
414         sockets/addresses.  Handle IPv6-style hostnames; implement
415         support for IPv6 connections.
416         * unittests/parse-connection-spec-selftests.c: New file.
417
418 2018-07-11  Pedro Alves  <palves@redhat.com>
419
420         PR gdb/23377
421         * remote.c (remote_target::remote_detach_pid): Call
422         set_current_process.
423
424 2018-07-11  Pedro Alves  <palves@redhat.com>
425
426         * h8300-tdep.c (h8300_gdbarch_init): Remove
427         set_gdbarch_ecoff_reg_to_regnum calls.
428
429 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
430
431         PR c++/23373
432         * c-typeprint.c (c_type_print_base_struct_union): Don't print
433         offsets/sizes for static members of a class/struct.
434
435 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
436
437         * target-descriptions.c (tdesc_register_bitsize): Rename.
438         * target-descriptions.h (tdesc_register_bitsize): Likewise.
439         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
440         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
441
442 2018-07-10  Tom Tromey  <tom@tromey.com>
443
444         * breakpoint.c (moribund_locations): Now static and a
445         std::vector.
446         (breakpoint_init_inferior, moribund_breakpoint_here_p)
447         (build_bpstat_chain, update_global_location_list)
448         (breakpoint_retire_moribund): Update.
449         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
450         VEC.
451
452 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
453
454         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
455         (riscv_register_reggroup_p): Use new function, remove unneeded
456         parenthesis.
457         (riscv_push_dummy_call): Extend assert to compare against xlen or
458         flen based on register type.
459
460 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
461
462         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
463
464 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
465
466         * remote.c (show_hardware_watchpoint_limit): New function.
467         (show_hardware_watchpoint_length_limit): New function.
468         (show_hardware_breakpoint_limit): New function.
469         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
470         where appropriate, update help text.
471
472 2018-07-09  Tom Tromey  <tom@tromey.com>
473
474         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
475         (CLIBS): Don't mention NAT_CLIBS.
476
477 2018-07-09  Tom Tromey  <tom@tromey.com>
478
479         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
480         (LIBGDB_OBS, clean mostlyclean): Update.
481         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
482
483 2018-07-09  Tom Tromey  <tom@tromey.com>
484
485         * Makefile.in (%.c: %.y): Use ECHO_YACC.
486         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
487         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
488
489 2018-07-09  Tom Tromey  <tom@tromey.com>
490
491         * Makefile.in (ALLDEPFILES): Remove exec.c.
492         (COMMON_OBS): Remove exec.o.
493         (COMMON_SFILES): Add exec.c.
494
495 2018-07-09  Tom Tromey  <tom@tromey.com>
496
497         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
498
499 2018-07-09  Tom Tromey  <tom@tromey.com>
500
501         * Makefile.in (clean mostlyclean): Remove stamp-version.
502         (version.c): Depend on stamp-version.
503         (stamp-version): New rule, from version.c rule.
504
505 2018-07-09  Tom Tromey  <tom@tromey.com>
506
507         * Makefile.in (init.c): Depend on stamp-init.
508         (stamp-init): New rule, from init.c rule.
509         (clean mostlyclean): Remove stamp-init.
510
511 2018-07-09  Tom Tromey  <tom@tromey.com>
512
513         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
514         SUBDIR_GCC_COMPILE_SRCS.
515
516 2018-07-09  Tom Tromey  <tom@tromey.com>
517
518         * Makefile.in (init.c): Remove some unused sed rules.
519
520 2018-07-09  Tom Tromey  <tom@tromey.com>
521
522         * Makefile.in (TSOBS): Remove.
523         (INIT_FILES): Update.
524         (LIBGDB_OBS): Update.
525         (COMMON_SFILES): Add inflow.c.
526         (SFILES): Remove inflow.c.
527
528 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
529
530         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
531
532 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
533
534         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
535         get_saveloc_name, is_signal_frame_name, step_name,
536         init_remote_name, create_addr_space_name,
537         destroy_addr_space_name, search_unwind_table_name,
538         find_dyn_list_name): Constify.
539
540 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
541
542         * darwin-nat.c (darwin_pthread_kill): New function.
543         (darwin_resume_thread): Use darwin_pthread_kill.
544
545 2018-07-05  Tom de Vries  <tdevries@suse.de>
546
547         * macroexp.c (macro_buffer) <operator=>: New member function.
548
549 2018-07-04  Tom Tromey  <tom@tromey.com>
550
551         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
552
553 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
554
555         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
556         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
557         * maint.c: Likewise.
558         * top.c: Likewise.
559
560 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
561
562         * NEWS: Create a new section for the next release branch.
563         Rename the section of the current branch, now that it has
564         been cut.
565
566 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
567
568         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
569         * version.in: Bump version to 8.2.50.DATE-git.
570
571 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
572             Pedro Alves  <palves@redhat.com>
573
574         * linux-nat.c (linux_init_ptrace): Rename to ...
575         (linux_init_ptrace_procfs): ... this.  Call
576         linux_proc_init_warnings.
577         (linux_nat_target::post_attach)
578         (linux_nat_target::post_startup_inferior): Adjust.
579         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
580         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
581
582 2018-07-04  Tom de Vries  <tdevries@suse.de>
583
584         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
585         check ...
586         (read_comp_unit_head): ... here.
587
588 2018-07-03  Tom Tromey  <tom@tromey.com>
589
590         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
591         (stop_tracing, tstatus_command)
592         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
593         (print_one_static_tracepoint_marker): Update.
594         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
595         std::vector.
596         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
597         VEC.
598         (all_tracepoints, static_tracepoints_here): Return std::vector.
599
600 2018-07-03  Tom Tromey  <tom@tromey.com>
601
602         * common/ptid.c (ptid_equal): Remove.
603         * common/ptid.h (ptid_equal): Don't declare.
604         * ada-tasks.c: Update.
605         * breakpoint.c: Update.
606         * common/agent.c: Update.
607         * corelow.c: Update.
608         * darwin-nat-info.c: Update.
609         * darwin-nat.c: Update.
610         * dcache.c: Update.
611         * dtrace-probe.c: Update.
612         * dummy-frame.c: Update.
613         * fbsd-nat.c: Update.
614         * frame.c: Update.
615         * gdbthread.h: Update.
616         * gnu-nat.c: Update.
617         * go32-nat.c: Update.
618         * inf-loop.c: Update.
619         * inf-ptrace.c: Update.
620         * infcall.c: Update.
621         * infcmd.c: Update.
622         * inflow.c: Update.
623         * infrun.c: Update.
624         * linux-fork.c: Update.
625         * linux-nat.c: Update.
626         * linux-thread-db.c: Update.
627         * mi/mi-cmd-var.c: Update.
628         * mi/mi-interp.c: Update.
629         * mi/mi-main.c: Update.
630         * nto-procfs.c: Update.
631         * ppc-linux-tdep.c: Update.
632         * procfs.c: Update.
633         * python/py-inferior.c: Update.
634         * python/py-record-btrace.c: Update.
635         * python/py-record.c: Update.
636         * ravenscar-thread.c: Update.
637         * regcache.c: Update.
638         * remote-sim.c: Update.
639         * remote.c: Update.
640         * sol-thread.c: Update.
641         * solib.c: Update.
642         * target.c: Update.
643         * tui/tui-stack.c: Update.
644         * varobj.c: Update.
645         * windows-nat.c: Update.
646         * windows-tdep.c: Update.
647
648 2018-07-03  Tom Tromey  <tom@tromey.com>
649
650         * common/ptid.c (ptid_match): Remove.
651         * common/ptid.h (ptid_match): Don't declare.
652         * fbsd-nat.c: Update.
653         * infcmd.c: Update.
654         * infrun.c: Update.
655         * linux-nat.c: Update.
656         * record-btrace.c: Update.
657         * regcache.c: Update.
658         * remote.c: Update.
659
660 2018-07-03  Tom Tromey  <tom@tromey.com>
661
662         * common/ptid.c (ptid_tid_p): Remove.
663         * common/ptid.h (ptid_tid_p): Don't declare.
664         * sol-thread.c: Update.
665
666 2018-07-03  Tom Tromey  <tom@tromey.com>
667
668         * common/ptid.c (ptid_lwp_p): Remove.
669         * common/ptid.h (ptid_lwp_p): Don't declare.
670         * fbsd-nat.c: Update.
671         * linux-nat.c: Update.
672         * nat/linux-procfs.c: Update.
673         * nat/x86-linux-dregs.c: Update.
674         * sol-thread.c: Update.
675
676 2018-07-03  Tom Tromey  <tom@tromey.com>
677
678         * common/ptid.c (ptid_is_pid): Remove.
679         * common/ptid.h (ptid_is_pid): Don't declare.
680         * infrun.c: Update.
681         * linux-nat.c: Update.
682         * mi/mi-interp.c: Update.
683         * remote.c: Update.
684         * thread.c: Update.
685
686 2018-07-03  Tom Tromey  <tom@tromey.com>
687
688         * common/ptid.c (ptid_get_tid): Remove.
689         * common/ptid.h (ptid_get_tid): Don't declare.
690         * ada-tasks.c: Update.
691         * aix-thread.c: Update.
692         * bsd-uthread.c: Update.
693         * darwin-nat.c: Update.
694         * fbsd-nat.c: Update.
695         * i386-darwin-nat.c: Update.
696         * infrun.c: Update.
697         * linux-tdep.c: Update.
698         * nto-procfs.c: Update.
699         * ppc-ravenscar-thread.c: Update.
700         * python/py-infthread.c: Update.
701         * ravenscar-thread.c: Update.
702         * sol-thread.c: Update.
703         * sparc-ravenscar-thread.c: Update.
704         * windows-nat.c: Update.
705
706 2018-07-03  Tom Tromey  <tom@tromey.com>
707
708         * common/ptid.c (ptid_get_lwp): Remove.
709         * common/ptid.h (ptid_get_lwp): Don't declare.
710         * aarch64-linux-nat.c: Update.
711         * ada-tasks.c: Update.
712         * aix-thread.c: Update.
713         * amd64-linux-nat.c: Update.
714         * arm-linux-nat.c: Update.
715         * corelow.c: Update.
716         * fbsd-nat.c: Update.
717         * fbsd-tdep.c: Update.
718         * gnu-nat.c: Update.
719         * i386-cygwin-tdep.c: Update.
720         * i386-gnu-nat.c: Update.
721         * i386-linux-nat.c: Update.
722         * ia64-linux-nat.c: Update.
723         * inf-ptrace.c: Update.
724         * infrun.c: Update.
725         * linux-fork.c: Update.
726         * linux-nat.c: Update.
727         * linux-tdep.c: Update.
728         * linux-thread-db.c: Update.
729         * mips-linux-nat.c: Update.
730         * nat/aarch64-linux-hw-point.c: Update.
731         * nat/aarch64-linux.c: Update.
732         * nat/linux-btrace.c: Update.
733         * nat/linux-osdata.c: Update.
734         * nat/linux-procfs.c: Update.
735         * nat/x86-linux-dregs.c: Update.
736         * obsd-nat.c: Update.
737         * ppc-fbsd-nat.c: Update.
738         * ppc-linux-nat.c: Update.
739         * procfs.c: Update.
740         * python/py-infthread.c: Update.
741         * ravenscar-thread.c: Update.
742         * remote.c: Update.
743         * s390-linux-nat.c: Update.
744         * sol-thread.c: Update.
745         * sol2-tdep.c: Update.
746         * spu-linux-nat.c: Update.
747         * x86-linux-nat.c: Update.
748         * xtensa-linux-nat.c: Update.
749
750 2018-07-03  Tom Tromey  <tom@tromey.com>
751
752         * common/ptid.c (ptid_get_pid): Remove.
753         * common/ptid.h (ptid_get_pid): Don't declare.
754         * aarch64-linux-nat.c: Update.
755         * ada-lang.c: Update.
756         * aix-thread.c: Update.
757         * alpha-bsd-nat.c: Update.
758         * amd64-fbsd-nat.c: Update.
759         * amd64-linux-nat.c: Update.
760         * arm-linux-nat.c: Update.
761         * arm-nbsd-nat.c: Update.
762         * auxv.c: Update.
763         * break-catch-syscall.c: Update.
764         * breakpoint.c: Update.
765         * bsd-uthread.c: Update.
766         * corelow.c: Update.
767         * ctf.c: Update.
768         * darwin-nat.c: Update.
769         * fbsd-nat.c: Update.
770         * fbsd-tdep.c: Update.
771         * gcore.c: Update.
772         * gnu-nat.c: Update.
773         * hppa-nbsd-nat.c: Update.
774         * hppa-obsd-nat.c: Update.
775         * i386-fbsd-nat.c: Update.
776         * ia64-linux-nat.c: Update.
777         * inf-ptrace.c: Update.
778         * infcmd.c: Update.
779         * inferior.c: Update.
780         * inferior.h: Update.
781         * inflow.c: Update.
782         * infrun.c: Update.
783         * linux-fork.c: Update.
784         * linux-nat.c: Update.
785         * linux-tdep.c: Update.
786         * linux-thread-db.c: Update.
787         * m68k-bsd-nat.c: Update.
788         * mi/mi-interp.c: Update.
789         * mi/mi-main.c: Update.
790         * mips-linux-nat.c: Update.
791         * mips-nbsd-nat.c: Update.
792         * mips64-obsd-nat.c: Update.
793         * nat/aarch64-linux-hw-point.c: Update.
794         * nat/aarch64-linux.c: Update.
795         * nat/linux-btrace.c: Update.
796         * nat/linux-osdata.c: Update.
797         * nat/linux-procfs.c: Update.
798         * nat/x86-linux-dregs.c: Update.
799         * nto-procfs.c: Update.
800         * obsd-nat.c: Update.
801         * ppc-linux-nat.c: Update.
802         * ppc-nbsd-nat.c: Update.
803         * ppc-obsd-nat.c: Update.
804         * proc-service.c: Update.
805         * procfs.c: Update.
806         * python/py-inferior.c: Update.
807         * python/py-infthread.c: Update.
808         * ravenscar-thread.c: Update.
809         * record.c: Update.
810         * remote-sim.c: Update.
811         * remote.c: Update.
812         * rs6000-nat.c: Update.
813         * s390-linux-nat.c: Update.
814         * sh-nbsd-nat.c: Update.
815         * sol-thread.c: Update.
816         * sparc-nat.c: Update.
817         * sparc64-tdep.c: Update.
818         * spu-linux-nat.c: Update.
819         * spu-tdep.c: Update.
820         * target-debug.h: Update.
821         * target.c: Update.
822         * thread.c: Update.
823         * tid-parse.c: Update.
824         * tracefile-tfile.c: Update.
825         * vax-bsd-nat.c: Update.
826         * windows-nat.c: Update.
827         * x86-linux-nat.c: Update.
828         * x86-nat.c: Update.
829
830 2018-07-03  Tom Tromey  <tom@tromey.com>
831
832         * common/ptid.c (pid_to_ptid): Remove.
833         * common/ptid.h (pid_to_ptid): Don't declare.
834         * aix-thread.c: Update.
835         * arm-linux-nat.c: Update.
836         * common/ptid.c: Update.
837         * common/ptid.h: Update.
838         * corelow.c: Update.
839         * ctf.c: Update.
840         * darwin-nat.c: Update.
841         * fbsd-nat.c: Update.
842         * fork-child.c: Update.
843         * gnu-nat.c: Update.
844         * go32-nat.c: Update.
845         * inf-ptrace.c: Update.
846         * infcmd.c: Update.
847         * inferior.c: Update.
848         * infrun.c: Update.
849         * linux-fork.c: Update.
850         * linux-nat.c: Update.
851         * nat/aarch64-linux-hw-point.c: Update.
852         * nat/fork-inferior.c: Update.
853         * nat/x86-linux-dregs.c: Update.
854         * nto-procfs.c: Update.
855         * obsd-nat.c: Update.
856         * procfs.c: Update.
857         * progspace.c: Update.
858         * remote.c: Update.
859         * rs6000-nat.c: Update.
860         * s390-linux-nat.c: Update.
861         * sol-thread.c: Update.
862         * spu-linux-nat.c: Update.
863         * target.c: Update.
864         * top.c: Update.
865         * tracefile-tfile.c: Update.
866         * windows-nat.c: Update.
867
868 2018-07-03  Tom Tromey  <tom@tromey.com>
869
870         * common/ptid.h (ptid_build): Don't declare.
871         * common/ptid.c (ptid_build): Remove.
872         * aix-thread.c: Update.
873         * bsd-kvm.c: Update.
874         * bsd-uthread.c: Update.
875         * common/agent.c: Update.
876         * common/ptid.c: Update.
877         * common/ptid.h: Update.
878         * corelow.c: Update.
879         * darwin-nat.c: Update.
880         * fbsd-nat.c: Update.
881         * gnu-nat.c: Update.
882         * linux-fork.c: Update.
883         * linux-nat.c: Update.
884         * linux-thread-db.c: Update.
885         * nat/linux-osdata.c: Update.
886         * nat/linux-procfs.c: Update.
887         * nto-procfs.c: Update.
888         * obsd-nat.c: Update.
889         * proc-service.c: Update.
890         * procfs.c: Update.
891         * ravenscar-thread.c: Update.
892         * remote-sim.c: Update.
893         * remote.c: Update.
894         * sol-thread.c: Update.
895         * target.c: Update.
896         * windows-nat.c: Update.
897
898 2018-07-03  Tom Tromey  <tom@tromey.com>
899
900         * infrun.c (follow_exec): Use exit_inferior_silent.
901         * inferior.c (exit_inferior_num_silent): Remove.
902         * inferior.h (exit_inferior_num_silent): Don't declare.
903
904 2018-07-03  Tom Tromey  <tom@tromey.com>
905
906         PR cli/23340:
907         * darwin-nat.c (darwin_attach_pid): Reset inferior and
908         inferior_ptid on error.
909
910 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
911             Simon Marchi  <simon.marchi@polymtl.ca>
912
913         PR tdep/8282
914         * disasm.h (gdb_disassembler): Add
915         `m_disassembler_options_holder'. member
916         * disasm.c (get_all_disassembler_options): New function.
917         (gdb_disassembler::gdb_disassembler): Use it.
918         (gdb_buffered_insn_length_init_dis): Likewise.
919         (gdb_buffered_insn_length): Adjust accordingly.
920         (set_disassembler_options): Handle options with arguments.
921         (show_disassembler_options_sfunc): Likewise.  Add a leading new
922         line if showing options with descriptions.
923         (disassembler_options_completer): Adapt to using the
924         `disasm_options_and_args_t' structure.
925         * mips-tdep.c (mips_disassembler_options): New variable.
926         (mips_disassembler_options_o32): Likewise.
927         (mips_disassembler_options_n32): Likewise.
928         (mips_disassembler_options_n64): Likewise.
929         (gdb_print_insn_mips): Don't set `disassembler_options'.
930         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
931         functions.
932         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
933         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
934         `gdbarch_disassembler_options_implicit' and
935         `gdbarch_valid_disassembler_options'.
936         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
937         `disasm_options_and_args_t' structure.
938         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
939         method.
940         (valid_disassembler_options): Switch from `disasm_options_t' to
941         the `disasm_options_and_args_t' structure.
942         * NEWS: Document `set disassembler-options' support for the MIPS
943         target.
944         * gdbarch.h: Regenerate.
945         * gdbarch.c: Regenerate.
946
947 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
948
949         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
950
951 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
952
953         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
954         parameter in call to amd64_target_description.
955         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
956         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
957         (amd64fbsd_init_abi): Likewise.
958         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
959         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
960         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
961         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
962
963 2018-06-29  Pedro Alves  <palves@redhat.com>
964
965         * gdb/amd64-tdep.h (amd64_create_target_description): Add
966         "segments" parameter.
967         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
968         (_initialize_amd64_tdep): Update call to
969         amd64_create_target_description.
970         (amd64_target_description): Add "segments" parameter.  Adjust
971         the implementation to use it.
972         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
973         call to amd64_create_target_description.
974         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
975         * gdb/arch/amd64.h (amd64_create_target_description): Add
976         "segments" register.
977         * gdb/arch/amd64.c (amd64_create_target_description): Add
978         "segments" parameter.  Call create_feature_i386_64bit_segments
979         only if SEGMENTS is true.
980         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
981         call to amd64_create_target_description.
982
983 2018-06-29  Pedro Alves  <palves@redhat.com>
984
985         * thread.c (thread_target_id_str): New, factored out from ...
986         (print_thread_info_1): ... here.  Use it to compute the max
987         "Target Id" column width.
988
989 2018-06-29  Pedro Alves  <palves@redhat.com>
990
991         * remote.c (remote_target::extra_thread_info): Delete
992         'display_buf' and 'n' locals.  from the cache, regardless of
993         packet mechanims is in use.  Use cache for qThreadExtra and qP
994         methods too.
995
996 2018-06-29  Pedro Alves  <palves@redhat.com>
997
998         * blockframe.c (find_pc_sect_containing_function): New function.
999         * breakpoint.c (print_breakpoint_location): Don't call
1000         find_pc_sect_function.
1001         * linespec.c (create_sals_line_offset): Record the location's
1002         symbol in the sal.
1003         * linespec.c (convert_address_location_to_sals): Fill in sal's
1004         symbol with find_pc_sect_containing_function.
1005         * symtab.c (find_function_start_sal): Rename to ...
1006         (find_function_start_sal_1): ... this.
1007         (find_function_start_sal): Reimplement as wrapper around
1008         find_function_start_sal_1, and use
1009         find_pc_sect_containing_function to fill in the sal's symbol.
1010         (find_function_start_sal(symbol*, bool)): Adjust.
1011         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1012         comments.
1013         (find_pc_sect_containing_function): Declare.
1014
1015 2018-06-29  Pedro Alves  <palves@redhat.com>
1016
1017         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1018         true if the the location has no symbol.
1019
1020 2018-06-28  Tom Tromey  <tom@tromey.com>
1021
1022         * NEWS: Mention --enable-codesign.
1023         * silent-rules.mk (ECHO_SIGN): New variable.
1024         * configure.ac: Add --enable-codesign.
1025         * configure: Rebuild.
1026         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1027         (gdb$(EXEEXT)): Optionally invoke codesign.
1028
1029 2018-06-28  Pedro Alves  <palves@redhat.com>
1030
1031         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1032         comments.
1033         (switch_to_thread_no_regs): Adjust comment.
1034         * infcmd.c (stop_pc): Delete.
1035         (post_create_inferior, info_program_command): Replace references
1036         to stop_pc with references to thread_info->suspend.stop_pc.
1037         * inferior.h (stop_pc): Delete declaration.
1038         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1039         (handle_inferior_event_1, handle_signal_stop)
1040         (process_event_stop_test, keep_going_stepped_thread)
1041         (handle_step_into_function, handle_step_into_function_backward)
1042         (print_stop_location): Replace references to stop_pc with
1043         references to thread_info->suspend.stop_pc.
1044         (struct infcall_suspend_state) <stop_pc>: Delete field.
1045         (save_infcall_suspend_state, restore_infcall_suspend_state):
1046         Remove references to inf_stat->stop_pc.
1047         * linux-fork.c (fork_load_infrun_state): Likewise.
1048         * record-btrace.c (record_btrace_set_replay): Likewise.
1049         * record-full.c (record_full_goto_entry): Likewise.
1050         * remote.c (print_one_stopped_thread): Likewise.
1051         * target.c (target_resume): Extend comment.
1052         * thread.c (set_executing_thread): New.
1053         (set_executing): Use it.
1054         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1055         Remove references to stop_pc.
1056
1057 2018-06-28  Pedro Alves  <palves@redhat.com>
1058
1059         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1060         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1061
1062 2018-06-28  Tom Tromey  <tom@tromey.com>
1063
1064         * coffread.c (coff_symfile_finish): Update.
1065         * xcoffread.c (xcoff_symfile_finish): Update.
1066         * elfread.c (elf_symfile_finish): Update.
1067         * symfile.h (dwarf2_free_objfile): Don't declare.
1068         * dwarf2read.c (_initialize_dwarf2_read): Use
1069         register_objfile_data_with_cleanup.
1070         (dwarf2_free_objfile): Now static.  Change signature.
1071
1072 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1073
1074         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1075         option "-o" to add-symbol-file-load to add an offset to each
1076         section's load address.
1077         * symfile.c (set_objfile_default_section_offset): New function.
1078
1079 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1080
1081         * symfile.c (add_symbol_file_command): Make sure that sections
1082         with the same name are sorted in the same order.
1083
1084 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1085
1086         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1087         require the second argument.  If omitted, load sections at the
1088         addresses specified in the file.
1089
1090 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1091
1092         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1093         (_initialize_symfile): Add option "-o" to symbol-file to add an
1094         offset to each section of the symbol file.
1095
1096 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1097
1098         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1099
1100 2018-06-27  Tom Tromey  <tom@tromey.com>
1101
1102         * stack.c (_initialize_stack): Update "func" help text.
1103
1104 2018-06-27  Tom Tromey  <tom@tromey.com>
1105
1106         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1107         std::vector.
1108         (unwind_infopy_str, pyuw_create_unwind_info)
1109         (unwind_infopy_add_saved_register, pyuw_sniffer)
1110         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1111         Update.
1112         (struct saved_reg): Add constructor.
1113         <value>: Now a gdbpy_ref<>.
1114
1115 2018-06-27  Tom Tromey  <tom@tromey.com>
1116
1117         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1118
1119 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1120
1121         * gdb-gdb.py.in: Format using autopep8.
1122
1123 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1124
1125         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1126         (type_lookup_function): Recognize CORE_ADDR values.
1127
1128 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1129
1130         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1131         print tag_name.
1132
1133 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1134
1135         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1136         <__lt__>: Add.
1137
1138 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1139
1140         * gdb-gdb.py: Move to...
1141         * gdb-gdb.py.in: ... here.
1142         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1143         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1144         dependencies.
1145         (distclean): Remove gdb-gdb.py when cleaning.
1146         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1147         * configure: Re-generate.
1148
1149 2018-06-27  Pedro Alves  <palves@redhat.com>
1150
1151         * proc-service.c (get_ps_regcache): New.
1152         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1153         (ps_lsetfpregs): Use it.
1154
1155 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1156
1157         PR gdb/21695
1158         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1159         (dwarf_decode_lines_1): Adjust.
1160
1161 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1162
1163         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
1164         override.
1165         <info_proc>: Likewise.
1166
1167 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
1168
1169         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
1170         to windows_fetch_one_register, and only handle the case of
1171         fetching one register.  Move the code that reloads the context
1172         and iterates over all registers if R is negative to...
1173         (windows_nat_target::fetch_registers): ... here.
1174         (do_windows_store_inferior_registers): Rename to
1175         windows_store_one_register, and only handle the case of storing
1176         one register.  Move the code that handles the case where r is
1177         negative to...
1178         (windows_nat_target::store_registers) ... here.
1179
1180 2018-06-26  Tom Tromey  <tom@tromey.com>
1181
1182         PR rust/22574:
1183         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
1184         * rust-lang.c (rust_print_struct_def): Add podata parameter.
1185         Update.
1186         (rust_internal_print_type): Add podata parameter.
1187         (rust_print_type): Update.
1188
1189 2018-06-26  Tom Tromey  <tom@tromey.com>
1190
1191         * typeprint.h (struct print_offset_data) <update, finish,
1192         maybe_print_hole>: New methods.
1193         <indentation>: New constant.
1194         * typeprint.c (print_offset_data::indentation): Define.
1195         (print_offset_data::maybe_print_hole, print_offset_data::update)
1196         (print_offset_data::finish): Move from c-typeprint.c and rename.
1197         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
1198         (print_spaces_filtered_with_print_options): Update.
1199         (c_print_type_union_field_offset, maybe_print_hole)
1200         (c_print_type_struct_field_offset): Move to typeprint.c and
1201         rename.
1202         (c_type_print_base_struct_union): Update.
1203
1204 2018-06-25  Pedro Alves  <palves@redhat.com>
1205
1206         * gdbthread.h (thread_info_ref, delete_thread)
1207         (delete_thread_silent, first_thread_of_inferior)
1208         (any_thread_of_inferior, switch_to_thread)
1209         (enable_thread_stack_temporaries)
1210         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
1211         (get_last_thread_stack_temporary)
1212         (value_in_thread_stack_temporaries, can_access_registers_thread):
1213         Spell out "struct thread_info" instead of just "thread_info".
1214         * inferior.h (notice_new_inferior): Likewise.
1215
1216 2018-06-25  Pedro Alves  <palves@redhat.com>
1217
1218         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
1219         pass thread_info pointer to delete_thread.
1220         (windows_nat_target::detach): Pass inferior pointer to
1221         detach_inferior.
1222         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
1223         delete_thread.
1224         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
1225         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
1226         and pass a thread_info pointer to delete_thread.
1227         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
1228         pass thread_info pointer to delete_thread.
1229         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
1230         delete_thread_silent call.
1231         * procfs.c (procfs_target::detach): Pass inferior pointer to
1232         detach_inferior.
1233         (procfs_target::wait): Pass thread_info pointer to delete_thread.
1234         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
1235         delete_thread_silent call.
1236         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
1237         pass thread_info pointer to delete_thread.
1238         (windows_nat_target::detach): Pass inferior pointer to
1239         delete_inferior.
1240
1241 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
1242
1243         * regcache.c (readable_regcache::read_part): Fix asserts.
1244         (reg_buffer::raw_collect_part): New function.
1245         (regcache::write_part): Fix asserts.
1246         (reg_buffer::raw_supply_part): New function.
1247         (regcache::transfer_regset_register): New helper function.
1248         (regcache::transfer_regset): Call new functions.
1249         (regcache_supply_regset): Use gdb_byte*.
1250         (regcache::supply_regset): Likewise.
1251         (regcache_collect_regset): Likewise.
1252         (regcache::collect_regset): Likewise.
1253         * regcache.h (reg_buffer::raw_collect_part): New declaration.
1254         (reg_buffer::raw_supply_part): Likewise.
1255         (regcache::transfer_regset_register): Likewise.
1256         (regcache::transfer_regset): Use gdb_byte*.
1257
1258 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
1259
1260         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
1261
1262 2018-06-21  Pedro Alves  <palves@redhat.com>
1263
1264         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
1265         instead of a ptid_t.  All callers adjusted.
1266         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
1267         adjusted.
1268         (print_ada_task_info, display_current_task_id, task_command_1):
1269         Adjust.
1270         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
1271         inferior_thread.
1272         (breakpoint_kind): Adjust.
1273         (remove_breakpoints_pid): Rename to ...
1274         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
1275         pointer.  All callers adjusted.
1276         (bpstat_clear_actions): Use inferior_thread.
1277         (get_bpstat_thread): New.
1278         (bpstat_do_actions): Use it.
1279         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
1280         to take a thread_info pointer.  All callers adjusted.
1281         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
1282         (breakpoint_re_set_thread): Use inferior_thread.
1283         * breakpoint.h (struct inferior): Forward declare.
1284         (bpstat_stop_status): Update.
1285         (remove_breakpoints_pid): Delete.
1286         (remove_breakpoints_inf): New.
1287         * bsd-uthread.c (bsd_uthread_target::wait)
1288         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
1289         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
1290         (maint_btrace_packet_history_cmd)
1291         (maint_btrace_clear_packet_history_cmd): Adjust.
1292         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
1293         inferior_thread.
1294         * cli/cli-interp.c: Include "inferior.h".
1295         * common/refcounted-object.h (struct
1296         refcounted_object_ref_policy): New.
1297         * compile/compile-object-load.c: Include gdbthread.h.
1298         (store_regs): Use inferior_thread.
1299         * corelow.c (core_target::close): Use current_inferior.
1300         (core_target_open): Adjust to use first_thread_of_inferior and use
1301         the current inferior.
1302         * ctf.c (ctf_target::close): Adjust to use current_inferior.
1303         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
1304         <thread>: ... this new field.  All references adjusted.
1305         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
1306         Take a thread_info pointer instead of a ptid_t.
1307         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
1308         (dummy_frame_discard, register_dummy_frame_dtor): Take a
1309         thread_info pointer instead of a ptid_t.
1310         * elfread.c: Include "inferior.h".
1311         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
1312         Use inferior_thread.
1313         * eval.c (evaluate_subexp): Likewise.
1314         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
1315         inferior_thread.
1316         * gdb_proc_service.h (struct thread_info): Forward declare.
1317         (struct ps_prochandle) <ptid>: Delete, replaced by ...
1318         <thread>: ... this new field.  All references adjusted.
1319         * gdbarch.h, gdbarch.c: Regenerate.
1320         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
1321         'thread' parameter.  All implementations and callers adjusted.
1322         * gdbthread.h (thread_info) <set_running>: New method.
1323         (delete_thread, delete_thread_silent): Take a thread_info pointer
1324         instead of a ptid.
1325         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
1326         (first_thread_of_process): Delete, replaced by ...
1327         (first_thread_of_inferior): ... this new function.  All callers
1328         adjusted.
1329         (any_live_thread_of_process): Delete, replaced by ...
1330         (any_live_thread_of_inferior): ... this new function.  All callers
1331         adjusted.
1332         (switch_to_thread, switch_to_no_thread): Declare.
1333         (is_executing): Delete.
1334         (enable_thread_stack_temporaries): Update comment.
1335         <enable_thread_stack_temporaries>: Take a thread_info pointer
1336         instead of a ptid_t.  Incref the thread.
1337         <~enable_thread_stack_temporaries>: Decref the thread.
1338         <m_ptid>: Delete
1339         <m_thr>: New.
1340         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
1341         (get_last_thread_stack_temporary)
1342         (value_in_thread_stack_temporaries, can_access_registers_thread):
1343         Take a thread_info pointer instead of a ptid_t.  All callers
1344         adjusted.
1345         * infcall.c (get_call_return_value): Use inferior_thread.
1346         (run_inferior_call): Work with thread pointers instead of ptid_t.
1347         (call_function_by_hand_dummy): Work with thread pointers instead
1348         of ptid_t.  Use thread_info_ref.
1349         * infcmd.c (proceed_thread_callback): Access thread's state
1350         directly.
1351         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
1352         access thread's state directly.
1353         (continue_command): Use inferior_thread.
1354         (info_program_command): Use find_thread_ptid and access thread
1355         state directly.
1356         (proceed_after_attach_callback): Use thread state directly.
1357         (notice_new_inferior): Take a thread_info pointer instead of a
1358         ptid_t.  All callers adjusted.
1359         (exit_inferior): Take an inferior pointer instead of a pid.  All
1360         callers adjusted.
1361         (exit_inferior_silent): New.
1362         (detach_inferior): Delete.
1363         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
1364         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
1365         (detach_inferior_command, kill_inferior_command): Use
1366         find_inferior_id instead of valid_gdb_inferior_id and
1367         gdb_inferior_id_to_pid.
1368         (inferior_command): Use inferior and thread pointers.
1369         * inferior.h (struct thread_info): Forward declare.
1370         (notice_new_inferior): Take a thread_info pointer instead of a
1371         ptid_t.  All callers adjusted.
1372         (detach_inferior): Delete declaration.
1373         (exit_inferior, exit_inferior_silent): Take an inferior pointer
1374         instead of a pid.  All callers adjusted.
1375         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
1376         (valid_gdb_inferior_id): Delete.
1377         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
1378         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
1379         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
1380         ...
1381         <inf>: ... this new field.
1382         <step_ptid>: Delete, replaced by ...
1383         <step_thread>: ... this new field.
1384         (get_displaced_stepping_state): Take an inferior pointer instead
1385         of a pid.  All callers adjusted.
1386         (displaced_step_in_progress_any_inferior): Adjust.
1387         (displaced_step_in_progress_thread): Take a thread pointer instead
1388         of a ptid_t.  All callers adjusted.
1389         (displaced_step_in_progress, add_displaced_stepping_state): Take
1390         an inferior pointer instead of a pid.  All callers adjusted.
1391         (get_displaced_step_closure_by_addr): Adjust.
1392         (remove_displaced_stepping_state): Take an inferior pointer
1393         instead of a pid.  All callers adjusted.
1394         (displaced_step_prepare_throw, displaced_step_prepare)
1395         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
1396         All callers adjusted.
1397         (start_step_over): Adjust.
1398         (infrun_thread_ptid_changed): Remove bit updating ptids in the
1399         displaced step queue.
1400         (do_target_resume): Adjust.
1401         (fetch_inferior_event): Use inferior_thread.
1402         (context_switch, get_inferior_stop_soon): Take an
1403         execution_control_state pointer instead of a ptid_t.  All callers
1404         adjusted.
1405         (switch_to_thread_cleanup): Delete.
1406         (stop_all_threads): Use scoped_restore_current_thread.
1407         * inline-frame.c: Include "gdbthread.h".
1408         (inline_state) <inline_state>: Take a thread pointer instead of a
1409         ptid_t.  All callers adjusted.
1410         <ptid>: Delete, replaced by ...
1411         <thread>: ... this new field.
1412         (find_inline_frame_state): Take a thread pointer instead of a
1413         ptid_t.  All callers adjusted.
1414         (skip_inline_frames, step_into_inline_frame)
1415         (inline_skipped_frames, inline_skipped_symbol): Take a thread
1416         pointer instead of a ptid_t.  All callers adjusted.
1417         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
1418         (inline_skipped_frames, inline_skipped_symbol): Likewise.
1419         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
1420         pointers directly.
1421         * linux-nat.c (get_detach_signal): Likewise.
1422         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
1423         (thread_db_notice_clone): Adjust.
1424         (thread_db_find_new_threads_silently)
1425         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
1426         a thread pointer instead of a ptid_t.  All callers adjusted.
1427         * mi/mi-cmd-var.c: Include "inferior.h".
1428         (mi_cmd_var_update_iter): Update to use thread pointers.
1429         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
1430         inferior directly.
1431         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
1432         out to ...
1433         (mi_output_running): ... this new function.
1434         (mi_on_resume_1): Adjust to use it.
1435         (mi_user_selected_context_changed): Adjust to use inferior_thread.
1436         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
1437         directly.
1438         (interrupt_thread_callback): : Adjust to use thread and inferior
1439         pointers.
1440         * proc-service.c: Include "gdbthread.h".
1441         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
1442         * progspace-and-thread.c: Include "inferior.h".
1443         * progspace.c: Include "inferior.h".
1444         * python/py-exitedevent.c (create_exited_event_object): Adjust to
1445         hold a reference to an inferior_object.
1446         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
1447         inferior_thread.
1448         * python/py-inferior.c (struct inferior_object): Give the type a
1449         tag name instead of a typedef.
1450         (python_on_normal_stop): No need to check if the current thread is
1451         listed.
1452         (inferior_to_inferior_object): Change return type to
1453         inferior_object.  All callers adjusted.
1454         (find_thread_object): Delete, bits factored out to ...
1455         (thread_to_thread_object): ... this new function.
1456         * python/py-infthread.c (create_thread_object): Use
1457         inferior_to_inferior_object.
1458         (thpy_is_stopped): Use thread pointer directly.
1459         (gdbpy_selected_thread): Use inferior_thread.
1460         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
1461         field, replaced with ...
1462         <thread>: ... this new field.  All users adjusted.
1463         (btpy_insn_or_gap_new): Drop const.
1464         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
1465         callers adjusted.
1466         * python/py-record.c: Include "gdbthread.h".
1467         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
1468         a ptid_t.  All callers adjusted.
1469         (gdbpy_current_recording): Use inferior_thread.
1470         * python/py-record.h (recpy_record_object) <ptid>: Delete
1471         field, replaced with ...
1472         <thread>: ... this new field.  All users adjusted.
1473         (recpy_element_object) <ptid>: Delete
1474         field, replaced with ...
1475         <thread>: ... this new field.  All users adjusted.
1476         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
1477         a ptid_t.  All callers adjusted.
1478         * python/py-threadevent.c: Include "gdbthread.h".
1479         (get_event_thread): Use thread_to_thread_object.
1480         * python/python-internal.h (struct inferior_object): Forward
1481         declare.
1482         (find_thread_object, find_inferior_object): Delete declarations.
1483         (thread_to_thread_object, inferior_to_inferior_object): New
1484         declarations.
1485         * record-btrace.c: Include "inferior.h".
1486         (require_btrace_thread): Use inferior_thread.
1487         (record_btrace_frame_sniffer)
1488         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
1489         (get_thread_current_frame): Use scoped_restore_current_thread and
1490         switch_to_thread.
1491         (get_thread_current_frame): Use thread pointer directly.
1492         (record_btrace_replay_at_breakpoint): Use thread's inferior
1493         pointer directly.
1494         * record-full.c: Include "inferior.h".
1495         * regcache.c: Include "gdbthread.h".
1496         (get_thread_arch_regcache): Use the inferior's address space
1497         directly.
1498         (get_thread_regcache, registers_changed_thread): New.
1499         * regcache.h (get_thread_regcache(thread_info *thread)): New
1500         overload.
1501         (registers_changed_thread): New.
1502         (remote_target) <remote_detach_1>: Swap order of parameters.
1503         (remote_add_thread): <remote_add_thread>: Return the new thread.
1504         (get_remote_thread_info(ptid_t)): New overload.
1505         (remote_target::remote_notice_new_inferior): Use thread pointers
1506         directly.
1507         (remote_target::process_initial_stop_replies): Use
1508         thread_info::set_running.
1509         (remote_target::remote_detach_1, remote_target::detach)
1510         (extended_remote_target::detach): Adjust.
1511         * stack.c (frame_show_address): Use inferior_thread.
1512         * target-debug.h (target_debug_print_thread_info_pp): New.
1513         * target-delegates.c: Regenerate.
1514         * target.c (default_thread_address_space): Delete.
1515         (memory_xfer_partial_1): Use current_inferior.
1516         (target_detach): Use current_inferior.
1517         (target_thread_address_space): Delete.
1518         (generic_mourn_inferior): Use current_inferior.
1519         * target.h (struct target_ops) <thread_address_space>: Delete.
1520         (target_thread_address_space): Delete.
1521         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
1522         pointers directly.
1523         (delete_thread_1, delete_thread, delete_thread_silent): Take a
1524         thread pointer instead of a ptid_t.  Adjust all callers.
1525         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
1526         (first_thread_of_process): Delete, replaced by ...
1527         (first_thread_of_inferior): ... this new function.  All callers
1528         adjusted.
1529         (any_thread_of_process): Rename to ...
1530         (any_thread_of_inferior): ... this, and take an inferior pointer.
1531         (any_live_thread_of_process): Rename to ...
1532         (any_live_thread_of_inferior): ... this, and take an inferior
1533         pointer.
1534         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
1535         (value_in_thread_stack_temporaries)
1536         (get_last_thread_stack_temporary): Take a thread pointer instead
1537         of a ptid_t.  Adjust all callers.
1538         (thread_info::set_running): New.
1539         (validate_registers_access): Use inferior_thread.
1540         (can_access_registers_ptid): Rename to ...
1541         (can_access_registers_thread): ... this, and take a thread
1542         pointer.
1543         (print_thread_info_1): Adjust to compare thread pointers instead
1544         of ptids.
1545         (switch_to_no_thread, switch_to_thread): Make extern.
1546         (scoped_restore_current_thread::~scoped_restore_current_thread):
1547         Use m_thread pointer directly.
1548         (scoped_restore_current_thread::scoped_restore_current_thread):
1549         Use inferior_thread.
1550         (thread_command): Use thread pointer directly.
1551         (thread_num_make_value_helper): Use inferior_thread.
1552         * top.c (execute_command): Use inferior_thread.
1553         * tui/tui-interp.c: Include "inferior.h".
1554         * varobj.c (varobj_create): Use inferior_thread.
1555         (value_of_root_1): Use find_thread_global_id instead of
1556         global_thread_id_to_ptid.
1557
1558 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
1559
1560         * regcache.c (readable_regcache::read_part): Avoid memcpy when
1561         possible.
1562         (regcache::write_part): Likewise.
1563         (readable_regcache::cooked_read_part): Update comment.
1564         (readable_regcache::cooked_write_part): Likewise.
1565         * regcache.h: (readable_regcache::read_part): Likewise.
1566         (regcache::write_part): Likewise.
1567
1568 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
1569             Dirk Schubert  <dirk.schubert@arm.com>
1570
1571         * aarch64-linux-nat.c (post_attach): New.
1572         (aarch64_linux_nat_target::post_attach): Override post_attach to
1573         record the number of hardware debug registers.
1574
1575 2018-06-20  Tom Tromey  <tom@tromey.com>
1576
1577         * python/py-param.c (add_setshow_generic): Make parameters const.
1578         (parmpy_init): Update.
1579
1580 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
1581
1582         * regcache.h (regcache_cooked_read_ftype): Rename to...
1583         (register_read_ftype): ...this, change type to function_view.
1584         (class reg_buffer) <save>: Remove src parameter.
1585         (readonly_detached_regcache) <readonly_detached_regcache>: Make
1586         parameter non-const in first overload.  Remove src parameter in
1587         second overload.
1588         * regcache.c (do_cooked_read): Remove.
1589         (readonly_detached_regcache::readonly_detached_regcache): Make
1590         parameter non-const, adjust call to other constructor.
1591         (reg_buffer::save): Remove src parameter.
1592         * frame.c (do_frame_register_read): Remove.
1593         (frame_save_as_regcache): Use lambda function.
1594         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
1595         parameter to ppu2spu_data *.
1596         (ppu2spu_sniffer): Use lambda function.
1597
1598 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
1599
1600         * record-full.c (record_full_target::insert_breakpoint): Remove
1601         "struct" keyword, add const.
1602
1603 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
1604
1605         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
1606         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
1607         * configure.ac: Remove AC_PREREQ, add missing quoting.
1608         * gnulib/configure.ac: Modernize usage of
1609         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
1610         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
1611         (AUTOMAKE_VERSION): Bump to 1.15.1.
1612         * configure: Re-generate.
1613         * config.in: Re-generate.
1614         * aclocal.m4: Re-generate.
1615         * gnulib/aclocal.m4: Re-generate.
1616         * gnulib/config.in: Re-generate.
1617         * gnulib/configure: Re-generate.
1618         * gnulib/import/Makefile.in: Re-generate.
1619
1620 2018-06-19  Pedro Alves  <palves@redhat.com>
1621
1622         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
1623         (lookup_minimal_symbol_by_pc_section): ... here with
1624         gdb_assert_not_reached added.
1625
1626 2018-06-19  Pedro Alves  <palves@redhat.com>
1627
1628         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
1629         parameter with a block parameter.  Compare location's block symbol
1630         with the frame's block instead of addresses.
1631         (skip_inline_frames): Pass the current block instead of the
1632         frame's address.  Break out as soon as we determine the frame
1633         should not be skipped.
1634
1635 2018-06-18  Tom Tromey  <tom@tromey.com>
1636
1637         * solib-aix.c (solib_aix_get_section_offsets): Return
1638         unique_xmalloc_ptr.
1639         (solib_aix_solib_create_inferior_hook): Update.
1640
1641 2018-06-18  Tom Tromey  <tom@tromey.com>
1642
1643         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
1644
1645 2018-06-18  Tom Tromey  <tom@tromey.com>
1646
1647         * solib-frv.c (frv_relocate_main_executable): Use
1648         unique_xmalloc_ptr.
1649         * solib-dsbt.c (dsbt_relocate_main_executable): Use
1650         unique_xmalloc_ptr.
1651
1652 2018-06-18  Tom Tromey  <tom@tromey.com>
1653
1654         * objfiles.h (inhibit_section_map_updates): Update.
1655         (resume_section_map_updates, resume_section_map_updates_cleanup):
1656         Remove.
1657         * solib-svr4.c (svr4_handle_solib_event): Update.
1658         * objfiles.c (inhibit_section_map_updates): Return
1659         scoped_restore_tmpl<int>.
1660         (resume_section_map_updates, resume_section_map_updates_cleanup):
1661         Remove.
1662
1663 2018-06-18  Tom Tromey  <tom@tromey.com>
1664
1665         * valprint.h (read_string): Update.
1666         * valprint.c (read_string): Change type of "buffer".
1667         (val_print_string): Update.
1668         * python/py-value.c (valpy_string): Update.
1669         * language.h (struct language_defn) <la_get_string>: Change
1670         type of "buffer".
1671         (default_get_string, c_get_string): Update.
1672         * language.c (default_get_string): Change type of "buffer".
1673         * guile/scm-value.c (gdbscm_value_to_string): Update.
1674         * c-lang.c (c_get_string): Change type of "buffer".
1675
1676 2018-06-18  Tom Tromey  <tom@tromey.com>
1677
1678         * ser-mingw.c (struct pipe_state_destroyer): New.
1679         (pipe_state_up): New typedef.
1680         (cleanup_pipe_state): Remove.
1681         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
1682
1683 2018-06-18  Tom Tromey  <tom@tromey.com>
1684
1685         * rust-lang.h (rust_yyerror): Don't declare.
1686         * rust-lang.c (rust_language_defn): Update.
1687         * rust-exp.y (yyerror): Now static.
1688         * parse.c (parse_exp_in_context_1): Update.
1689         * p-lang.h (p_yyerror): Don't declare.
1690         * p-lang.c (p_language_defn): Update.
1691         * p-exp.y (yyerror): Now static.
1692         * opencl-lang.c (opencl_language_defn): Update.
1693         * objc-lang.c (objc_language_defn): Update.
1694         * m2-lang.h (m2_yyerror): Don't declare.
1695         * m2-lang.c (m2_language_defn): Update.
1696         * m2-exp.y (yyerror): Now static.
1697         * language.h (struct language_defn) <la_error>: Remove.
1698         * language.c (unk_lang_error): Remove.
1699         (unknown_language_defn, auto_language_defn): Remove.
1700         * go-lang.h (go_yyerror): Don't declare.
1701         * go-lang.c (go_language_defn): Update.
1702         * go-exp.y (yyerror): Now static.
1703         * f-lang.h (f_yyerror): Don't declare.
1704         * f-lang.c (f_language_defn): Update.
1705         * f-exp.y (yyerror): Now static.
1706         * d-lang.h (d_yyerror): Don't declare.
1707         * d-lang.c (d_language_defn): Update.
1708         * d-exp.y (yyerror): Now static.
1709         * c-lang.h (c_yyerror): Don't declare.
1710         * c-lang.c (c_language_defn, cplus_language_defn)
1711         (asm_language_defn, minimal_language_defn): Update.
1712         * c-exp.y (yyerror): Now static.
1713         * ada-lang.h (ada_yyerror): Don't declare.
1714         * ada-lang.c (ada_language_defn): Update.
1715         * ada-exp.y (yyerror): Now static.
1716
1717 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
1718
1719         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
1720         (store_sveregs_to_thread): Likewise.
1721         (aarch64_linux_fetch_inferior_registers): Check for SVE.
1722         (aarch64_linux_store_inferior_registers): Likewise.
1723         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
1724         function.
1725         (aarch64_sve_regs_copy_to_regcache): Likewise.
1726         (aarch64_sve_regs_copy_from_regcache): Likewise.
1727         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
1728         declaration.
1729         (aarch64_sve_regs_copy_to_regcache): Likewise.
1730         (aarch64_sve_regs_copy_from_regcache): Likewise.
1731         (sve_context): Structure from Linux headers.
1732         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
1733         (SVE_SIG_ZREG_SIZE): Likewise.
1734         (SVE_SIG_PREG_SIZE): Likewise.
1735         (SVE_SIG_FFR_SIZE): Likewise.
1736         (SVE_SIG_REGS_OFFSET): Likewise.
1737         (SVE_SIG_ZREGS_OFFSET): Likewise.
1738         (SVE_SIG_ZREG_OFFSET): Likewise.
1739         (SVE_SIG_ZREGS_SIZE): Likewise.
1740         (SVE_SIG_PREGS_OFFSET): Likewise.
1741         (SVE_SIG_PREG_OFFSET): Likewise.
1742         (SVE_SIG_PREGS_SIZE): Likewise.
1743         (SVE_SIG_FFR_OFFSET): Likewise.
1744         (SVE_SIG_REGS_SIZE): Likewise.
1745         (SVE_SIG_CONTEXT_SIZE): Likewise.
1746         (SVE_PT_REGS_MASK): Likewise.
1747         (SVE_PT_REGS_FPSIMD): Likewise.
1748         (SVE_PT_REGS_SVE): Likewise.
1749         (SVE_PT_VL_INHERIT): Likewise.
1750         (SVE_PT_VL_ONEXEC): Likewise.
1751         (SVE_PT_REGS_OFFSET): Likewise.
1752         (SVE_PT_FPSIMD_OFFSET): Likewise.
1753         (SVE_PT_FPSIMD_SIZE): Likewise.
1754         (SVE_PT_SVE_ZREG_SIZE): Likewise.
1755         (SVE_PT_SVE_PREG_SIZE): Likewise.
1756         (SVE_PT_SVE_FFR_SIZE): Likewise.
1757         (SVE_PT_SVE_FPSR_SIZE): Likewise.
1758         (SVE_PT_SVE_FPCR_SIZE): Likewise.
1759         (__SVE_SIG_TO_PT): Likewise.
1760         (SVE_PT_SVE_OFFSET): Likewise.
1761         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
1762         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
1763         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
1764         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
1765         (SVE_PT_SVE_PREG_OFFSET): Likewise.
1766         (SVE_PT_SVE_PREGS_SIZE): Likewise.
1767         (SVE_PT_SVE_FFR_OFFSET): Likewise.
1768         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
1769         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
1770         (SVE_PT_SVE_SIZE): Likewise.
1771         (SVE_PT_SIZE): Likewise.
1772         (HAS_SVE_STATE): New define.
1773
1774 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
1775
1776         * nat/aarch64-sve-linux-sigcontext.h: New file.
1777         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
1778         new files.
1779         (SVE_VQ_MIN): Likewise.
1780         (SVE_VQ_MAX): Likewise.
1781         (SVE_VL_MIN): Likewise.
1782         (SVE_VL_MAX): Likewise.
1783         (SVE_NUM_ZREGS): Likewise.
1784         (SVE_NUM_PREGS): Likewise.
1785         (sve_vl_valid): Likewise.
1786         (struct user_sve_header): Likewise.
1787
1788 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
1789             Richard Bunt <Richard.Bunt@arm.com>
1790
1791         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
1792         was requested by GDB.
1793
1794 2018-06-15  Tom de Vries  <tdevries@suse.de>
1795
1796         * MAINTAINERS (Write After Approval): Add Tom de Vries.
1797
1798 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
1799
1800         * gnulib/update-gnulib.sh: Print expected versions of
1801         autoconf/aclocal.
1802
1803 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
1804
1805         * arch-utils.c (default_type_align): Use type_length_units.
1806         * gdbtypes.c (type_align): Use type_length_units.
1807
1808 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1809
1810         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
1811         of 'define' command.
1812
1813 2018-06-14  Tom de Vries  <tdevries@suse.de>
1814
1815         PR cli/22573
1816         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
1817         get_no_prettyformat_print_options.
1818
1819 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
1820
1821         * sparc-nat.h: Include target.h.
1822         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
1823         <fetch_registers>: Remove this argument in function call.
1824         <store_registers>: Remove this argument in function call, remove
1825         extra semicolon.
1826         <low_forget_process>: Call sparc64_forget_process instead of
1827         sparc_forget_process.
1828
1829 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1830
1831         * procfs.c (_initialize_procfs): Use add_inf_child_target.
1832         (procfs_target::make_corefile_notes): Adjust to new
1833         target_read_alloc return type.
1834
1835 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
1836             Stephen Roberts  <stephen.roberts@arm.com>
1837
1838         PR gdb/22882
1839         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
1840         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
1841         Move should_notify_stop local into more inner scope.
1842
1843 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
1844             Stephen Roberts  <stephen.roberts@arm.com>
1845
1846         PR gdb/22882
1847         * infrun.c (resume_1): Add call to mark_async_event_handler.
1848
1849 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
1850
1851         * infrun.c (do_target_wait): Change old version of $pc printed.
1852
1853 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
1854
1855         * dwarf2read.c (read_index_from_section): Rename to...
1856         (read_gdb_index_from_section): ... this, update all callers.
1857         (dwarf2_read_index): Rename to...
1858         (dwarf2_read_gdb_index): ... this, update all callers.
1859
1860 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
1861
1862         * gdb/hppa-linux-nat.c
1863         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
1864         hppa_linux_nat_target::fetch_registers.
1865
1866 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
1867
1868         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
1869         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
1870         (AARCH64_DWARF_SVE_FFR): Likewise.
1871         (AARCH64_DWARF_SVE_P0): Likewise.
1872         (AARCH64_DWARF_SVE_Z0): Likewise.
1873
1874 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
1875
1876         * common/common-regcache.h (raw_compare): New function.
1877         * regcache.c (regcache::raw_compare): Likewise.
1878         * regcache.h (regcache::raw_compare): New declaration.
1879
1880 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
1881
1882         * common/common-regcache.h (reg_buffer_common): New structure.
1883         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
1884         (reg_buffer::raw_supply): Likewise.
1885         (reg_buffer::raw_supply_integer): Likewise.
1886         (reg_buffer::raw_supply_zeroed): Likewise.
1887         (reg_buffer::raw_collect): Likewise.
1888         (reg_buffer::raw_collect_integer): Likewise.
1889         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
1890         (reg_buffer::raw_supply): Likewise.
1891         (reg_buffer::raw_supply_integer): Likewise.
1892         (reg_buffer::raw_supply_zeroed): Likewise.
1893         (reg_buffer::raw_collect): Likewise.
1894         (reg_buffer::raw_collect_integer): Likewise.
1895
1896 2018-06-10  Tom Tromey  <tom@tromey.com>
1897
1898         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
1899         (class remote_state) <stop_reply_queue>: Now std::vector.
1900         (remote_state::~remote_state)
1901         (remote_target::stop_reply_queue_length): Update.
1902         (struct queue_iter_param, remove_child_of_pending_fork)
1903         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
1904         (check_pending_event_prevents_wildcard_vcont_callback)
1905         (remove_stop_reply_for_inferior)
1906         (remove_stop_reply_of_remote_state)
1907         (remote_notif_remove_once_on_match)
1908         (stop_reply_match_ptid_and_ws)
1909         (remote_kill_child_of_pending_fork): Remove.
1910         (remote_target::remove_new_fork_children)
1911         (remote_target::check_pending_events_prevent_wildcard_vcont)
1912         (remote_target::discard_pending_stop_replies)
1913         (remote_target::discard_pending_stop_replies_in_queue)
1914         (remote_target::remote_notif_remove_queued_reply)
1915         (remote_target::queued_stop_reply)
1916         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
1917         (remote_target::wait, remote_target::kill_new_fork_children)
1918         (remote_target::async): Update.
1919
1920 2018-06-10  Tom Tromey  <tom@tromey.com>
1921
1922         * record-full.c (record_full_arch_list_cleanups): Remove.
1923         (record_full_message): Use try/catch.
1924         (record_full_wait_cleanups): Remove.
1925         (record_full_wait_1): Use try/catch.
1926         (record_full_restore): Likewise.
1927
1928 2018-06-10  Tom Tromey  <tom@tromey.com>
1929
1930         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
1931         declare VEC.  Add constructor.
1932         <in_target_beneath>: Now bool.
1933         (record_full_breakpoints): Now a std::vector, static.
1934         (record_full_sync_record_breakpoints)
1935         (record_full_init_record_breakpoints)
1936         (record_full_target::insert_breakpoint)
1937         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
1938
1939 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
1940
1941         * dwarf2read.c (process_cu_includes): Remove struct keyword.
1942         * serial.c (serial_interface_lookup): Remove struct keyword.
1943
1944 2018-06-10  Tom Tromey  <tom@tromey.com>
1945
1946         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
1947         method.
1948         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
1949         a method.
1950         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
1951         method.
1952         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
1953         "beneath" as a method.
1954         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
1955         Use "beneath" as a method.
1956
1957 2018-06-10  Tom Tromey  <tom@tromey.com>
1958
1959         * tracefile.c (struct trace_file_writer_deleter): New.
1960         <operator()>: Rename from trace_file_writer_xfree.
1961         (trace_file_writer_up): New typedef.
1962         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
1963
1964 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
1965
1966         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
1967         <m_registers, m_register_status>: Change type to
1968         std::unique_ptr.
1969         * regcache.c (reg_buffer::reg_buffer): Use new instead of
1970         XCNEWVEC.
1971
1972 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
1973
1974         * common/common-regcache.h (enum register_status): Add
1975         underlying type "signed char".
1976         * regcache.h (reg_buffer) <m_register_status>: Change type to
1977         register_status *.
1978         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
1979         register_status instead of signed char.
1980         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
1981         (reg_buffer::get_register_status): Remove cast.
1982         (readable_regcache::raw_read): Remove cast.
1983         (readable_regcache::cooked_read): Remove cast.
1984
1985 2018-06-09  Tom Tromey  <tom@tromey.com>
1986
1987         * source.c (reverse_search_command, forward_search_command): Use
1988         scoped_fd.
1989
1990 2018-06-09  Tom Tromey  <tom@tromey.com>
1991
1992         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
1993         (serial_ops_list): Now static, std::vector.
1994         (serial_interface_lookup, serial_add_interface): Update.
1995
1996 2018-06-09  Tom Tromey  <tom@tromey.com>
1997
1998         * dwarf2read.c (process_cu_includes): Update.
1999         (process_full_comp_unit): Update.
2000         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2001         std::vector.
2002
2003 2018-06-08  Paul Koning  <paul_koning@dell.com>
2004
2005         PR gdb/23252
2006
2007         * python/python.c (do_start_initialization):
2008         Avoid call to internal Python API.
2009         (init__gdb_module): New function.
2010
2011 2018-06-08  Gary Benson <gbenson@redhat.com>
2012
2013         * linux-thread-db.c (valprint.h): New include.
2014         (struct check_thread_db_info): New structure.
2015         (check_thread_db_on_load, tdb_testinfo): New static globals.
2016         (check_thread_db, check_thread_db_callback): New functions.
2017         (try_thread_db_load_1): Run integrity checks if requested.
2018         (maintenance_check_libthread_db): New function.
2019         (_initialize_thread_db): Register "maint check libthread-db"
2020         and "maint set/show check-libthread-db".
2021         * NEWS: Mention the above new commands.
2022
2023 2018-06-08  Tom Tromey  <tom@tromey.com>
2024
2025         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2026         now a method.
2027
2028 2018-06-08  Tom Tromey  <tom@tromey.com>
2029
2030         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2031
2032 2018-06-08  Tom Tromey  <tom@tromey.com>
2033
2034         * common/btrace-common.h (struct btrace_data): Add constructor,
2035         destructor, move assignment operator.
2036         <empty, clear, fini>: New methods.
2037         <format>: Initialize.
2038         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2039         (btrace_data_empty): Don't declare.
2040         * common/btrace-common.c (btrace_data_init): Remove.
2041         (btrace_data::fini): Rename from btrace_data_fini.
2042         (btrace_data::empty): Rename from btrace_data_empty.
2043         (btrace_data::clear): Rename from btrace_data_clear.  Return
2044         bool.
2045         * btrace.h (make_cleanup_btrace_data): Don't declare.
2046         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2047         (parse_xml_btrace): Update.
2048         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2049         (maint_btrace_clear_packet_history_cmd): Update.
2050
2051 2018-06-07  Pedro Alves  <palves@redhat.com>
2052
2053         * target.h (target_ops) <beneath>: Now a method.  All references
2054         updated.
2055         (class target_stack): New.
2056         * target.c (g_target_stack): New.
2057         (g_current_top_target): Delete.
2058         (current_top_target): Get the top target out of g_target_stack.
2059         (target_stack::push, target_stack::unpush): New.
2060         (push_target, unpush_target): Reimplement.
2061         (target_is_pushed): Reimplement in terms of g_target_stack.
2062         (target_ops::beneath, target_stack::find_beneath): New.
2063
2064 2018-06-07  Pedro Alves  <palves@redhat.com>
2065
2066         * target.h (find_target_beneath): Delete declaration.
2067         * target.c (find_target_beneath): Delete definition.
2068         * aix-thread.c: All callers of find_target_beneath adjusted to
2069         call target_ops::beneath instead.
2070         * bsd-uthread.c: Likewise.
2071         * linux-thread-db.c: Likewise.
2072         * ravenscar-thread.c: Likewise.
2073         * sol-thread.c: Likewise.
2074         * spu-multiarch.c: Likewise.
2075
2076 2018-06-07  Pedro Alves  <palves@redhat.com>
2077
2078         * target.h (target_ops) <beneath>: Now a method.  All references
2079         updated.
2080         (target_ops) <m_beneath>: New.
2081         * target.c (target_ops::beneath): New.
2082         * corelow.c: Adjust all references to target_ops::beneath.
2083         * linux-thread-db.c: Likewise.
2084         * make-target-delegates: Likewise.
2085         * record-btrace.c: Likewise.
2086         * record-full.c: Likewise.
2087         * remote.c: Likewise.
2088         * target.c: Likewise.
2089         * target-delegates.c: Regenerate.
2090
2091 2018-06-07  Pedro Alves  <palves@redhat.com>
2092
2093         * target.h (target_stack): Delete.
2094         (current_top_target): Declare function.
2095         * target.c (target_stack): Delete.
2096         (g_current_top_target): New.
2097         (current_top_target): New function.
2098         * auxv.c: Use current_top_target instead of target_stack
2099         throughout.
2100         * avr-tdep.c: Likewise.
2101         * breakpoint.c: Likewise.
2102         * corefile.c: Likewise.
2103         * elfread.c: Likewise.
2104         * eval.c: Likewise.
2105         * exceptions.c: Likewise.
2106         * frame.c: Likewise.
2107         * gdbarch-selftests.c: Likewise.
2108         * gnu-v3-abi.c: Likewise.
2109         * ia64-tdep.c: Likewise.
2110         * ia64-vms-tdep.c: Likewise.
2111         * infcall.c: Likewise.
2112         * infcmd.c: Likewise.
2113         * infrun.c: Likewise.
2114         * linespec.c: Likewise.
2115         * linux-tdep.c: Likewise.
2116         * minsyms.c: Likewise.
2117         * ppc-linux-nat.c: Likewise.
2118         * ppc-linux-tdep.c: Likewise.
2119         * procfs.c: Likewise.
2120         * regcache.c: Likewise.
2121         * remote.c: Likewise.
2122         * rs6000-tdep.c: Likewise.
2123         * s390-linux-nat.c: Likewise.
2124         * s390-tdep.c: Likewise.
2125         * solib-aix.c: Likewise.
2126         * solib-darwin.c: Likewise.
2127         * solib-dsbt.c: Likewise.
2128         * solib-spu.c: Likewise.
2129         * solib-svr4.c: Likewise.
2130         * solib-target.c: Likewise.
2131         * sparc-tdep.c: Likewise.
2132         * sparc64-tdep.c: Likewise.
2133         * spu-tdep.c: Likewise.
2134         * symfile.c: Likewise.
2135         * symtab.c: Likewise.
2136         * target-descriptions.c: Likewise.
2137         * target-memory.c: Likewise.
2138         * target.c: Likewise.
2139         * target.h: Likewise.
2140         * tracefile-tfile.c: Likewise.
2141         * tracepoint.c: Likewise.
2142         * valops.c: Likewise.
2143         * valprint.c: Likewise.
2144         * value.c: Likewise.
2145         * windows-tdep.c: Likewise.
2146         * mi/mi-main.c: Likewise.
2147
2148 2018-06-07  Tom Tromey  <tom@tromey.com>
2149
2150         * valprint.h (build_address_symbolic): Declare.
2151         * printcmd.c (print_address_symbolic): Update.
2152         (build_address_symbolic): Change "name" and "filename" to
2153         std::string.
2154         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2155         Update.
2156         * defs.h (build_address_symbolic): Remove declaration.
2157
2158 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2159
2160         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2161         (aarch64_vnv_type): Add function.
2162         (aarch64_pseudo_register_name): Add V regs for SVE.
2163         (aarch64_pseudo_register_type): Likewise.
2164         (aarch64_pseudo_register_reggroup_p): Likewise.
2165         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
2166         (aarch64_pseudo_read_value): Add V regs for SVE.
2167         (aarch64_pseudo_write_2): Use V0 offset for SVE
2168         (aarch64_pseudo_write): Add V regs for SVE.
2169         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
2170
2171 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
2172
2173         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
2174         (sve_vl_from_vq): Likewise.
2175
2176 2018-06-05  Tom Tromey  <tom@tromey.com>
2177
2178         * cli/cli-cmds.c (show_version): Update.
2179         * top.c (print_gdb_version): Add "interactive" parameter.
2180         Update.
2181         * main.c (captured_main_1): Update.
2182         * top.h (print_gdb_version): Add "interactive" parameter and a
2183         comment.
2184
2185 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
2186
2187         * common/enum-flags.h: Add trailing semicolon to example in
2188         comment.
2189
2190 2018-06-05  Tom Tromey  <tom@tromey.com>
2191
2192         PR cli/12326:
2193         * NEWS: Add entry about pager.
2194         * utils.c (pagination_disabled_for_command): New global.
2195         (prompt_for_continue): Allow "c" response to prompt.
2196         (reinitialize_more_filter): Clear
2197         pagination_disabled_for_command.
2198         (fputs_maybe_filtered): Check pagination_disabled_for_command.
2199
2200 2018-06-04  Tom Tromey  <tom@tromey.com>
2201
2202         * ada-lang.h (ada_lookup_symbol_list): Update.
2203         * ada-lang.c (resolve_subexp): Update.
2204         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
2205         parameter.
2206         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
2207         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
2208         results parameter to std::vector.
2209         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
2210         Update.
2211         * ada-exp.y (block_lookup): Update.
2212         (select_possible_type_sym): Change type of syms.  Remove nsyms
2213         parameter.
2214         (write_var_or_type, write_name_assoc): Update.
2215
2216 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
2217
2218         * windows-nat.c (windows_nat_target::xfer_partial): Return
2219         TARGET_XFER_E_IO if we need to delegate to the target beneath
2220         but BENEATH is NULL.
2221
2222 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
2223
2224         * Makefile.in (config.status): Add configure.nat as a
2225         dependency.
2226
2227 2018-06-04  Tom Tromey  <tom@tromey.com>
2228
2229         * cp-name-parser.y (cpname_state): Add method declarations.
2230         (HANDLE_QUAL): Update.
2231         (cpname_state::d_grab, cpname_state::fill_comp)
2232         (cpname_state::make_operator, cpname_state::make_dtor)
2233         (cpname_state::make_builtin_type, cpname_state::make_name)
2234         (cpname_state::d_qualify, cpname_state::d_int_type)
2235         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
2236         (%union): Move earlier.
2237
2238 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
2239
2240         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
2241
2242 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
2243
2244         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
2245         (aarch64_pseudo_write_1): Likewise.
2246         (aarch64_pseudo_read_value): Use helper.
2247         (aarch64_pseudo_write): Likewise.
2248
2249 2018-06-04  Pedro Alves  <palves@redhat.com>
2250
2251         * darwin-nat.c (darwin_ops): Delete.
2252         (darwin_attach_pid): Use get_native_target.
2253
2254 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
2255
2256         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
2257         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
2258
2259 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
2260
2261         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
2262         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
2263         (aarch64_gdbarch_init): Check for SVE.
2264         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
2265
2266 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
2267
2268         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
2269         * aarch64-tdep.h (aarch64_read_description): Likewise.
2270         * arch/aarch64.c (aarch64_create_target_description): Likewise.
2271         * arch/aarch64.h (aarch64_create_target_description): Likewise.
2272         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
2273         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
2274         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
2275
2276 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
2277
2278         * value.c (value_fetch_lazy_bitfield): New.
2279         (value_fetch_lazy_memory): New.
2280         (value_fetch_lazy_register): New.
2281         (value_fetch_lazy): Factor out to smaller functions.
2282
2283 2018-06-01  Tom Tromey  <tom@tromey.com>
2284
2285         * cp-name-parser.y (backslashable, represented): Now const.
2286
2287 2018-06-01  Tom Tromey  <tom@tromey.com>
2288
2289         * cp-name-parser.y: Include parser-defs.h.
2290         (parser_fprintf): Remove declaration.
2291
2292 2018-06-01  Tom Tromey  <tom@tromey.com>
2293
2294         * cp-name-parser.y: Use %pure-parser, %lex-param, and
2295         %parse-param.
2296         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
2297         (global_result): Remove globals.
2298         (struct cpname_state): New.
2299         (yyparse): Don't declare.
2300         (yylex, yyerror): Move declarations after %union.
2301         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
2302         (make_name): Add state parameter.
2303         Update all callers.
2304         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
2305         parameter.
2306         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
2307         Update.
2308         (yylex): Add lvalp, state parameters.
2309         (yyerror): Add state parameter.
2310         (cp_demangled_name_to_comp): Update.
2311
2312 2018-06-01  Tom Tromey  <tom@tromey.com>
2313
2314         * cp-name-parser.y (parser_fprintf): Declare.
2315         (GDB_YY_REMAP_PREFIX): Define.
2316         Include yy-remap.h.  Don't redefine yy* identifiers.
2317
2318 2018-06-01  Tom Tromey  <tom@tromey.com>
2319
2320         * python/py-type.c (typy_legacy_template_argument): Update.
2321         * cp-support.h (cp_demangled_name_to_comp): Update.
2322         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
2323         parameter to be a "std::string *".
2324         (main): Update.
2325
2326 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
2327
2328         * ada-lex.l: Include "diagnostics.h" instead of
2329         "common/diagnostics.h".
2330         * unittests/environ-selftests.c: Likewise.
2331         * common/diagnostics.h: Moved to ../include.
2332
2333 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
2334
2335         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
2336         to language_mode_manual while calling breakpoint_re_set_one.
2337
2338 2018-06-01  Tom Tromey  <tom@tromey.com>
2339
2340         * valops.c (value_cast_structs, destructor_name_p): Update.
2341         * symtab.c (gdb_mangle_name): Update.
2342         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
2343         Update.
2344         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
2345         (pascal_object_print_value_fields, pascal_object_print_value):
2346         Update.
2347         * p-typeprint.c (pascal_type_print_derivation_info): Update.
2348         * linespec.c (find_methods): Update.
2349         * gdbtypes.h (type_name_no_tag): Remove.
2350         (type_name_or_error): Rename from type_name_no_tag_or_error.
2351         * gdbtypes.c (type_name_no_tag): Remove.
2352         (type_name_or_error): Rename from type_name_no_tag_or_error.
2353         (lookup_struct_elt_type, check_typedef): Update.
2354         * expprint.c (print_subexp_standard): Update.
2355         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
2356         * d-namespace.c (d_lookup_nested_symbol): Update.
2357         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
2358         (cp_print_class_member): Update.
2359         * cp-namespace.c (cp_lookup_nested_symbol): Update.
2360         * completer.c (add_struct_fields): Update.
2361         * c-typeprint.c (cp_type_print_derivation_info)
2362         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
2363         Update.
2364         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
2365         (ada_prefer_type, ada_is_exception_sym): Update.
2366
2367 2018-06-01  Tom Tromey  <tom@tromey.com>
2368
2369         * valops.c (enum_constant_from_type, value_namespace_elt)
2370         (value_maybe_namespace_elt): Update.
2371         * valarith.c (find_size_for_pointer_math): Update.
2372         * target-descriptions.c (make_gdb_type): Update.
2373         * symmisc.c (print_symbol): Update.
2374         * stabsread.c (define_symbol, read_type)
2375         (complain_about_struct_wipeout, add_undefined_type)
2376         (cleanup_undefined_types_1): Update.
2377         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
2378         (rust_range_type_p, val_print_struct, rust_print_struct_def)
2379         (rust_internal_print_type, rust_composite_type)
2380         (rust_evaluate_funcall, rust_evaluate_subexp)
2381         (rust_inclusive_range_type_p): Update.
2382         * python/py-type.c (typy_get_tag): Update.
2383         * p-typeprint.c (pascal_type_print_base): Update.
2384         * mdebugread.c (parse_symbol, parse_type): Update.
2385         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
2386         Update.
2387         * guile/scm-type.c (gdbscm_type_tag): Update.
2388         * go-lang.c (sixg_string_p): Update.
2389         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
2390         Update.
2391         * gdbtypes.h (struct main_type) <tag_name>: Remove.
2392         (TYPE_TAG_NAME): Remove.
2393         * gdbtypes.c (type_name_no_tag): Simplify.
2394         (check_typedef, check_types_equal, recursive_dump_type)
2395         (copy_type_recursive, arch_composite_type): Update.
2396         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
2397         in summary mode when needed.
2398         * eval.c (evaluate_funcall): Update.
2399         * dwarf2read.c (fixup_go_packaging, read_structure_type)
2400         (process_structure_scope, read_enumeration_type)
2401         (read_namespace_type, read_module_type, determine_prefix): Update.
2402         * cp-support.c (inspect_type): Update.
2403         * coffread.c (process_coff_symbol, decode_base_type): Update.
2404         * c-varobj.c (c_is_path_expr_parent): Update.
2405         * c-typeprint.c (c_type_print_base_struct_union): Update.
2406         (c_type_print_base_1): Update.  Print struct/class/union/enum in
2407         summary when using C language.
2408         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
2409         (gen_maybe_namespace_elt): Update.
2410         * ada-lang.c (ada_type_name): Simplify.
2411         (empty_record, ada_template_to_fixed_record_type_1)
2412         (template_to_static_fixed_type)
2413         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
2414
2415 2018-06-01  Tom Tromey  <tom@tromey.com>
2416
2417         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
2418         c_print_type.
2419         * c-typeprint.c (c_print_type_1): Add "language" parameter.
2420         (c_print_type): Update.
2421         (c_print_type): New overload.
2422         (c_type_print_varspec_prefix, c_type_print_args)
2423         (c_type_print_varspec_suffix, c_print_type_no_offsets)
2424         (c_type_print_base_struct_union, c_type_print_base_1)
2425         (cp_type_print_method_args): Add "language" parameter.
2426         (c_type_print_base): Update.
2427         * c-lang.h (c_print_type): Add new overload.
2428
2429 2018-06-01  Tom Tromey  <tom@tromey.com>
2430
2431         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
2432         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
2433
2434 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
2435
2436         * aarch64-tdep.c (aarch64_sve_register_names): New const
2437         var.
2438         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
2439         (AARCH64_SVE_Z_REGS_NUM): New define.
2440         (AARCH64_SVE_P_REGS_NUM): Likewise.
2441         (AARCH64_SVE_NUM_REGS): Likewise.
2442
2443 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
2444
2445         * nat/linux-ptrace.h [__alpha__]
2446         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
2447         definitions.
2448
2449 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
2450
2451         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
2452         the endianness selected.
2453         * NEWS: Document `set endian auto' mode operation update.
2454
2455 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
2456
2457         * Makefile.in: Add new header.
2458         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
2459         (sve_vl_from_vg): Likewise.
2460         (sve_vq_from_vl): Likewise.
2461         (sve_vl_from_vq): Likewise.
2462         (sve_vq_from_vg): Likewise.
2463         (sve_vg_from_vq): Likewise.
2464         * configure.nat: Add new c file.
2465         * nat/aarch64-sve-linux-ptrace.c: New file.
2466         * nat/aarch64-sve-linux-ptrace.h: New file.
2467
2468 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
2469
2470         * aarch64-linux-nat.c (aarch64_linux_read_description):
2471         Add parmeter zero.
2472         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
2473         Likewise.
2474         * aarch64-tdep.c (tdesc_aarch64_list): Add.
2475         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
2476         (aarch64_gdbarch_init): Add parmeter zero.
2477         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
2478         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
2479         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
2480         parmeter.
2481         * doc/gdb.texinfo: Describe SVE feature
2482         * features/aarch64-sve.c: New file.
2483
2484 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
2485
2486         PR gdb/23210
2487         * gdbarch.sh (significant_addr_bit): Default to zero when
2488         not set by target architecture.
2489         * gdbarch.c: Re-generated.
2490         * utils.c (address_significant): Update.
2491
2492 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
2493
2494         * stack.c (func_command): Remove trailing newline in call to error.
2495
2496 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2497
2498         * regcache.h (regcache_raw_collect): Remove, update callers to
2499         use regcache::raw_collect.
2500         * regcache.c (regcache_raw_collect): Remove.
2501
2502 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2503
2504         * regcache.h (regcache_raw_supply): Remove, update callers to
2505         use detached_regcache::raw_supply.
2506         * regcache.c (regcache_raw_supply): Remove.
2507
2508 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2509
2510         * regcache.h (regcache_cooked_write_part): Remove, update
2511         callers to use regcache::cooked_write_part.
2512         * regcache.c (regcache_cooked_write_part): Remove.
2513
2514 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2515
2516         * regcache.h (regcache_cooked_read_part): Remove, update callers
2517         to use readable_regcache::cooked_read_part.
2518         * regcache.c (regcache_cooked_read_part): Remove.
2519
2520 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2521
2522         * regcache.h (regcache_cooked_read_value): Remove, update
2523         callers to use readable_regcache::cooked_read_value.
2524         * regcache.c (regcache_cooked_read_value): Remove.
2525
2526 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2527
2528         * regcache.h (regcache_cooked_write): Remove, update callers to
2529         use regcache::cooked_write.
2530         * regcache.c (regcache_cooked_write): Remove.
2531
2532 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2533
2534         * regcache.h (regcache_invalidate): Remove, update callers to
2535         use detached_regcache::invalidate instead.
2536         * regcache.c (regcache_invalidate): Remove.
2537
2538 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2539
2540         * regcache.h (regcache_raw_write_part): Remove, update callers
2541         to use regcache::raw_write_part instead.
2542         * regcache.c (regcache_raw_write_part): Remove.
2543
2544 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2545
2546         * regcache.h (regcache_raw_read_part): Remove, update callers to
2547         use readable_regcache::raw_read_part instead.
2548         * regcache.c (regcache_raw_read_part): Remove.
2549
2550 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2551
2552         * regcache.h (regcache_cooked_read): Remove, update callers to
2553         use readable_regcache::cooked_read instead.
2554         * regcache.c (regcache_cooked_read): Remove.
2555
2556 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2557
2558         * regcache.h (regcache_raw_write): Remove, update callers to use
2559         regcache::raw_write instead.
2560         * regcache.c (regcache_raw_write): Remove.
2561
2562 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2563
2564         * regcache.h (regcache_raw_read): Remove, update callers to use
2565         readable_regcache::raw_read instead.
2566         * regcache.c (regcache_raw_read): Remove.
2567
2568 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2569
2570         * regcache.h (regcache_raw_update): Remove, update callers to
2571         use readable_regcache::raw_update instead.
2572         * regcache.c (regcache_raw_update): Remove.
2573
2574 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2575
2576         * regcache.h (regcache_register_status): Remove, update callers
2577         to use reg_buffer::get_register_status directly instead.
2578         * regcache.c (regcache_register_status): Remove.
2579
2580 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2581
2582         * regcache.h (regcache_get_ptid): Remove, update all callers to
2583         call regcache::ptid instead.
2584         * regcache.c (regcache_get_ptid): Remove.
2585
2586 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
2587
2588         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
2589
2590 2018-05-30  Pedro Alves  <palves@redhat.com>
2591
2592         * common/common-exceptions.h (exception_rethrow): Use
2593         ATTRIBUTE_NORETURN.
2594
2595 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
2596
2597         * breakpoint.c (print_solib_event, check_status_catch_solib):
2598         Remove struct keyword in range-based for loops.
2599         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
2600         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
2601         Likewise.
2602         * linespec.c (find_superclass_methods, search_minsyms_for_name):
2603         Likewise.
2604         * symfile.c (addr_info_make_relative): Likewise.
2605         * thread.c (value_in_thread_stack_temporaries): Likewise.
2606
2607 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
2608
2609         PR gdb/16841
2610         * valops.c (value_struct_elt_for_reference): Call check_typedef on
2611         aggregate type to get its real type before accessing it.
2612
2613 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
2614
2615         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
2616         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
2617         * coff-pe-read.c (add_pe_forwarded_sym): Replace
2618         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
2619         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
2620         * jit.c (jit_breakpoint_re_set_internal): Likewise.
2621         * printcmd.c (info_address_command): Likewise.
2622
2623 2018-05-29  Tom Tromey  <tom@tromey.com>
2624
2625         * windows-nat.c (handle_exception): Update fall-through comment.
2626
2627 2018-05-29  Tom Tromey  <tom@tromey.com>
2628
2629         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
2630         (struct program_space) <added_solibs>: Now a std::vector.
2631         * breakpoint.c (print_solib_event): Update.
2632         (check_status_catch_solib): Update.
2633         * progspace.c (clear_program_space_solib_cache): Update.
2634         * solib.c (update_solib_list): Update.
2635
2636 2018-05-29  Tom Tromey  <tom@tromey.com>
2637
2638         * python/py-type.c (typy_richcompare): Update.
2639         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
2640         * gdbtypes.h (types_deeply_equal): Return bool.
2641         (types_equal): Likewise.
2642         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
2643         declare VEC.
2644         (check_types_equal): Change worklist to std::vector.  Return
2645         bool.
2646         (struct type_equality_entry): Add constructor.
2647         (compare_maybe_null_strings): Return bool.
2648         (check_types_worklist): Return bool.  Change worklist to
2649         std::vector.
2650         (types_deeply_equal): Use std::vector.
2651         (types_equal): Return bool.
2652         (compare_maybe_null_strings): Simplify.
2653
2654 2018-05-29  Tom Tromey  <tom@tromey.com>
2655
2656         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
2657
2658 2018-05-29  Tom Tromey  <tom@tromey.com>
2659
2660         * objc-lang.h: Don't include cp-support.h.
2661         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
2662         declare VEC.
2663
2664 2018-05-27  Tom Tromey  <tom@tromey.com>
2665
2666         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
2667
2668 2018-05-25  Tom Tromey  <tom@tromey.com>
2669
2670         * value.c (value::location): Initialize.
2671
2672 2018-05-25  Tom Tromey  <tom@tromey.com>
2673
2674         * dbxread.c (init_bincl_list): Remove.
2675         (bincl_list): Now a std::vector.
2676         (bincls_allocated, next_bincl): Remove.
2677         (free_bincl_list, do_free_bincl_list_cleanup)
2678         (make_cleanup_free_bincl_list): Remove.
2679         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
2680         unique_xmalloc_ptr.
2681         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
2682         (struct header_file_location): Add constructor.
2683         (add_bincl_to_list): Remove.
2684
2685 2018-05-25  Tom Tromey  <tom@tromey.com>
2686
2687         * tui/tui.c (tui_enable): Update.
2688         * mi/mi-interp.c (mi_interp::init): Update.
2689         * interps.h (class interp) <name>: New method.
2690         <m_name>: Rename from name.
2691         (~scoped_restore_interp): Update.
2692         * interps.c (interp::interp): Update.
2693         (interp_add, interp_set, interp_lookup_existing)
2694         (current_interp_named_p): Update.
2695
2696 2018-05-25  Tom Tromey  <tom@tromey.com>
2697
2698         * interps.c (interp_name): Remove.
2699         * mi/mi-interp.c (mi_interp::init): Update.
2700         * interps.h (interp_name): Remove.
2701         (~scoped_restore_interp): Update.
2702         * tui/tui.c (tui_enable): Update.
2703
2704 2018-05-25  Tom Tromey  <tom@tromey.com>
2705
2706         * utils.c (fputs_maybe_filtered): Update.
2707         * linespec.c (decode_line_full): Update.
2708         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
2709         (mi_print_breakpoint_for_event, mi_solib_loaded)
2710         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
2711         (mi_user_selected_context_changed): Update.
2712         * mi/mi-main.c (mi_execute_command): Update.
2713         * cli/cli-script.c (execute_control_command): Update.
2714         * python/python.c (execute_gdb_command): Update.
2715         * solib.c (info_sharedlibrary_command): Update.
2716         * interps.c (interp_ui_out): Remove.
2717         * interps.h (interp_ui_out): Remove.
2718
2719 2018-05-25  Tom Tromey  <tom@tromey.com>
2720
2721         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
2722         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
2723         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
2724
2725 2018-05-25  Tom Tromey  <tom@tromey.com>
2726
2727         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
2728         * interps.c (interp_exec): Use scoped_restore.
2729
2730 2018-05-25  Tom Tromey  <tom@tromey.com>
2731
2732         * remote.c (remote_target::remote_file_get): Use
2733         gdb::byte_vector.
2734         (remote_target::remote_file_put): Likewise.
2735
2736 2018-05-25  Tom Tromey  <tom@tromey.com>
2737
2738         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
2739         a std::string.
2740         (get_pe_section_index, add_pe_exported_sym): Update.
2741         (read_pe_exported_syms): Use gdb::def_vector.
2742
2743 2018-05-25  Tom Tromey  <tom@tromey.com>
2744
2745         * frame.c (remove_prev_frame): Remove.
2746         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
2747
2748 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
2749
2750         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
2751         Remove prototypes.
2752         * mips-linux-nat.c (supply_fpregset): Always call
2753         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
2754         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
2755         `mips_fill_fpregset'.
2756         * mips-linux-tdep.c (mips_supply_fpregset)
2757         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
2758         (mips_fill_fpregset_wrapper): Remove functions.
2759         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
2760         (mips_linux_fpregset): Remove variable.
2761         (mips_linux_iterate_over_regset_sections): Use
2762         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
2763         (mips_linux_o32_sigframe_init): Remove comment.
2764
2765 2018-05-25  Pedro Alves  <palves@redhat.com>
2766
2767         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
2768         (struct readahead_cache, struct packet_reg, struct
2769         remote_arch_state, class remote_state): Move higher up in the
2770         file.
2771         (remote_target::m_remote_state): Now an object instead of a pointer.
2772         (remote_target::get_remote_state): Adjust.
2773
2774 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
2775
2776         * stack.c (select_and_print_frame): Delete.
2777         (struct function_bounds): Move struct within function.
2778         (func_command): Most content moved into new function
2779         find_frame_for_function, use new function, print result, add
2780         function comment.
2781         (find_frame_for_function): New function, now returns a result.
2782
2783 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2784
2785         * stack.c (iterate_over_block_arg_vars): Fix comment.
2786         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
2787
2788 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
2789
2790         PR gdb/23203
2791         * frame.c
2792         (scoped_restore_selected_frame::scoped_restore_selected_frame):
2793         Define.
2794         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
2795         Define.
2796         * frame.h (class scoped_restore_selected_frame): New class.
2797         * stack.c (print_frame_local_vars): Remove catching and rethrowing
2798         of any exception, use scoped_restore_selected_frame to restore the
2799         frame instead.
2800
2801 2018-05-24  Pedro Alves  <palves@redhat.com>
2802
2803         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
2804         override.
2805
2806 2018-05-23  Tom Tromey  <tom@tromey.com>
2807
2808         * complaints.c (struct complaints): Remove.
2809         (symfile_complaint_book): Remove.
2810         (series): New global.
2811         (complaint_internal): Update.
2812         (clear_complaints): Update.
2813
2814 2018-05-23  Tom Tromey  <tom@tromey.com>
2815
2816         * complaints.c (counters): New global.
2817         (struct complain): Remove.
2818         (struct complaints) <root>: Remove.
2819         (complaint_sentinel): Remove.
2820         (symfile_complaint_book): Update.
2821         (find_complaint) Remove.
2822         (complaint_internal, clear_complaints): Update.
2823
2824 2018-05-23  Tom Tromey  <tom@tromey.com>
2825
2826         * complaints.c (struct complain) <file, line>: Remove.
2827         (find_complaint): Remove file, line parameters.
2828         (complaint_internal): Update.
2829
2830 2018-05-23  Tom Tromey  <tom@tromey.com>
2831
2832         * complaints.c (vcomplaint): Remove.
2833         (complaint_internal) Merge in contents of vcomplaint.
2834
2835 2018-05-23  Tom Tromey  <tom@tromey.com>
2836
2837         * complaints.c (struct complaints) <explanation>: Remove.
2838         (symfile_explanations): Remove.
2839         (symfile_complaint_book): Update.
2840         (vcomplaint): Update.
2841         (struct explanation): Remove.
2842
2843 2018-05-23  Tom Tromey  <tom@tromey.com>
2844
2845         * complaints.c (symfile_complaints): Remove.
2846         (complaint_internal): Remove "complaints" parameter.
2847         (clear_complaints, vcomplaint): Remove "c" parameter.
2848         (get_complaints): Remove.
2849         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
2850         (dwarf2_debug_line_missing_file_complaint)
2851         (dwarf2_debug_line_missing_end_sequence_complaint)
2852         (dwarf2_complex_location_expr_complaint)
2853         (dwarf2_const_value_length_mismatch_complaint)
2854         (dwarf2_section_buffer_overflow_complaint)
2855         (dwarf2_macro_malformed_definition_complaint)
2856         (dwarf2_invalid_attrib_class_complaint)
2857         (create_addrmap_from_index, dw2_symtab_iter_next)
2858         (dw2_expand_marked_cus)
2859         (dw2_debug_names_iterator::find_vec_in_debug_names)
2860         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
2861         (create_debug_type_hash_table, init_cutu_and_read_dies)
2862         (partial_die_parent_scope, add_partial_enumeration)
2863         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
2864         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
2865         (read_import_statement, read_file_scope, create_dwo_cu_reader)
2866         (create_cus_hash_table, create_dwp_hash_table)
2867         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
2868         (dwarf2_rnglists_process, dwarf2_ranges_process)
2869         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
2870         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
2871         (handle_struct_member_die, process_structure_scope)
2872         (read_array_type, read_common_block, read_module_type)
2873         (read_tag_pointer_type, read_typedef, read_base_type)
2874         (read_subrange_type, load_partial_dies, partial_die_info::read)
2875         (partial_die_info::read, partial_die_info::read)
2876         (partial_die_info::read, read_checked_initial_length_and_offset)
2877         (dwarf2_string_attr, read_formatted_entries)
2878         (dwarf_decode_line_header)
2879         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2880         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
2881         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
2882         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
2883         (get_signatured_type, get_DW_AT_signature_type)
2884         (decode_locdesc, file_file_name, consume_improper_spaces)
2885         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
2886         (dwarf_decode_macro_bytes, dwarf_decode_macros)
2887         (dwarf2_symbol_mark_computed, set_die_type)
2888         (read_attribute_value): Update.
2889         * stap-probe.c (handle_stap_probe, get_stap_base_address):
2890         Update.
2891         * dbxread.c (unknown_symtype_complaint)
2892         (lbrac_mismatch_complaint, repeated_header_complaint)
2893         (set_namestring, function_outside_compilation_unit_complaint)
2894         (read_dbx_symtab, process_one_symbol): Update.
2895         * gdbtypes.c (stub_noname_complaint): Update.
2896         * windows-nat.c (handle_unload_dll): Update.
2897         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
2898         (decode_base_type): Update.
2899         * xcoffread.c (bf_notfound_complaint, ef_complaint)
2900         (eb_complaint, record_include_begin, record_include_end)
2901         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
2902         (process_xcoff_symbol, read_symbol)
2903         (function_outside_compilation_unit_complaint)
2904         (scan_xcoff_symtab): Update.
2905         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
2906         * buildsym.c (finish_block_internal, make_blockvector)
2907         (end_symtab_get_static_block, augment_type_symtab): Update.
2908         * dtrace-probe.c (dtrace_process_dof)
2909         (dtrace_static_probe_ops::get_probes): Update.
2910         * complaints.h (struct complaint): Don't declare.
2911         (symfile_complaints): Remove.
2912         (complaint_internal): Remove "complaints" parameter.
2913         (complaint): Likewise.
2914         (clear_complaints): Likewise.
2915         * symfile.c (syms_from_objfile_1, finish_new_objfile)
2916         (reread_symbols): Update.
2917         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
2918         (dwarf2_frame_cache, decode_frame_entry): Update.
2919         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
2920         * objc-lang.c (lookup_objc_class, lookup_child_selector)
2921         (info_selectors_command): Update.
2922         * macrotab.c (macro_include, check_for_redefinition)
2923         (macro_undef): Update.
2924         * objfiles.c (filter_overlapping_sections): Update.
2925         * stabsread.c (invalid_cpp_abbrev_complaint)
2926         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
2927         (define_symbol, error_type, read_type, rs6000_builtin_type)
2928         (stabs_method_name_from_physname, read_member_functions)
2929         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
2930         (attach_fields_to_type, complain_about_struct_wipeout)
2931         (read_range_type, read_args, common_block_start)
2932         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
2933         Update.
2934         * mdebugread.c (index_complaint, unknown_ext_complaint)
2935         (basic_type_complaint, bad_tag_guess_complaint)
2936         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
2937         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
2938         (parse_procedure, parse_lines)
2939         (function_outside_compilation_unit_complaint)
2940         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
2941         (bad_tag_guess_complaint, reg_value_complaint): Update.
2942         * cp-support.c (demangled_name_complaint): Update.
2943         * macroscope.c (sal_macro_scope): Update.
2944         * dwarf-index-write.c (class debug_names): Update.
2945
2946 2018-05-23  Tom Tromey  <tom@tromey.com>
2947
2948         * complaints.c (clear_complaints): Remove "noisy" parameter.
2949         * complaints.h (clear_complaints): Update.
2950         * symfile.c (syms_from_objfile_1, finish_new_objfile)
2951         (reread_symbols): Update.
2952
2953 2018-05-23  Tom Tromey  <tom@tromey.com>
2954
2955         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
2956         SUBSEQUENT_MESSAGE.
2957         (vcomplaint, clear_complaints): Update.
2958         (symfile_explanations): Remove some messages.
2959
2960 2018-05-23  Tom Tromey  <tom@tromey.com>
2961
2962         * complaints.c (internal_complaint): Remove.
2963         * complaints.h (internal_complaint): Remove.
2964
2965 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
2966
2967         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
2968
2969 2018-05-22  Pedro Alves  <palves@redhat.com>
2970
2971         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
2972         (remote_fileio_badfd, remote_fileio_return_errno)
2973         (remote_fileio_return_success, remote_fileio_func_open)
2974         (remote_fileio_func_open, remote_fileio_func_close)
2975         (remote_fileio_func_read, remote_fileio_func_write)
2976         (remote_fileio_func_lseek, remote_fileio_func_rename)
2977         (remote_fileio_func_unlink, remote_fileio_func_stat)
2978         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
2979         (remote_fileio_func_isatty, remote_fileio_func_system): Add
2980         remote_target parameter.
2981         (remote_fio_func_map) <func>: Add remote_target parameter.
2982         (do_remote_fileio_request, remote_fileio_request):
2983         * remote-fileio.h (remote_fileio_request):
2984         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
2985         remote_target parameter.
2986         (remote_notif_process, handle_notification): Adjust to pass down
2987         the remote.
2988         (remote_notif_state_allocate): Add remote_target parameter.  Save
2989         it.
2990         * remote-notif.h (struct remote_target): Forward declare.
2991         (struct notif_client) <parse, ack, can_get_pending_events>: Add
2992         remote_target parameter.
2993         (struct remote_notif_state) <remote>: New field.
2994         (remote_notif_ack, remote_notif_parse): Add remote_target
2995         parameter.
2996         (remote_notif_state_allocate, remote_notif_state_allocate): Add
2997         remote_target parameter.
2998         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
2999         (threads_listing_context, rmt_thread_action, protocol_feature)
3000         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3001         (packet_result, struct threads_listing_context, remote_state):
3002         Move definitions and declarations higher up.
3003         (remote_target) <~remote_target>: Declare.
3004         (remote_download_command_source, remote_file_put, remote_file_get)
3005         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3006         (remote_hostio_pread_vFile, remote_hostio_send_command)
3007         (remote_hostio_set_filesystem, remote_hostio_open)
3008         (remote_hostio_close, remote_hostio_unlink, remote_state)
3009         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3010         (get_memory_write_packet_size, get_memory_read_packet_size)
3011         (append_pending_thread_resumptions, remote_detach_1)
3012         (append_resumption, remote_resume_with_vcont)
3013         (add_current_inferior_and_thread, wait_ns, wait_as)
3014         (process_stop_reply, remote_notice_new_inferior)
3015         (process_initial_stop_replies, remote_add_thread)
3016         (btrace_sync_conf, remote_btrace_maybe_reopen)
3017         (remove_new_fork_children, kill_new_fork_children)
3018         (discard_pending_stop_replies, stop_reply_queue_length)
3019         (check_pending_events_prevent_wildcard_vcont)
3020         (discard_pending_stop_replies_in_queue, stop_reply)
3021         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3022         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3023         (remote_interrupt_as, remote_interrupt_ns)
3024         (remote_get_noisy_reply, remote_query_attached)
3025         (remote_add_inferior, remote_current_thread, get_current_thread)
3026         (set_thread, set_general_thread, set_continue_thread)
3027         (set_general_process, write_ptid)
3028         (remote_unpack_thread_info_response, remote_get_threadinfo)
3029         (parse_threadlist_response, remote_get_threadlist)
3030         (remote_threadlist_iterator, remote_get_threads_with_ql)
3031         (remote_get_threads_with_qxfer)
3032         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3033         (get_offsets, remote_check_symbols, remote_supported_packet)
3034         (remote_query_supported, remote_packet_size)
3035         (remote_serial_quit_handler, remote_detach_pid)
3036         (remote_vcont_probe, remote_resume_with_hc)
3037         (send_interrupt_sequence, interrupt_query)
3038         (remote_notif_get_pending_events, fetch_register_using_p)
3039         (send_g_packet, process_g_packet, fetch_registers_using_g)
3040         (store_register_using_P, store_registers_using_G)
3041         (set_remote_traceframe, check_binary_download)
3042         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3043         (remote_xfer_live_readonly_partial, remote_read_bytes)
3044         (remote_send_printf, remote_flash_write, readchar)
3045         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3046         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3047         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3048         (extended_remote_disable_randomization, extended_remote_run)
3049         (send_environment_packet, extended_remote_environment_support)
3050         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3051         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3052         (packet_command): Now methods of ...
3053         (remote_target): ... this class.
3054         (m_remote_state) <remote_target>: New field.
3055         (struct remote_state) <stop_reply_queue,
3056         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3057         fields.
3058         (remote_state::remote_state): Allocate stop_reply_queue.
3059         (remote_state): Delete global.
3060         (get_remote_state_raw): Delete.
3061         (remote_target::get_remote_state): Allocate m_remote_state on
3062         demand.
3063         (get_current_remote_target): New.
3064         (remote_ops, extended_remote_ops): Delete.
3065         (wait_forever_enabled_p, remote_async_inferior_event_token):
3066         Delete, moved to struct remote_state.
3067         (remote_target::close): Delete self.  Destruction bits split to
3068         ...
3069         (remote_target::~remote_target): ... this.
3070         (show_memory_packet_size): Adjust to use
3071         get_current_remote_target.
3072         (struct protocol_feature) <func>: Add remote_target parameter.
3073         All callers adjusted.
3074         (curr_quit_handler_target): New.
3075         (remote_serial_quit_handler): Reimplement.
3076         (remote_target::open_1): Adjust to use get_current_remote_target.
3077         Heap-allocate remote_target/extended_remote_target instances.
3078         (vcont_builder::vcont_builder): Add remote_target parameter, and
3079         save it in m_remote.  All callers adjusted.
3080         (vcont_builder::m_remote): New field.
3081         (vcont_builder::restart, vcont_builder::flush)
3082         (vcont_builder::push_action): Use it.
3083         (remote_target::commit_resume): Use it.
3084         (struct queue_iter_param) <remote>: New field.
3085         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3086         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3087         (check_pending_event_prevents_wildcard_vcont_callback)
3088         (remote_target::check_pending_events_prevent_wildcard_vcont)
3089         (remote_target::discard_pending_stop_replies)
3090         (remote_target::discard_pending_stop_replies_in_queue)
3091         (remote_target::remote_notif_remove_queued_reply): Fill in
3092         'remote' field.
3093         (remote_notif_get_pending_events): New.
3094         (remote_target::readchar, remote_target::remote_serial_write):
3095         Save/restore curr_quit_handler_target.
3096         (putpkt): New.
3097         (kill_new_fork_children): Fill in 'remote' field.
3098         (packet_command): Use get_current_remote_target, defer to
3099         remote_target method of same name.
3100         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3101         parameter, and save it in m_remote.  All callers adjusted.
3102         (scoped_remote_fd::release): Use m_remote.
3103         (scoped_remote_fd::m_remote): New field.
3104         (remote_file_put, remote_file_get, remote_file_delete): Use
3105         get_current_remote_target, defer to remote_target method of same
3106         name.
3107         (remote_btrace_reset): Add remote_state paremeter.  Update all
3108         callers.
3109         (remote_async_inferior_event_handler). Pass down 'data'.
3110         (remote_new_objfile): Use get_current_remote_target.
3111         (remote_target::vcont_r_supported): New.
3112         (set_range_stepping): Use get_current_remote_target and
3113         remote_target::vcont_r_supported.
3114         (_initialize_remote): Don't allocate 'remote_state' and
3115         'stop_reply_queue' globals.
3116         * remote.h (struct remote_target): Forward declare.
3117         (getpkt, putpkt, remote_notif_get_pending_events): Add
3118         'remote_target' parameter.
3119
3120 2018-05-22  Pedro Alves  <palves@redhat.com>
3121
3122         * remote.c (vcont_builder): Now a class.  Make all data members
3123         private.
3124         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3125         Declare methods.
3126         (vcont_builder_restart): Rename to ...
3127         (vcont_builder::restart): ... this.
3128         (vcont_builder_flush): Rename to ...
3129         (vcont_builder::flush): ... this.
3130         (vcont_builder_push_action): Rename to ...
3131         (vcont_builder::push_action): ... this.
3132         (remote_target::commit_resume): Adjust.
3133
3134 2018-05-22  Pedro Alves  <palves@redhat.com>
3135
3136         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3137         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3138         (get_fixed_memory_packet_size): New.
3139         (get_memory_packet_size): Use it.
3140         (set_memory_packet_size): Don't override the config size with
3141         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3142         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3143         Don't refer to get_memory_packet_size if not connected to a remote
3144         target.  Show "(default)" if configured size is 0.
3145
3146 2018-05-22  Pedro Alves  <palves@redhat.com>
3147
3148         * remote.c (remote_target::mourn_inferior): Move
3149         discard_pending_stop_replies call here from ...
3150         (_initialize_remote): ... here.
3151
3152 2018-05-22  Pedro Alves  <palves@redhat.com>
3153
3154         * remote.c (compare_section_command): Remove set_general_process
3155         call.
3156
3157 2018-05-22  Pedro Alves  <palves@redhat.com>
3158
3159         * remote.c (struct packet_reg, struct remote_arch_state):
3160         Move higher up in the file.
3161         (remote_state) <m_arch_states>: Store remote_arch_state values
3162         instead of remote_arch_state pointers.
3163         (remote_state::get_remote_arch_state): Adjust.
3164
3165 2018-05-22  Pedro Alves  <palves@redhat.com>
3166
3167         * remote.c: Include <unordered_map>.
3168         (remote_state): Now a class.
3169         (remote_state) <get_remote_arch_state>: Declare method.
3170         <get_remote_arch_state>: New field.
3171         (remote_arch_state) <remote_arch_state>: Declare ctor.
3172         <regs>: Now a unique_ptr.
3173         (remote_gdbarch_data_handle): Delete.
3174         (get_remote_arch_state): Delete.
3175         (remote_state::get_remote_arch_state): New.
3176         (get_remote_state): Adjust to call remote_state's
3177         get_remote_arch_state method.
3178         (init_remote_state): Delete, bits factored out to ...
3179         (remote_arch_state::remote_arch_state): ... this new method.
3180         (get_remote_packet_size, get_memory_packet_size)
3181         (process_g_packet, remote_target::fetch_registers)
3182         (remote_target::prepare_to_store, store_registers_using_G)
3183         (remote_target::store_registers, remote_target::get_trace_status):
3184         Adjust to call remote_state's method.
3185         (_initialize_remote): Remove reference to
3186         remote_gdbarch_data_handle.
3187
3188 2018-05-22  Pedro Alves  <palves@redhat.com>
3189
3190         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
3191         pread>: New method declarations.
3192         (remote_target::open_1): Adjust.
3193         (readahead_cache_invalidate): Rename to ...
3194         (readahead_cache::invalidate): ... this, and adjust to be a class
3195         method.
3196         (readahead_cache_invalidate_fd): Rename to ...
3197         (readahead_cache::invalidate_fd): ... this, and adjust to be a
3198         class method.
3199         (remote_hostio_pwrite): Adjust.
3200         (remote_hostio_pread_from_cache): Rename to ...
3201         (readahead_cache::pread): ... this, and adjust to be a class
3202         method.
3203         (remote_hostio_close): Adjust.
3204
3205 2018-05-22  Pedro Alves  <palves@redhat.com>
3206
3207         * remote.c (remote_hostio_close_cleanup): Delete.
3208         (class scoped_remote_fd): New.
3209         (remote_file_put, remote_file_get): Use it.
3210
3211 2018-05-22  Pedro Alves  <palves@redhat.com>
3212
3213         (struct vCont_action_support): Use bool and initialize all fields.
3214         (struct readahead_cache): Initialize all fields.
3215         (remote_state): Use bool and initialize all fields.
3216         (remote_state::remote_state, remote_state::~remote_state): New.
3217         (new_remote_state): Delete.
3218         (_initialize_remote): Use new to allocate remote_state.
3219
3220 2018-05-22  Pedro Alves  <palves@redhat.com>
3221             張俊芝  <zjz@zjz.name>
3222
3223         PR gdb/22973
3224         * c-exp.y: Include "c-support.h".
3225         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
3226         of tolower.  Use c_ident_is_alpha to scan names.
3227         * c-lang.c: Include "c-support.h".
3228         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
3229         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
3230         * c-support.h: New file, with bits factored out from ...
3231         * cp-name-parser.y: ... this file.
3232         Include "c-support.h".
3233         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
3234         c-support.h and renamed.
3235         (symbol_end, yylex): Adjust.
3236
3237 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3238
3239         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
3240         parameter type to CORE_ADDR.
3241         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
3242         parameter type in declaration to CORE_ADDR.
3243         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
3244         target_auxv_search to get AT_HWCAP and use the result to get the
3245         target description.
3246         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
3247         to CORE_ADDR. Remove the cast of the return value to unsigned
3248         long. Fix error predicate of target_auxv_search.
3249         (ppc_linux_nat_target::read_description): Change the type of the
3250         hwcap variable to CORE_ADDR.
3251
3252 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3253
3254         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
3255         if the size of fpscr is larger than 32 bits.
3256
3257 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3258
3259         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
3260         (ppc32_linux_vsxregmap): New global.
3261         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
3262         regcache_supply_regset, and regcache_collect_regset.
3263         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
3264         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
3265         (fetch_vsx_register, store_vsx_register): Remove.
3266         (fetch_vsx_registers): Add regno parameter. Get regset using
3267         ppc_linux_vsxregset. Use regset to supply registers.
3268         (store_vsx_registers): Add regno parameter. Get regset using
3269         ppc_linux_vsxregset. Use regset to collect registers.
3270         (fetch_register): Call fetch_vsx_registers instead of
3271         fetch_vsx_register.
3272         (store_register): Call store_vsx_registers instead of
3273         store_vsx_register.
3274         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
3275         new regno parameter.
3276         (store_ppc_registers): Call store_vsx_registers with -1 for the
3277         new regno parameter.
3278         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
3279         (ppc_collect_vsxregset): Remove.
3280
3281 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3282
3283         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
3284         offset fields.
3285         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
3286         for vector register offset fields.
3287         (ppc64_fbsd_reg_offsets): Likewise.
3288         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
3289         to vector register offset fields.
3290         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
3291         to vector register offset fields.
3292         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
3293         vector register offset fields.
3294         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
3295         initializers for vector register offset fields.
3296         (rs6000_aix64_reg_offsets): Likewise.
3297         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
3298         (ppc_supply_vrregset): Remove.
3299         (ppc_collect_vrregset): Remove.
3300         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
3301         (ppc_linux_vrregset) : New function.
3302         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
3303         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
3304         (ppc32_linux_vrregset): Remove.
3305         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
3306         and use result instead of ppc32_linux_vrregset.
3307         (ppc32_linux_reg_offsets): Remove initializers for vector register
3308         offset fields.
3309         (ppc64_linux_reg_offsets): Likewise.
3310         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
3311         * ppc-linux-nat.c: Include regset.h.
3312         (gdb_vrregset_t): Adjust comment to account for little-endian
3313         mode.
3314         (supply_vrregset, fill_vrregset): Remove.
3315         (fetch_altivec_register, store_altivec_register): Remove.
3316         (fetch_altivec_registers): Add regno parameter. Get regset using
3317         ppc_linux_vrregset. Use regset to supply registers.
3318         (store_altivec_registers): Add regno parameter. Get regset using
3319         ppc_linux_vrregset. Use regset to collect registers.
3320         (fetch_register): Call fetch_altivec_registers instead of
3321         fetch_altivec_register.
3322         (store_register): Call store_altivec_registers instead of
3323         store_altivec_register.
3324         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
3325         the new regno parameter.
3326         (store_ppc_registers): Call store_altivec_registers with -1 for
3327         the new regno parameter.
3328
3329 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3330
3331         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
3332         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
3333         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
3334         (gdb_vrregset_t): Change array type size to
3335         PPC_LINUX_SIZEOF_VRREGSET.
3336         (gdb_vsxregset_t): Change array type size to
3337         PPC_LINUX_SIZEOF_VSXREGSET.
3338         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
3339         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
3340         PPC_LINUX_SIZEOF_VSXREGSET.
3341
3342 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3343
3344         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
3345         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
3346         nat/ppc-linux.c.
3347         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
3348         ppc_linux_target_wordsize with tid.
3349         (ppc_linux_nat_target::read_description): Call ppc_linux_target
3350         wordsize with tid.
3351         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
3352         (ppc64_64bit_inferior_p): Add static and inline specifiers.
3353         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
3354         tid parameter. Remove static specifier.
3355         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
3356         (ppc_linux_target_wordsize): New declaration.
3357
3358 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3359
3360         * arch/ppc-linux-common.c: New file.
3361         * arch/ppc-linux-common.h: New file.
3362         * arch/ppc-linux-tdesc.h: New file.
3363         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
3364         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
3365         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
3366         arch/ppc-linux-tdesc.h.
3367         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
3368         arch/ppc-linux-tdesc.h.
3369         (ppc_linux_nat_target::read_description): Remove target
3370         description matching code. Fill a ppc_linux_features struct and
3371         call ppc_linux_match_description with it. Move comment about ISA
3372         2.05 to ppc-linux-common.c.
3373         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
3374         arch/ppc-linux-tdesc.h.
3375         (ppc_linux_core_read_description): Remove target description
3376         matching code. Fill a ppc_linux_features struct and call
3377         ppc_linux_match_description with it.
3378         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
3379         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
3380         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
3381         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
3382         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
3383         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
3384         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
3385         (tdesc_powerpc_e500l): Remove.
3386
3387 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
3388
3389         * ada-lang.c (catch_assert_command): Pass empty string instead
3390         of NULL for excep_string argument.
3391
3392 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3393
3394         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
3395         the width of the requested register exceeds the width of the
3396         `ptrace' data type.
3397
3398 2018-05-21  Tom Tromey  <tom@tromey.com>
3399
3400         * printcmd.c (output_command): Remove.
3401         (output_command_const): Rename to output_command.
3402         * valprint.h (output_command): Rename from output_command_const.
3403         * tracepoint.c (trace_dump_actions): Call output_command.
3404
3405 2018-05-21  Tom Tromey  <tom@tromey.com>
3406
3407         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
3408         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
3409         * ada-lang.h (create_ada_exception_catchpoint): Update.
3410         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
3411         std::string.
3412         (create_excep_cond_exprs, ~ada_catchpoint)
3413         (should_stop_exception, print_one_exception)
3414         (print_mention_exception, print_recreate_exception): Update.
3415         (ada_get_next_arg): Remove.
3416         (catch_ada_exception_command_split): Use std::string.  Change type
3417         of "excep_string", "cond_string".
3418         (catch_ada_exception_command): Update.
3419         (create_ada_exception_catchpoint): Change type of excep_string.
3420         (ada_exception_sal): Remove excep_string parameter.
3421         (~ada_catchpoint): Remove.
3422
3423 2018-05-21  Tom Tromey  <tom@tromey.com>
3424
3425         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
3426         cleanup.
3427
3428 2018-05-21  Tom Tromey  <tom@tromey.com>
3429
3430         * ada-lang.c (ada_exception_message_1, ada_exception_message):
3431         Return unique_xmalloc_ptr.
3432         (print_it_exception): Update.
3433
3434 2018-05-21  Tom Tromey  <tom@tromey.com>
3435
3436         * tracepoint.c (trace_dump_actions): Use std::string.
3437
3438 2018-05-21  Tom Tromey  <tom@tromey.com>
3439
3440         * symfile.c (reread_symbols): Use std::string for original_name.
3441
3442 2018-05-21  Tom Tromey  <tom@tromey.com>
3443
3444         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
3445         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
3446         constructor.
3447
3448 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
3449
3450         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
3451         instance to...
3452         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
3453         * objfiles.c (get_objfile_bfd_data): Allocate
3454         objfile_per_bfd_storage with obstack_new when allocating on
3455         obstack.
3456
3457 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
3458
3459         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
3460         OBSTACK_ZALLOC.
3461         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
3462         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
3463         * mdebugread.c (mdebug_build_psymtabs): Likewise.
3464         (add_pending): Likewise.
3465         (parse_symbol): Likewise.
3466         (parse_partial_symbols): Likewise.
3467         (psymtab_to_symtab_1): Likewise.
3468         (new_psymtab): Likewise.
3469         (elfmdebug_build_psymtabs): Likewise.
3470         * minsyms.c (terminate_minimal_symbol_table): Likewise.
3471         * objfiles.c (get_objfile_bfd_data): Likewise.
3472         (objfile_register_static_link): Likewise.
3473         * psymtab.c (allocate_psymtab): Likewise.
3474         * stabsread.c (read_member_functions): Likewise.
3475         * xcoffread.c (xcoff_end_psymtab): Likewise.
3476
3477 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
3478
3479         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
3480         compiler supports std::is_trivially_constructible.
3481         * common/poison.h: Include obstack.h.
3482         (IsMallocable): Define to is_trivially_constructible if the
3483         compiler supports it, define to true_type otherwise.
3484         (xobnew): New.
3485         (XOBNEW): Redefine.
3486         (xobnewvec): New.
3487         (XOBNEWVEC): Redefine.
3488         * gdb_obstack.h (obstack_zalloc): New.
3489         (OBSTACK_ZALLOC): Redefine.
3490         (obstack_calloc): New.
3491         (OBSTACK_CALLOC): Redefine.
3492         (obstack_new): New.
3493         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
3494         (gdbarch_obstack): New declaration in gdbarch.h, definition in
3495         gdbarch.c.
3496         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
3497         obstack_calloc/obstack_zalloc.
3498         (gdbarch_obstack_zalloc): Remove.
3499         * target-descriptions.c (tdesc_data_init): Use obstack_new.
3500
3501 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3502
3503         * stack.c (backtrace_command_1): Remove useless variable int i.
3504
3505 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3506
3507         * stack.c (print_frame_info): Fix comment.
3508
3509 2018-05-18  Tom Tromey  <tom@tromey.com>
3510
3511         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
3512         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
3513         (~dwarf2_per_objfile): Update
3514         (dwarf2_get_dwz_file): Use new.
3515         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
3516         unique_ptr.
3517
3518 2018-05-18  Tom Tromey  <tom@tromey.com>
3519
3520         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
3521         unique_ptr.
3522         * dwarf2read.c (struct dwp_file): Add constructor and
3523         initializers.
3524         (open_and_init_dwp_file): Return a unique_ptr.
3525         (dwarf2_per_objfile, create_dwp_hash_table)
3526         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
3527         (lookup_dwo_unit_in_dwp): Update.
3528         (open_and_init_dwp_file, get_dwp_file): Update.
3529
3530 2018-05-18  Tom Tromey  <tom@tromey.com>
3531
3532         * dwarf2read.c (dwarf2_per_objfile): Update.
3533         (struct mapped_index): Add initializers.
3534         (dwarf2_read_index): Use new.
3535         (dw2_symtab_iter_init): Update.
3536         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
3537         unique_ptr.
3538
3539 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
3540
3541         * dwarf2read.c (mapped_index) <total_size>: Remove.
3542
3543 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
3544
3545         * unittests/format_pieces-selftests.c (test_format_specifier):
3546         Add ARI comments.
3547
3548 2018-05-18  Tom Tromey  <tom@tromey.com>
3549
3550         * c-typeprint.c (maybe_print_hole): New function.
3551         (c_print_type_struct_field_offset): Update.
3552         (c_type_print_base_struct_union): Call maybe_print_hole.
3553
3554 2018-05-17  Keith Seitz  <keiths@redhat.com>
3555
3556         * breakpoint.c (build_bpstat_chain): New function, moved from
3557         bpstat_stop_status.
3558         (bpstat_stop_status): Add optional parameter, `stop_chain'.
3559         If no stop chain is passed, call build_bpstat_chain to build it.
3560         * breakpoint.h (build_bpstat_chain): Declare.
3561         (bpstat_stop_status): Move documentation here from breakpoint.c.
3562         * infrun.c (handle_signal_stop): Before eliding inlined frames,
3563         build the stop chain and pass it to skip_inline_frames.
3564         Pass this stop chain to bpstat_stop_status.
3565         * inline-frame.c: Include breakpoint.h.
3566         (stopped_by_user_bp_inline_frame): New function.
3567         (skip_inline_frames): Add parameter `stop_chain'.
3568         Move documention to inline-frame.h.
3569         If non-NULL, use stopped_by_user_bp_inline_frame to determine
3570         whether the frame should be elided.
3571         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
3572         Add moved documentation and update for new parameter.
3573
3574 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
3575
3576         PR cli/14975
3577         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3578         unittests/format_pieces-selftests.c.
3579         * common/format.h (format_piece) <operator==>: New.
3580         (format_pieces) <operator[]>: Remove.
3581         * common/format.c (format_pieces::format_pieces): Handle \e.
3582         * unittests/format_pieces-selftests.c: New.
3583
3584 2018-05-17  Tom Tromey  <tom@tromey.com>
3585
3586         PR symtab/23010:
3587         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
3588         (dw2_instantiate_symtab): Add skip_partial parameter.
3589         (dw2_find_last_source_symtab, dw2_map_expand_apply)
3590         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
3591         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
3592         (dw2_expand_symtabs_matching_one)
3593         (dw2_find_pc_sect_compunit_symtab)
3594         (dw2_debug_names_lookup_symbol)
3595         (dw2_debug_names_expand_symtabs_for_function): Update.
3596         (init_cutu_and_read_dies): Add skip_partial parameter.
3597         (process_psymtab_comp_unit, build_type_psymtabs_1)
3598         (process_skeletonless_type_unit, load_partial_comp_unit)
3599         (psymtab_to_symtab_1): Update.
3600         (load_full_comp_unit): Add skip_partial parameter.
3601         (process_imported_unit_die, dwarf2_read_addr_index)
3602         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
3603         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
3604         (read_signatured_type): Update.
3605
3606 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
3607
3608         * value.c (release_value): Remove unused variable.
3609         (record_latest_value): Likewise.
3610         (access_value_history): Likewise.
3611         (preserve_values): Likewise.
3612
3613 2018-05-17  Tom Tromey  <tom@tromey.com>
3614
3615         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
3616         Initialize.
3617
3618 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
3619
3620         PR gdb/22286
3621         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
3622         Also handle registers whose width is not a multiple of
3623         PTRACE_TYPE_RET.
3624         (linux_nat_trad_target::store_register): Likewise.
3625
3626 2018-05-16  Tom Tromey  <tom@tromey.com>
3627
3628         * gdbcore.h (core_bfd): Redefine.
3629         * corelow.c (core_target::close): Update.
3630         (core_target_open): Update.
3631         * progspace.h (struct program_space) <cbfd>: Now a
3632         gdb_bfd_ref_ptr.
3633
3634 2018-05-16  Tom Tromey  <tom@tromey.com>
3635
3636         PR cli/19551:
3637         * symfile-add-flags.h (enum symfile_add_flags)
3638         <SYMFILE_NOT_FILENAME>: New constant.
3639         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
3640         objfile name from BFD.
3641         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
3642         * minidebug.c (find_separate_debug_file_in_section): Put
3643         ".gnu_debugdata" into BFD's file name.
3644
3645 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
3646
3647         * regcache.c (regcache_read_ftype, regcache_write_ftype):
3648         Remove.
3649
3650 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
3651
3652         PR binutils/21446
3653         * aarch64-tdep.c (aarch64_analyze_prologue,
3654         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
3655         Indicate not interested in errors.
3656
3657 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
3658
3659         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
3660         Supply the MIPS_ZERO_REGNUM register.
3661
3662 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
3663
3664         * mips-tdep.c (mask_address_var): Make variable static.
3665
3666 2018-05-14  Tom Tromey  <tom@tromey.com>
3667
3668         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
3669
3670 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
3671
3672         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
3673         FXSAVE_ADDR for the mxcsr register.
3674
3675 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
3676
3677         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
3678
3679 2018-05-11  Pedro Alves  <palves@redhat.com>
3680
3681         * corelow.c (core_target) <core_target>: No longer inline.
3682         Initialize m_core_gdbarch, m_core_vec and build the section table
3683         here.
3684         <~core_target>: New.
3685         <core_gdbarch, get_core_register_section>: New methods.
3686         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
3687         factored out from ...
3688         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
3689         (core_ops): Delete.
3690         (sniff_core_bfd): Add gdbarch parameter.
3691         (core_close): Delete, merged into ...
3692         (core_target::close): ... here.  Delete self.
3693         (core_close_cleanup): Delete.
3694         (core_target_open): Allocate a core_target on the heap.  Use a
3695         unique_ptr instead of a cleanup.  Bits moved into the core_target
3696         ctor.  Adjust to use core_target methods instead of globals.
3697         (get_core_register_section): Rename to ...
3698         (core_target::get_core_register_section): ... this and adjust.
3699         (struct get_core_registers_cb_data): New.
3700         (get_core_registers_cb): Use it.  Use bool.
3701         (core_target::fetch_registers, core_target::files_info)
3702         (core_target::xfer_partial, core_target::read_description)
3703         (core_target::pid_to, core_target::thread_name): Adjust to
3704         reference class fields instead of globals.
3705         * target.h (struct target_ops_deleter, target_ops_up): New.
3706
3707 2018-05-11  Pedro Alves  <palves@redhat.com>
3708
3709         * corefile.c (core_file_command): Move to corelow.c.
3710         * corelow.c (the_core_target): Delete.
3711         (core_file_command): Moved from corefile.c.  Check exec_bfd
3712         instead of the_core_target.  Use target_detach instead of calling
3713         into the_core_target directly.
3714         (maybe_say_no_core_file_now): New.
3715         (core_target::detach): Use it.
3716         (_initialize_corelow): Remove references to the_core_target.
3717         * gdbcore.h (the_core_target): Delete.
3718
3719 2018-05-11  Tom Tromey  <tromey@redhat.com>
3720             Pedro Alves  <palves@redhat.com>
3721
3722         * corefile.c (core_bfd): Remove.
3723         * gdbcore.h (core_bfd): Now a macro.
3724         * progspace.h (struct program_space) <cbfd>: New field.
3725
3726 2018-05-11  Tom Tromey  <tom@tromey.com>
3727
3728         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
3729         gdb::def_vector.
3730
3731 2018-05-10  Tom Tromey  <tom@tromey.com>
3732
3733         * configure: Rebuild.
3734         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
3735
3736 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
3737
3738         PR server/23158:
3739         * regformats/regdat.sh: Adjust script, following the addition
3740         of the new expedite_regs parameter to init_target_desc.
3741
3742 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
3743     
3744         PR gdb/23127
3745         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
3746         set_gdbarch_significant_addr_bit.
3747         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
3748         set_gdbarch_significant_addr_bit.
3749         * utils.c (address_significant): Update to sign extend addr.
3750
3751 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
3752
3753         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
3754         (xtensa_linux_init_abi): Limit tdep->num_regs by
3755         tdep->num_nopriv_regs.
3756         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
3757         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
3758         not initialized.
3759
3760 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
3761
3762         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
3763
3764 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
3765
3766         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
3767         (I387_MXCSR_INIT_VAL): New constant.
3768         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
3769         buffer if it was supplied by the inferior.
3770         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
3771         (i387_xsave_get_clear_bv): New function.
3772         (i387_supply_xsave): Only read x87 control registers from the
3773         xsave buffer if the feature is enabled, and the state will have
3774         been written, otherwise, provide a suitable default.
3775         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
3776         including x87 control registers.  Update control registers if they
3777         have changed from the default value, and mark features as enabled
3778         as required.
3779         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
3780
3781 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
3782
3783         * spu-tdep.c (info_spu_event_command): Fix output formatting.
3784
3785 2018-05-07  Tom Tromey  <tom@tromey.com>
3786
3787         * configure: Rebuild.
3788         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
3789
3790 2018-05-07  Tom Tromey  <tom@tromey.com>
3791
3792         PR tdep/20362:
3793         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
3794         bit.  Use correct value for VDIV.
3795
3796 2018-05-04  Tom Tromey  <tom@tromey.com>
3797
3798         * configure: Rebuild.
3799         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
3800
3801 2018-05-04  Tom Tromey  <tom@tromey.com>
3802
3803         * linux-record.c (record_linux_system_call) <case
3804         RECORD_SYS_RECVFROM>: Add "break".
3805
3806 2018-05-04  Tom Tromey  <tom@tromey.com>
3807
3808         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
3809         Add missing "break".
3810         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
3811         Add missing "break".
3812
3813 2018-05-04  Tom Tromey  <tom@tromey.com>
3814
3815         * rs6000-tdep.c (ppc_process_record_op4)
3816         (ppc_process_record_op63): Add fall-through comment.
3817
3818 2018-05-04  Tom Tromey  <tom@tromey.com>
3819
3820         * i386-tdep.c (i386_process_record): Add fall-through comment.
3821
3822 2018-05-04  Tom Tromey  <tom@tromey.com>
3823
3824         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
3825         comment.
3826
3827 2018-05-04  Tom Tromey  <tom@tromey.com>
3828
3829         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
3830         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
3831         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
3832         comment.
3833         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
3834         comment.
3835         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
3836         comment.
3837
3838 2018-05-04  Tom Tromey  <tom@tromey.com>
3839
3840         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
3841
3842 2018-05-04  Tom Tromey  <tom@tromey.com>
3843
3844         * s390-tdep.c (s390_process_record): Fix fall-through comments.
3845         * xcoffread.c (scan_xcoff_symtab): Move comment later.
3846         * symfile.c (section_is_mapped): Fix fall-through comment.
3847         * stabsread.c (define_symbol, read_member_functions): Fix
3848         fall-through comment.
3849         * s390-linux-tdep.c (s390_process_record): Fix fall-through
3850         comment.
3851         * remote.c (remote_wait_as): Fix fall-through comment.
3852         * p-exp.y (yylex): Fix fall-through comment.
3853         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
3854         comment.
3855         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
3856         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
3857         * jv-exp.y (yylex): Fix fall-through comment.
3858         * go-exp.y (lex_one_token): Fix fall-through comment.
3859         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
3860         fall-through comment.
3861         * f-exp.y (yylex): Fix fall-through comment.
3862         * dwarf2read.c (process_die): Fix fall-through comments.
3863         * dbxread.c (process_one_symbol): Fix fall-through comment.
3864         * d-exp.y (lex_one_token): Fix fall-through comment.
3865         * cp-name-parser.y (yylex): Fix fall-through comment.
3866         * coffread.c (coff_symtab_read): Fix fall-through comment.
3867         * c-exp.y (lex_one_token): Fix fall-through comment.
3868         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
3869         comment.
3870         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
3871         comment.
3872
3873 2018-05-04  Tom Tromey  <tom@tromey.com>
3874
3875         PR python/22730:
3876         * NEWS: Mention gdb.execute change.
3877         * gdbcmd.h (execute_control_command): Don't declare.
3878         * python/python.c (execute_gdb_command): Use read_command_lines_1,
3879         execute_control_commands, execute_control_commands_to_string.
3880         * cli/cli-script.h (execute_control_commands)
3881         (execute_control_commands_to_string): Declare.
3882         (execute_control_command): Add from_tty parameter.
3883         * cli/cli-script.c (execute_control_commands)
3884         (execute_control_commands_to_string): New functions.
3885         (execute_user_command): Use execute_control_commands.
3886         (execute_control_command_1): Add "from_tty" parameter.  Update.
3887         (execute_control_command): Likewise.
3888
3889 2018-05-04  Tom Tromey  <tom@tromey.com>
3890
3891         PR python/22731:
3892         * NEWS: Mention that breakpoint commands are writable.
3893         * python/py-breakpoint.c (bppy_set_commands): New function.
3894         (breakpoint_object_getset) <"commands">: Use it.
3895
3896 2018-05-04  Tom Tromey  <tom@tromey.com>
3897
3898         * tracepoint.c (actions_command): Update.
3899         * mi/mi-cmd-break.c (mi_command_line_array)
3900         (mi_command_line_array_cnt, mi_command_line_array_ptr)
3901         (mi_read_next_line): Remove.
3902         (mi_cmd_break_commands): Update.
3903         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
3904         function_view.
3905         * cli/cli-script.c (get_command_line): Update.
3906         (process_next_line): Use function_view.  Constify.
3907         (recurse_read_control_structure, read_command_lines)
3908         (read_command_lines_1): Change argument types to function_view.
3909         (do_define_command, document_command): Update.
3910         * breakpoint.h (check_tracepoint_command): Don't declare.
3911         * breakpoint.c (check_tracepoint_command): Remove.
3912         (commands_command_1, create_tracepoint_from_upload): Update.
3913
3914 2018-05-04  Tom Tromey  <tom@tromey.com>
3915
3916         PR gdb/11750:
3917         * cli/cli-script.h (enum command_control_type) <define_control>:
3918         New constant.
3919         * cli/cli-script.c (multi_line_command_p): Handle define_control.
3920         (build_command_line, execute_control_command_1)
3921         (process_next_line): Likewise.
3922         (do_define_command): New function, extracted from define_command.
3923         (define_command): Use it.
3924
3925 2018-05-04  Tom Tromey  <tom@tromey.com>
3926
3927         * tracepoint.c (actions_command): Update.
3928         * cli/cli-script.h (read_command_lines): Update.
3929         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
3930         (MAX_TMPBUF): Remove define.
3931         (define_command): Use string_printf.
3932         (document_command): Likewise.
3933         * breakpoint.c (commands_command_1): Update.
3934
3935 2018-05-04  Tom Tromey  <tom@tromey.com>
3936
3937         * top.c (execute_command): Update.
3938         * cli/cli-script.h (print_command_lines): Now varargs.
3939         * cli/cli-script.c (print_command_lines): Now varargs.
3940         (execute_control_command_1) <case while_control, case if_control>:
3941         Update.
3942
3943 2018-05-04  Tom Tromey  <tom@tromey.com>
3944
3945         * tracepoint.c (all_tracepoint_actions): Rename from
3946         all_tracepoint_actions_and_cleanup.  Change return type.
3947         (actions_command, encode_actions_1, encode_actions)
3948         (trace_dump_actions, tdump_command): Update.
3949         * remote.c (remote_download_command_source): Update.
3950         * python/python.c (gdbpy_eval_from_control_command)
3951         (python_command, python_interactive_command): Update.
3952         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
3953         * guile/guile.c (guile_command)
3954         (gdbscm_eval_from_control_command, guile_command): Update.
3955         * compile/compile.c (compile_code_command)
3956         (compile_print_command, compile_to_object): Update.
3957         * cli/cli-script.h (struct command_lines_deleter): New.
3958         (counted_command_line): New typedef.
3959         (struct command_line): Add constructor, destructor.
3960         <body_list>: Remove.
3961         <body_list_0, body_list_1>: New members.
3962         (command_line_up): Remove typedef.
3963         (read_command_lines, read_command_lines_1, get_command_line):
3964         Update.
3965         (copy_command_lines): Don't declare.
3966         * cli/cli-script.c (build_command_line): Use "new".
3967         (get_command_line): Return counted_command_line.
3968         (print_command_lines, execute_user_command)
3969         (execute_control_command_1, while_command, if_command): Update.
3970         (realloc_body_list): Remove.
3971         (process_next_line, recurse_read_control_structure): Update.
3972         (read_command_lines, read_command_lines_1): Return counted_command_line.
3973         (free_command_lines): Use "delete".
3974         (copy_command_lines): Remove.
3975         (define_command, document_command, show_user_1): Update.
3976         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
3977         a counted_command_line.
3978         * breakpoint.h (counted_command_line): Remove typedef.
3979         (breakpoint_set_commands): Update.
3980         * breakpoint.c (check_no_tracepoint_commands)
3981         (validate_commands_for_breakpoint): Update.
3982         (breakpoint_set_commands): Change commands to be a
3983         counted_command_line.
3984         (commands_command_1, update_dprintf_command_list)
3985         (create_tracepoint_from_upload): Update.
3986
3987 2018-05-04  Tom Tromey  <tom@tromey.com>
3988
3989         * cli/cli-decode.h (cmd_list_element): New constructor.
3990         (~cmd_list_element): New destructor.
3991         (struct cmd_list_element): Add initializers.
3992         * cli/cli-decode.c (do_add_cmd): Use "new".
3993         (delete_cmd): Use "delete".
3994
3995 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
3996             Pedro Alves <palves@redhat.com>
3997
3998         PR breakpoints/19806 and support for PR external/20207.
3999         * NEWS: Mention Aarch64 watchpoint improvements.
4000         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4001         watchpoints and PR external/20207 watchpoints.
4002         * nat/aarch64-linux-hw-point.c
4003         (kernel_supports_any_contiguous_range): New.
4004         (aarch64_watchpoint_offset): New.
4005         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4006         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4007         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4008         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4009         next_addr_orig_p.  Support PR external/20207 watchpoints.
4010         (aarch64_downgrade_regs): New.
4011         (aarch64_dr_state_insert_one_point): New parameters offset and
4012         addr_orig.
4013         (aarch64_dr_state_remove_one_point): Likewise.
4014         (aarch64_handle_breakpoint): Update caller.
4015         (aarch64_handle_aligned_watchpoint): Likewise.
4016         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4017         aligned_offset.
4018         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4019         aarch64_downgrade_regs.
4020         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4021         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4022         (DR_CONTROL_MASK): ... this.
4023         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4024         (unsigned int aarch64_watchpoint_offset): New prototype.
4025         (aarch64_linux_set_debug_regs): Remove const from state.
4026         * utils.c (align_up, align_down): Move to ...
4027         * common/common-utils.c (align_up, align_down): ... here.
4028         * utils.h (align_up, align_down): Move to ...
4029         * common/common-utils.h (align_up, align_down): ... here.
4030
4031 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4032
4033         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4034         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4035         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4036         Re-implement to match the ABI as summarized in GCC's
4037         gcc/config/sparc/sparc.c.  All callers updated.
4038         (sparc32_store_arguments): Remove assertion.
4039
4040 2018-05-04  Tom Tromey  <tom@tromey.com>
4041
4042         * printcmd.c: Don't include tui.h.
4043         (decode_format): Use skip_spaces.
4044
4045 2018-05-04  Tom Tromey  <tom@tromey.com>
4046
4047         PR gdb/22619:
4048         * printcmd.c (last_count): New global.
4049         (x_command): Use saved count when repeating.
4050
4051 2018-05-04  Tom Tromey  <tom@tromey.com>
4052
4053         * nto-procfs.c (do_closedir_cleanup): Remove.
4054         (procfs_pidlist): Use gdb_dir_up.
4055         * procfs.c (do_closedir_cleanup): Remove.
4056         (proc_update_threads): Use gdb_dir_up.
4057         * common/filestuff.h (struct gdb_dir_deleter): New.
4058         (gdb_dir_up): New typedef.
4059
4060 2018-05-04  Tom Tromey  <tom@tromey.com>
4061
4062         * ada-lang.c (print_mention_exception): Use std::string.
4063
4064 2018-05-04  Tom Tromey  <tom@tromey.com>
4065
4066         * ada-lang.c (create_excep_cond_exprs): Update.
4067         (ada_exception_catchpoint_cond_string): Use std::string.
4068
4069 2018-05-04  Tom Tromey  <tom@tromey.com>
4070
4071         * ada-lang.c (xget_renaming_scope): Return std::string.
4072         (old_renaming_is_invisible): Update.
4073
4074 2018-05-04  Tom Tromey  <tom@tromey.com>
4075
4076         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4077         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4078
4079 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4080
4081         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4082
4083 2018-05-04  Tom Tromey  <tom@tromey.com>
4084
4085         * remote.c (remote_query_supported_append): Change type.
4086         (remote_check_symbols): Update.
4087
4088 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4089
4090         PR gdb/11420
4091         * configure.ac: Prepend libpython.
4092         * python/python-config.py: Likewise.
4093         * configure: Regenerate.
4094
4095 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4096
4097         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4098
4099 2018-05-03  Pedro Alves  <palves@redhat.com>
4100
4101         * s390-linux-nat.c
4102         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4103         override.  Write 'true' instead of '1'.
4104         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4105         declaration.
4106
4107 2018-05-02  Pedro Alves  <palves@redhat.com>
4108
4109         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4110         add_inf_child_target.
4111         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4112         add_inf_child_target.
4113         * aix-thread.c (aix_thread_target_info): New.
4114         (aix_thread_target) <shortname, longname, doc>: Delete.
4115         <info>: New.
4116         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4117         add_inf_child_target.
4118         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4119         add_inf_child_target.
4120         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4121         add_inf_child_target.
4122         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4123         add_inf_child_target.
4124         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4125         add_inf_child_target.
4126         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4127         add_inf_child_target.
4128         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4129         add_inf_child_target.
4130         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4131         add_inf_child_target.
4132         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4133         add_inf_child_target.
4134         * bfd-target.c (target_bfd_target_info): New.
4135         (target_bfd) <shortname, longname, doc>: Delete.
4136         <info>: New.
4137         * bsd-kvm.c (bsd_kvm_target_info): New.
4138         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4139         <info>: New.
4140         (bsd_kvm_target::open): Rename to ...
4141         (bsd_kvm_target_open): ... this.  Adjust.
4142         * bsd-uthread.c (bsd_uthread_target_info): New.
4143         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4144         <info>: New.
4145         * corefile.c (core_file_command): Adjust.
4146         * corelow.c (core_target_info): New.
4147         (core_target) <shortname, longname, doc>: Delete.
4148         <info>: New.
4149         (core_target::open): Rename to ...
4150         (core_target_open): ... this.  Adjust.
4151         * ctf.c (ctf_target_info): New.
4152         (ctf_target) <shortname, longname, doc>: Delete.
4153         <info>: New.
4154         (ctf_target::open): Rename to ...
4155         (ctf_target_open): ... this.
4156         (_initialize_ctf): Adjust.
4157         * exec.c (exec_target_info): New.
4158         (exec_target) <shortname, longname, doc>: Delete.
4159         <info>: New.
4160         (exec_target::open): Rename to ...
4161         (exec_target_open): ... this.
4162         * gdbcore.h (core_target_open): Declare.
4163         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
4164         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
4165         add_inf_child_target.
4166         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
4167         add_inf_child_target.
4168         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
4169         add_inf_child_target.
4170         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
4171         add_inf_child_target.
4172         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
4173         add_inf_child_target.
4174         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
4175         add_inf_child_target.
4176         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
4177         add_inf_child_target.
4178         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
4179         add_inf_child_target.
4180         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
4181         add_inf_child_target.
4182         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
4183         add_inf_child_target.
4184         * inf-child.c (inf_child_target_info): New.
4185         (inf_child_target::info): New.
4186         (inf_child_open_target): Remove 'target' parameter.  Use
4187         get_native_target instead.
4188         (inf_child_target::open): Delete.
4189         (add_inf_child_target): New.
4190         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
4191         Delete.
4192         <info>: New.
4193         (add_inf_child_target): Declare.
4194         (inf_child_open_target): Declare.
4195         * linux-thread-db.c (thread_db_target_info): New.
4196         (thread_db_target) <shortname, longname, doc>: Delete.
4197         <info>: New.
4198         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
4199         add_inf_child_target.
4200         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
4201         add_inf_child_target.
4202         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
4203         add_inf_child_target.
4204         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
4205         add_inf_child_target.
4206         * make-target-delegates (print_class): Adjust.
4207         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
4208         add_inf_child_target.
4209         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
4210         add_inf_child_target.
4211         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
4212         add_inf_child_target.
4213         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
4214         add_inf_child_target.
4215         * nto-procfs.c (nto_native_target_info): New.
4216         (nto_procfs_target_native) <shortname, longname, doc>:
4217         Delete.
4218         <info>: New.
4219         (nto_procfs_target_info): New.
4220         (nto_procfs_target_procfs) <shortname, longname, doc>:
4221         Delete.
4222         <info>: New.
4223         (init_procfs_targets): Adjust.
4224         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
4225         add_inf_child_target.
4226         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
4227         add_inf_child_target.
4228         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
4229         add_inf_child_target.
4230         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
4231         add_inf_child_target.
4232         * ravenscar-thread.c (ravenscar_target_info): New.
4233         (ravenscar_thread_target) <shortname, longname, doc>:
4234         Delete.
4235         <info>: New.
4236         * record-btrace.c (record_btrace_target_info):
4237         (record_btrace_target) <shortname, longname, doc>: Delete.
4238         <info>: New.
4239         (record_btrace_target::open): Rename to ...
4240         (record_btrace_target_open): ... this.  Adjust.
4241         * record-full.c (record_longname, record_doc): New.
4242         (record_full_base_target) <shortname, longname, doc>: Delete.
4243         <info>: New.
4244         (record_full_target_info): New.
4245         (record_full_target): <shortname>: Delete.
4246         <info>: New.
4247         (record_full_core_open_1, record_full_open_1): Update comments.
4248         (record_full_base_target::open): Rename to ...
4249         (record_full_open): ... this.
4250         (cmd_record_full_restore): Update.
4251         (_initialize_record_full): Update.
4252         * remote-sim.c (remote_sim_target_info): New.
4253         (gdbsim_target) <shortname, longname, doc>: Delete.
4254         <info>: New.
4255         (gdbsim_target::open): Rename to ...
4256         (gdbsim_target_open): ... this.
4257         (_initialize_remote_sim): Adjust.
4258         * remote.c (remote_doc): New.
4259         (remote_target_info): New.
4260         (remote_target) <shortname, longname, doc>: Delete.
4261         <info>: New.
4262         (extended_remote_target_info): New.
4263         (extended_remote_target) <shortname, longname, doc>: Delete.
4264         <info>: New.
4265         (remote_target::open_1): Make static.  Adjust.
4266         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
4267         * s390-linux-nat.c (_initialize_s390_nat): Use
4268         add_inf_child_target.
4269         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
4270         add_inf_child_target.
4271         * sol-thread.c (thread_db_target_info): New.
4272         (sol_thread_target) <shortname, longname, doc>: Delete.
4273         <info>: New.
4274         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
4275         add_inf_child_target.
4276         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
4277         add_inf_child_target.
4278         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
4279         add_inf_child_target.
4280         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
4281         add_inf_child_target.
4282         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
4283         add_inf_child_target.
4284         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
4285         add_inf_child_target.
4286         * spu-linux-nat.c (_initialize_spu_nat): Use
4287         add_inf_child_target.
4288         * spu-multiarch.c (spu_multiarch_target_info): New.
4289         (spu_multiarch_target) <shortname, longname, doc>: Delete.
4290         <info>: New.
4291         * target-delegates.c: Regenerate.
4292         * target.c: Include <unordered_map>.
4293         (target_ops_p): Delete.
4294         (DEF_VEC_P(target_ops_p)): Delete.
4295         (target_factories): New.
4296         (test_target_info): New.
4297         (test_target_ops::info): New.
4298         (open_target): Adjust to use target_factories.
4299         (add_target_with_completer): Rename to ...
4300         (add_target): ... this.  Change prototype.  Register target_info
4301         and open callback in target_factories.  Register target_info in
4302         command context instead of target_ops.
4303         (add_target): Delete old implementation.
4304         (add_deprecated_target_alias): Change prototype.  Adjust.
4305         (the_native_target): New.
4306         (set_native_target, get_native_target): New.
4307         (find_default_run_target): Use the_native_target.
4308         (find_attach_target, find_run_target): Simplify.
4309         (target_ops::open): Delete.
4310         (dummy_target_info): New.
4311         (dummy_target::shortname, dummy_target::longname)
4312         (dummy_target::doc): Delete.
4313         (dummy_target::info): New.
4314         (debug_target::shortname, debug_target::longname)
4315         (debug_target::doc): Delete.
4316         (debug_target::info): New.
4317         * target.h (struct target_info): New.
4318         (target_ops::~target_ops): Add comment.
4319         (target_ops::info): New.
4320         (target_ops::shortname, target_ops::longname, target_ops::doc): No
4321         longer virtual.  Implement in terms of target_info.
4322         (set_native_target, get_native_target): Declare.
4323         (target_open_ftype): New.
4324         (add_target, add_target_with_completer)
4325         (add_deprecated_target_alias): Change prototype.
4326         (test_target) <shortname, longname, doc>: Delete.
4327         <info>: New.
4328         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
4329         add_inf_child_target.
4330         * tracefile-tfile.c (tfile_target_info): New.
4331         (tfile_target) <shortname, longname, doc>: Delete.
4332         <info>: New.
4333         (tfile_target::open): Rename to ...
4334         (tfile_target_open): ... this.
4335         (_initialize_tracefile_tfile): Adjust.
4336         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
4337         add_inf_child_target.
4338         * windows-nat.c (_initialize_windows_nat): Use
4339         add_inf_child_target.
4340         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
4341         add_inf_child_target.
4342
4343 2018-05-02  Pedro Alves  <palves@redhat.com>
4344
4345         * linux-nat.h (linux_nat_target) <low_new_thread,
4346         low_delete_thread, low_new_fork, low_forget_process,
4347         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
4348         New virtual methods.
4349         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
4350         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
4351         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
4352         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
4353         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
4354         Delete.
4355         * linux-fork.c (delete_fork): Adjust to call low method.
4356         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
4357         (linux_nat_new_fork, linux_nat_forget_process_hook)
4358         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
4359         (linux_nat_status_is_event):
4360         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
4361         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
4362         to call low method.
4363         (sigtrap_is_event): Rename to ...
4364         (linux_nat_target::low_status_is_event): ... this.
4365         (linux_nat_set_status_is_event): Delete.
4366         (save_stop_reason, linux_nat_wait_1)
4367         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
4368         low methods.
4369         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
4370         (linux_nat_set_new_fork, linux_nat_set_forget_process)
4371         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
4372         (linux_nat_set_prepare_to_resume): Delete.
4373         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
4374         low virtual methods.
4375         * amd64-linux-nat.c: Likewise.
4376         * arm-linux-nat.c: Likewise.
4377         * i386-linux-nat.c: Likewise.
4378         * ia64-linux-nat.c: Likewise.
4379         * mips-linux-nat.c: Likewise.
4380         * ppc-linux-nat.c: Likewise.
4381         * s390-linux-nat.c: Likewise.
4382         * sparc64-linux-nat.c: Likewise.
4383         * x86-linux-nat.c: Likewise.
4384         * x86-linux-nat.h: Include "nat/x86-linux.h".
4385         (x86_linux_nat_target) <low_new_fork, low_forget_process,
4386         low_prepare_to_resume, low_new_thread, low_delete_thread>:
4387         Override methods.
4388
4389 2018-05-02  Pedro Alves  <palves@redhat.com>
4390
4391         * target.h (target_ops)
4392         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
4393         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
4394         stopped_by_watchpoint, have_continuable_watchpoint,
4395         stopped_data_address, watchpoint_addr_within_range,
4396         can_accel_watchpoint_condition, can_run, thread_alive,
4397         has_all_memory, has_memory, has_stack, has_registers,
4398         has_execution, can_async_p, is_async_p, supports_non_stop,
4399         always_non_stop_p, can_execute_reverse, supports_multi_process,
4400         supports_enable_disable_tracepoint,
4401         supports_disable_randomization, supports_string_tracing,
4402         supports_evaluation_of_breakpoint_conditions,
4403         can_run_breakpoint_commands, filesystem_is_local,
4404         can_download_tracepoint, get_trace_state_variable_value,
4405         set_trace_notes, get_tib_address, use_agent, can_use_agent,
4406         record_is_replaying, record_will_replay,
4407         augmented_libraries_svr4_read>: Adjust to return bool.
4408         * aarch64-linux-nat.c: All implementations adjusted.
4409         * aix-thread.c: All implementations adjusted.
4410         * arm-linux-nat.c: All implementations adjusted.
4411         * breakpoint.c: All implementations adjusted.
4412         * bsd-kvm.c: All implementations adjusted.
4413         * bsd-uthread.c: All implementations adjusted.
4414         * corelow.c: All implementations adjusted.
4415         * ctf.c: All implementations adjusted.
4416         * darwin-nat.c: All implementations adjusted.
4417         * darwin-nat.h: All implementations adjusted.
4418         * exec.c: All implementations adjusted.
4419         * fbsd-nat.c: All implementations adjusted.
4420         * fbsd-nat.h: All implementations adjusted.
4421         * gnu-nat.c: All implementations adjusted.
4422         * gnu-nat.h: All implementations adjusted.
4423         * go32-nat.c: All implementations adjusted.
4424         * ia64-linux-nat.c: All implementations adjusted.
4425         * inf-child.c: All implementations adjusted.
4426         * inf-child.h: All implementations adjusted.
4427         * inf-ptrace.c: All implementations adjusted.
4428         * inf-ptrace.h: All implementations adjusted.
4429         * linux-nat.c: All implementations adjusted.
4430         * linux-nat.h: All implementations adjusted.
4431         * mips-linux-nat.c: All implementations adjusted.
4432         * nto-procfs.c: All implementations adjusted.
4433         * ppc-linux-nat.c: All implementations adjusted.
4434         * procfs.c: All implementations adjusted.
4435         * ravenscar-thread.c: All implementations adjusted.
4436         * record-btrace.c: All implementations adjusted.
4437         * record-full.c: All implementations adjusted.
4438         * remote-sim.c: All implementations adjusted.
4439         * remote.c: All implementations adjusted.
4440         * s390-linux-nat.c: All implementations adjusted.
4441         * sol-thread.c: All implementations adjusted.
4442         * spu-multiarch.c: All implementations adjusted.
4443         * target-delegates.c: All implementations adjusted.
4444         * target.c: All implementations adjusted.
4445         * target.h: All implementations adjusted.
4446         * tracefile-tfile.c: All implementations adjusted.
4447         * tracefile.c: All implementations adjusted.
4448         * tracefile.h: All implementations adjusted.
4449         * windows-nat.c: All implementations adjusted.
4450         * x86-linux-nat.h: All implementations adjusted.
4451         * x86-nat.h: All implementations adjusted.
4452
4453 2018-05-02  Pedro Alves  <palves@redhat.com>
4454
4455         * make-target-delegates (scan_target_h): Don't trim lines here.
4456         Replace sequences of tabs and/or whitespace with a single
4457         whitespace.
4458         (top level, parsing methods): Trim each line before processing it
4459         here.
4460
4461 2018-05-02  Pedro Alves  <palves@redhat.com>
4462             John Baldwin  <jhb@freebsd.org>
4463
4464         * target.h (enum strata) <debug_stratum>: New.
4465         (struct target_ops) <all delegation methods>: Replace by C++
4466         virtual methods, and drop "to_" prefix.  All references updated
4467         throughout.
4468         <to_shortname, to_longname, to_doc, to_data,
4469         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
4470         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
4471         virtual methods.  All references updated throughout.
4472         <can_attach, supports_terminal_ours, can_create_inferior,
4473         get_thread_control_capabilities, attach_no_wait>: New
4474         virtual methods.
4475         <insert_breakpoint, remove_breakpoint>: Now
4476         TARGET_DEFAULT_NORETURN methods.
4477         <info_proc>: Now returns bool.
4478         <to_magic>: Delete.
4479         (OPS_MAGIC): Delete.
4480         (current_target): Delete.  All references replaced by references
4481         to ...
4482         (target_stack): ... this.  New.
4483         (target_shortname, target_longname): Adjust.
4484         (target_can_run): Now a function declaration.
4485         (default_child_has_all_memory, default_child_has_memory)
4486         (default_child_has_stack, default_child_has_registers)
4487         (default_child_has_execution): Remove target_ops parameter.
4488         (complete_target_initialization): Delete.
4489         (memory_breakpoint_target): New template class.
4490         (test_target_ops): Refactor as a C++ class with virtual methods.
4491         * make-target-delegates (NAME_PART): Tighten.
4492         (POINTER_PART, CP_SYMBOL): New.
4493         (SIMPLE_RETURN_PART): Reimplement.
4494         (VEC_RETURN_PART): Expect less.
4495         (RETURN_PART, VIRTUAL_PART): New.
4496         (METHOD): Adjust to C++ virtual methods.
4497         (scan_target_h): Remove reference to C99.
4498         (dname): Output "target_ops::" prefix.
4499         (write_function_header): Adjust to output a C++ class method.
4500         (write_declaration): New.
4501         (write_delegator): Adjust to output a C++ class method.
4502         (tdname): Output "dummy_target::" prefix.
4503         (write_tdefault, write_debugmethod): Adjust to output a C++ class
4504         method.
4505         (tdefault_names, debug_names): Delete.
4506         (return_types, tdefaults, styles, argtypes_array): New.
4507         (top level): All methods are delegators.
4508         (print_class): New.
4509         (top level): Print dummy_target and debug_target classes.
4510         * target-delegates.c: Regenerate.
4511         * target-debug.h (target_debug_print_enum_info_proc_what)
4512         (target_debug_print_thread_control_capabilities)
4513         (target_debug_print_thread_info_p): New.
4514         * target.c (dummy_target): Delete.
4515         (the_dummy_target, the_debug_target): New.
4516         (target_stack): Now extern.
4517         (set_targetdebug): Push/unpush debug target.
4518         (default_child_has_all_memory, default_child_has_memory)
4519         (default_child_has_stack, default_child_has_registers)
4520         (default_child_has_execution): Remove target_ops parameter.
4521         (complete_target_initialization): Delete.
4522         (add_target_with_completer): No longer call
4523         complete_target_initialization.
4524         (target_supports_terminal_ours): Use regular delegation.
4525         (update_current_target): Delete.
4526         (push_target): No longer check magic number.  Don't call
4527         update_current_target.
4528         (unpush_target): Don't call update_current_target.
4529         (target_is_pushed): No longer check magic number.
4530         (target_require_runnable): Skip for all stratums over
4531         process_stratum.
4532         (target_ops::info_proc): New.
4533         (target_info_proc): Use find_target_at and
4534         find_default_run_target.
4535         (target_supports_disable_randomization): Use regular delegation.
4536         (target_get_osdata): Use find_target_at.
4537         (target_ops::open, target_ops::close, target_ops::can_attach)
4538         (target_ops::attach, target_ops::can_create_inferior)
4539         (target_ops::create_inferior, target_ops::can_run)
4540         (target_can_run): New.
4541         (default_fileio_target): Use regular delegation.
4542         (target_ops::fileio_open, target_ops::fileio_pwrite)
4543         (target_ops::fileio_pread, target_ops::fileio_fstat)
4544         (target_ops::fileio_close, target_ops::fileio_unlink)
4545         (target_ops::fileio_readlink): New.
4546         (target_fileio_open_1, target_fileio_unlink)
4547         (target_fileio_readlink): Always call the target method.  Handle
4548         FILEIO_ENOSYS.
4549         (return_zero, return_zero_has_execution): Delete.
4550         (init_dummy_target): Delete.
4551         (dummy_target::dummy_target, dummy_target::shortname)
4552         (dummy_target::longname, dummy_target::doc)
4553         (debug_target::debug_target, debug_target::shortname)
4554         (debug_target::longname, debug_target::doc): New.
4555         (target_supports_delete_record): Use regular delegation.
4556         (setup_target_debug): Delete.
4557         (maintenance_print_target_stack): Skip debug_stratum.
4558         (initialize_targets): Instantiate the_dummy_target and
4559         the_debug_target.
4560         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
4561         use target_stack.
4562         (target_auxv_search, fprint_target_auxv): Adjust.
4563         (info_auxv_command): Adjust to use target_stack.
4564         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
4565         * exceptions.c (print_flush): Handle a NULL target_stack.
4566         * regcache.c (target_ops_no_register): Refactor as class with
4567         virtual methods.
4568
4569         * exec.c (exec_target): New class.
4570         (exec_ops): Now an exec_target.
4571         (exec_open, exec_close_1, exec_get_section_table)
4572         (exec_xfer_partial, exec_files_info, exec_has_memory)
4573         (exec_make_note_section): Refactor as exec_target methods.
4574         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
4575         Delete.
4576         (exec_target::find_memory_regions): New.
4577         (_initialize_exec): Don't call init_exec_ops.
4578         * gdbcore.h (exec_file_clear): Delete.
4579
4580         * corefile.c (core_target): Delete.
4581         (core_file_command): Adjust.
4582         * corelow.c (core_target): New class.
4583         (the_core_target): New.
4584         (core_close): Remove target_ops parameter.
4585         (core_close_cleanup): Adjust.
4586         (core_target::close): New.
4587         (core_open, core_detach, get_core_registers, core_files_info)
4588         (core_xfer_partial, core_thread_alive, core_read_description)
4589         (core_pid_to_str, core_thread_name, core_has_memory)
4590         (core_has_stack, core_has_registers, core_info_proc): Rework as
4591         core_target methods.
4592         (ignore, core_remove_breakpoint, init_core_ops): Delete.
4593         (_initialize_corelow): Initialize the_core_target.
4594         * gdbcore.h (core_target): Delete.
4595         (the_core_target): New.
4596
4597         * ctf.c: (ctf_target): New class.
4598         (ctf_ops): Now a ctf_target.
4599         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
4600         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
4601         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
4602         methods.
4603         (init_ctf_ops): Delete.
4604         (_initialize_ctf): Don't call it.
4605         * tracefile-tfile.c (tfile_target): New class.
4606         (tfile_ops): Now a tfile_target.
4607         (tfile_open, tfile_close, tfile_files_info)
4608         (tfile_get_tracepoint_status, tfile_trace_find)
4609         (tfile_fetch_registers, tfile_xfer_partial)
4610         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
4611         Refactor as tfile_target methods.
4612         (tfile_xfer_partial_features): Remove target_ops parameter.
4613         (init_tfile_ops): Delete.
4614         (_initialize_tracefile_tfile): Don't call it.
4615         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
4616         (tracefile_has_stack, tracefile_has_registers)
4617         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
4618         tracefile_target methods.
4619         (init_tracefile_ops): Delete.
4620         (tracefile_target::tracefile_target): New.
4621         * tracefile.h: Include "target.h".
4622         (tracefile_target): New class.
4623         (init_tracefile_ops): Delete.
4624
4625         * spu-multiarch.c (spu_multiarch_target): New class.
4626         (spu_ops): Now a spu_multiarch_target.
4627         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
4628         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
4629         (spu_search_memory, spu_mourn_inferior): Refactor as
4630         spu_multiarch_target methods.
4631         (init_spu_ops): Delete.
4632         (_initialize_spu_multiarch): Remove references to init_spu_ops,
4633         complete_target_initialization.
4634
4635         * ravenscar-thread.c (ravenscar_thread_target): New class.
4636         (ravenscar_ops): Now a ravenscar_thread_target.
4637         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
4638         (ravenscar_thread_alive, ravenscar_pid_to_str)
4639         (ravenscar_fetch_registers, ravenscar_store_registers)
4640         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
4641         (ravenscar_stopped_by_hw_breakpoint)
4642         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
4643         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
4644         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
4645         methods.
4646         (init_ravenscar_thread_ops): Delete.
4647         (_initialize_ravenscar): Remove references to
4648         init_ravenscar_thread_ops and complete_target_initialization.
4649
4650         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
4651         (bsd_uthread_target): New class.
4652         (bsd_uthread_ops): Now a bsd_uthread_target.
4653         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
4654         (bsd_uthread_close, bsd_uthread_mourn_inferior)
4655         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
4656         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
4657         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
4658         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
4659         (bsd_uthread_target): Delete function.
4660         (_initialize_bsd_uthread): Remove reference to
4661         complete_target_initialization.
4662
4663         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
4664         (target_bfd): ... this new class.
4665         (target_bfd_xfer_partial, target_bfd_get_section_table)
4666         (target_bfd_close): Refactor as target_bfd methods.
4667         (target_bfd::~target_bfd): New.
4668         (target_bfd_reopen): Adjust.
4669         (target_bfd::close): New.
4670
4671         * record-btrace.c (record_btrace_target): New class.
4672         (record_btrace_ops): Now a record_btrace_target.
4673         (record_btrace_open, record_btrace_stop_recording)
4674         (record_btrace_disconnect, record_btrace_close)
4675         (record_btrace_async, record_btrace_info)
4676         (record_btrace_insn_history, record_btrace_insn_history_range)
4677         (record_btrace_insn_history_from, record_btrace_call_history)
4678         (record_btrace_call_history_range)
4679         (record_btrace_call_history_from, record_btrace_record_method)
4680         (record_btrace_is_replaying, record_btrace_will_replay)
4681         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
4682         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
4683         (record_btrace_store_registers, record_btrace_prepare_to_store)
4684         (record_btrace_to_get_unwinder)
4685         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
4686         (record_btrace_commit_resume, record_btrace_wait)
4687         (record_btrace_stop, record_btrace_can_execute_reverse)
4688         (record_btrace_stopped_by_sw_breakpoint)
4689         (record_btrace_supports_stopped_by_sw_breakpoint)
4690         (record_btrace_stopped_by_hw_breakpoint)
4691         (record_btrace_supports_stopped_by_hw_breakpoint)
4692         (record_btrace_update_thread_list, record_btrace_thread_alive)
4693         (record_btrace_goto_begin, record_btrace_goto_end)
4694         (record_btrace_goto, record_btrace_stop_replaying_all)
4695         (record_btrace_execution_direction)
4696         (record_btrace_prepare_to_generate_core)
4697         (record_btrace_done_generating_core): Refactor as
4698         record_btrace_target methods.
4699         (init_record_btrace_ops): Delete.
4700         (_initialize_record_btrace): Remove reference to
4701         init_record_btrace_ops.
4702         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
4703         the execution_direction global.
4704         (record_full_base_target, record_full_target)
4705         (record_full_core_target): New classes.
4706         (record_full_ops): Now a record_full_target.
4707         (record_full_core_ops): Now a record_full_core_target.
4708         (record_full_target::detach, record_full_target::disconnect)
4709         (record_full_core_target::disconnect)
4710         (record_full_target::mourn_inferior, record_full_target::kill):
4711         New.
4712         (record_full_open, record_full_close, record_full_async): Refactor
4713         as methods of the record_full_base_target class.
4714         (record_full_resume, record_full_commit_resume): Refactor
4715         as methods of the record_full_target class.
4716         (record_full_wait, record_full_stopped_by_watchpoint)
4717         (record_full_stopped_data_address)
4718         (record_full_stopped_by_sw_breakpoint)
4719         (record_full_supports_stopped_by_sw_breakpoint)
4720         (record_full_stopped_by_hw_breakpoint)
4721         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
4722         methods of the record_full_base_target class.
4723         (record_full_store_registers, record_full_xfer_partial)
4724         (record_full_insert_breakpoint, record_full_remove_breakpoint):
4725         Refactor as methods of the record_full_target class.
4726         (record_full_can_execute_reverse, record_full_get_bookmark)
4727         (record_full_goto_bookmark, record_full_execution_direction)
4728         (record_full_record_method, record_full_info, record_full_delete)
4729         (record_full_is_replaying, record_full_will_replay)
4730         (record_full_goto_begin, record_full_goto_end, record_full_goto)
4731         (record_full_stop_replaying): Refactor as methods of the
4732         record_full_base_target class.
4733         (record_full_core_resume, record_full_core_kill)
4734         (record_full_core_fetch_registers)
4735         (record_full_core_prepare_to_store)
4736         (record_full_core_store_registers, record_full_core_xfer_partial)
4737         (record_full_core_insert_breakpoint)
4738         (record_full_core_remove_breakpoint)
4739         (record_full_core_has_execution): Refactor
4740         as methods of the record_full_core_target class.
4741         (record_full_base_target::supports_delete_record): New.
4742         (init_record_full_ops): Delete.
4743         (init_record_full_core_ops): Delete.
4744         (record_full_save): Refactor as method of the
4745         record_full_base_target class.
4746         (_initialize_record_full): Remove references to
4747         init_record_full_ops and init_record_full_core_ops.
4748
4749         * remote.c (remote_target, extended_remote_target): New classes.
4750         (remote_ops): Now a remote_target.
4751         (extended_remote_ops): Now an extended_remote_target.
4752         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
4753         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
4754         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
4755         (remote_pass_signals, remote_set_syscall_catchpoint)
4756         (remote_program_signals, )
4757         (remote_thread_always_alive): Remove target_ops parameter.
4758         (remote_thread_alive, remote_thread_name)
4759         (remote_update_thread_list, remote_threads_extra_info)
4760         (remote_static_tracepoint_marker_at)
4761         (remote_static_tracepoint_markers_by_strid)
4762         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
4763         (remote_open): Refactor as methods of remote_target.
4764         (extended_remote_open, extended_remote_detach)
4765         (extended_remote_attach, extended_remote_post_attach):
4766         (extended_remote_supports_disable_randomization)
4767         (extended_remote_create_inferior): : Refactor as method of
4768         extended_remote_target.
4769         (remote_set_permissions, remote_open_1, remote_detach)
4770         (remote_follow_fork, remote_follow_exec, remote_disconnect)
4771         (remote_resume, remote_commit_resume, remote_stop)
4772         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
4773         (remote_terminal_ours, remote_wait, remote_fetch_registers)
4774         (remote_prepare_to_store, remote_store_registers)
4775         (remote_flash_erase, remote_flash_done, remote_files_info)
4776         (remote_kill, remote_mourn, remote_insert_breakpoint)
4777         (remote_remove_breakpoint, remote_insert_watchpoint)
4778         (remote_watchpoint_addr_within_range)
4779         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
4780         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
4781         (remote_supports_stopped_by_sw_breakpoint)
4782         (remote_stopped_by_hw_breakpoint)
4783         (remote_supports_stopped_by_hw_breakpoint)
4784         (remote_stopped_by_watchpoint, remote_stopped_data_address)
4785         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
4786         (remote_verify_memory): Refactor as methods of remote_target.
4787         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
4788         parameter.
4789         (remote_xfer_partial, remote_get_memory_xfer_limit)
4790         (remote_search_memory, remote_rcmd, remote_memory_map)
4791         (remote_pid_to_str, remote_get_thread_local_address)
4792         (remote_get_tib_address, remote_read_description): Refactor as
4793         methods of remote_target.
4794         (remote_target::fileio_open, remote_target::fileio_pwrite)
4795         (remote_target::fileio_pread, remote_target::fileio_close): New.
4796         (remote_hostio_readlink, remote_hostio_fstat)
4797         (remote_filesystem_is_local, remote_can_execute_reverse)
4798         (remote_supports_non_stop, remote_supports_disable_randomization)
4799         (remote_supports_multi_process, remote_supports_cond_breakpoints)
4800         (remote_supports_enable_disable_tracepoint)
4801         (remote_supports_string_tracing)
4802         (remote_can_run_breakpoint_commands, remote_trace_init)
4803         (remote_download_tracepoint, remote_can_download_tracepoint)
4804         (remote_download_trace_state_variable, remote_enable_tracepoint)
4805         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
4806         (remote_trace_start, remote_get_trace_status)
4807         (remote_get_tracepoint_status, remote_trace_stop)
4808         (remote_trace_find, remote_get_trace_state_variable_value)
4809         (remote_save_trace_data, remote_get_raw_trace_data)
4810         (remote_set_disconnected_tracing, remote_core_of_thread)
4811         (remote_set_circular_trace_buffer, remote_traceframe_info)
4812         (remote_get_min_fast_tracepoint_insn_len)
4813         (remote_set_trace_buffer_size, remote_set_trace_notes)
4814         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
4815         (remote_disable_btrace, remote_teardown_btrace)
4816         (remote_read_btrace, remote_btrace_conf)
4817         (remote_augmented_libraries_svr4_read, remote_load)
4818         (remote_pid_to_exec_file, remote_can_do_single_step)
4819         (remote_execution_direction, remote_thread_handle_to_thread_info):
4820         Refactor as methods of remote_target.
4821         (init_remote_ops, init_extended_remote_ops): Delete.
4822         (remote_can_async_p, remote_is_async_p, remote_async)
4823         (remote_thread_events, remote_upload_tracepoints)
4824         (remote_upload_trace_state_variables): Refactor as methods of
4825         remote_target.
4826         (_initialize_remote): Remove references to init_remote_ops and
4827         init_extended_remote_ops.
4828
4829         * remote-sim.c (gdbsim_target): New class.
4830         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
4831         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
4832         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
4833         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
4834         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
4835         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
4836         Refactor as methods of gdbsim_target.
4837         (gdbsim_ops): Now a gdbsim_target.
4838         (init_gdbsim_ops): Delete.
4839         (gdbsim_cntrl_c): Adjust.
4840         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
4841
4842         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
4843         (the_amd64_linux_nat_target): New.
4844         (amd64_linux_fetch_inferior_registers)
4845         (amd64_linux_store_inferior_registers): Refactor as methods of
4846         amd64_linux_nat_target.
4847         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
4848         * i386-linux-nat.c: Don't include "linux-nat.h".
4849         (i386_linux_nat_target): New class.
4850         (the_i386_linux_nat_target): New.
4851         (i386_linux_fetch_inferior_registers)
4852         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
4853         as methods of i386_linux_nat_target.
4854         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
4855         * inf-child.c (inf_child_ops): Delete.
4856         (inf_child_fetch_inferior_registers)
4857         (inf_child_store_inferior_registers): Delete.
4858         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
4859         methods of inf_child_target.
4860         (inf_child_target::supports_terminal_ours)
4861         (inf_child_target::terminal_init)
4862         (inf_child_target::terminal_inferior)
4863         (inf_child_target::terminal_ours_for_output)
4864         (inf_child_target::terminal_ours, inf_child_target::interrupt)
4865         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
4866         New.
4867         (inf_child_open, inf_child_disconnect, inf_child_close)
4868         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
4869         (inf_child_post_startup_inferior, inf_child_can_run)
4870         (inf_child_pid_to_exec_file): Refactor as methods of
4871         inf_child_target.
4872         (inf_child_follow_fork): Delete.
4873         (inf_child_target::can_create_inferior)
4874         (inf_child_target::can_attach): New.
4875         (inf_child_target::has_all_memory, inf_child_target::has_memory)
4876         (inf_child_target::has_stack, inf_child_target::has_registers)
4877         (inf_child_target::has_execution): New.
4878         (inf_child_fileio_open, inf_child_fileio_pwrite)
4879         (inf_child_fileio_pread, inf_child_fileio_fstat)
4880         (inf_child_fileio_close, inf_child_fileio_unlink)
4881         (inf_child_fileio_readlink, inf_child_use_agent)
4882         (inf_child_can_use_agent): Refactor as methods of
4883         inf_child_target.
4884         (return_zero, inf_child_target): Delete.
4885         (inf_child_target::inf_child_target): New.
4886         * inf-child.h: Include "target.h".
4887         (inf_child_target): Delete function prototype.
4888         (inf_child_target): New class.
4889         (inf_child_open_target, inf_child_mourn_inferior)
4890         (inf_child_maybe_unpush_target): Delete.
4891         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
4892         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
4893         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
4894         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
4895         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
4896         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
4897         (inf_ptrace_wait, inf_ptrace_xfer_partial)
4898         (inf_ptrace_thread_alive, inf_ptrace_files_info)
4899         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
4900         methods of inf_ptrace_target.
4901         (inf_ptrace_target): Delete function.
4902         * inf-ptrace.h: Include "inf-child.h".
4903         (inf_ptrace_target): Delete function declaration.
4904         (inf_ptrace_target): New class.
4905         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
4906         * linux-nat.c (linux_target): New.
4907         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
4908         (linux_nat_target::~linux_nat_target): New.
4909         (linux_child_post_attach, linux_child_post_startup_inferior)
4910         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
4911         (linux_child_remove_fork_catchpoint)
4912         (linux_child_insert_vfork_catchpoint)
4913         (linux_child_remove_vfork_catchpoint)
4914         (linux_child_insert_exec_catchpoint)
4915         (linux_child_remove_exec_catchpoint)
4916         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
4917         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
4918         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
4919         (linux_nat_stopped_data_address)
4920         (linux_nat_stopped_by_sw_breakpoint)
4921         (linux_nat_supports_stopped_by_sw_breakpoint)
4922         (linux_nat_stopped_by_hw_breakpoint)
4923         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
4924         (linux_nat_kill, linux_nat_mourn_inferior)
4925         (linux_nat_xfer_partial, linux_nat_thread_alive)
4926         (linux_nat_update_thread_list, linux_nat_pid_to_str)
4927         (linux_nat_thread_name, linux_child_pid_to_exec_file)
4928         (linux_child_static_tracepoint_markers_by_strid)
4929         (linux_nat_is_async_p, linux_nat_can_async_p)
4930         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
4931         (linux_nat_supports_multi_process)
4932         (linux_nat_supports_disable_randomization, linux_nat_async)
4933         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
4934         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
4935         (linux_nat_fileio_open, linux_nat_fileio_readlink)
4936         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
4937         methods of linux_nat_target.
4938         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
4939         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
4940         parameter.
4941         (check_stopped_by_watchpoint): Adjust.
4942         (linux_xfer_partial): Delete.
4943         (linux_target_install_ops, linux_target, linux_nat_add_target):
4944         Delete.
4945         (linux_nat_target::linux_nat_target): New.
4946         * linux-nat.h: Include "inf-ptrace.h".
4947         (linux_nat_target): New.
4948         (linux_target, linux_target_install_ops, linux_nat_add_target):
4949         Delete function declarations.
4950         (linux_target): Declare global.
4951         * linux-thread-db.c (thread_db_target): New.
4952         (thread_db_target::thread_db_target): New.
4953         (thread_db_ops): Delete.
4954         (the_thread_db_target): New.
4955         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
4956         (thread_db_update_thread_list, thread_db_pid_to_str)
4957         (thread_db_extra_thread_info)
4958         (thread_db_thread_handle_to_thread_info)
4959         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
4960         (thread_db_resume): Refactor as methods of thread_db_target.
4961         (init_thread_db_ops): Delete.
4962         (_initialize_thread_db): Remove reference to init_thread_db_ops.
4963         * x86-linux-nat.c: Don't include "linux-nat.h".
4964         (super_post_startup_inferior): Delete.
4965         (x86_linux_nat_target::~x86_linux_nat_target): New.
4966         (x86_linux_child_post_startup_inferior)
4967         (x86_linux_read_description, x86_linux_enable_btrace)
4968         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
4969         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
4970         methods of x86_linux_nat_target.
4971         (x86_linux_create_target): Delete.  Bits folded ...
4972         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
4973         pointer.
4974         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
4975         (x86_linux_nat_target): New class.
4976         (x86_linux_create_target): Delete.
4977         (x86_linux_add_target): Now takes a linux_nat_target pointer.
4978         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
4979         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
4980         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
4981         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
4982         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
4983         make extern.
4984         (x86_use_watchpoints): Delete.
4985         * x86-nat.h: Include "breakpoint.h" and "target.h".
4986         (x86_use_watchpoints): Delete.
4987         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
4988         (x86_stopped_by_watchpoint, x86_stopped_data_address)
4989         (x86_insert_watchpoint, x86_remove_watchpoint)
4990         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
4991         (x86_stopped_by_hw_breakpoint): New declarations.
4992         (x86_nat_target): New template class.
4993
4994         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
4995         (the_ppc_linux_nat_target): New.
4996         (ppc_linux_fetch_inferior_registers)
4997         (ppc_linux_can_use_hw_breakpoint)
4998         (ppc_linux_region_ok_for_hw_watchpoint)
4999         (ppc_linux_ranged_break_num_registers)
5000         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5001         (ppc_linux_insert_mask_watchpoint)
5002         (ppc_linux_remove_mask_watchpoint)
5003         (ppc_linux_can_accel_watchpoint_condition)
5004         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5005         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5006         (ppc_linux_watchpoint_addr_within_range)
5007         (ppc_linux_masked_watch_num_registers)
5008         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5009         (ppc_linux_read_description): Refactor as methods of
5010         ppc_linux_nat_target.
5011         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5012
5013         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5014         (procfs_target): New class.
5015         (the_procfs_target): New.
5016         (procfs_target): Delete function.
5017         (procfs_auxv_parse, procfs_attach, procfs_detach)
5018         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5019         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5020         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5021         (procfs_create_inferior, procfs_update_thread_list)
5022         (procfs_thread_alive, procfs_pid_to_str)
5023         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5024         (procfs_stopped_data_address, procfs_insert_watchpoint)
5025         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5026         (proc_find_memory_regions, procfs_info_proc)
5027         (procfs_make_note_section): Refactor as methods of procfs_target.
5028         (_initialize_procfs): Adjust.
5029         * sol-thread.c (sol_thread_target): New class.
5030         (sol_thread_ops): Now a sol_thread_target.
5031         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5032         (sol_thread_fetch_registers, sol_thread_store_registers)
5033         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5034         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5035         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5036         (init_sol_thread_ops): Delete.
5037         (_initialize_sol_thread): Adjust.  Remove references to
5038         init_sol_thread_ops and complete_target_initialization.
5039
5040         * windows-nat.c (windows_nat_target): New class.
5041         (windows_fetch_inferior_registers)
5042         (windows_store_inferior_registers, windows_resume, windows_wait)
5043         (windows_attach, windows_detach, windows_pid_to_exec_file)
5044         (windows_files_info, windows_create_inferior)
5045         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5046         (windows_close, windows_pid_to_str, windows_xfer_partial)
5047         (windows_get_tib_address, windows_get_ada_task_ptid)
5048         (windows_thread_name, windows_thread_alive): Refactor as
5049         windows_nat_target methods.
5050         (do_initial_windows_stuff): Adjust.
5051         (windows_target): Delete function.
5052         (_initialize_windows_nat): Adjust.
5053
5054         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5055         (darwin_mourn_inferior, darwin_kill_inferior)
5056         (darwin_create_inferior, darwin_attach, darwin_detach)
5057         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5058         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5059         (darwin_supports_multi_process): Refactor as darwin_nat_target
5060         methods.
5061         (darwin_resume_to, darwin_files_info): Delete.
5062         (_initialize_darwin_inferior): Rename to ...
5063         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5064         * darwin-nat.h: Include "inf-child.h".
5065         (darwin_nat_target): New class.
5066         (darwin_complete_target): Delete.
5067         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5068         (darwin_target): New.
5069         (i386_darwin_fetch_inferior_registers)
5070         (i386_darwin_store_inferior_registers): Refactor as methods of
5071         darwin_nat_target.
5072         (darwin_complete_target): Delete, with ...
5073         (_initialize_i386_darwin_nat): ... bits factored out here.
5074
5075         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5076         (the_alpha_linux_nat_target): New.
5077         (alpha_linux_register_u_offset): Refactor as
5078         alpha_linux_nat_target method.
5079         (_initialize_alpha_linux_nat): Adjust.
5080         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5081         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5082         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5083         methods of linux_nat_trad_target.
5084         (linux_trad_target): Delete.
5085         * linux-nat-trad.h (linux_trad_target): Delete function.
5086         (linux_nat_trad_target): New class.
5087         * mips-linux-nat.c (mips_linux_nat_target): New class.
5088         (super_fetch_registers, super_store_registers, super_close):
5089         Delete.
5090         (the_mips_linux_nat_target): New.
5091         (mips64_linux_regsets_fetch_registers)
5092         (mips64_linux_regsets_store_registers)
5093         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5094         (mips_linux_register_u_offset, mips_linux_read_description)
5095         (mips_linux_can_use_hw_breakpoint)
5096         (mips_linux_stopped_by_watchpoint)
5097         (mips_linux_stopped_data_address)
5098         (mips_linux_region_ok_for_hw_watchpoint)
5099         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5100         (mips_linux_close): Refactor as methods of mips_linux_nat.
5101         (_initialize_mips_linux_nat): Adjust to C++ification.
5102
5103         * aix-thread.c (aix_thread_target): New class.
5104         (aix_thread_ops): Now an aix_thread_target.
5105         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5106         (aix_thread_fetch_registers, aix_thread_store_registers)
5107         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5108         (aix_thread_thread_alive, aix_thread_pid_to_str)
5109         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5110         Refactor as methods of aix_thread_target.
5111         (init_aix_thread_ops): Delete.
5112         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5113         and complete_target_initialization.
5114         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5115         (rs6000_nat_target): New class.
5116         (the_rs6000_nat_target): New.
5117         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5118         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5119         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5120         (super_create_inferior): Delete.
5121         (_initialize_rs6000_nat): Adjust to C++ification.
5122
5123         * arm-linux-nat.c (arm_linux_nat_target): New class.
5124         (the_arm_linux_nat_target): New.
5125         (arm_linux_fetch_inferior_registers)
5126         (arm_linux_store_inferior_registers, arm_linux_read_description)
5127         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5128         (arm_linux_remove_hw_breakpoint)
5129         (arm_linux_region_ok_for_hw_watchpoint)
5130         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5131         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5132         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5133         arm_linux_nat_target.
5134         (_initialize_arm_linux_nat): Adjust to C++ification.
5135
5136         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5137         (the_aarch64_linux_nat_target): New.
5138         (aarch64_linux_fetch_inferior_registers)
5139         (aarch64_linux_store_inferior_registers)
5140         (aarch64_linux_child_post_startup_inferior)
5141         (aarch64_linux_read_description)
5142         (aarch64_linux_can_use_hw_breakpoint)
5143         (aarch64_linux_insert_hw_breakpoint)
5144         (aarch64_linux_remove_hw_breakpoint)
5145         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5146         (aarch64_linux_region_ok_for_hw_watchpoint)
5147         (aarch64_linux_stopped_data_address)
5148         (aarch64_linux_stopped_by_watchpoint)
5149         (aarch64_linux_watchpoint_addr_within_range)
5150         (aarch64_linux_can_do_single_step): Refactor as methods of
5151         aarch64_linux_nat_target.
5152         (super_post_startup_inferior): Delete.
5153         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5154
5155         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5156         (the_hppa_linux_nat_target): New.
5157         (hppa_linux_fetch_inferior_registers)
5158         (hppa_linux_store_inferior_registers): Refactor as methods of
5159         hppa_linux_nat_target.
5160         (_initialize_hppa_linux_nat): Adjust to C++ification.
5161
5162         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
5163         (the_ia64_linux_nat_target): New.
5164         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
5165         (ia64_linux_stopped_data_address)
5166         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
5167         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
5168         ia64_linux_nat_target methods.
5169         (super_xfer_partial): Delete.
5170         (_initialize_ia64_linux_nat): Adjust to C++ification.
5171
5172         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
5173         (the_m32r_linux_nat_target): New.
5174         (m32r_linux_fetch_inferior_registers)
5175         (m32r_linux_store_inferior_registers): Refactor as
5176         m32r_linux_nat_target methods.
5177         (_initialize_m32r_linux_nat): Adjust to C++ification.
5178
5179         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
5180         (the_m68k_linux_nat_target): New.
5181         (m68k_linux_fetch_inferior_registers)
5182         (m68k_linux_store_inferior_registers): Refactor as
5183         m68k_linux_nat_target methods.
5184         (_initialize_m68k_linux_nat): Adjust to C++ification.
5185
5186         * s390-linux-nat.c (s390_linux_nat_target): New class.
5187         (the_s390_linux_nat_target): New.
5188         (s390_linux_fetch_inferior_registers)
5189         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
5190         (s390_insert_watchpoint, s390_remove_watchpoint)
5191         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
5192         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
5193         (s390_auxv_parse, s390_read_description): Refactor as methods of
5194         s390_linux_nat_target.
5195         (_initialize_s390_nat): Adjust to C++ification.
5196
5197         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
5198         (the_sparc_linux_nat_target): New.
5199         (_initialize_sparc_linux_nat): Adjust to C++ification.
5200         * sparc-nat.c (sparc_fetch_inferior_registers)
5201         (sparc_store_inferior_registers): Remove target_ops parameter.
5202         * sparc-nat.h (sparc_fetch_inferior_registers)
5203         (sparc_store_inferior_registers): Remove target_ops parameter.
5204         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
5205         (the_sparc64_linux_nat_target): New.
5206         (_initialize_sparc64_linux_nat): Adjust to C++ification.
5207
5208         * spu-linux-nat.c (spu_linux_nat_target): New class.
5209         (the_spu_linux_nat_target): New.
5210         (spu_child_post_startup_inferior, spu_child_post_attach)
5211         (spu_child_wait, spu_fetch_inferior_registers)
5212         (spu_store_inferior_registers, spu_xfer_partial)
5213         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
5214         methods.
5215         (_initialize_spu_nat): Adjust to C++ification.
5216
5217         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
5218         (the_tilegx_linux_nat_target): New.
5219         (fetch_inferior_registers, store_inferior_registers):
5220         Refactor as methods.
5221         (_initialize_tile_linux_nat): Adjust to C++ification.
5222
5223         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
5224         (the_xtensa_linux_nat_target): New.
5225         (xtensa_linux_fetch_inferior_registers)
5226         (xtensa_linux_store_inferior_registers): Refactor as
5227         xtensa_linux_nat_target methods.
5228         (_initialize_xtensa_linux_nat): Adjust to C++ification.
5229
5230         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
5231         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
5232         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
5233         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
5234         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
5235         (fbsd_stopped_by_sw_breakpoint)
5236         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
5237         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
5238         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
5239         (fbsd_post_startup_inferior, fbsd_post_attach)
5240         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
5241         (fbsd_set_syscall_catchpoint)
5242         (super_xfer_partial, super_resume, super_wait)
5243         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
5244         (fbsd_handle_debug_trap): Remove target_ops parameter.
5245         (fbsd_nat_add_target): Delete.
5246         * fbsd-nat.h: Include "inf-ptrace.h".
5247         (fbsd_nat_add_target): Delete.
5248         (USE_SIGTRAP_SIGINFO): Define.
5249         (fbsd_nat_target): New class.
5250
5251         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
5252         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
5253         (amd64bsd_target): Delete.
5254         * amd64-bsd-nat.h: New file.
5255         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
5256         "x86-bsd-nat.h".
5257         (amd64_fbsd_nat_target): New class.
5258         (the_amd64_fbsd_nat_target): New.
5259         (amd64fbsd_read_description): Refactor as method of
5260         amd64_fbsd_nat_target.
5261         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
5262         (_initialize_amd64fbsd_nat): Adjust to C++ification.
5263         * amd64-nat.h (amd64bsd_target): Delete function declaration.
5264         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
5265         (i386bsd_store_inferior_registers): Remove target_ops parameter.
5266         (i386bsd_target): Delete.
5267         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
5268         (i386bsd_fetch_inferior_registers)
5269         (i386bsd_store_inferior_registers): Declare.
5270         (i386_bsd_nat_target): New class.
5271         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
5272         (the_i386_fbsd_nat_target): New.
5273         (i386fbsd_resume, i386fbsd_read_description): Refactor as
5274         i386_fbsd_nat_target methods.
5275         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
5276         (_initialize_i386fbsd_nat): Adjust to C++ification.
5277         * x86-bsd-nat.c (super_mourn_inferior): Delete.
5278         (x86bsd_mourn_inferior, x86bsd_target): Delete.
5279         (_initialize_x86_bsd_nat): Adjust to C++ification.
5280         * x86-bsd-nat.h: Include "x86-nat.h".
5281         (x86bsd_target): Delete declaration.
5282         (x86bsd_nat_target): New class.
5283
5284         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
5285         (the_aarch64_fbsd_nat_target): New.
5286         (aarch64_fbsd_fetch_inferior_registers)
5287         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
5288         aarch64_fbsd_nat_target.
5289         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
5290         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
5291         (the_alpha_bsd_nat_target): New.
5292         (alphabsd_fetch_inferior_registers)
5293         (alphabsd_store_inferior_registers): Refactor as
5294         alpha_bsd_nat_target methods.
5295         (_initialize_alphabsd_nat): Refactor as methods of
5296         alpha_bsd_nat_target.
5297         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
5298         (the_amd64_nbsd_nat_target): New.
5299         (_initialize_amd64nbsd_nat): Adjust to C++ification.
5300         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
5301         (the_amd64_obsd_nat_target): New.
5302         (_initialize_amd64obsd_nat): Adjust to C++ification.
5303         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
5304         (the_arm_fbsd_nat_target): New.
5305         (arm_fbsd_fetch_inferior_registers)
5306         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
5307         (_initialize_arm_fbsd_nat): Refactor as methods of
5308         arm_fbsd_nat_target.
5309         (_initialize_arm_fbsd_nat): Adjust to C++ification.
5310         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
5311         (the_arm_netbsd_nat_target): New.
5312         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
5313         arm_netbsd_nat_target.
5314         (_initialize_arm_netbsd_nat): Adjust to C++ification.
5315         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
5316         (the_hppa_nbsd_nat_target): New.
5317         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
5318         hppa_nbsd_nat_target methods.
5319         (_initialize_hppanbsd_nat): Adjust to C++ification.
5320         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
5321         (the_hppa_obsd_nat_target): New.
5322         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
5323         methods of hppa_obsd_nat_target.
5324         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
5325         add_target.
5326         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
5327         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
5328         add_target.
5329         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
5330         (_initialize_i386obsd_nat): Use add_target.
5331         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
5332         (the_m68k_bsd_nat_target): New.
5333         (m68kbsd_fetch_inferior_registers)
5334         (m68kbsd_store_inferior_registers): Refactor as methods of
5335         m68k_bsd_nat_target.
5336         (_initialize_m68kbsd_nat): Adjust to C++ification.
5337         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
5338         (the_mips_fbsd_nat_target): New.
5339         (mips_fbsd_fetch_inferior_registers)
5340         (mips_fbsd_store_inferior_registers): Refactor as methods of
5341         mips_fbsd_nat_target.
5342         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
5343         add_target.
5344         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
5345         (the_mips_nbsd_nat_target): New.
5346         (mipsnbsd_fetch_inferior_registers)
5347         (mipsnbsd_store_inferior_registers): Refactor as methods of
5348         mips_nbsd_nat_target.
5349         (_initialize_mipsnbsd_nat): Adjust to C++ification.
5350         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
5351         (the_mips64_obsd_nat_target): New.
5352         (mips64obsd_fetch_inferior_registers)
5353         (mips64obsd_store_inferior_registers): Refactor as methods of
5354         mips64_obsd_nat_target.
5355         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
5356         add_target.
5357         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
5358         nbsd_nat_target.
5359         * nbsd-nat.h: Include "inf-ptrace.h".
5360         (nbsd_nat_target): New class.
5361         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
5362         (obsd_wait): Refactor as methods of obsd_nat_target.
5363         (obsd_add_target): Delete.
5364         * obsd-nat.h: Include "inf-ptrace.h".
5365         (obsd_nat_target): New class.
5366         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
5367         (the_ppc_fbsd_nat_target): New.
5368         (ppcfbsd_fetch_inferior_registers)
5369         (ppcfbsd_store_inferior_registers): Refactor as methods of
5370         ppc_fbsd_nat_target.
5371         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
5372         add_target.
5373         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
5374         (the_ppc_nbsd_nat_target): New.
5375         (ppcnbsd_fetch_inferior_registers)
5376         (ppcnbsd_store_inferior_registers): Refactor as methods of
5377         ppc_nbsd_nat_target.
5378         (_initialize_ppcnbsd_nat): Adjust to C++ification.
5379         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
5380         (the_ppc_obsd_nat_target): New.
5381         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
5382         methods of ppc_obsd_nat_target.
5383         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
5384         add_target.
5385         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
5386         (the_sh_nbsd_nat_target): New.
5387         (shnbsd_fetch_inferior_registers)
5388         (shnbsd_store_inferior_registers): Refactor as methods of
5389         sh_nbsd_nat_target.
5390         (_initialize_shnbsd_nat): Adjust to C++ification.
5391         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
5392         (inf_ptrace_xfer_partial): Delete.
5393         (sparc_xfer_partial, sparc_target): Delete.
5394         * sparc-nat.h (sparc_fetch_inferior_registers)
5395         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
5396         (sparc_target): Delete function declaration.
5397         (sparc_target): New template class.
5398         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
5399         (_initialize_sparcnbsd_nat): Adjust to C++ification.
5400         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
5401         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
5402         add_target.
5403         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
5404         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
5405         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
5406         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
5407         add_target.
5408         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
5409         (the_vax_bsd_nat_target): New.
5410         (vaxbsd_fetch_inferior_registers)
5411         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
5412         methods.
5413         (_initialize_vaxbsd_nat): Adjust to C++ification.
5414
5415         * bsd-kvm.c (bsd_kvm_target): New class.
5416         (bsd_kvm_ops): Now a bsd_kvm_target.
5417         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
5418         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
5419         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
5420         bsd_kvm_target.
5421         (bsd_kvm_return_one): Delete.
5422         (bsd_kvm_add_target): Adjust to C++ification.
5423
5424         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
5425         (nto_procfs_target_procfs): New classes.
5426         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
5427         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
5428         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
5429         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
5430         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
5431         (procfs_remove_hw_breakpoint, procfs_resume)
5432         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
5433         (procfs_kill_inferior, procfs_store_registers)
5434         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
5435         as methods of nto_procfs_target.
5436         (nto_procfs_ops): Now an nto_procfs_target_procfs.
5437         (nto_native_ops): Delete.
5438         (procfs_open, procfs_native_open): Delete.
5439         (nto_native_ops): Now an nto_procfs_target_native.
5440         (init_procfs_targets): Adjust to C++ification.
5441         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
5442         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
5443         Refactor as methods of nto_procfs_target.
5444
5445         * go32-nat.c (go32_nat_target): New class.
5446         (the_go32_nat_target): New.
5447         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
5448         (go32_store_registers, go32_xfer_partial, go32_files_info)
5449         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
5450         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
5451         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
5452         (go32_pid_to_str): Refactor as methods of go32_nat_target.
5453         (go32_target): Delete.
5454         (_initialize_go32_nat): Adjust to C++ification.
5455
5456         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
5457         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
5458         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
5459         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
5460         gnu_nat_target.
5461         (gnu_target): Delete.
5462         * gnu-nat.h (gnu_target): Delete.
5463         (gnu_nat_target): New class.
5464         * i386-gnu-nat.c (gnu_base_target): New.
5465         (i386_gnu_nat_target): New class.
5466         (the_i386_gnu_nat_target): New.
5467         (_initialize_i386gnu_nat): Adjust to C++ification.
5468
5469 2018-05-02  Pedro Alves  <palves@redhat.com>
5470
5471         * bfd-target.c (target_bfd_xclose): Rename to ...
5472         (target_bfd_close): ... this.
5473         (target_bfd_reopen): Adjust.
5474         * target.c (target_close): Remove references to to_xclose.
5475         * target.h (target_ops::to_xclose): Delete.
5476         (target_ops::to_close): Update comments.
5477
5478 2018-05-02  Pedro Alves  <palves@redhat.com>
5479
5480         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
5481         "linux-nat.h".
5482         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
5483         * inf-ptrace.c (inf_ptrace_register_u_offset)
5484         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5485         (inf_ptrace_store_register, inf_ptrace_store_registers)
5486         (inf_ptrace_trad_target): Move to ...
5487         * linux-nat-trad.c: ... this new file.
5488         * linux-nat-trad.h: New file.
5489         * linux-nat.c (linux_target_install_ops): Make extern.
5490         (linux_trad_target): Delete.
5491         * linux-nat.h (linux_trad_target): Delete declaration.
5492         (linux_target_install_ops): Declare.
5493         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
5494         "linux-nat.h".
5495
5496 2018-05-02  Pedro Alves  <palves@redhat.com>
5497
5498         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
5499         procfs_target/add_target here.
5500         * procfs.c (procfs_target): Make static.
5501         (_initialize_procfs): Call add_target here.
5502         * procfs.h (struct target_ops): Remove forward declaration.
5503         (procfs_target): Remove declaration.
5504         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
5505
5506 2018-05-02  Pedro Alves  <palves@redhat.com>
5507
5508         * procfs.c (procfs_stopped_by_watchpoint)
5509         (procfs_insert_watchpoint, procfs_remove_watchpoint)
5510         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
5511         Forward declare.
5512         (procfs_use_watchpoints): Delete, move contents...
5513         (procfs_target): ... here.
5514         * procfs.h (procfs_use_watchpoints): Delete declaration.
5515         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
5516         procfs_use_watchpoints.
5517         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
5518         procfs_use_watchpoints.
5519
5520 2018-05-02  Tom Tromey  <tom@tromey.com>
5521
5522         PR python/20084:
5523         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
5524         and var_zuinteger_unlimited.
5525         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
5526         and PARAM_ZUINTEGER_UNLIMITED.
5527         (set_parameter_value): Handle var_zuinteger and
5528         var_zuinteger_unlimited.
5529         (add_setshow_generic): Likewise.
5530         (parmpy_init): Likewise.
5531
5532 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
5533
5534         PR rust/23124
5535         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
5536         pointer is not null before dereferencing it.
5537
5538 2018-04-30  Tom Tromey  <tom@tromey.com>
5539
5540         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
5541         is_mi_like_p.
5542
5543 2018-04-30  Tom Tromey  <tom@tromey.com>
5544
5545         * breakpoint.c (mention): Remove use of is_mi_like_p.
5546         (print_mention_ranged_breakpoint): Likewise.
5547         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
5548         of is_mi_like_p.
5549
5550 2018-04-30  Tom Tromey  <tom@tromey.com>
5551
5552         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
5553
5554 2018-04-30  Tom Tromey  <tom@tromey.com>
5555
5556         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
5557         (info_spu_event_command): Remove some uses of is_mi_like_p.
5558
5559 2018-04-30  Tom Tromey  <tom@tromey.com>
5560
5561         * python/py-framefilter.c (py_print_single_arg)
5562         (enumerate_locals, py_print_args, py_print_frame): Remove some
5563         uses of is_mi_like_p.
5564
5565 2018-04-30  Tom Tromey  <tom@tromey.com>
5566
5567         * ui-out.c: Update.
5568         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
5569         * ui-out.h (ui_out::is_mi_like_p): Now const.
5570         (ui_out::do_is_mi_like_p): Now const.
5571         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
5572
5573 2018-04-30  Tom Tromey  <tom@tromey.com>
5574
5575         * varobj.c (varobj_set_visualizer): Use new_reference.
5576         * python/python.c (gdbpy_decode_line): Use new_reference.
5577         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
5578         new_reference.
5579
5580 2018-04-30  Tom Tromey  <tom@tromey.com>
5581
5582         * varobj.c (install_new_value): Use new_reference.
5583         * value.h (value_incref): Return void.  Swap intro comment with
5584         value_decref.
5585         * value.c (set_value_parent): Use new_reference.
5586         (value_incref): Return void.  Update intro comment.
5587         (release_value): Use new_reference.
5588         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
5589
5590 2018-04-30  Tom Tromey  <tom@tromey.com>
5591
5592         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
5593         * gdb_bfd.h (new_bfd_ref): Remove.
5594         (gdb_bfd_open): Update comment.
5595         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
5596         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
5597         (gdb_bfd_fdopenr): Use new_reference.
5598         * exec.c (exec_file_attach): Use new_reference.
5599
5600 2018-04-30  Tom Tromey  <tom@tromey.com>
5601
5602         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
5603         method.
5604
5605 2018-04-30  Tom Tromey  <tom@tromey.com>
5606
5607         * jit.c (jit_read_code_entry): Use type_align.
5608         * i386-tdep.c (i386_gdbarch_init): Don't call
5609         set_gdbarch_long_long_align_bit.
5610         * gdbarch.sh: Remove long_long_align_bit.
5611         * gdbarch.c, gdbarch.h: Rebuild.
5612         * arc-tdep.c (arc_type_align): New function.
5613         (arc_gdbarch_init): Use arc_type_align.  Don't call
5614         set_gdbarch_long_long_align_bit.
5615
5616 2018-04-30  Tom Tromey  <tom@tromey.com>
5617
5618         * rust-lang.c (rust_type_alignment): Remove.
5619         (rust_composite_type): Use type_align.
5620
5621 2018-04-30  Tom Tromey  <tom@tromey.com>
5622
5623         * NEWS: Mention Type.align.
5624         * python/py-type.c (typy_get_alignof): New function.
5625         (type_object_getset): Add "alignof".
5626
5627 2018-04-30  Tom Tromey  <tom@tromey.com>
5628
5629         PR exp/17095:
5630         * NEWS: Update.
5631         * std-operator.def (UNOP_ALIGNOF): New operator.
5632         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
5633         New.
5634         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
5635         * c-lang.c (c_op_print_tab): Add alignof.
5636         * c-exp.y (ALIGNOF): New token.
5637         (exp): Add "ALIGNOF" production.
5638         (ident_tokens): Add _Alignof and alignof.
5639
5640 2018-04-30  Tom Tromey  <tom@tromey.com>
5641
5642         * i386-tdep.c (i386_type_align): New function.
5643         (i386_gdbarch_init): Update.
5644         * gdbarch.sh (type_align): New method.
5645         * gdbarch.c, gdbarch.h: Rebuild.
5646         * arch-utils.h (default_type_align): Declare.
5647         * arch-utils.c (default_type_align): New function.
5648         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
5649         (struct type) <align_log2>: New field.
5650         <instance_flags>: Now a bitfield.
5651         (TYPE_RAW_ALIGN): New macro.
5652         (type_align, type_raw_align, set_type_align): Declare.
5653         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
5654         functions.
5655         * dwarf2read.c (quirk_rust_enum): Set type alignment.
5656         (get_alignment, maybe_set_alignment): New functions.
5657         (read_structure_type, read_enumeration_type, read_array_type)
5658         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
5659         (read_subrange_type, read_base_type): Set type alignment.
5660
5661 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
5662
5663         * dwarf2read.c (read_index_from_section): Use bool.
5664
5665 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
5666
5667         PR gdb/22950
5668         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
5669         with #ifdef.
5670
5671 2018-04-29  John Reiser  <jreiser@BitWagon.com>
5672
5673         PR build/22873
5674         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
5675         last step, and do it atomically.
5676
5677 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
5678
5679         * compile/compile-c-types.c (convert_int, convert_float):
5680         Update for C FE v1.
5681
5682 2018-04-27  Tom Tromey  <tom@tromey.com>
5683
5684         PR rust/22545:
5685         * rust-lang.c (rust_inclusive_range_type_p): New function.
5686         (rust_range): Handle inclusive ranges.
5687         (rust_compute_range): Likewise.
5688         * rust-exp.y (struct rust_op) <inclusive>: New field.
5689         (DOTDOTEQ): New constant.
5690         (range_expr): Add "..=" productions.
5691         (operator_tokens): Add "..=" token.
5692         (ast_range): Add "inclusive" parameter.
5693         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
5694         ranges.
5695         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
5696         bounds values.
5697         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
5698         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
5699         Update comments.
5700         * expprint.c (print_subexp_standard): Handle new bounds values.
5701         (dump_subexp_body_standard): Likewise.
5702
5703 2018-04-27  Tom Tromey  <tom@tromey.com>
5704
5705         * configure: Rebuild.
5706         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
5707         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
5708         "OVERRIDE".
5709         (class symbol_needs_eval_context): Likewise.
5710         * dwarf2read.c (mock_mapped_index::symbol_name_count)
5711         (mock_mapped_index::symbol_name_at): Use "override".  Remove
5712         "virtual".
5713         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
5714         "override".
5715         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
5716         * aarch64-tdep.c (instruction_reader::read): Use "override".
5717         (instruction_reader_test::read): Likewise.
5718         * arm-tdep.c (instruction_reader::read): Use "override".
5719         (instruction_reader_thumb::read): Likewise.
5720
5721 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
5722
5723         PR remote/9665
5724         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
5725         instead of remote_send.
5726         (remote_send): Remove.
5727
5728 2018-04-26  Pedro Alves  <palves@redhat.com>
5729
5730         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
5731         find_function_start_sal instead of find_pc_line.
5732
5733 2018-04-26  Pedro Alves  <palves@redhat.com>
5734
5735         * breakpoint.c (set_breakpoint_location_function): Handle
5736         mst_data_gnu_ifunc.
5737         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
5738         * elfread.c (elf_symtab_read): Give data symbols with
5739         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
5740         (elf_rel_plt_read): Update comment.
5741         * linespec.c (convert_linespec_to_sals): Handle
5742         mst_data_gnu_ifunc.
5743         (minsym_found): Handle mst_data_gnu_ifunc.
5744         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
5745         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
5746         * parse.c (find_minsym_type_and_address): Handle
5747         mst_data_gnu_ifunc.
5748         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
5749         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
5750         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
5751         comment.
5752         <mst_data_gnu_ifunc>: New enumerator.
5753
5754 2018-04-26  Pedro Alves  <palves@redhat.com>
5755
5756         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
5757         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
5758         'want_trampoline' parameter by a lookup_msym_prefer parameter.
5759         Handle it.
5760         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
5761         (lookup_minimal_symbol_by_pc): Adjust.
5762         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
5763         (lookup_solib_trampoline_symbol_by_pc): Adjust.
5764         * minsyms.h (lookup_msym_prefer): New enum.
5765         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
5766         parameter by a lookup_msym_prefer parameter.
5767
5768 2018-04-26  Pedro Alves  <palves@redhat.com>
5769
5770         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
5771         ends in "@plt" instead of looking at the symbol's section.
5772
5773 2018-04-26  Pedro Alves  <palves@redhat.com>
5774
5775         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
5776         all references.
5777         (find_pc_partial_function_gnu_ifunc): Rename to ...
5778         (find_pc_partial_function): ... this, and remove references to
5779         'is_gnu_ifunc_p'.
5780         (find_pc_partial_function): Delete old implementation.
5781         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
5782
5783 2018-04-26  Pedro Alves  <palves@redhat.com>
5784
5785         * linespec.c (struct bound_minimal_symbol_search_key): New.
5786         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
5787         skip first line if we found a GNU ifunc minimal symbol by name.
5788         (compare_msymbols): Change parameters to work with a destructured
5789         lhs minsym.
5790         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
5791         functions.
5792
5793 2018-04-26  Pedro Alves  <palves@redhat.com>
5794
5795         * breakpoint.c (set_breakpoint_location_function): Don't resolve
5796         ifunc targets here.  Instead, if we have an ifunc minsym, use its
5797         address/name.
5798         (add_location_to_breakpoint): Store the minsym and the objfile in
5799         the breakpoint location.
5800         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
5801         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
5802         Record the minsym in the sal.
5803         * symtab.h (symtab_and_line) <msymbol>: New field.
5804
5805 2018-04-26  Pedro Alves  <palves@redhat.com>
5806
5807         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
5808         unless we actually resolved the ifunc.
5809
5810 2018-04-26  Pedro Alves  <palves@redhat.com>
5811
5812         * c-exp.y (variable production): Prefer ifunc minsyms over
5813         regular function symbols.
5814         * symtab.c (find_gnu_ifunc): New function.
5815         * minsyms.h (lookup_msym_prefer): New enum.
5816         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
5817         parameter by a lookup_msym_prefer parameter.
5818         * symtab.h (find_gnu_ifunc): New declaration.
5819
5820 2018-04-26  Pedro Alves  <palves@redhat.com>
5821
5822         * blockframe.c (find_gnu_ifunc_target_type): New function.
5823         (find_function_type): New.
5824         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
5825         return a value with a memory address.
5826         (eval_call): For calls to GNU ifunc functions, try to find the
5827         type of the target function from the type that the resolver
5828         returns.
5829         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
5830         symbols.
5831         * infcall.c (find_function_return_type): Delete.
5832         (find_function_addr): Add 'function_type' parameter.  For calls to
5833         GNU ifunc functions, try to find the type of the target function
5834         from the type that the resolver returns, and return it via
5835         FUNCTION_TYPE.
5836         (call_function_by_hand_dummy): Adjust to use the function type
5837         returned by find_function_addr.
5838         (find_function_addr): Add 'function_type' parameter and move
5839         description here.
5840         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
5841         declarations.
5842
5843 2018-04-26  Pedro Alves  <palves@redhat.com>
5844
5845         * c-exp.y (variable production): Skip finding an alias for ifunc
5846         symbols.
5847
5848 2018-04-26  Pedro Alves  <palves@redhat.com>
5849
5850         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
5851
5852 2018-04-25  Pedro Alves  <palves@redhat.com>
5853
5854         * infcmd.c (kill_command): Print the pid as string, not the whole
5855         thread's ptid.  Add comment.  s/has been killed/killed/ in output
5856         message.
5857         * remote.c (remote_detach_1): Print the pid as string, not the
5858         whole thread's ptid.
5859
5860 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
5861             Sergio Durigan Junior  <sergiodj@redhat.com>
5862             Pedro Alves  <palves@redhat.com>
5863
5864         * infcmd.c (kill_command): Print message when inferior has
5865         been killed.
5866         * inferior.c (print_inferior_events): Remove 'static'.  Set as
5867         '1'.
5868         (add_inferior): Improve message printed when
5869         'print_inferior_events' is on.
5870         (exit_inferior): Remove message printed when
5871         'print_inferior_events' is on.
5872         (detach_inferior): Improve message printed when
5873         'print_inferior_events' is on.
5874         (initialize_inferiors): Use 'add_inferior_silent' to set
5875         'current_inferior_'.
5876         * inferior.h (print_inferior_events): Declare here as
5877         'extern'.
5878         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
5879         '[Detaching...]' messages when 'print_inferior_events' is on.
5880         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
5881         as prefix/suffix for messages.  Remove periods.  Fix erroneous
5882         'Detaching after fork from child...', replace it by '... from
5883         parent...'.
5884         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
5885         prefix/suffix when printing 'Detaching...' messages.  Print
5886         them when 'print_inferior_events' is on.
5887         * remote.c (remote_detach_1): Print message when detaching
5888         from inferior and '!is_fork_parent'.
5889
5890 2018-04-24  Tom Tromey  <tom@tromey.com>
5891
5892         * cli-out.h: Reindent.
5893
5894 2018-04-24  Tom Tromey  <tom@tromey.com>
5895
5896         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
5897         (cli_ui_out::do_field_string): Use fputs_filtered.
5898         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
5899
5900 2018-04-23  Tom Tromey  <tom@tromey.com>
5901
5902         * guile/scm-frame.c (gdbscm_frame_read_var): Use
5903         gdb::unique_xmalloc_ptr.
5904
5905 2018-04-23  Tom Tromey  <tom@tromey.com>
5906
5907         * configure: Rebuild.
5908
5909 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
5910
5911         PR gdb/23095
5912         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
5913         prepare_for_testing.  Set normal_bp to r_debug_state if target
5914         is bsd.
5915
5916 2018-04-21  Pedro Alves  <palves@redhat.com>
5917             Rajendra SY  <rajendra.sy@gmail.com>
5918
5919         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
5920         * remote.c (extended_remote_attach): In all-stop mode, mark the
5921         thread as executing.
5922
5923 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5924
5925         * thread.c (thread_apply_all_command): Fix comment.
5926         (thread_command): Fix comment.
5927
5928 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
5929
5930         * common/tdesc.h (tdesc_create_feature): Remove xml filename
5931         parameter.
5932         * features/aarch64-core.c (create_feature_aarch64_core):
5933         Regenerate.
5934         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
5935         Likewise.
5936         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
5937         Likewise.
5938         * features/i386/32bit-avx512.c
5939         (create_feature_i386_32bit_avx512): Likewise.
5940         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
5941         Likewise.
5942         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
5943         Likewise.
5944         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
5945         Likewise.
5946         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
5947         Likewise.
5948         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
5949         Likewise.
5950         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
5951         Likewise.
5952         * features/i386/64bit-avx512.c
5953         (create_feature_i386_64bit_avx512): Likewise.
5954         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
5955         Likewise.
5956         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
5957         Likewise.
5958         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
5959         Likewise.
5960         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
5961         Likewise.
5962         * features/i386/64bit-segments.c
5963         (create_feature_i386_64bit_segments): Likewise.
5964         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
5965         Likewise.
5966         * features/i386/x32-core.c
5967         (create_feature_i386_x32_core): Likewise.
5968         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
5969         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
5970         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
5971         * target-descriptions.c: In generated code, don't pass xml
5972         filename.
5973
5974 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
5975
5976         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
5977         (print_xml_feature::visit_post): Likewise.
5978         (print_xml_feature::visit): Likewise.
5979         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
5980         (print_xml_feature): Add new class.
5981         * regformats/regdat.sh: Null xmltarget on feature targets.
5982         * target-descriptions.c (struct target_desc): Add xmltarget.
5983         (maintenance_check_tdesc_xml_convert): Add unittest function.
5984         (tdesc_get_features_xml): Add function to get xml.
5985         (maintenance_check_xml_descriptions): Test xml generation.
5986         * xml-tdesc.c (string_read_description_xml): Add function.
5987         * xml-tdesc.h (string_read_description_xml): Add declaration.
5988
5989 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
5990
5991         * features/Makefile: Add feature marker to targets with new style
5992         target descriptions.
5993         * regformats/aarch64.dat: Regenerate.
5994         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
5995         * regformats/i386/amd64-avx-linux.dat: Likewise.
5996         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
5997         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
5998         * regformats/i386/amd64-linux.dat: Likewise.
5999         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6000         * regformats/i386/amd64.dat: Likewise.
6001         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6002         * regformats/i386/i386-avx-linux.dat: Likewise.
6003         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6004         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6005         * regformats/i386/i386-linux.dat: Likewise.
6006         * regformats/i386/i386-mmx-linux.dat: Likewise.
6007         * regformats/i386/i386-mpx-linux.dat: Likewise.
6008         * regformats/i386/i386.dat: Likewise.
6009         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6010         * regformats/i386/x32-avx-linux.dat: Likewise.
6011         * regformats/i386/x32-linux.dat: Likewise.
6012         * regformats/tic6x-c62x-linux.dat: Likewise.
6013         * regformats/tic6x-c64x-linux.dat: Likewise.
6014         * regformats/tic6x-c64xp-linux.dat: Likewise.
6015         * regformats/regdat.sh: Parse feature marker.
6016
6017 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6018
6019         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6020         (tdesc_osabi_name): Likewise.
6021         * target-descriptions.c (tdesc_architecture_name): Add new
6022         function.
6023         (tdesc_osabi_name): Likewise.
6024
6025 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6026
6027         * common/tdesc.c (tdesc_predefined_type): Move to here.
6028         (tdesc_named_type): Likewise.
6029         (tdesc_create_vector): Likewise.
6030         (tdesc_create_struct): Likewise.
6031         (tdesc_set_struct_size): Likewise.
6032         (tdesc_create_union): Likewise.
6033         (tdesc_create_flags): Likewise.
6034         (tdesc_create_enum): Likewise.
6035         (tdesc_add_field): Likewise.
6036         (tdesc_add_typed_bitfield): Likewise.
6037         (tdesc_add_bitfield): Likewise.
6038         (tdesc_add_flag): Likewise.
6039         (tdesc_add_enum_value): Likewise.
6040         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6041         (struct tdesc_type_vector): Likewise.
6042         (struct tdesc_type_field): Likewise.
6043         (struct tdesc_type_with_fields): Likewise.
6044         (tdesc_create_enum): Add declaration.
6045         (tdesc_add_typed_bitfield): Likewise.
6046         (tdesc_add_enum_value): Likewise.
6047         * target-descriptions.c (tdesc_type_field): Move from here.
6048         (tdesc_type_builtin): Likewise.
6049         (tdesc_type_vector): Likewise.
6050         (tdesc_type_with_fields): Likewise.
6051         (tdesc_predefined_types): Likewise.
6052         (tdesc_named_type): Likewise.
6053         (tdesc_create_vector): Likewise.
6054         (tdesc_create_struct): Likewise.
6055         (tdesc_set_struct_size): Likewise.
6056         (tdesc_create_union): Likewise.
6057         (tdesc_create_flags): Likewise.
6058         (tdesc_create_enum): Likewise.
6059         (tdesc_add_field): Likewise.
6060         (tdesc_add_typed_bitfield): Likewise.
6061         (tdesc_add_bitfield): Likewise.
6062         (tdesc_add_flag): Likewise.
6063         (tdesc_add_enum_value): Likewise.
6064         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6065         (tdesc_add_typed_bitfield): Likewise.
6066         (tdesc_add_enum_value): Likewise.
6067
6068 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6069
6070         * common/tdesc.c (tdesc_feature::accept): Move to here.
6071         (tdesc_feature::operator==): Likewise.
6072         (tdesc_create_reg): Likewise.
6073         * common/tdesc.h (tdesc_type_kind): Likewise.
6074         (struct tdesc_type): Likewise.
6075         (struct tdesc_feature): Likewise.
6076         * regformats/regdat.sh: Create a feature.
6077         * target-descriptions.c (tdesc_type_kind): Move from here.
6078         (tdesc_type): Likewise.
6079         (tdesc_type_up): Likewise.
6080         (tdesc_feature): Likewise.
6081         (tdesc_create_reg): Likewise.
6082
6083 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6084
6085         * Makefile.in: Add arch/tdesc.c
6086         * common/tdesc.c: New file.
6087         * common/tdesc.h (tdesc_element_visitor): Move to here.
6088         (tdesc_element): Likewise.
6089         (tdesc_reg): Likewise.
6090         (tdesc_reg_up): Likewise.
6091         * regformats/regdef.h (reg): Add offset to constructors.
6092         * target-descriptions.c (tdesc_element_visitor): Move from here.
6093         (tdesc_element): Likewise.
6094         (tdesc_reg): Likewise.
6095         (tdesc_reg_up): Likewise.
6096
6097 2018-04-17  Tom Tromey  <tom@tromey.com>
6098
6099         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6100         discriminant field.
6101
6102 2018-04-17  Tom Tromey  <tom@tromey.com>
6103
6104         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6105
6106 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6107
6108         * symtab.c (print_symbol_info): Skip printing filename and line
6109         number when `last' is NULL.
6110         (symtab_symbol_info): Use empty string instead of NULL for first
6111         invocation of print_symbol_info.
6112         (rbreak_command): Pass NULL to `last' parameter of
6113         print_symbol_info.
6114
6115 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6116
6117         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6118         instead of nullptr.
6119
6120 2018-04-16  Pedro Alves  <palves@redhat.com>
6121
6122         * MAINTAINERS (sh): Remove.
6123         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6124         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6125         (ALLDEPFILES): Remove sh64-tdep.c.
6126         * NEWS: Mentions that support for SH-5/SH64 is removed.
6127         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6128         (sh*-*-openbsd*): Ditto.
6129         (sh64-*-elf*): Remove.
6130         (sh*): Remove.
6131         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6132         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6133         * sh-tdep.c: No longer include "sh64-tdep.h".
6134         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6135         * sh64-tdep.c, sh64-tdep.h: Remove files.
6136
6137 2018-04-16  Pedro Alves  <palves@redhat.com>
6138
6139         * MAINTAINERS: Remove m88k.
6140         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6141         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6142         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6143         * NEWS: Mention that support for m88k was removed.
6144         * configure.host (m88*-*-*): Remove support.
6145         * configure.nat (m88k-*-*): Remove support.
6146         * configure.tgt (m88*-*-openbsd*): Remove.
6147         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6148
6149 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6150
6151         * configure.tgt (x86_tobjs): New variable.
6152         (amd64_tobjs, i386_tobjs): Use it.
6153
6154 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6155
6156         * symtab.c (print_symbol_info): Precede the symbol definition by
6157         the line number when available.
6158         * NEWS: Advertise this enhancement.
6159
6160 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6161
6162         * NEWS (New options): announce set/show record btrace cpu.
6163         * btrace.c: Include record-btrace.h.
6164         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
6165         the vendor is unknown.
6166         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
6167         Maybe overwrite the btrace configuration's cpu.
6168         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
6169         (btrace_fetch): Add cpu parameter.  Update callers.
6170         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
6171         Maybe overwrite the btrace configuration's cpu.  Skip enabling
6172         errata workarounds if the vendor is unknown.
6173         * python/py-record-btrace.c: Include record-btrace.h.
6174         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
6175         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
6176         * record-btrace.c (record_btrace_cpu_state_kind): New.
6177         (record_btrace_cpu): New.
6178         (set_record_btrace_cpu_cmdlist): New.
6179         (record_btrace_get_cpu): New.
6180         (require_btrace_thread, record_btrace_info)
6181         (record_btrace_resume_thread): Call record_btrace_get_cpu.
6182         (cmd_set_record_btrace_cpu_none): New.
6183         (cmd_set_record_btrace_cpu_auto): New.
6184         (cmd_set_record_btrace_cpu): New.
6185         (cmd_show_record_btrace_cpu): New.
6186         (_initialize_record_btrace): Initialize set/show record btrace cpu
6187         commands.
6188         * record-btrace.h (record_btrace_get_cpu): New.
6189
6190 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6191
6192         * record.c (set_record_command): Fix typo in message.
6193
6194 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6195
6196         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
6197
6198 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6199
6200         * infrun.c (process_event_stop_test): Call
6201         gdbarch_in_indirect_branch_thunk.
6202         * gdbarch.sh (in_indirect_branch_thunk): New.
6203         * gdbarch.c: Regenerated.
6204         * gdbarch.h: Regenerated.
6205         * x86-tdep.h: New.
6206         * x86-tdep.c: New.
6207         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
6208         (HFILES_NO_SRCDIR): Add x86-tdep.h.
6209         (ALLDEPFILES): Add x86-tdep.c.
6210         * arch-utils.h (default_in_indirect_branch_thunk): New.
6211         * arch-utils.c (default_in_indirect_branch_thunk): New.
6212         * i386-tdep: Include x86-tdep.h.
6213         (i386_in_indirect_branch_thunk): New.
6214         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
6215         function.
6216         * amd64-tdep: Include x86-tdep.h.
6217         (amd64_in_indirect_branch_thunk): New.
6218         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
6219
6220 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
6221
6222         PR gdb/23053
6223         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
6224         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
6225         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
6226         regression.
6227
6228 2018-04-12  Tom Tromey  <tom@tromey.com>
6229
6230         * rust-lang.c (rust_print_struct_def): Remove univariant code.
6231         (rust_evaluate_subexp): Likewise.
6232
6233 2018-04-12  Pedro Alves  <palves@redhat.com>
6234
6235         * procfs.c (procfs_detach): Make forward declaration's prototype
6236         match definition's protototype.
6237         (proc_get_LDT_entry): Remove stale do_cleanups call.
6238
6239 2018-04-12  Pedro Alves  <palves@redhat.com>
6240
6241         * target.h (target_ops::to_has_exited): Delete.
6242         (target_has_exited): Delete.
6243         * target-delegates.c: Regenerate.
6244
6245 2018-04-11  Pedro Alves  <palves@redhat.com>
6246
6247         * target.c (fileio_fh_t::t): Add comment.
6248         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
6249         (target_fileio_close): Handle a NULL target.
6250         (invalidate_fileio_fh): New.
6251         (target_close): Call it.
6252         * remote.c (remote_hostio_send_command): No longer check whether
6253         remote_desc is open.
6254
6255 2018-04-11  Pedro Alves  <palves@redhat.com>
6256
6257         * target.c (fileio_fh_t): Make it a named struct instead of a
6258         typedef.
6259         (fileio_fh_t::is_closed): New method.
6260         (DEF_VEC_O (fileio_fh_t)): Remove.
6261         (fileio_fhandles): Now a std::vector.
6262         (is_closed_fileio_fh): Delete.
6263         (acquire_fileio_fd): Adjust.  Rename parameters.
6264         (release_fileio_fd): Adjust.
6265         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
6266         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
6267         (target_fileio_close): Adjust.
6268
6269 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
6270
6271         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
6272         index.
6273
6274 2018-04-10  Pedro Alves  <palves@redhat.com>
6275
6276         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
6277         (scoped_finish_thread_state): New class.
6278         * infcmd.c (run_command_1): Use it instead of finish_thread_state
6279         cleanup.
6280         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
6281         (fetch_inferior_event, normal_stop): Likewise.
6282         * thread.c (finish_thread_state_cleanup): Delete.
6283
6284 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6285             Pedro Alves  <palves@redhat.com>
6286
6287         * value.c: Include "selftest.h" and "common/array-view.h".
6288         (struct range) <operator ==>: New.
6289         (test_ranges_contain): New.
6290         (check_ranges_vector): New.
6291         (test_insert_into_bit_range_vector): New.
6292         (_initialize_values): Register selftests.
6293         * common/array-view.h (operator==, operator!=): New.
6294
6295 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6296
6297         * common/gdb_vecs.h (unordered_remove): Add overload that takes
6298         an iterator.
6299         * inline-frame.c: Include <algorithm>.
6300         (struct inline_state): Add constructor.
6301         (inline_state_s): Remove.
6302         (DEF_VEC_O(inline_state_s)): Remove.
6303         (inline_states): Change type to std::vector.
6304         (find_inline_frame_state): Adjust to std::vector.
6305         (allocate_inline_frame_state): Remove.
6306         (clear_inline_frame_state): Adjust to std::vector.
6307         (skip_inline_frames): Adjust to std::vector.
6308
6309 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6310
6311         * tracepoint.h (struct trace_state_variable): Add constructor.
6312         <name>: Change type to std::string.
6313         * tracepoint.c (tsv_s): Remove.
6314         (DEF_VEC_O(tsv_s)): Remove.
6315         (tvariables): Change to std::vector.
6316         (create_trace_state_variable): Adjust to std::vector.
6317         (find_trace_state_variable): Likewise.
6318         (find_trace_state_variable_by_number): Likewise.
6319         (delete_trace_state_variable): Likewise.
6320         (trace_variable_command): Adjust to std::string.
6321         (delete_trace_variable_command): Likewise.
6322         (tvariables_info_1): Adjust to std::vector.
6323         (save_trace_state_variables): Likewise.
6324         (start_tracing): Likewise.
6325         (merge_uploaded_trace_state_variables): Adjust to std::vector
6326         and std::string.
6327         * target.h (struct target_ops)
6328         <to_download_trace_state_variable>: Pass reference to
6329         trace_state_variable.
6330         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
6331         * target-delegates.c: Re-generate.
6332         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
6333         (mi_tsv_deleted): Likewise.
6334         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
6335         * remote.c (remote_download_trace_state_variable): Change
6336         pointer to reference and adjust.
6337         * make-target-delegates (parse_argtypes): Handle references.
6338         (write_function_header): Likewise.
6339         (munge_type): Likewise.
6340
6341 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6342
6343         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6344         string_view-selftests.c.
6345         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
6346         testsuite.
6347         * unittests/basic_string_view/cons/char/1.cc: Likewise.
6348         * unittests/basic_string_view/cons/char/2.cc: Likewise.
6349         * unittests/basic_string_view/cons/char/3.cc: Likewise.
6350         * unittests/basic_string_view/element_access/char/1.cc:
6351         Likewise.
6352         * unittests/basic_string_view/element_access/char/empty.cc:
6353         Likewise.
6354         * unittests/basic_string_view/element_access/char/front_back.cc:
6355         Likewise.
6356         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
6357         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
6358         Likewise.
6359         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
6360         Likewise.
6361         * unittests/basic_string_view/modifiers/swap/char/1.cc:
6362         Likewise.
6363         * unittests/basic_string_view/operations/compare/char/1.cc:
6364         Likewise.
6365         * unittests/basic_string_view/operations/compare/char/13650.cc:
6366         Likewise.
6367         * unittests/basic_string_view/operations/copy/char/1.cc:
6368         Likewise.
6369         * unittests/basic_string_view/operations/data/char/1.cc:
6370         Likewise.
6371         * unittests/basic_string_view/operations/find/char/1.cc:
6372         Likewise.
6373         * unittests/basic_string_view/operations/find/char/2.cc:
6374         Likewise.
6375         * unittests/basic_string_view/operations/find/char/3.cc:
6376         Likewise.
6377         * unittests/basic_string_view/operations/find/char/4.cc:
6378         Likewise.
6379         * unittests/basic_string_view/operations/rfind/char/1.cc:
6380         Likewise.
6381         * unittests/basic_string_view/operations/rfind/char/2.cc:
6382         Likewise.
6383         * unittests/basic_string_view/operations/rfind/char/3.cc:
6384         Likewise.
6385         * unittests/basic_string_view/operations/substr/char/1.cc:
6386         Likewise.
6387         * unittests/basic_string_view/operators/char/2.cc: Likewise.
6388         * unittests/string_view-selftests.c: New file.
6389
6390 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6391
6392         * unittests/basic_string_view/capacity/1.cc: New file.
6393         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
6394         * unittests/basic_string_view/cons/char/1.cc: New file.
6395         * unittests/basic_string_view/cons/char/2.cc: New file.
6396         * unittests/basic_string_view/cons/char/3.cc: New file.
6397         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
6398         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
6399         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
6400         * unittests/basic_string_view/element_access/char/1.cc: New file.
6401         * unittests/basic_string_view/element_access/char/2.cc: New file.
6402         * unittests/basic_string_view/element_access/char/empty.cc: New file.
6403         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
6404         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
6405         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
6406         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
6407         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
6408         * unittests/basic_string_view/include.cc: New file.
6409         * unittests/basic_string_view/inserters/char/1.cc: New file.
6410         * unittests/basic_string_view/inserters/char/2.cc: New file.
6411         * unittests/basic_string_view/inserters/char/3.cc: New file.
6412         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
6413         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
6414         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
6415         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
6416         * unittests/basic_string_view/literals/types.cc: New file.
6417         * unittests/basic_string_view/literals/values.cc: New file.
6418         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
6419         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
6420         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
6421         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
6422         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
6423         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
6424         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
6425         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
6426         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
6427         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
6428         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
6429         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
6430         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
6431         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
6432         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
6433         * unittests/basic_string_view/operations/data/char/1.cc: New file.
6434         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
6435         * unittests/basic_string_view/operations/find/char/1.cc: New file.
6436         * unittests/basic_string_view/operations/find/char/2.cc: New file.
6437         * unittests/basic_string_view/operations/find/char/3.cc: New file.
6438         * unittests/basic_string_view/operations/find/char/4.cc: New file.
6439         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
6440         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
6441         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
6442         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
6443         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
6444         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
6445         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
6446         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
6447         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
6448         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
6449         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
6450         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
6451         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
6452         * unittests/basic_string_view/operators/char/2.cc: New file.
6453         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
6454         * unittests/basic_string_view/range_access/char/1.cc: New file.
6455         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
6456         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
6457         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
6458         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
6459         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
6460         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
6461         * unittests/basic_string_view/requirements/typedefs.cc: New file.
6462         * unittests/basic_string_view/typedefs.cc: New file.
6463         * unittests/basic_string_view/types/1.cc: New file.
6464
6465 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6466
6467         * common/gdb_string_view.h: Remove libstdc++ implementation
6468         details, adjust to gdb reality.
6469         * common/gdb_string_view.tcc: Likewise.
6470         * cli/cli-script.c (struct string_view): Remove.
6471         (user_args) <m_args>: Change element type to gdb::string_view.
6472         (user_args::insert_args): Adjust.
6473
6474 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6475
6476         * common/gdb_string_view.h: New file.
6477         * common/gdb_string_view.tcc: New file.
6478
6479 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
6480
6481         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
6482         * configure: Re-generate.
6483
6484 2018-04-09  Pedro Alves  <palves@redhat.com>
6485
6486         * gdbarch.sh: Include "observable.h" instead of "observer.h".
6487         (set_target_gdbarch): Call
6488         gdb::observers::architecture_changed.notify instead of
6489         observer_notify_architecture_changed.
6490
6491 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6492
6493         * tracepoint.c (struct current_traceframe_cleanup): Remove.
6494         (do_restore_current_traceframe_cleanup): Remove.
6495         (restore_current_traceframe_cleanup_dtor): Remove.
6496         (make_cleanup_restore_current_traceframe): Remove.
6497         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
6498         New.
6499         * tracepoint.h (struct scoped_restore_current_traceframe): New.
6500         * infrun.c (fetch_inferior_event): Use
6501         scoped_restore_current_traceframe.
6502
6503 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6504
6505         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
6506         Remove.
6507         <n_allocated_type_units>: Remove.
6508         <all_type_units>: Change to std::vector.
6509         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
6510         to std::vector change.
6511         (dwarf2_per_objfile::get_cutu): Likewise.
6512         (dwarf2_per_objfile::get_tu): Likewise.
6513         (create_signatured_type_table_from_index): Likewise.
6514         (create_signatured_type_table_from_debug_names): Likewise.
6515         (dw2_symtab_iter_next): Likewise.
6516         (dw2_print_stats): Likewise.
6517         (dw2_expand_all_symtabs): Likewise.
6518         (dw2_expand_marked_cus): Likewise.
6519         (dw2_debug_names_iterator::next): Likewise.
6520         (dwarf2_initialize_objfile): Likewise.
6521         (add_signatured_type_cu_to_table): Likewise.
6522         (create_all_type_units): Likewise.
6523         (add_type_unit): Likewise.
6524         (struct tu_abbrev_offset): Add constructor.
6525         (build_type_psymtabs_1): Adjust to std::vector change.
6526         (print_tu_stats): Likewise.
6527         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
6528         (write_debug_names): Likewise.
6529
6530 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6531
6532         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
6533         Make an std::vector.
6534         <n_comp_units>: Remove.
6535         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
6536         to std::vector change.
6537         (dwarf2_per_objfile::get_cutu): Likewise.
6538         (dwarf2_per_objfile::get_cu): Likewise.
6539         (create_cus_from_index): Likewise.
6540         (create_addrmap_from_index): Likewise.
6541         (create_addrmap_from_aranges): Likewise.
6542         (dwarf2_read_index): Likewise.
6543         (dw2_find_last_source_symtab): Likewise.
6544         (dw2_map_symtabs_matching_filename): Likewise.
6545         (dw2_symtab_iter_next): Likewise.
6546         (dw2_print_stats): Likewise.
6547         (dw2_expand_all_symtabs): Likewise.
6548         (dw2_expand_symtabs_with_fullname): Likewise.
6549         (dw2_expand_marked_cus): Likewise.
6550         (dw2_map_symbol_filenames): Likewise.
6551         (create_cus_from_debug_names): Likewise.
6552         (dwarf2_read_debug_names): Likewise.
6553         (dw2_debug_names_iterator::next): Likewise.
6554         (dwarf2_initialize_objfile): Likewise.
6555         (set_partial_user): Likewise.
6556         (dwarf2_build_psymtabs_hard): Likewise.
6557         (read_comp_units_from_section): Remove arguments, adjust to
6558         std::vector change.
6559         (create_all_comp_units): Adjust to std::vector and
6560         read_comp_units_from_section changes.
6561         (dwarf2_find_containing_comp_unit): Adjust to std::vector
6562         change.
6563         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
6564         (psyms_seen_size): Likewise.
6565         (write_gdbindex): Likewise.
6566         (write_debug_names): Likewise.
6567
6568 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6569
6570         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
6571         with dwarf2_per_objfile.
6572         (create_cus_from_index): Likewise.
6573         (create_signatured_type_table_from_index): Likewise.
6574         (dwarf2_read_index): Likewise.
6575         (dwarf2_initialize_objfile): Likewise.
6576         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
6577         per_cu rather than get_dwarf2_per_objfile.
6578
6579 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6580
6581         * dwarf2read.h (struct signatured_type): Forward declare.
6582         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
6583         New methods.
6584         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
6585         (dw2_get_cutu): ...this.
6586         (dwarf2_per_objfile::get_cu): Rename from...
6587         (dw2_get_cu): ...this.
6588         (dwarf2_per_objfile::get_tu): New.
6589         (create_addrmap_from_index): Adjust.
6590         (create_addrmap_from_aranges): Adjust.
6591         (dw2_find_last_source_symtab): Adjust.
6592         (dw2_map_symtabs_matching_filename): Adjust.
6593         (dw2_symtab_iter_next): Adjust.
6594         (dw2_print_stats): Adjust.
6595         (dw2_expand_all_symtabs): Adjust.
6596         (dw2_expand_symtabs_with_fullname): Adjust.
6597         (dw2_expand_marked_cus): Adjust.
6598         (dw_expand_symtabs_matching_file_matcher): Adjust.
6599         (dw2_map_symbol_filenames): Adjust.
6600         (dw2_debug_names_iterator::next): Adjust.
6601         (dwarf2_initialize_objfile): Adjust.
6602         (set_partial_user): Adjust.
6603         (dwarf2_build_psymtabs_hard): Adjust.
6604
6605 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6606
6607         * dwarf2read.c (create_signatured_type_table_from_debug_names):
6608         Remove unused variables.
6609         (dw2_map_symtabs_matching_filename): Likewise.
6610         (dwarf2_record_block_ranges): Likewise.
6611         (dwarf2_read_addr_index): Likewise.
6612         (follow_die_offset): Likewise.
6613
6614 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6615
6616         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
6617         to symbol_file_add_main.
6618
6619 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6620
6621         PR mi/22299
6622         * mi/mi-console.c (do_fputc_async_safe): New.
6623         (mi_console_file::write_async_safe): New.
6624         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
6625         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
6626         New.
6627         * ui-file.c (ui_file::putstrn): Adjust call to
6628         fputstrn_unfiltered.
6629         * utils.c (printchar): Replace do_fputs and do_fprintf
6630         parameters by do_fputc.
6631         (fputstr_filtered): Adjust call to printchar.
6632         (fputstr_unfiltered): Likewise.
6633         (fputstrn_filtered): Likewise.
6634         (fputstrn_unfiltered): Add do_fputc parameter, pass to
6635         printchar.
6636         * utils.h (do_fputc_ftype): New typedef.
6637         (fputstrn_unfiltered): Add do_fputc parameter.
6638
6639 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
6640
6641         * regformats/i386/i386-avx.dat: Remove.
6642
6643 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
6644
6645         PR gdb/22979
6646         * amd64-tdep.c (amd64_none_init_abi): New function.
6647         (amd64_x32_none_init_abi): New function.
6648         (_initialize_amd64_tdep): Register handlers for x86-64 and
6649         x64_32 with GDB_OSABI_NONE.
6650         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
6651         GDB_OSABI_NONE osabi.
6652
6653 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
6654
6655         PR gdb/22980
6656         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
6657         GDB_OSABI_NONE.
6658         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
6659         * osabi.c (gdb_osabi_names): Add "unknown" entry.
6660
6661 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
6662
6663         * common/byte-vector.h (char_vector): New type.
6664         * target.h (target_read_alloc): Return
6665         gdb::optional<byte_vector>.
6666         (target_read_stralloc): Return gdb::optional<char_vector>.
6667         (target_get_osdata): Return gdb::optional<char_vector>.
6668         * target.c (target_read_alloc_1): Templatize.  Replacement
6669         manual memory management with vector.
6670         (target_read_alloc): Change return type, adjust.
6671         (target_read_stralloc): Change return type, adjust.
6672         (target_get_osdata): Change return type, adjust.
6673         * auxv.c (struct auxv_info) <length>: Remove.
6674         <data>: Change type to gdb::optional<byte_vector>.
6675         (auxv_inferior_data_cleanup): Free auxv_info with delete.
6676         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
6677         (target_auxv_search): Adjust.
6678         (fprint_target_auxv): Adjust.
6679         * avr-tdep.c (avr_io_reg_read_command): Adjust.
6680         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
6681         (linux_make_corefile_notes): Adjust.
6682         * osdata.c (get_osdata): Adjust.
6683         * remote.c (remote_get_threads_with_qxfer): Adjust.
6684         (remote_memory_map): Adjust.
6685         (remote_traceframe_info): Adjust.
6686         (btrace_read_config): Adjust.
6687         (remote_read_btrace): Adjust.
6688         (remote_pid_to_exec_file): Adjust.
6689         * solib-aix.c (solib_aix_get_library_list): Adjust.
6690         * solib-dsbt.c (decode_loadmap): Don't free buf.
6691         (dsbt_get_initial_loadmaps): Adjust.
6692         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
6693         * solib-target.c (solib_target_current_sos): Adjust.
6694         * tracepoint.c (sdata_make_value): Adjust.
6695         * xml-support.c (xinclude_start_include): Adjust.
6696         (xml_fetch_content_from_file): Adjust.
6697         * xml-support.h (xml_fetch_another): Change return type.
6698         (xml_fetch_content_from_file): Change return type.
6699         * xml-syscall.c (xml_init_syscalls_info): Adjust.
6700         * xml-tdesc.c (file_read_description_xml): Adjust.
6701         (fetch_available_features_from_target): Change return type.
6702         (target_fetch_description_xml): Adjust.
6703         (target_read_description_xml): Adjust.
6704
6705 2018-04-06  Tom Tromey  <tom@tromey.com>
6706
6707         * value.c (~value): Update.
6708         (struct value) <contents>: Now unique_xmalloc_ptr.
6709         (value_contents_bits_eq, allocate_value_contents)
6710         (value_contents_raw, value_contents_all_raw)
6711         (value_contents_for_printing, value_contents_for_printing_const)
6712         (set_value_enclosing_type): Update.
6713
6714 2018-04-06  Tom Tromey  <tom@tromey.com>
6715
6716         * value.c (range_s): Remove typedef, VEC.
6717         (struct range): Add operator<.
6718         (range_lessthan): Remove.
6719         (ranges_contain): Change type.
6720         (~value): Update.
6721         (struct value) <unavailable, optimized_out>: Now std::vector.
6722         (value_entirely_available)
6723         (value_entirely_covered_by_range_vector)
6724         (value_entirely_unavailable, value_entirely_optimized_out):
6725         Update.
6726         (insert_into_bit_range_vector): Change argument type.
6727         (find_first_range_overlap): Likewise.
6728         (struct ranges_and_idx, value_contents_bits_eq)
6729         (require_not_optimized_out, require_available): Update.
6730         (ranges_copy_adjusted): Change argument types.
6731         (value_optimized_out, value_copy, value_fetch_lazy): Update.
6732
6733 2018-04-06  Tom Tromey  <tom@tromey.com>
6734
6735         * value.c (~value): Update.
6736         (struct value) <parent>: Now a value_ref_ptr.
6737         (value_parent, set_value_parent, value_address, value_copy):
6738         Update.
6739
6740 2018-04-06  Tom Tromey  <tom@tromey.com>
6741
6742         * value.c (struct value): Add constructor, destructor, and member
6743         initializers.
6744         (allocate_value_lazy, value_decref): Update.
6745
6746 2018-04-06  Tom Tromey  <tom@tromey.com>
6747
6748         * value.c (struct value) <released, next>: Remove.
6749         (all_values): Now a std::vector.
6750         (allocate_value_lazy): Update.
6751         (value_next): Remove.
6752         (value_mark, value_free_to_mark, release_value)
6753         (value_release_to_mark): Update.
6754
6755 2018-04-06  Tom Tromey  <tom@tromey.com>
6756
6757         * value.h (fetch_subexp_value, value_release_to_mark): Update.
6758         (free_value_chain): Remove.
6759         * value.c (free_value_chain): Remove.
6760         (value_release_to_mark): Return a std::vector.
6761         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
6762         std::vector.
6763         (check_condition): Update.
6764         * eval.c (fetch_subexp_value): Change "val_chain" to a
6765         std::vector.
6766         * breakpoint.c (update_watchpoint): Update.
6767         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
6768
6769 2018-04-06  Tom Tromey  <tom@tromey.com>
6770
6771         * value.h (free_all_values): Remove.
6772         * value.c (free_all_values): Remove.
6773
6774 2018-04-06  Tom Tromey  <tom@tromey.com>
6775
6776         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
6777         (value_history_chain, value_history_count): Remove.
6778         (value_history): New global.
6779         (record_latest_value, access_value_history, show_values)
6780         (preserve_values): Update.
6781
6782 2018-04-06  Tom Tromey  <tom@tromey.com>
6783
6784         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
6785         * varobj.c (varobj_set_display_format, varobj_set_value)
6786         (install_default_visualizer, construct_visualizer)
6787         (install_new_value, ~varobj, varobj_get_value_type)
6788         (my_value_of_variable, varobj_editable_p): Update.
6789         * c-varobj.c (c_describe_child, c_value_of_variable)
6790         (cplus_number_of_children, cplus_describe_child): Update.
6791         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
6792         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
6793         (ada_value_of_variable, ada_value_is_changeable_p): Update.
6794
6795 2018-04-06  Tom Tromey  <tom@tromey.com>
6796
6797         * printcmd.c (last_examine_address): Change type to
6798         value_ref_ptr.
6799         (do_examine, x_command): Update.
6800
6801 2018-04-06  Tom Tromey  <tom@tromey.com>
6802
6803         * value.c (release_value): Update.
6804         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
6805         (struct bpstats) <val>: Now a value_ref_ptr.
6806         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
6807         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
6808         (~watchpoint, print_it_watchpoint, watch_command_1)
6809         (invalidate_bp_value_on_memory_change): Update.
6810
6811 2018-04-06  Tom Tromey  <tom@tromey.com>
6812
6813         * varobj.c (varobj_clear_saved_item)
6814         (update_dynamic_varobj_children, install_new_value, ~varobj):
6815         Update.
6816         * value.h (value_incref): Move declaration earlier.
6817         (value_decref): Rename from value_free.
6818         (struct value_ref_policy): New.
6819         (value_ref_ptr): New typedef.
6820         (struct value_deleter): Remove.
6821         (gdb_value_up): Remove typedef.
6822         (release_value): Change return type.
6823         (release_value_or_incref): Remove.
6824         * value.c (set_value_parent): Update.
6825         (value_incref): Change return type.
6826         (value_decref): Rename from value_free.
6827         (value_free_to_mark, free_all_values, free_value_chain): Update.
6828         (release_value): Return value_ref_ptr.
6829         (release_value_or_incref): Remove.
6830         (record_latest_value, set_internalvar, clear_internalvar):
6831         Update.
6832         * stack.c (info_frame_command): Don't call value_free.
6833         * python/py-value.c (valpy_dealloc, valpy_new)
6834         (value_to_value_object): Update.
6835         * printcmd.c (do_examine): Update.
6836         * opencl-lang.c (lval_func_free_closure): Update.
6837         * mi/mi-main.c (register_changed_p): Don't call value_free.
6838         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
6839         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
6840         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
6841         value_free.
6842         * guile/scm-value.c (vlscm_free_value_smob)
6843         (vlscm_scm_from_value): Update.
6844         * frame.c (frame_register_unwind, frame_unwind_register_signed)
6845         (frame_unwind_register_unsigned, get_frame_register_bytes)
6846         (put_frame_register_bytes): Don't call value_free.
6847         * findvar.c (address_from_register): Don't call value_free.
6848         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
6849         * dwarf2loc.c (entry_data_value_free_closure)
6850         (value_of_dwarf_reg_entry, free_pieced_value_closure)
6851         (dwarf2_evaluate_loc_desc_full): Update.
6852         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
6853         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
6854         (~watchpoint, watch_command_1)
6855         (invalidate_bp_value_on_memory_change): Update.
6856         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
6857
6858 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
6859
6860         PR gdb/23022
6861         * warning.m4: Add -Wno-error=deprecated-register.
6862         * configure: Re-generate.
6863
6864 2018-04-05  Tom Tromey  <tom@tromey.com>
6865
6866         * linespec.h: Remove include of "vec.h".
6867
6868 2018-04-05  Tom Tromey  <tom@tromey.com>
6869
6870         * linespec.c (typep): Remove typedef.
6871         (find_methods, find_superclass_methods): Take a std::vector.
6872         (find_method): Use std::vector.
6873
6874 2018-04-05  Tom Tromey  <tom@tromey.com>
6875
6876         * utils.c (compare_strings): Remove.
6877         * utils.h (compare_strings): Remove.
6878         * objc-lang.h (find_imps): Update.
6879         * objc-lang.c (find_methods): Take a std::vector.
6880         (uniquify_strings, find_imps): Likewise.
6881         * linespec.c (find_methods): Take a std::vector.
6882         (decode_objc): Use std::vector.
6883         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
6884         a std::vector.
6885         (find_method, find_function_symbols): Use std::vector.
6886
6887 2018-04-05  Tom Tromey  <tom@tromey.com>
6888
6889         * completer.c (completion_tracker::completion_tracker): Remove
6890         cast.
6891         (completion_tracker::discard_completions): Likewise.
6892         * breakpoint.c (ambiguous_names_p): Remove cast.
6893         * ada-lang.c (_initialize_ada_language): Remove cast.
6894         * utils.h (streq): Update.
6895         (streq_hash): Add new declaration.
6896         * utils.c (streq): Return bool.
6897         (streq_hash): New function.
6898
6899 2018-04-05  Tom Tromey  <tom@tromey.com>
6900
6901         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
6902         Remove a string copy.
6903
6904 2018-04-05  Tom Tromey  <tom@tromey.com>
6905
6906         * linespec.c (filter_results): Use std::vector.
6907         (decode_line_2, decode_line_full): Update.
6908
6909 2018-04-05  Tom Tromey  <tom@tromey.com>
6910
6911         * linespec.c (canonical_to_fullform): Return std::string.
6912         (filter_results): Update.
6913         (struct decode_line_2_item): Add constructor.
6914         <fullform, displayform>: Now std::string.
6915         (decode_line_2_compare_items): Now a std::sort comparator.
6916         (decode_line_2): Update.
6917
6918 2018-04-05  Tom Tromey  <tom@tromey.com>
6919
6920         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
6921         (unexpected_linespec_error): Update.
6922         (linespec_parse_basic, parse_linespec): Update.
6923
6924 2018-04-05  Tom Tromey  <tom@tromey.com>
6925
6926         * linespec.c (linespec_parse_basic): Reindent.
6927
6928 2018-04-05  Tom Tromey  <tom@tromey.com>
6929
6930         * minsyms.h (iterate_over_minimal_symbols): Update.
6931         * minsyms.c (iterate_over_minimal_symbols): Take a
6932         gdb::function_view.
6933         * linespec.c (struct collect_minsyms): Remove.
6934         (compare_msyms): Now a std::sort comparator.
6935         (add_minsym): Add parameters.
6936         (search_minsyms_for_name): Update.  Use std::vector.
6937
6938 2018-04-03  Tom Tromey  <tom@tromey.com>
6939
6940         * mipsread.c (read_alphacoff_dynamic_symtab): Use
6941         gdb::byte_vector.
6942
6943 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
6944
6945         * MAINTAINERS (Write After Approval): Add Weimin Pan.
6946
6947 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
6948
6949         PR gdb/16959
6950         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
6951         printing static type.
6952
6953 2018-04-01  Tom Tromey  <tom@tromey.com>
6954
6955         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
6956         (rs6000_xfer_shared_libraries): Update.
6957
6958 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
6959
6960         * common/gdb_vecs.h (char_ptr): Remove.
6961         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
6962
6963 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
6964
6965         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
6966         with std::vector.
6967         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
6968
6969 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
6970
6971         * tracepoint.h (struct uploaded_tp): Initialize fields.
6972         <actions, step_actions, cmd_strings>: Change type to
6973         std::vector<char *>.
6974         * tracepoint.c (get_uploaded_tp): Allocate with new.
6975         (free_uploaded_tps): Free with delete.
6976         (parse_tracepoint_definition): Adjust to std::vector change.
6977         * breakpoint.c (read_uploaded_action): Likewise.
6978         (create_tracepoint_from_upload): Likewise.
6979         * ctf.c (ctf_write_uploaded_tp): Likewise.
6980         (SET_ARRAY_FIELD): Likewise.
6981         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
6982
6983 2018-03-30  Tom Tromey  <tom@tromey.com>
6984
6985         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
6986         std::unique_ptr.
6987         (svr4_keep_data_in_core): Update.
6988         (svr4_read_so_list): Update.
6989
6990 2018-03-30  Tom Tromey  <tom@tromey.com>
6991
6992         * windows-nat.c (handle_output_debug_string, handle_exception):
6993         Update.
6994         * target.h (target_read_string): Update.
6995         * target.c (target_read_string): Change "string" to
6996         unique_xmalloc_ptr.
6997         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
6998         Update.
6999         * solib-frv.c (frv_current_sos): Update.
7000         * solib-dsbt.c (dsbt_current_sos): Update.
7001         * solib-darwin.c (darwin_current_sos): Update.
7002         * linux-thread-db.c (inferior_has_bug): Update.
7003         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7004         Update.  Remove alloca.
7005         * ada-lang.c (ada_main_name): Update.
7006
7007 2018-03-30  Tom Tromey  <tom@tromey.com>
7008
7009         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7010         (struct dwo_file_deleter): New.
7011         (dwo_file_up): New typedef.
7012         (open_and_init_dwo_file): Use dwo_file_up.
7013         (free_dwo_file_cleanup): Remove.
7014
7015 2018-03-30  Tom Tromey  <tom@tromey.com>
7016
7017         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7018         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7019
7020 2018-03-30  Tom Tromey  <tom@tromey.com>
7021
7022         * dwarf2read.c (class free_cached_comp_units): New class.
7023         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7024         (free_cached_comp_units): Remove function.
7025
7026 2018-03-30  Tom Tromey  <tom@tromey.com>
7027
7028         * utils.h (make_cleanup_unpush_target): Remove.
7029         * inf-ptrace.c (struct target_unpusher): New.
7030         (target_unpush_up) New typedef.
7031         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7032         target_unpush_up.
7033         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7034
7035 2018-03-27  Tom Tromey  <tom@tromey.com>
7036
7037         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7038
7039 2018-03-27  Pedro Alves  <palves@redhat.com>
7040             Tom Tromey  <tom@tromey.com>
7041
7042         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7043         destructor.  Now a class.
7044         (gdb_readline_wrapper_cleanup): Remove function.
7045         (gdb_readline_wrapper): Remove cleanups.
7046
7047 2018-03-27  Tom Tromey  <tom@tromey.com>
7048
7049         * typeprint.h (struct type_print_options) <local_typedefs,
7050         global_typedefs>: Remove "struct" keyword.
7051         (class typedef_hash_table): New class.
7052         (recursively_update_typedef_hash, add_template_parameters)
7053         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7054         (find_typedef_in_hash): Don't declare.
7055         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7056         (typedef_hash_table::recursively_update): Rename from
7057         recursively_update_typedef_hash.  Now a member.
7058         (typedef_hash_table::add_template_parameters): Rename from
7059         add_template_parameters.  Now a member.
7060         (typedef_hash_table::typedef_hash_table): Now a constructor;
7061         rename from create_typedef_hash.
7062         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7063         rename from free_typedef_hash.
7064         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7065         (do_free_global_table): Remove.
7066         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7067         from copy_type_recursive.
7068         (create_global_typedef_table): Remove.
7069         (typedef_hash_table::find_global_typedef): Now a member of
7070         typedef_hash_table.
7071         (typedef_hash_table::find_typedef): Rename from
7072         find_typedef_in_hash; now a member.
7073         (whatis_exp): Update.
7074         * extension.h (struct ext_lang_type_printers): Add constructor and
7075         destructor.
7076         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7077         declare.
7078         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7079         Now a constructor; rename from start_ext_lang_type_printers.
7080         (ext_lang_type_printers): Now a destructor; rename from
7081         free_ext_lang_type_printers.
7082         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7083         Update.
7084         (c_type_print_base_struct_union): Update.  Remove cleanups.
7085
7086 2018-03-27  Tom Tromey  <tom@tromey.com>
7087
7088         * dwarf-index-write.c: Include <cmath>.
7089
7090 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7091
7092         * NEWS: Add entry describing new "set|show varsize-limit" command.
7093         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7094         command.
7095         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7096         "set variable".
7097
7098 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7099
7100         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7101         dwarf-index-write.c
7102         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7103         * dwarf-index-common.c: New file.
7104         * dwarf-index-common.h: New file.
7105         * dwarf-index-write.c: New file.
7106         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7107         (struct dwarf2_section_info): Move from here.
7108         (dwarf2_section_info_def): Likewise.
7109         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7110         (offset_type): Likewise.
7111         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7112         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7113         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7114         (byte_swap): Likewise.
7115         (MAYBE_SWAP): Likewise.
7116         (dwarf2_per_cu_ptr): Likewise.
7117         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7118         (struct tu_stats): Likewise.
7119         (struct dwarf2_per_objfile): Likewise.
7120         (struct dwarf2_per_cu_data): Likewise.
7121         (struct signatured_type): Likewise.
7122         (sig_type_ptr): Likewise.
7123         (DEF_VEC_P (sig_type_ptr)): Likewise.
7124         (INDEX4_SUFFIX): Likewise.
7125         (INDEX5_SUFFIX): Likewise.
7126         (DEBUG_STR_SUFFIX): Likewise.
7127         (dwarf2_read_section): Make non-static.
7128         (mapped_index_string_hash): Move from here.
7129         (dwarf5_djb_hash): Likewise.
7130         (file_write): Likewise.
7131         (class data_buf): Likewise.
7132         (struct symtab_index_entry): Likewise.
7133         (struct mapped_symtab): Likewise.
7134         (find_slot): Likewise.
7135         (hash_expand): Likewise.
7136         (add_index_entry): Likewise.
7137         (uniquify_cu_indices): Likewise.
7138         (class c_str_view): Likewise.
7139         (class c_str_view_hasher): Likewise.
7140         (class vector_hasher): Likewise.
7141         (write_hash_table): Likewise.
7142         (psym_index_map): Likewise.
7143         (struct addrmap_index_data): Likewise.
7144         (add_address_entry): Likewise.
7145         (add_address_entry_worker): Likewise.
7146         (write_address_map): Likewise.
7147         (symbol_kind): Likewise.
7148         (write_psymbols): Likewise.
7149         (struct signatured_type_index_data): Likewise.
7150         (write_one_signatured_type): Likewise.
7151         (recursively_count_psymbols): Likewise.
7152         (recursively_write_psymbols): Likewise.
7153         (class debug_names): Likewise.
7154         (check_dwarf64_offsets): Likewise.
7155         (psyms_seen_size): Likewise.
7156         (write_gdbindex): Likewise.
7157         (write_debug_names): Likewise.
7158         (assert_file_size): Likewise.
7159         (write_psymtabs_to_index): Likewise.
7160         (save_gdb_index_command): Likewise.
7161         (_initialize_dwarf2_read): Don't register the "save gdb-index"
7162         command.
7163         * dwarf2read.h: New file.
7164
7165 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7166
7167         PR gdb/22670
7168         * dwarf2read.c (dwarf2_physname): Do not return the demangled
7169         symbol name if the CU's language stores symbol names in linkage
7170         format.
7171         * language.h (struct language_defn)
7172         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
7173         all instances of this struct.
7174
7175 2018-03-26  Tom Tromey  <tom@tromey.com>
7176
7177         * stack.c (backtrace_command_1): Remove verbose code.
7178
7179 2018-03-26  Tom Tromey  <tom@tromey.com>
7180
7181         * python/py-framefilter.c (py_print_type): Don't catch
7182         exceptions.  Return void.
7183         (py_print_value): Likewise.
7184         (py_print_single_arg): Likewise.
7185         (enumerate_args): Don't catch exceptions.
7186         (py_print_args): Likewise.
7187         (py_print_frame): Likewise.
7188         (gdbpy_apply_frame_filter): Catch exceptions here.
7189
7190 2018-03-26  Tom Tromey  <tom@tromey.com>
7191
7192         * stack.c (_initialize_stack): Remove trailing newlines from help
7193         text.  Add "Usage" line to "backtrace" help.
7194
7195 2018-03-26  Tom Tromey  <tom@tromey.com>
7196
7197         PR python/16486:
7198         * python/py-framefilter.c (py_print_args): Call wrap_hint.
7199
7200 2018-03-26  Tom Tromey  <tom@tromey.com>
7201
7202         * python/py-framefilter.c (py_print_single_arg): Return
7203         EXT_LANG_BT_ERROR from catch.
7204
7205 2018-03-26  Tom Tromey  <tom@tromey.com>
7206
7207         PR backtrace/15584:
7208         * stack.c (backtrace_command_1): Move some code into no-filters
7209         "if".
7210
7211 2018-03-26  Tom Tromey  <tom@tromey.com>
7212
7213         * python/py-framefilter.c (throw_quit_or_print_exception): New
7214         function.
7215         (gdbpy_apply_frame_filter): Use it.
7216
7217 2018-03-26  Tom Tromey  <tom@tromey.com>
7218
7219         PR cli/17716:
7220         * python/py-framefilter.c (py_print_type, py_print_value)
7221         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
7222         RETURN_MASK_ERROR.
7223
7224 2018-03-26  Tom Tromey  <tom@tromey.com>
7225
7226         * python/py-framefilter.c (enumerate_args): Use
7227         gdb::unique_xmalloc_ptr.
7228
7229 2018-03-26  Tom Tromey  <tom@tromey.com>
7230
7231         * python/py-framefilter.c (py_print_frame): Return
7232         EXT_LANG_BT_OK.
7233         (gdbpy_apply_frame_filter): Update comment.
7234         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
7235         Remove.
7236         <EXT_LANG_BT_NO_FILTERS>: Change value.
7237
7238 2018-03-26  Tom Tromey  <tom@tromey.com>
7239
7240         PR backtrace/15582:
7241         * stack.c (backtrace_command): Parse "hide" argument.
7242         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
7243         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
7244         constant.
7245
7246 2018-03-26  Tom Tromey  <tom@tromey.com>
7247
7248         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
7249         add "flags".
7250         (backtrace_command): Remove "fulltrace", add "flags".
7251
7252 2018-03-26  Tom Tromey  <tom@tromey.com>
7253
7254         * stack.c (backtrace_command): Rewrite command line parsing.
7255
7256 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
7257
7258         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
7259
7260 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
7261
7262         * filename-seen-cache.h: Add include guard.
7263
7264 2018-03-26  Keith Seitz  <keiths@redhat.com>
7265
7266         * symfile.c (place_section): Remove "struct" from section_addr_info
7267         in comment.
7268         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
7269         "struct" keyword from section_addr_info.
7270
7271 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
7272
7273         * regformats/regdef.h (reg): Add constructors.
7274
7275 2018-03-25  Pedro Alves  <palves@redhat.com>
7276
7277         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
7278         if then/else bodies in var_func_name extraction.
7279
7280 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
7281
7282         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
7283         lookup_minimal_symbol() to find symbol entry.
7284         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
7285
7286 2018-03-23  Keith Seitz  <keiths@redhat.com>
7287
7288         PR c++/22968
7289         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
7290         nested type definitions for C++, too.
7291
7292 2018-03-23  Tom Tromey  <tom@tromey.com>
7293
7294         * machoread.c (struct oso_el): Add a constructor.  Don't define as
7295         a typedef.
7296         (macho_register_oso): Remove.
7297         (macho_symtab_read): Take a std::vector.
7298         (oso_el_compare_name): Now a std::sort comparator.
7299         (macho_symfile_read_all_oso): Take a std::vector.
7300         (macho_symfile_read): Use std::vector.  Remove cleanups.
7301
7302 2018-03-22  Tom Tromey  <tom@tromey.com>
7303
7304         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
7305         (record_full_goto_bookmark): Use std::string.
7306
7307 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7308
7309         PR tdep/18295
7310         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
7311         a single mask.
7312
7313 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7314
7315         * rs6000-tdep.c (store_insn_p): New function.
7316         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
7317         and cr_reg to their unshifted values. Use store_insn_p to
7318         match LR saves using either R1 or fdata->alloca_reg. Use
7319         store_insn_p to match CR saves. Set alloca_reg_offset
7320         when alloca_reg and framep are set. Remove lr_reg shift
7321         when assigning to fdata->lr_register.
7322
7323 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7324
7325         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
7326         command line args instead of emitting a warning.
7327
7328 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
7329
7330         * tracepoint.h (struct static_tracepoint_marker): Initialize
7331         fields, define default constructor, move constructor and move
7332         assignment, disable the rest.
7333         <str_id, extra>: Make std::string.
7334         (release_static_tracepoint_marker): Remove.
7335         (free_current_marker): Remove.
7336         * tracepoint.c (free_current_marker): Remove.
7337         (parse_static_tracepoint_marker_definition): Adjust to
7338         std::string, use new hex2str overload.
7339         (release_static_tracepoint_marker): Remove.
7340         (print_one_static_tracepoint_marker): Get marker by reference
7341         and adjust to std::string.
7342         (info_static_tracepoint_markers_command): Adjust to std::vector
7343         changes
7344         * target.h (static_tracepoint_marker_p): Remove typedef.
7345         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
7346         (struct target_ops) <to_static_tracepoint_marker_at>: Return
7347         bool.
7348         <to_static_tracepoint_markers_by_strid>: Return std::vector.
7349         * target-debug.h
7350         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
7351         (target_debug_print_std_vector_static_tracepoint_marker): New.
7352         (target_debug_print_struct_static_tracepoint_marker_p): Rename
7353         to...
7354         (target_debug_print_static_tracepoint_marker_p): ... this.
7355         * target-delegates.c: Re-generate.
7356         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
7357         Make std::string.
7358         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
7359         (decode_static_tracepoint_spec): Adjust to std::vector.
7360         (tracepoint_print_one_detail): Adjust to std::string.
7361         (strace_marker_decode_location): Adjust to std::string.
7362         (update_static_tracepoint): Adjust to std::string, remove call
7363         to release_static_tracepoint_marker.
7364         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
7365         Adjust to std::vector.
7366         * remote.c (remote_static_tracepoint_marker_at): Return bool.
7367         (remote_static_tracepoint_markers_by_strid): Adjust to
7368         std::vector.
7369         * common/rsp-low.h (hex2str): New overload with explicit count
7370         of bytes.
7371         * common/rsp-low.c (hex2str): New overload with explicit count
7372         of bytes.
7373         * unittests/rsp-low-selftests.c (test_hex2str): New function.
7374         (_initialize_rsp_low_selftests): Add test_hex2str test.
7375         * unittests/tracepoint-selftests.c
7376         (test_parse_static_tracepoint_marker_definition): Adjust to
7377         std::string.
7378
7379 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
7380
7381         * tracepoint.c (parse_static_tracepoint_marker_definition):
7382         Consider case where the definition is followed by more
7383         definitions.
7384         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7385         tracepoint-selftests.c.
7386         * unittests/tracepoint-selftests.c: New.
7387
7388 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7389
7390         * MAINTAINERS (Write After Approval): Add Pedro Franco de
7391         Carvalho.
7392
7393 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
7394
7395         * symtab.c (find_pc_sect_line): fixed indentation.
7396
7397 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
7398
7399         * symtab.c (find_pc_sect_line): now uses binary search.
7400
7401 2018-03-19  Tom Tromey  <tom@tromey.com>
7402
7403         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
7404         "IDENT" production.
7405
7406 2018-03-19  Pedro Alves  <palves@redhat.com>
7407             Tom Tromey  <tom@tromey.com>
7408
7409         * unittests/observable-selftests.c: New file.
7410         * common/observable.h: New file.
7411         * observable.h: New file.
7412         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
7413         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
7414         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
7415         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
7416         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
7417         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
7418         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
7419         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
7420         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
7421         python/py-breakpoint.c, python/py-finishbreakpoint.c,
7422         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
7423         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
7424         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
7425         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
7426         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
7427         tui/tui-interp.c, valops.c: Update all users.
7428         * tui/tui-hooks.c (tui_bp_created_observer)
7429         (tui_bp_deleted_observer, tui_bp_modified_observer)
7430         (tui_inferior_exit_observer, tui_before_prompt_observer)
7431         (tui_normal_stop_observer, tui_register_changed_observer):
7432         Remove.
7433         (tui_observers_token): New global.
7434         (attach_or_detach, tui_attach_detach_observers): New functions.
7435         (tui_install_hooks, tui_remove_hooks): Use
7436         tui_attach_detach_observers.
7437         * record-btrace.c (record_btrace_thread_observer): Remove.
7438         (record_btrace_thread_observer_token): New global.
7439         * observer.sh: Remove.
7440         * observer.c: Rename to observable.c.
7441         * observable.c (namespace gdb_observers): Define new objects.
7442         (observer_debug): Move into gdb_observers namespace.
7443         (struct observer, struct observer_list, xalloc_observer_list_node)
7444         (xfree_observer_list_node, generic_observer_attach)
7445         (generic_observer_detach, generic_observer_notify): Remove.
7446         (_initialize_observer): Update.
7447         Don't include observer.inc.
7448         * Makefile.in (generated_files): Remove observer.h, observer.inc.
7449         (clean mostlyclean): Likewise.
7450         (observer.h, observer.inc): Remove targets.
7451         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
7452         (COMMON_SFILES): Use observable.c, not observer.c.
7453         * .gitignore: Remove observer.h.
7454
7455 2018-03-18  Tom Tromey  <tom@tromey.com>
7456
7457         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
7458         gdb::def_vector.
7459         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
7460
7461 2018-03-17  Tom Tromey  <tom@tromey.com>
7462
7463         * auto-load.c (auto_load_objfile_script_1): Use std::string.
7464
7465 2018-03-17  Tom Tromey  <tom@tromey.com>
7466
7467         * target.c (class scoped_target_fd): New.
7468         (target_fileio_close_cleanup): Remove.
7469         (target_fileio_read_alloc_1): Use scoped_target_fd.
7470
7471 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
7472
7473         * silent-rules.mk: New.
7474         * Makefile.in: Include silent-rules.mk
7475         (srcdir, VPATH, top_srcdir): Move up.
7476         (COMPILE): Add ECHO_CXX.
7477         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
7478         (init.c): Add ECHO_INIT_C.
7479         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
7480         (version.c): Add ECHO_GEN.
7481         (printcmd.o): Add ECHO_CXX.
7482         (target-float.o): Add ECHO_CXX.
7483         (ada-exp.o): Add ECHO_CXX.
7484         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
7485         (insight$(EXEEXT)): Add ECHO_CXXLD.
7486         * gnulib/configure.ac: Add AM_SILENT_RULES.
7487         * gnulib/aclocal.m4: Re-generate.
7488         * gnulib/configure: Re-generate.
7489         * gnulib/import/Makefile.in: Re-generate.
7490
7491 2018-03-16  Tom Tromey  <tom@tromey.com>
7492
7493         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
7494         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
7495         * utils.c (do_free_section_addr_info)
7496         (make_cleanup_free_section_addr_info): Remove.
7497         * symfile.h (struct other_sections): Add constructor.
7498         (struct section_addr_info): Remove.
7499         (section_addr_info): New typedef.
7500         (struct sym_fns) <sym_offsets>: Change type of parameter.
7501         (build_section_addr_info_from_objfile)
7502         (relative_addr_info_to_section_offsets, addr_info_make_relative)
7503         (default_symfile_offsets, symbol_file_add)
7504         (symbol_file_add_from_bfd)
7505         (build_section_addr_info_from_section_table): Update.
7506         (alloc_section_addr_info, free_section_addr_info): Don't declare.
7507         * symfile.c (alloc_section_addr_info): Remove.
7508         (build_section_addr_info_from_section_table): Change return type.
7509         Update.
7510         (build_section_addr_info_from_bfd)
7511         (build_section_addr_info_from_objfile): Likewise.
7512         (free_section_addr_info): Remove.
7513         (relative_addr_info_to_section_offsets): Change type of "addrs".
7514         (addrs_section_compar): Now a std::sort comparator.
7515         (addrs_section_sort): Change return type.
7516         (addr_info_make_relative): Change type of "addrs".  Update.
7517         (default_symfile_offsets, syms_from_objfile_1)
7518         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
7519         (symbol_file_add_separate): Update.
7520         (symbol_file_add): Change type of "addrs".  Update.
7521         (add_symbol_file_command): Update.  Remove cleanups.
7522         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
7523         cleanups.
7524         * symfile-debug.c (debug_sym_offsets): Change type of "info".
7525         * solib.c (solib_read_symbols): Update.
7526         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
7527         * machoread.c (macho_symfile_offsets): Update.
7528         * jit.c (jit_bfd_try_read_symtab): Update.
7529
7530 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
7531
7532         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7533         unittests/utils-selftests.c.
7534         * unittests/utils-selftests.c: New file.
7535
7536 2018-03-14  Tom Tromey  <tom@tromey.com>
7537
7538         PR cli/14977:
7539         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
7540         for NULL.
7541
7542 2018-03-14  Tom Tromey  <tom@tromey.com>
7543
7544         PR cli/19918:
7545         * printcmd.c (printf_pointer): Allow "-" in format.
7546
7547 2018-03-14  Tom Tromey  <tom@tromey.com>
7548
7549         * printcmd.c (_initialize_printcmd): Add usage to printf.
7550
7551 2018-03-14  Yao Qi  <qiyao@sourceware.org>
7552
7553         * MAINTAINERS: Update my email address.
7554
7555 2018-03-13  Tom Tromey  <tom@tromey.com>
7556
7557         * machoread.c (macho_check_dsym): Change filenamep to a
7558         std::string*.
7559         (macho_symfile_read): Update.
7560         * symfile.c (load_command): Use std::string.
7561
7562 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
7563
7564         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
7565         to error message string.
7566         (riscv_register_name): Use xsnprintf instead of sprintf.
7567         (riscv_insn::fetch_instruction): Use gdb_assert instead of
7568         internal_error.
7569         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
7570         error.
7571         (riscv_push_dummy_call): Likewise.
7572
7573 2018-03-12  Tom Tromey  <tom@tromey.com>
7574
7575         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
7576         Use gdb::byte_vector.
7577         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
7578
7579 2018-03-12  Yao Qi  <yao.qi@linaro.org>
7580
7581         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
7582         parameter type to readable_regcache.
7583         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
7584         the declaration.
7585
7586 2018-03-11  Tom Tromey  <tom@tromey.com>
7587
7588         * dwarf2read.c (struct nextfield): Add initializers.
7589         (struct nextfnfield): Remove.
7590         (struct fnfieldlist): Add initializers.  Remove "length" and
7591         "head", use std::vector.
7592         (struct decl_field_list): Remove.
7593         (struct field_info): Add initializers.
7594         <fields, baseclasses>: Now std::vector.
7595         <nbaseclasses, nfnfields, typedef_field_list_count,
7596         nested_types_list_count>: Remove.
7597         (dwarf2_add_field, dwarf2_add_type_defn)
7598         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
7599         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
7600         (process_structure_scope): Update.
7601
7602 2018-03-11  Tom Tromey  <tom@tromey.com>
7603
7604         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
7605         for use by std::sort.
7606         (build_type_psymtabs_1): Use std::vector.
7607
7608 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
7609
7610         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
7611         and LIBMPFR in the printed configuration.
7612
7613 2018-03-08  Tom Tromey  <tom@tromey.com>
7614
7615         * source.c (get_filename_and_charpos): Use scoped_fd.
7616         * nto-procfs.c (procfs_open_1): Use scoped_fd.
7617         (procfs_pidlist): Likewise.
7618         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
7619         (iterate_over_mappings): Likewise.
7620
7621 2018-03-08  Tom Tromey  <tom@tromey.com>
7622
7623         * infcall.c (struct call_return_meta_info)
7624         <stack_temporaries_enabled>: Remove.
7625         (get_call_return_value, call_function_by_hand_dummy): Update.
7626         * thread.c (disable_thread_stack_temporaries): Remove.
7627         (enable_thread_stack_temporaries): Remove.
7628         (thread_stack_temporaries_enabled_p): Return bool.
7629         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
7630         (get_last_thread_stack_temporary): Update.
7631         * eval.c (evaluate_subexp): Update.
7632         * gdbthread.h (class enable_thread_stack_temporaries): Now a
7633         class, not a function.
7634         (value_ptr, value_vec): Remove typedefs.
7635         (class thread_info) <stack_temporaries_enabled>: Now bool.
7636         <stack_temporaries>: Now a std::vector.
7637         (thread_stack_temporaries_enabled_p)
7638         (value_in_thread_stack_temporaries): Return bool.
7639
7640 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
7641
7642         * remote.c (putpkt_binary): Fix omitted bytes reporting.
7643         (getpkt_or_notif_sane_1): Likewise.
7644
7645 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
7646
7647         * build-id.c (build_id_to_debug_bfd): Use std::string.
7648
7649 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
7650
7651         * build-id.c (find_separate_debug_file_by_buildid): Return
7652         std::string.
7653         * build-id.h (find_separate_debug_file_by_buildid): Return
7654         std::string.
7655         * coffread.c (coff_symfile_read): Adjust to std::string.
7656         * elfread.c (elf_symfile_read): Adjust to std::string.
7657         * symfile.c (separate_debug_file_exists): Change parameter to
7658         std::string.
7659         (find_separate_debug_file): Return std::string.
7660         (find_separate_debug_file_by_debuglink): Return std::string.
7661         * symfile.h (find_separate_debug_file_by_debuglink): Return
7662         std::string.
7663
7664 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
7665
7666         * common/xml-utils.c (xml_escape_text): Move code to...
7667         (xml_escape_text_append): ... this new function.
7668         * common/xml-utils.h (xml_escape_text_append): New declaration.
7669         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
7670         New function.
7671         (_initialize_xml_utils): register test_xml_escape_text_append as
7672         a selftest.
7673
7674 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
7675
7676         * defs.h: Remove MAX_REGISTER_SIZE.
7677         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
7678         asserts.
7679         * python/py-unwind.c (pyuw_sniffer): Likewise.
7680
7681 2018-03-07  Tom Tromey  <tom@tromey.com>
7682
7683         * linux-tdep.c (linux_info_proc): Update.
7684         * target.h (struct target_ops) <to_fileio_readlink>: Return
7685         optional<string>.
7686         (target_fileio_readlink): Return optional<string>.
7687         * remote.c (remote_hostio_readlink): Return optional<string>.
7688         * inf-child.c (inf_child_fileio_readlink): Return
7689         optional<string>.
7690         * target.c (target_fileio_readlink): Return optional<string>.
7691
7692 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
7693
7694         * regcache.c (cooked_read_test): Add riscv to the list of
7695         architectures that have a save_reggroup.
7696
7697 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7698
7699         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
7700         value is not a dynamic class object.
7701
7702 2018-03-06  Tom Tromey  <tom@tromey.com>
7703
7704         * rust-exp.y: Formatting fixes.
7705
7706 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7707
7708         * riscv-tdep.c (riscv_register_name): Remove target description
7709         support.
7710         (riscv_gdbarch_init): Remove target description check.
7711
7712 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7713
7714         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
7715         comment.
7716         * riscv-tdep.h: Likewise.
7717
7718 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7719
7720         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
7721         (riscv_pseudo_register_write): Delete.
7722         (riscv_gdbarch_init): Remove all use of pseudo registers.
7723
7724 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
7725
7726         * record-btrace.c (btrace_print_lines): Replace cleanup
7727         parameter with RAII equivalents.
7728         (btrace_insn_history): Replace cleanup with RAII equivalents.
7729         * ui-out.h (make_cleanup_ui_out_list_begin_end,
7730         make_cleanup_ui_out_tuple_begin_end): Remove.
7731         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
7732         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
7733         make_cleanup_ui_out_list_begin_end): Remove.
7734
7735 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
7736
7737         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
7738         parameter types to std::vector.  Use bool.
7739         (record_btrace_wait): Replace VEC(tp_t) with
7740         std::vector<thread_info *>.
7741         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
7742
7743 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
7744
7745         * record-btrace.c (record_btrace_disable_callback): Remove.
7746         (struct scoped_btrace_disable): New.
7747         (record_btrace_open): Use scoped_btrace_disable.
7748
7749 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7750
7751         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
7752         reading values from registers.
7753
7754 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7755
7756         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
7757         where appropriate.
7758
7759 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7760
7761         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
7762         change parameter type.  Use GDB's print functions, and use
7763         core_addr_to_string where appropriate.
7764         (riscv_push_dummy_call): Use core_addr_to_string where
7765         appropriate, update call to riscv_print_arg_location, and reindent
7766         a few lines.
7767         (riscv_return_value): Update call to riscv_print_arg_location.
7768
7769 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7770             Tim Newsome <tim@sifive.com>
7771             Albert Ou <a0u@eecs.berkeley.edu>
7772             Darius Rad <darius@bluespec.com>
7773
7774         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
7775         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
7776         (ALLDEPFILES): Add riscv-tdep.c
7777         * configure.tgt: Add riscv support.
7778         * riscv-tdep.c: New file.
7779         * riscv-tdep.h: New file.
7780         * NEWS: Mention new target.
7781         * MAINTAINERS: Add entry for riscv.
7782
7783 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
7784
7785         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
7786         fields within aggregates.
7787
7788 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
7789
7790         * record-btrace.c (btrace_print_lines): Change type of flags to
7791         gdb_disassembly_flags.
7792
7793 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
7794
7795         * fbsd-nat.c: Include "inf-ptrace.h".
7796         (USE_SIGTRAP_SIGINFO): Conditionally define.
7797         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
7798         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
7799         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
7800         function.
7801         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
7802         Likewise.
7803         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
7804         Likewise.
7805         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
7806         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
7807         "supports_stopped_by_hw_breakpoint" target methods.
7808
7809 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
7810
7811         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
7812         * fbsd-nat.c (debug_fbsd_nat): New variable.
7813         (show_fbsd_nat_debug): New function.
7814         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
7815         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
7816
7817 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
7818
7819         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
7820         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
7821         prototype.
7822         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
7823         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
7824         method.
7825
7826 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
7827
7828         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
7829         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
7830
7831 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
7832
7833         * charset.c (struct charset_vector): New.
7834         (charsets): Change type to charset_vector.
7835         (find_charset_names): Adjust.
7836         (add_one): Adjust.
7837         (_initialize_charset): Adjust.
7838
7839 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
7840
7841         * progspace.h (struct program_space) <deleted_solibs>: Change
7842         type to std::vector<std::string>.
7843         * progspace.c (clear_program_space_solib_cache): Adjust.
7844         * breakpoint.c (print_solib_event): Adjust.
7845         (check_status_catch_solib): Adjust.
7846         * solib.c (update_solib_list): Adjust.
7847         * ui-out.h (class ui_out) <field_string>: New overload.
7848         * ui-out.c (ui_out::field_string): New overload.
7849
7850 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
7851
7852         * progspace.h (struct program_space): Add constructor and
7853         destructor, initialize fields.
7854         (add_program_space): Remove.
7855         * progspace.c (add_program_space): Rename to...
7856         (program_space::program_space): ... this.
7857         (release_program_space): Rename to...
7858         (program_space::~program_space): ... this.
7859         (delete_program_space): Use delete to delete program_space.
7860         (initialize_progspace): Use new to allocate program_space.
7861         * inferior.c (add_inferior_with_spaces): Likewise.
7862         (clone_inferior_command): Likewise.
7863         * infrun.c (follow_fork_inferior): Likewise.
7864         (handle_vfork_child_exec_or_exit): Likewise.
7865
7866 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
7867
7868         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
7869         (delim_string_to_char_ptr_vec): Return std::vector of
7870         gdb::unique_xmalloc_ptr.
7871         (dirnames_to_char_ptr_vec_append): Take std::vector of
7872         gdb::unique_xmalloc_ptr.
7873         (dirnames_to_char_ptr_vec): Return std::vector of
7874         gdb::unique_xmalloc_ptr.
7875         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
7876         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
7877         (delim_string_to_char_ptr_vec): Return an std::vector of
7878         gdb::unique_xmalloc_ptr, adjust the code.
7879         (dirnames_to_char_ptr_vec_append): Take an std::vector of
7880         gdb::unique_xmalloc_ptr, adjust the code.
7881         (dirnames_to_char_ptr_vec): Return an std::vector of
7882         gdb::unique_xmalloc_ptr, adjust the code.
7883         * auto-load.c (auto_load_safe_path_vec): Change type to
7884         std::vector of gdb::unique_xmalloc_ptr.
7885         (auto_load_expand_dir_vars): Return an std::vector of
7886         gdb::unique_xmalloc_ptr, adjust the code.
7887         (auto_load_safe_path_vec_update): Adjust.
7888         (filename_is_in_auto_load_safe_path_vec): Adjust.
7889         (auto_load_objfile_script_1): Adjust.
7890         * build-id.c (build_id_to_debug_bfd): Adjust.
7891         * linux-thread-db.c (thread_db_load_search): Adjust.
7892         * source.c (add_path): Adjust.
7893         (openp): Adjust.
7894         * symfile.c (find_separate_debug_file): Adjust.
7895         * utils.c (do_free_char_ptr_vec): Remove.
7896         (make_cleanup_free_char_ptr_vec): Remove.
7897
7898 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
7899
7900         PR gdb/22907
7901         * common/pathstuff.c: Conditionally include "<windows.h>".
7902
7903 2018-03-01  Georg Sauthoff  <mail@georg.so>
7904
7905         PR gdb/22888
7906         * gcore.in: Quote variables and switch interpreter to bash.
7907
7908 2018-03-01  Tom Tromey  <tom@tromey.com>
7909
7910         * dwarf2read.c (alloc_discriminant_info): Fix default_index
7911         assertion.  Add assertion for discriminant_index.
7912         (quirk_rust_enum): Use correct base type name in univariant case.
7913
7914 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
7915
7916         * record.c (get_call_history_modifiers): Return a
7917         record_print_flags.
7918         (cmd_record_call_history): Adjust.
7919         * record-btrace.c (record_btrace_call_history): Adjust.
7920         (record_btrace_call_history_range): Adjust.
7921         (record_btrace_call_history_from): Adjust.
7922         * target-debug.h (target_debug_print_record_print_flags): New.
7923         * target-delegates.c: Re-generate.
7924         * target.c (target_call_history): Change flags type.
7925         (target_call_history_from): Likewise.
7926         (target_call_history_range): Likewise.
7927         * target.h (struct target_ops) <target_call_history>: Likewise.
7928         (target_call_history_from): Likewise.
7929         (target_call_history_range): Likewise.
7930
7931 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
7932             Simon Marchi  <simon.marchi@polymtl.ca>
7933
7934         * common/common-utils.c: Include "sys/stat.h".
7935         (is_regular_file): Move here from "source.c"; change return
7936         type to "bool".
7937         * common/common-utils.h (is_regular_file): New prototype.
7938         * common/pathstuff.c (contains_dir_separator): New function.
7939         * common/pathstuff.h (contains_dir_separator): New prototype.
7940         * source.c: Don't include "sys/stat.h".
7941         (is_regular_file): Move to "common/common-utils.c".
7942
7943 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
7944
7945         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
7946         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
7947         * auto-load.c: Include "common/pathstuff.h".
7948         * common/common-def.h (current_directory): Move here.
7949         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
7950         function.
7951         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
7952         prototype.
7953         * common/pathstuff.c: New file.
7954         * common/pathstuff.h: New file.
7955         * compile/compile.c: Include "common/pathstuff.h".
7956         * defs.h (current_directory): Move to "common/common-defs.h".
7957         * dwarf2read.c: Include "common/pathstuff.h".
7958         * exec.c: Likewise.
7959         * guile/scm-safe-call.c: Likewise.
7960         * linux-thread-db.c: Likewise.
7961         * main.c: Likewise.
7962         * nto-tdep.c: Likewise.
7963         * objfiles.c: Likewise.
7964         * source.c: Likewise.
7965         * symtab.c: Likewise.
7966         * utils.c: Include "common/pathstuff.h".
7967         (gdb_realpath): Move to "common/pathstuff.c".
7968         (gdb_realpath_keepfile): Likewise.
7969         (gdb_abspath): Likewise.
7970         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
7971         (gdb_realpath_keepfile): Likewise.
7972         (gdb_abspath): Likewise.
7973
7974 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
7975
7976         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
7977         wildcard process pid for super_resume for kernels with a
7978         specific bug.
7979
7980 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
7981
7982         * compile/compile.c (get_args): Add additional comments
7983         explaining function.
7984
7985 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
7986             Tom Tromey  <tom@tromey.com>
7987
7988         * target.h (memory_write_request_s): Remove typedef.  Don't define
7989         VEC.
7990         (target_write_memory_blocks): Change argument to std::vector.
7991         (struct memory_write_request): Add constructor.
7992         * target-memory.c (compare_block_starting_address): Return bool.
7993         Change argument types.
7994         (claim_memory): Change arguments to use std::vector.
7995         (split_regular_and_flash_blocks, blocks_to_erase)
7996         (compute_garbled_blocks): Likewise.
7997         (cleanup_request_data, cleanup_write_requests_vector): Remove.
7998         (target_write_memory_blocks): Change argument to std::vector.
7999         * symfile.c (struct load_section_data): Add constructor and
8000         destructor.  Use std::vector for "requests".
8001         (struct load_progress_data): Add initializers.
8002         (load_section_callback): Update.  Use "new".
8003         (clear_memory_write_data): Remove.
8004         (generic_load): Update.
8005
8006 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8007
8008         * arch/aarch64.h: Use common/tdesc.h.
8009
8010 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8011
8012         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8013         architecture with a 64-bit ABI.
8014
8015 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8016
8017         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8018         ahead of target description loading.
8019
8020 2018-02-26  Tom Tromey  <tom@tromey.com>
8021
8022         * stack.c (backtrace_command_1): Update.
8023         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8024         of "flags".
8025         * python/py-framefilter.c (py_print_frame)
8026         (gdbpy_apply_frame_filter): Change type of "flags".
8027         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8028         of "flags".
8029         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8030         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8031         * extension.h (enum frame_filter_flag): Rename from
8032         frame_filter_flags.
8033         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8034         (apply_ext_lang_frame_filter): Change type of "flags".
8035         * extension.c (apply_ext_lang_frame_filter): Change type of
8036         "flags".
8037         * extension-priv.h (struct extension_language_ops)
8038         <apply_frame_filter>: Change type of "flags".
8039
8040 2018-02-26  Tom Tromey  <tom@tromey.com>
8041
8042         PR python/16497:
8043         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8044         off-by-one in py_end computation.
8045         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8046         PRINT_MORE_FRAMES.
8047         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8048         constant.
8049
8050 2018-02-26  Tom Tromey  <tom@tromey.com>
8051
8052         * dwarf2read.c (struct variant_field): New.
8053         (struct nextfield) <variant>: New field.
8054         (dwarf2_add_field): Handle DW_TAG_variant_part.
8055         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8056         discriminated union.
8057         (read_structure_type): Handle DW_TAG_variant_part.
8058         (handle_struct_member_die): New function, extracted from
8059         process_structure_scope.  Handle DW_TAG_variant.
8060         (process_structure_scope): Handle discriminated unions.  Call
8061         handle_struct_member_die.
8062
8063 2018-02-26  Tom Tromey  <tom@tromey.com>
8064
8065         * rust-lang.h (rust_last_path_segment): Declare.
8066         * rust-lang.c (rust_last_path_segment): Now public.  Change
8067         contract.
8068         (struct disr_info): Remove.
8069         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8070         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8071         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8072         (rust_enum_p, rust_enum_variant): New function.
8073         (rust_underscore_fields): Remove "offset" parameter.
8074         (rust_print_enum): New function.
8075         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8076         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8077         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8078         enums.
8079         (rust_internal_print_type): New function, from rust_print_type.
8080         Remove enum code.
8081         (rust_print_type): Call rust_internal_print_type.
8082         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8083         Update enum handling.
8084         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8085         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8086         (rust_union_quirks): New functions.
8087         (process_full_comp_unit, process_full_type_unit): Call
8088         rust_union_quirks.
8089         (process_structure_scope): Update rust_unions if necessary.
8090
8091 2018-02-26  Tom Tromey  <tom@tromey.com>
8092
8093         * value.h (value_union_variant): Declare.
8094         * valops.c (value_union_variant): New function.
8095         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8096         (struct discriminant_info): New.
8097         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8098         enumerator.
8099         (struct main_type) <flag_discriminated_union>: New field.
8100
8101 2018-02-26  Tom Tromey  <tom@tromey.com>
8102
8103         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8104         unittests/unpack-selftests.c.
8105         * unittests/unpack-selftests.c: New file.
8106         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8107
8108 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8109
8110         * dwarf2read.c (struct partial_die_info) <read>: New method.
8111         (read_partial_die): Remove the declaration.
8112         (load_partial_dies): Update.
8113         (partial_die_info::partial_die_info):
8114         (read_partial_die): Change it to partial_die_info::read.
8115
8116 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8117
8118         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8119         (fixup_partial_die): Remove declaration.
8120         (scan_partial_symbols): Update.
8121         (partial_die_parent_scope): Likewise.
8122         (partial_die_full_name): Likewise.
8123         (fixup_partial_die): Change it to partial_die_info::fixup.
8124
8125 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8126
8127         * dwarf2read.c (read_partial_die): Update the declaration.
8128         (load_partial_dies): Caller update.
8129         (read_partial_die): Remove one argument abbrev_len.
8130
8131 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8132
8133         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8134         assignment operator.
8135         (load_partial_dies): Use ctor and copy ctor.
8136         (read_partial_die): Update.
8137         (dwarf2_cu::find_partial_die): Use ctor.
8138
8139 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8140
8141         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8142         (find_partial_die_in_comp_unit): Change it to
8143         dwarf2_cu::find_partial_die.
8144         (find_partial_die): Update.
8145
8146 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8147
8148         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8149         is NULL.
8150
8151 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8152
8153         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8154
8155 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8156
8157         * arch/amd64.h: Use common/tdesc.h.
8158         * arch/i386.c: Likewise.
8159         * arch/i386.h: Likewise.
8160         * arch/tic6x.c: Likewise.
8161         * arch/tdesc.h: Move file from here...
8162         * common/tdesc.h: ...to here.
8163         * features/aarch64-core.c: Regenerate.
8164         * features/aarch64-fpu.c: Regenerate.
8165         * features/i386/32bit-avx.c: Regenerate.
8166         * features/i386/32bit-avx512.c: Regenerate.
8167         * features/i386/32bit-core.c: Regenerate.
8168         * features/i386/32bit-linux.c: Regenerate.
8169         * features/i386/32bit-mpx.c: Regenerate.
8170         * features/i386/32bit-pkeys.c: Regenerate.
8171         * features/i386/32bit-sse.c: Regenerate.
8172         * features/i386/64bit-avx.c: Regenerate.
8173         * features/i386/64bit-avx512.c: Regenerate.
8174         * features/i386/64bit-core.c: Regenerate.
8175         * features/i386/64bit-linux.c: Regenerate.
8176         * features/i386/64bit-mpx.c: Regenerate.
8177         * features/i386/64bit-pkeys.c: Regenerate.
8178         * features/i386/64bit-segments.c: Regenerate.
8179         * features/i386/64bit-sse.c: Regenerate.
8180         * features/i386/x32-core.c: Regenerate.
8181         * features/tic6x-c6xp.c: Regenerate.
8182         * features/tic6x-core.c: Regenerate.
8183         * features/tic6x-gp.c: Regenerate.
8184         * target-descriptions.c: Use common/tdesc.h.
8185         * target-descriptions.h: Likewise.
8186
8187 2018-02-24  Tom Tromey  <tom@tromey.com>
8188
8189         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
8190         (try_thread_db_load_from_dir, thread_db_load_search): Use
8191         std::string.
8192         (info_auto_load_libthread_db_compare): Return bool.  Change
8193         argument types.
8194         (info_auto_load_libthread_db): Use std::vector, std::string.
8195         Remove cleanups.
8196
8197 2018-02-24  Tom Tromey  <tom@tromey.com>
8198
8199         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
8200         std::string.
8201         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
8202         std::string*.
8203         * gdbarch.c: Rebuild.
8204         * gdbarch.h: Rebuild.
8205         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
8206         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
8207         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
8208         std::string*.
8209
8210 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
8211
8212         * gdbtypes.h (sect_offset): Change type to uint64_t.
8213         (sect_offset_str): New function.
8214         * dwarf2read.c (create_addrmap_from_aranges): Use
8215         sect_offset_str.
8216         (error_check_comp_unit_head): Likewise.
8217         (create_debug_type_hash_table): Likewise.
8218         (read_cutu_die_from_dwo): Likewise.
8219         (init_cutu_and_read_dies): Likewise.
8220         (init_cutu_and_read_dies_no_follow): Likewise.
8221         (process_psymtab_comp_unit_reader): Likewise.
8222         (partial_die_parent_scope): Likewise.
8223         (peek_die_abbrev): Likewise.
8224         (process_queue): Likewise.
8225         (dwarf2_physname): Likewise.
8226         (read_namespace_alias): Likewise.
8227         (read_import_statement): Likewise.
8228         (create_dwo_cu_reader): Likewise.
8229         (create_cus_hash_table): Likewise.
8230         (lookup_dwo_cutu): Likewise.
8231         (inherit_abstract_dies): Likewise.
8232         (read_func_scope): Likewise.
8233         (read_call_site_scope): Likewise.
8234         (dwarf2_add_member_fn): Likewise.
8235         (read_common_block): Likewise.
8236         (read_module_type): Likewise.
8237         (read_typedef): Likewise.
8238         (read_subrange_type): Likewise.
8239         (load_partial_dies): Likewise.
8240         (read_partial_die): Likewise.
8241         (find_partial_die): Likewise.
8242         (read_str_index): Likewise.
8243         (dwarf2_string_attr): Likewise.
8244         (build_error_marker_type): Likewise.
8245         (lookup_die_type): Likewise.
8246         (dump_die_shallow): Likewise.
8247         (follow_die_ref): Likewise.
8248         (dwarf2_fetch_die_loc_sect_off): Likewise.
8249         (dwarf2_fetch_constant_bytes): Likewise.
8250         (follow_die_sig): Likewise.
8251         (get_signatured_type): Likewise.
8252         (get_DW_AT_signature_type): Likewise.
8253         (dwarf2_find_containing_comp_unit): Likewise.
8254         (set_die_type): Likewise.
8255
8256 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
8257
8258         * arch/aarch64.c: Include "common-defs.h".
8259         * arch/amd64.c: Likewise.
8260         * arch/i386.c: Likewise.
8261
8262 2018-02-21  Tom Tromey  <tom@tromey.com>
8263
8264         * value.h: (extract_field_op): Update.
8265         * eval.c (extract_field_op): Return a const char *.
8266         * expression.h (parse_expression_for_completion): Update.
8267         * completer.c (complete_expression): Update.
8268         (add_struct_fields): Make fieldname const.
8269         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
8270         (mark_completion_tag, parse_exp_in_context_1): Update.
8271         (parse_expression_for_completion): Change "name" to
8272         unique_xmalloc_ptr*.
8273
8274 2018-02-21  Tom Tromey  <tom@tromey.com>
8275
8276         * infcall.c (call_function_by_hand_dummy): Use std::vector.
8277
8278 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8279
8280         * avr-tdep.c (avr_read_pc): Change parameter type to
8281         readable_regcache.
8282         * gdbarch.sh (read_pc): Likewise.
8283         * gdbarch.c: Re-generated.
8284         * gdbarch.h: Re-generated.
8285         * hppa-tdep.c (hppa_read_pc): Change parameter type to
8286         readable_regcache.
8287         * ia64-tdep.c (ia64_read_pc): Likewise.
8288         * mips-tdep.c (mips_read_pc): Likewise.
8289         * spu-tdep.c (spu_read_pc): Likewise.
8290
8291 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8292
8293         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
8294         * regcache-dump.c: New file.
8295         * regcache.c: Move register_dump to regcache-dump.c.
8296         (maintenance_print_registers): Likewise.
8297         (maintenance_print_raw_registers): Likewise.
8298         (maintenance_print_cooked_registers): Likewise.
8299         (maintenance_print_register_groups): Likewise.
8300         (maintenance_print_remote_registers): Likewise.
8301         (_initialize_regcache): Likewise.
8302         * regcache.h (register_dump): Moved from regcache.c.
8303
8304 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8305
8306         * regcache.c (regcache::regcache): Update.
8307         (regcache::invalidate): Move it to detached_regcache::invalidate.
8308         (get_thread_arch_aspace_regcache): Update.
8309         (regcache::raw_update): Update.
8310         (regcache::cooked_read): Remove some code.
8311         (regcache::cooked_read_value): Likewise.
8312         (regcache::raw_write): Remove assert on m_readonly_p.
8313         (regcache::raw_supply_integer): Move it to
8314         detached_regcache::raw_supply_integer.
8315         (regcache::raw_supply_zeroed): Likewise.
8316         * regcache.h (detached_regcache) <raw_supply_integer>: New
8317         declaration.
8318         <raw_supply_zeroed, invalidate>: Likewise.
8319         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
8320         <invalidate>: Likewise.
8321         <m_readonly_p>: Removed.
8322
8323 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8324
8325         * infcmd.c (get_return_value): Let stop_regs point to
8326         get_current_regcache.
8327         * regcache.c (regcache::regcache): Remove.
8328         (register_dump_reg_buffer): New class.
8329         (regcache_print): Adjust.
8330         * regcache.h (regcache): Remove constructors.
8331
8332 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8333
8334         * regcache.c (class register_dump): New class.
8335         (register_dump_regcache, register_dump_none): New class.
8336         (register_dump_remote, register_dump_groups): New class.
8337         (regcache_print): Update.
8338         * regcache.h (regcache_dump_what): Move it to regcache.c.
8339         (regcache) <dump>: Remove.
8340
8341 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8342
8343         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
8344          reg_buffer_rw *.
8345         (jit_unwind_reg_set_impl): Call raw_supply.
8346         (jit_frame_sniffer): Use reg_buffer_rw.
8347         * record-full.c (record_full_core_regbuf): Change its type.
8348         (record_full_core_open_1): Use reg_buffer_rw.
8349         (record_full_close): Likewise.
8350         (record_full_core_fetch_registers): Use regcache->raw_supply.
8351         (record_full_core_store_registers): Likewise.
8352         * regcache.c (regcache::get_register_status): Move it to
8353         reg_buffer.
8354         (regcache_raw_set_cached_value): Remove.
8355         (regcache::raw_set_cached_value): Remove.
8356         (regcache::raw_write): Call raw_supply.
8357         (regcache::raw_supply): Move it to reg_buffer_rw.
8358         * regcache.h (regcache_raw_set_cached_value): Remove.
8359         (reg_buffer_rw): New class.
8360
8361 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8362
8363         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
8364         readonly_detached_regcache.
8365         (dummy_frame_prev_register): Use regcache->cooked_read.
8366         * frame.c (frame_save_as_regcache): Change return type.
8367         (frame_pop): Update.
8368         * frame.h (frame_save_as_regcache): Update declaration.
8369         * inferior.h (get_infcall_suspend_state_regcache): Update
8370         declaration.
8371         * infrun.c (infcall_suspend_state) <registers>: use
8372         readonly_detached_regcache.
8373         (save_infcall_suspend_state): Don't use regcache_dup.
8374         (get_infcall_suspend_state_regcache): Change return type.
8375         * linux-fork.c (struct fork_info) <savedregs>: Change to
8376         readonly_detached_regcache.
8377         <pc>: New field.
8378         (fork_save_infrun_state): Don't use regcache_dup.
8379         (info_checkpoints_command): Adjust.
8380         * mi/mi-main.c (register_changed_p): Update declaration.
8381         (mi_cmd_data_list_changed_registers): Use
8382         readonly_detached_regcache.
8383         (register_changed_p): Change parameter type to
8384         readonly_detached_regcache.
8385         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
8386         readonly_detached_regcache.
8387         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
8388         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
8389         New.
8390         (regcache::save): Move it to reg_buffer.
8391         (regcache::restore): Change parameter type.
8392         (regcache_dup): Remove.
8393         * regcache.h (reg_buffer) <save>: New method.
8394         (readonly_detached_regcache): New class.
8395         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
8396         readonly_detached_regcache.
8397         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
8398
8399 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8400
8401         * frame.c (frame_save_as_regcache): Use regcache method save.
8402         (frame_pop): Use regcache method restore.
8403         * infrun.c (restore_infcall_suspend_state): Likewise.
8404         * linux-fork.c (fork_load_infrun_state): Likewise.
8405         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
8406         save.
8407         * regcache.c (regcache_save): Remove.
8408         (regcache::restore): More asserts.
8409         (regcache_cpy): Remove.
8410         * regcache.h (regcache_save): Remove the declaration.
8411         (regcache::restore): Move from private to public.
8412         Remove the friend declaration of regcache_cpy.
8413         (regcache_cpy): Remove declaration.
8414
8415 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8416
8417         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
8418         parameter type to 'readable_regcache *'.
8419         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
8420         * arm-tdep.c (arm_neon_quad_read): Likewise.
8421         (arm_pseudo_read): Likewise.
8422         * avr-tdep.c (avr_pseudo_register_read): Likewise.
8423         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
8424         * frv-tdep.c (frv_pseudo_register_read): Likewise.
8425         * gdbarch.c: Re-generated.
8426         * gdbarch.h: Re-generated.
8427         * gdbarch.sh (pseudo_register_read): Change parameter type to
8428         'readable_regcache *'.
8429         (pseudo_register_read_value): Likewise.
8430         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
8431         (h8300_pseudo_register_read): Likewise.
8432         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
8433         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
8434         (i386_pseudo_register_read_into_value): Likewise.
8435         (i386_pseudo_register_read_value): Likewise.
8436         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
8437         declaration.
8438         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
8439         * m32c-tdep.c (m32c_raw_read): Likewise.
8440         (m32c_read_flg): Likewise.
8441         (m32c_banked_register): Likewise.
8442         (m32c_banked_read): Likewise.
8443         (m32c_sb_read): Likewise.
8444         (m32c_part_read): Likewise.
8445         (m32c_cat_read): Likewise.
8446         (m32c_r3r2r1r0_read): Likewise.
8447         (m32c_pseudo_register_read): Likewise.
8448         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
8449         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
8450         (mep_pseudo_cr64_read): Likewise.
8451         (mep_pseudo_register_read): Likewise.
8452         * mips-tdep.c (mips_pseudo_register_read): Likewise.
8453         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
8454         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
8455         * regcache.c (regcache::raw_read): Move it to readable_regcache.
8456         (regcache::cooked_read): Likewise.
8457         (regcache::cooked_read_value): Likewise.
8458         (regcache_cooked_read_signed):
8459         (regcache::cooked_read): Likewise.
8460         * regcache.h (readable_regcache): New class.
8461         (regcache): Inherit readable_regcache.  Move some methods to
8462         readable_regcache.
8463         * rl78-tdep.c (rl78_pseudo_register_read): Change
8464         parameter type to 'readable_regcache *'.
8465         * rs6000-tdep.c (do_regcache_raw_read): Remove.
8466         (e500_pseudo_register_read): Change parameter type to
8467         'readable_regcache *'.
8468         (dfp_pseudo_register_read): Likewise.
8469         (vsx_pseudo_register_read): Likewise.
8470         (efpr_pseudo_register_read): Likewise.
8471         * s390-tdep.c (s390_pseudo_register_read): Likewise.
8472         * sh-tdep.c (sh_pseudo_register_read): Likewise.
8473         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
8474         (sh64_pseudo_register_read): Likewise.
8475         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
8476         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
8477         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
8478         (spu_pseudo_register_read): Likewise.
8479         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
8480         (xtensa_pseudo_register_read): Likewise.
8481
8482 2018-02-21  Yao Qi  <yao.qi@linaro.org>
8483
8484         * regcache.c (regcache::regcache): Call reg_buffer ctor.
8485         (regcache::arch): Move it to reg_buffer::arch.
8486         (regcache::register_buffer): Likewise.
8487         (regcache::assert_regnum): Likewise.
8488         (regcache::num_raw_registers): Likewise.
8489         * regcache.h (reg_buffer): New class.
8490         (regcache): Inherit reg_buffer.
8491
8492 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
8493
8494         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
8495         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
8496
8497 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
8498
8499         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
8500
8501 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
8502
8503         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
8504         (SFILES): Remove common/*.c files.
8505         (COMMON_OBS): Remove some *.o files built from common/*.c files.
8506         * common/common.host: Add common reference.
8507         * configure.ac: Likewise.
8508         * configure: Regenerate.
8509
8510 2018-02-16  Yao Qi  <yao.qi@linaro.org>
8511
8512         * block.c (block_namespace_info): Inherit allocate_on_obstack.
8513         (block_initialize_namespace): Use new.
8514         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
8515         (dwarf2_free_objfile): Use delete.
8516         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
8517         (copy_type_recursive): Use new.
8518         * gdb_obstack.h (allocate_on_obstack): New.
8519
8520 2018-02-15  Yao Qi  <yao.qi@linaro.org>
8521
8522         PR gdb/22849
8523         * inferior.c (exit_inferior_1): Reset inf->control.
8524
8525 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
8526
8527         * ada-lang.c (ada_to_fixed_value_create): Delete advance
8528         declaration.
8529
8530 2018-02-14  Pedro Alves  <palves@redhat.com>
8531
8532         * frame-unwind.c (frame_unwind_try_unwinder): Always call
8533         frame_cleanup_after_sniffer on exception.
8534
8535 2018-02-14  Tom Tromey  <tom@tromey.com>
8536
8537         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
8538         const.
8539         (solib_bfd_open): Make pathname const.
8540         * solib.c (solib_bfd_open): Make pathname const.
8541         * solib-spu.c (spu_bfd_fopen): Make name const.
8542         (spu_bfd_open): Make pathname const.
8543         * solib-darwin.c (darwin_bfd_open): Make pathname const.
8544         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
8545
8546 2018-02-14  Tom Tromey  <tom@tromey.com>
8547
8548         * symfile.c (symfile_bfd_open): Update.
8549         * source.h (openp, source_full_path_of, find_and_open_source):
8550         Change argument type to unique_xmalloc_ptr.
8551         * source.c (openp): Take a unique_xmalloc_ptr.
8552         (source_full_path_of, find_and_open_source): Likewise.
8553         (open_source_file, symtab_to_fullname): Update.
8554         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
8555         unique_xmalloc_ptr.
8556         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
8557         (exec_file_find): Update.
8558         * psymtab.c (psymtab_to_fullname): Update.
8559         * nto-tdep.h (nto_find_and_open_solib): Update.
8560         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
8561         unique_xmalloc_ptr.
8562         * exec.c (exec_file_attach): Update.
8563         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
8564         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
8565
8566 2018-02-14  Tom Tromey  <tom@tromey.com>
8567
8568         * solib.c: Include source.h.
8569         * nto-tdep.c: Include source.h.
8570         * mi/mi-cmd-env.c: Include source.h.
8571         * infcmd.c: Include source.h.
8572         * exec.c: Include source.h.
8573         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
8574         (add_path, directory_switch, source_path, init_source_path): Move
8575         declarations...
8576         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
8577         (add_path, directory_switch, source_path, init_source_path):
8578         ...here.
8579
8580 2018-02-14  Tom Tromey  <tom@tromey.com>
8581
8582         * solist.h (exec_file_find, solib_find): Return
8583         unique_xmalloc_ptr.
8584         (solib_bfd_fopen): Take a const char *.
8585         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
8586         (exec_file_find, solib_find): Likewise.
8587         (solib_bfd_fopen): Do not take ownership of "pathname".
8588         (solib_bfd_open): Use unique_xmalloc_ptr.
8589         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
8590         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
8591         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
8592         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
8593
8594 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
8595
8596         * ada-lang.c (name_match_type_from_name): Remove reference to
8597         ada_name_for_lookup in function's documentation.
8598         * ada-lang.h (ada_name_for_lookup): Delete declaration.
8599
8600 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
8601
8602         * defs.h (enum openp_flags): New enum.
8603         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
8604         Move to enum openp_flags.
8605         (openp_flags): New enum flags.
8606         (openp): Change parameter type to openp_flags.
8607         * source.c (openp): Change parameter type to openp_flags.
8608         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
8609         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
8610
8611 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
8612
8613         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
8614         per-command.
8615
8616 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8617
8618         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
8619         into...
8620         (class dwarf2_queue_guard): ...the destructor of this new class.
8621         (dw2_do_instantiate_symtab): Create instance of the new class
8622         dwarf2_queue_guard, remove cleanup.
8623
8624 2018-02-09  Tom Tromey  <tom@tromey.com>
8625
8626         * source.c (find_source_lines): Don't reference past the end of
8627         the vector.
8628
8629 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8630
8631         * remote.c (remote_btrace_maybe_reopen): Change error message.
8632         * btrace.c (btrace_enable): Likewise.
8633         (parse_xml_btrace): Likewise.
8634         (parse_xml_btrace_conf): Likewise.
8635
8636 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8637
8638         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
8639         (linux_enable_pt, linux_enable_bts): Call
8640         diagnose_perf_event_open_fail.
8641
8642 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8643
8644         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
8645         Remove parameter and change return type.  Update callers.  Move it.
8646         (linux_enable_bts, linux_enable_pt): Improve error message.
8647         (linux_enable_pt): Remove zero buffer size check.
8648         (linux_enable_btrace): Improve error messages.  Remove NULL return
8649         check.
8650
8651 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8652
8653         * btrace.c (btrace_enable): Remove target_supports_btrace call.
8654         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
8655         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
8656         (linux_supports_pt, linux_supports_btrace): Remove.
8657         (linux_enable_bts): Call cpu_supports_bts.
8658         * nat/linux-btrace.h (linux_supports_btrace): Remove.
8659         * remote.c (remote_supports_btrace): Remove.
8660         (init_remote_ops): Remove remote_supports_btrace.
8661         * target-delegates.c: Regenerated.
8662         * target.c (target_supports_btrace): Remove.
8663         * target.h (target_ops) <to_supports_btrace>: Remove
8664         (target_supports_btrace): Remove.
8665         * x86-linux-nat.c (x86_linux_create_target): Remove
8666         linux_supports_btrace.
8667
8668 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8669
8670         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
8671         btrace failed.
8672         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
8673         exception and use message in own exception.
8674
8675 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8676
8677         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
8678         (perf_event_pt_event_type): Use gdb_file_up.
8679         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
8680         scoped_fd, and scoped_mmap.
8681
8682 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8683
8684         * common/scoped_mmap.h: New.
8685         * unittests/scoped_mmap-selftest.c: New.
8686         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8687         unittests/scoped_mmap-selftest.c.
8688
8689 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
8690
8691         * common/scoped_fd.h: New.
8692         * unittests/scoped_fd-selftest.c: New.
8693         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8694         unittests/scoped_fd-selftest.c.
8695
8696 2018-02-09  Tom Tromey  <tom@tromey.com>
8697
8698         * auto-load.c (auto_load_section_scripts): Use
8699         gdb::unique_xmalloc_ptr.
8700
8701 2018-02-09  Tom Tromey  <tom@tromey.com>
8702
8703         * auto-load.c (execute_script_contents): Use std::string.
8704
8705 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
8706
8707         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
8708         Python function, rather than a new command.
8709
8710 2018-02-08  Tom Tromey  <tom@tromey.com>
8711
8712         * solib.c (solib_find_1): Use std::string.
8713         (solib_bfd_fopen): Use unique_xmalloc_ptr.
8714
8715 2018-02-08  Tom Tromey  <tom@tromey.com>
8716
8717         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
8718
8719 2018-02-08  Tom Tromey  <tom@tromey.com>
8720
8721         * source.c (find_source_lines): Use gdb::def_vector.
8722
8723 2018-02-08  Tom Tromey  <tom@tromey.com>
8724
8725         * macrocmd.c (struct temporary_macro_definition): New.
8726         (macro_define_command): Use temporary_macro_definition.  Remove
8727         cleanups.
8728         (free_macro_definition_ptr): Remove.
8729
8730 2018-02-08  Tom Tromey  <tom@tromey.com>
8731
8732         * macroexp.c (maybe_expand): Use std::string.
8733
8734 2018-02-08  Tom Tromey  <tom@tromey.com>
8735
8736         * macroexp.c (struct macro_buffer): Add initializers for some
8737         members.
8738         (init_buffer, init_shared_buffer, free_buffer)
8739         (free_buffer_return_text): Remove.
8740         (macro_buffer): New constructors.
8741         (~macro_buffer): New destructor.
8742         (macro_buffer::set_shared): New method.
8743         (macro_buffer::resize_buffer, macro_buffer::appendc)
8744         (macro_buffer::appendmem): Now methods, not free functions.
8745         (set_token, append_tokens_without_splicing, stringify)
8746         (macro_stringify): Update.
8747         (gather_arguments): Change return type.  Remove argc_p argument,
8748         add args_ptr argument.  Use std::vector.
8749         (substitute_args): Remove argc argument.  Accept std::vector.
8750         (expand): Update.  Use std::vector.
8751         (scan, macro_expand, macro_expand_next): Update.
8752
8753 2018-02-08  Tom Tromey  <tom@tromey.com>
8754
8755         * symtab.c (default_collect_symbol_completion_matches_break_on):
8756         Use unique_xmalloc_ptr.
8757         * macroscope.h: (sal_macro_scope, user_macro_scope)
8758         (default_macro_scope): Return unique_xmalloc_ptr.
8759         * macroscope.c (sal_macro_scope, user_macro_scope)
8760         (default_macro_scope): Return unique_xmalloc_ptr.
8761         * macroexp.h (macro_expand, macro_expand_once): Return
8762         unique_xmalloc_ptr.
8763         * macroexp.c (macro_expand, macro_expand_once): Return
8764         unique_xmalloc_ptr.
8765         * macrocmd.c (macro_expand_command, macro_expand_once_command)
8766         (info_macro_command, info_macros_command): Use
8767         unique_xmalloc_ptr.
8768         * compile/compile-c-support.c (write_macro_definitions): Use
8769         unique_xmalloc_ptr.
8770         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
8771
8772 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
8773
8774         * value.c (value_static_field): Assign field type instead of
8775         containing type when returning an optimized out value.
8776
8777 2018-02-06  Yao Qi  <yao.qi@linaro.org>
8778
8779         * ft32-tdep.c (ft32_read_pc): Remove.
8780         (ft32_write_pc): Remove.
8781         (ft32_gdbarch_init): Update.
8782         * m32r-tdep.c (m32r_read_pc): Remove.
8783         (m32r_gdbarch_init): Update.
8784         * mep-tdep.c (mep_read_pc): Remove.
8785         (mep_gdbarch_init): Update.
8786         * microblaze-tdep.c (microblaze_write_pc): Remove.
8787         (microblaze_gdbarch_init): Update.
8788         * mn10300-tdep.c (mn10300_read_pc): Remove.
8789         (mn10300_write_pc): Remove.
8790         (mn10300_gdbarch_init): Update.
8791         * moxie-tdep.c (moxie_read_pc): Remove.
8792         (moxie_write_pc): Remove.
8793         (moxie_gdbarch_init): Update.
8794
8795 2018-02-06  Yao Qi  <yao.qi@linaro.org>
8796
8797         * expprint.c (print_subexp_standard): Handle
8798         OP_F77_UNDETERMINED_ARGLIST.
8799         (dump_subexp_body_standard): Likewise.
8800
8801 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
8802
8803         * target-descriptions.c (tdesc_element_visitor) Add empty
8804         implementations.
8805         (tdesc_type): Move make_gdb_type from here.
8806         (tdesc_type_builtin): Likewise.
8807         (tdesc_type_vector): Likewise.
8808         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
8809         (make_gdb_type_struct): Move from tdesc_type_with_fields.
8810         (make_gdb_type_union): Likewise.
8811         (make_gdb_type_flags): Likewise.
8812         (make_gdb_type_enum): Likewise.
8813         (make_gdb_type): New function.
8814         (tdesc_register_type): Use static make_gdb_type.
8815
8816 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
8817
8818         * infcmd.c (default_print_one_register_info): Align natural-format
8819         column values consistently one under another.
8820         (pad_to_column): New function.
8821
8822 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
8823
8824         * dwarf2read.c (dwarf2_physname): Move commment.
8825
8826 2018-02-01  Leszek Swirski  <leszeks@google.com>
8827
8828         * varobj.c (varobj_formatted_print_options): Allow recursive
8829         pretty printing if pretty printing is enabled.
8830
8831 2018-02-01  Leszek Swirski  <leszeks@google.com>
8832
8833         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
8834         names after a structop as a filename.
8835
8836 2018-02-01  Yao Qi  <yao.qi@linaro.org>
8837
8838         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
8839         (arm_record_coproc_data_proc): Likewise.
8840
8841 2018-02-01  Yao Qi  <yao.qi@linaro.org>
8842
8843         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
8844
8845 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
8846
8847         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
8848         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
8849
8850 2018-01-31  Pedro Alves  <palves@redhat.com>
8851
8852         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
8853         * inflow.c (child_terminal_save_inferior): Wrap reference to
8854         tcgetpgrp in HAVE_TERMIOS_H.
8855         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
8856         _WIN32.
8857         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
8858         always iterate over all inferiors.
8859         (gdbsim_cntrl_c): Adjust.
8860         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
8861
8862 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
8863
8864         * gdbtypes.c (lookup_array_range_type): Make sure the array's
8865         index type is objfile-owned if the element type is as well.
8866
8867 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
8868
8869         GDB 8.1 released.
8870
8871 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
8872
8873         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
8874         "features/s390x-linux64.c".
8875         (_initialize_s390_linux_tdep): Remove initialization of tdescs
8876         s390_linux32 and s390x_linux64.
8877         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
8878         default tdesc.
8879         * s390-tdep.c: Include "features/s390-linux32.c" and
8880         "features/s390x-linux64.c".
8881         (s390_tdesc_valid): Add check for tdesc_has_registers.
8882         (s390_gdbarch_init): Make sure there is always a valid tdesc.
8883         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
8884         tdesc_s390x_linux64.
8885         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
8886         tdesc_s390x_linux64 to...
8887         * s390-tdep.h: ...here.
8888
8889 2018-01-30  Pedro Alves  <palves@redhat.com>
8890
8891         PR gdb/13211
8892         * config.in, configure: Regenerate.
8893         * configure.ac: Check for getpgid.
8894         * go32-nat.c (go32_pass_ctrlc): New.
8895         (go32_target): Install it.
8896         * inf-child.c (inf_child_target): Install
8897         child_terminal_save_inferior, child_pass_ctrlc and
8898         child_interrupt.
8899         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
8900         (inf_ptrace_target): No longer install it.
8901         * infcmd.c (interrupt_target_1): Adjust.
8902         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
8903         (child_interrupt): Declare.
8904         (inferior::terminal_state): New.
8905         * inflow.c (struct terminal_info): Update comments.
8906         (inferior_process_group): Delete.
8907         (terminal_is_ours): Delete.
8908         (gdb_tty_state): New.
8909         (child_terminal_init): Adjust.
8910         (is_gdb_terminal, sharing_input_terminal_1)
8911         (sharing_input_terminal): New functions.
8912         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
8913         Set the process's actual process group in the foreground if
8914         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
8915         mark terminal as the inferior's if not sharing GDB's terminal.
8916         Don't check attach_flag.
8917         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
8918         pass down a target_terminal_state.
8919         (child_terminal_save_inferior): New, factored out from ...
8920         (child_terminal_ours_1): ... this.  Handle
8921         target_terminal_state::is_ours_for_output.
8922         (child_interrupt, child_pass_ctrlc): New.
8923         (inflow_inferior_exit): Clear the inferior's terminal_state.
8924         (copy_terminal_info): Copy the inferior's terminal state.
8925         (_initialize_inflow): Remove reference to terminal_is_ours.
8926         * inflow.h (inferior_process_group): Delete.
8927         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
8928         * procfs.c (procfs_target): Don't install procfs_interrupt.
8929         (procfs_interrupt): Delete.
8930         * remote.c (remote_serial_quit_handler): Adjust.
8931         (remote_interrupt): Remove ptid parameter.  Adjust.
8932         * target-delegates.c: Regenerate.
8933         * target.c: Include "terminal.h".
8934         (target_terminal::terminal_state): Rename to ...
8935         (target_terminal::m_terminal_state): ... this.
8936         (target_terminal::init): Adjust.
8937         (target_terminal::inferior): Adjust to per-inferior
8938         terminal_state.
8939         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
8940         (target_terminal::ours, target_terminal::ours_for_output): Use
8941         target_terminal_is_ours_kind.
8942         (target_interrupt): Remove ptid parameter.  Adjust.
8943         (default_target_pass_ctrlc): Adjust.
8944         * target.h (target_ops::to_terminal_save_inferior): New field.
8945         (target_ops::to_interrupt): Remove ptid_t parameter.
8946         (target_interrupt): Remove ptid_t parameter.  Update comment.
8947         (target_pass_ctrlc): Update comment.
8948         * target/target.h (target_terminal_state): New scoped enum,
8949         factored out of ...
8950         (target_terminal::terminal_state): ... here.
8951         (target_terminal::inferior): Update comments.
8952         (target_terminal::restore_inferior): New.
8953         (target_terminal::is_inferior, target_terminal::is_ours)
8954         (target_terminal::is_ours_for_output): Adjust.
8955         (target_terminal::scoped_restore_terminal_state): Adjust to
8956         rename, and call restore_inferior() instead of inferior().
8957         (target_terminal::scoped_restore_terminal_state::m_state): Change
8958         type.
8959         (target_terminal::terminal_state): Rename to ...
8960         (target_terminal::m_terminal_state): ... this and change type.
8961
8962 2018-01-30  Pedro Alves  <palves@redhat.com>
8963
8964         * linux-nat.c (wait_for_signal): New function.
8965         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
8966         directly.
8967         (async_terminal_is_ours)
8968         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
8969         (linux_nat_add_target): Don't override
8970         to_terminal_inferior/to_terminal_ours.
8971
8972 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
8973
8974         * remote.c (remote_follow_fork): Don't call "detach_inferior".
8975
8976 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
8977
8978         * dwarf2read.c (free_dwo_files): Add forward-declaration.
8979         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
8980         dwarf2_per_objfile_free here.
8981         (dwarf2_per_objfile_free): Remove.
8982         (_initialize_dwarf2_read): Don't register
8983         dwarf2_per_objfile_free as a registry cleanup.
8984
8985 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8986
8987         Avoid compilation errors in MinGW native builds
8988
8989         The error is triggered by including python-internal.h, and the
8990         error message is:
8991
8992              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
8993                       from build-gnulib/import/math.h:27,
8994                       from d:/usr/Python26/include/pyport.h:235,
8995                       from d:/usr/Python26/include/Python.h:58,
8996                       from python/python-internal.h:94,
8997                       from python/py-arch.c:24:
8998              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
8999         using ::hypot;
9000                 ^~~~~
9001
9002         This happens because Python headers define 'hypot' to expand t
9003         '_hypot' in the Windows builds.
9004         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9005         'hypoth'.  This avoids a compilation error.
9006
9007 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9008
9009         * MAINTAINERS (Write After Approval): Fix ordering.
9010
9011 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9012
9013         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9014
9015 2018-01-26  Alan Modra  <amodra@gmail.com>
9016
9017         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9018         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9019         Remove nop.  Make const.  Comment.
9020         (powerpc32_plt_stub_so_2): New.
9021         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9022         Correct count.  Update uses.
9023         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9024         Move common code reading PLT entry word.  Correct
9025         powerpc32_plt_stub PLT address calculation.
9026         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9027         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9028         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9029         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9030         (ppc64_standard_linkage8): Likewise.
9031         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9032         Correct insns description.
9033         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9034
9035 2018-01-24  Pedro Alves  <palves@redhat.com>
9036
9037         GCC PR libstdc++/83906
9038         * gdbtypes.c (operator==(const dynamic_prop &,
9039         const dynamic_prop &)): New.
9040         (operator==(const range_bounds &, const range_bounds &)): New.
9041         (check_types_equal): Use them instead of memcmp.
9042         * gdbtypes.h (operator==(const dynamic_prop &,
9043         const dynamic_prop &)): Declare.
9044         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9045         (operator==(const range_bounds &, const range_bounds &)): Declare.
9046         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9047
9048 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9049
9050         * s390-linux-tdep.c (s390_record_address_mask)
9051         (s390_record_calc_disp_common, s390_record_calc_disp)
9052         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9053         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9054         (s390_process_record): Move to s390-tdep.c.
9055         (s390_linux_init_abi_any): Adjust.
9056         * s390-tdep.c (s390_record_address_mask)
9057         (s390_record_calc_disp_common, s390_record_calc_disp)
9058         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9059         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9060         (s390_process_record): Moved from s390-linux-tdep.c
9061         (s390_gdbarch_init): Adjust.
9062
9063 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9064
9065         * s390-linux-nat.c (s390-tdep.h): New include.
9066         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9067         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9068         (ALLDEPFILES): Add s390-tdep.c.
9069         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9070         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9071         * s390-tdep.h: ...this.  New file.
9072         * s390-linux-tdep.c (s390-tdep.h): New include.
9073         (_initialize_s390_tdep): Rename to...
9074         (_initialize_s390_linux_tdep): ...this and adjust.
9075         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9076         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9077         s390-tdep.h.
9078         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9079         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9080         (s390_is_partial_instruction, s390_software_single_step)
9081         (is_non_branch_ril, s390_displaced_step_copy_insn)
9082         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9083         (s390_prologue_data, s390_addr, s390_store, s390_load)
9084         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9085         (s390_register_call_saved, s390_guess_tracepoint_registers)
9086         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9087         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9088         (s390_pseudo_register_name, s390_pseudo_register_type)
9089         (s390_pseudo_register_read, s390_pseudo_register_write)
9090         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9091         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9092         (s390_addr_bits_remove, s390_address_class_type_flags)
9093         (s390_address_class_type_flags_to_name)
9094         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9095         (s390_function_arg_float, s390_function_arg_vector)
9096         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9097         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9098         (s390_frame_align, s390_register_return_value, s390_return_value)
9099         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9100         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9101         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9102         (s390_trad_frame_prev_register, s390_unwind_cache)
9103         (s390_prologue_frame_unwind_cache)
9104         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9105         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9106         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9107         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9108         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9109         (s390_frame_base_address, s390_local_base_address)
9110         (s390_frame_base, s390_gcc_target_options)
9111         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9112         (s390_validate_reg_range, s390_tdesc_valid)
9113         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9114         * s390-tdep.c: ...this.  New file.
9115
9116 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9117
9118         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9119         (s390_process_record, s390_gdbarch_tdep_alloc)
9120         (s390_linux_init_abi_any): Use/set new hook.
9121
9122 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9123
9124         * s390-linux-tdep.c (osabi.h): New include.
9125         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9126         (s390_linux_init_abi_any): New functions.
9127         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9128
9129 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9130
9131         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9132         tdesc_has_registers check
9133
9134 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9135
9136         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9137         (s390_validate_reg_range): New macro.
9138         (s390_gdbarch_init): Adjust.
9139
9140 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9141
9142         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9143         (s390_gdbarch_tdep_alloc): Adjust.
9144         (s390_gdbarch_init): Adjust.
9145
9146 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9147
9148         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9149         <have_tdb>: Change type to bool.
9150         (s390_gdbarch_tdep_alloc): Adjust.
9151         (s390_gdbarch_init): Adjust.
9152
9153 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9154
9155         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9156         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9157         (s390_gdbarch_tdep_alloc): New function.
9158         (s390_gdbarch_init): Allocate tdep at start and use its fields
9159         instead of separate variables.
9160
9161 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9162
9163         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
9164         when looking for cached gdbarch and add comment for remaining.
9165
9166 2018-01-22  Pedro Alves  <palves@redhat.com>
9167             Sergio Durigan Junior  <sergiodj@redhat.com>
9168
9169         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
9170         case.
9171
9172 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
9173
9174         * MAINTAINERS: Update my company e-mail address.
9175
9176 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9177
9178         * regcache.c (cooked_write_test): New function.
9179         (_initialize_regcache): Register the test.
9180
9181 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9182
9183         * ia64-tdep.c (ia64_pseudo_register_read): Call
9184         regcache->cooked_read instead of regcache_cooked_read_unsigned.
9185         * m32c-tdep.c (m32c_cat_read): Likewise.
9186         (m32c_r3r2r1r0_read): Likewise.
9187         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9188         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9189
9190 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9191
9192         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
9193         method raw_read instead of regcache_raw_read.
9194         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9195         * arm-tdep.c (arm_neon_quad_read): Likewise.
9196         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9197         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9198         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9199         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
9200         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9201         (i386_pseudo_register_read_into_value): Likewise.
9202         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9203         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9204         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9205         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
9206         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
9207         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
9208         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9209         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
9210         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
9211
9212 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9213
9214         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
9215         * configure.tgt: Remove target mt.
9216         * mt-tdep.c: Remove.
9217         * regcache.c (cooked_read_test): Remove the check for mt.
9218
9219 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9220
9221         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
9222         instead of gdbarch_pseudo_register_read_value.
9223
9224 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
9225
9226         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
9227         language is Ada.
9228
9229 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
9230
9231         * linespec.c (create_sals_line_offset): Remove code that preserved
9232         the symtab_and_line's line number.
9233
9234 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
9235
9236         * varobj.c (varobj_create): Don't set valid_block when creating a
9237         floating varobj.
9238
9239 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
9240
9241         * varobj.c (varobj_create): Remove out of date comment.
9242
9243 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
9244
9245         PR mi/20395
9246         * ada-exp.y (write_var_from_sym): Pass extra parameter when
9247         updating innermost block.
9248         * parse.c (innermost_block_tracker::update): Take extra type
9249         parameter, and check types match before updating innermost block.
9250         (write_dollar_variable): Update innermost block for registers.
9251         * parser-defs.h (enum innermost_block_tracker_type): New enum.
9252         (innermost_block_tracker::innermost_block_tracker): Initialise
9253         m_types member.
9254         (innermost_block_tracker::reset): Take type parameter.
9255         (innermost_block_tracker::update): Take type parameter, and pass
9256         type through as needed.
9257         (innermost_block_tracker::m_types): New member.
9258         * varobj.c (varobj_create): Pass type when reseting innermost
9259         block.
9260
9261 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
9262
9263         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
9264         * ada-lang.c (resolve_subexp): Likewise.
9265         * breakpoint.c (set_breakpoint_condition) Likewise.
9266         (watch_command_1) Likewise.
9267         * c-exp.y (variable): Likewise.
9268         * d-exp.y (PrimaryExpression): Likewise.
9269         * f-exp.y (variable): Likewise.
9270         * go-exp.y (variable): Likewise.
9271         * m2-exp.y (variable): Likewise.
9272         * objfiles.c (objfile::~objfile): Likewise.
9273         * p-exp.y (variable): Likewise.
9274         * parse.c (innermost_block): Change type.
9275         * parser-defs.h (class innermost_block_tracker): New.
9276         (innermost_block): Change to innermost_block_tracker.
9277         * printcmd.c (display_command): Switch to innermost_block API.
9278         (do_one_display): Likewise.
9279         * rust-exp.y (do_one_display): Likewise.
9280         * symfile.c (clear_symtab_users): Likewise.
9281         * varobj.c (varobj_create): Switch to innermost_block API, replace
9282         use of innermost_block with block stored on varobj object.
9283
9284 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
9285
9286         * expression.h (innermost_block): Remove declaration.
9287         * varobj.c: Add 'parser-defs.h' include.
9288
9289 2018-01-19  Tom Tromey  <tom@tromey.com>
9290
9291         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
9292         symbols in the static and global blocks.
9293
9294 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
9295
9296         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
9297         gdb_ptrace.h, and move including gdb_wait.h ...
9298         * nat/linux-ptrace.h: ... to here.
9299
9300 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
9301
9302         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
9303         inf_ptrace_detach_success.
9304         (inf_ptrace_detach_success): Add inferior parameter, use it
9305         instead of inferior_ptid, pass it to detach_inferior.
9306         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
9307         parameter.
9308         * inferior.c (detach_inferior): Add overload that takes an
9309         inferior object.
9310         * inferior.h (detach_inferior): Likewise.
9311         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
9312         use inferior_ptid, adjust call to inf_ptrace_detach_success.
9313         * linux-thread-db.c (thread_db_detach): Use inf parameter.
9314
9315 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
9316
9317         * target.h (struct target_ops) <to_detach>: Add inferior
9318         parameter.
9319         (target_detach): Likewise.
9320         * target.c (dispose_inferior): Pass inferior down.
9321         (target_detach): Pass inferior down.  Assert that it is equal to
9322         the current inferior.
9323         * aix-thread.c (aix_thread_detach): Pass inferior down.
9324         * corefile.c (core_file_command): Pass current_inferior() down.
9325         * corelow.c (core_detach): Add inferior parameter.
9326         * darwin-nat.c (darwin_detach): Likewise.
9327         * gnu-nat.c (gnu_detach): Likewise.
9328         * inf-ptrace.c (inf_ptrace_detach): Likewise.
9329         * infcmd.c (detach_command): Pass current_inferior() down to
9330         target_detach.
9331         * infrun.c (follow_fork_inferior): Pass parent_inf to
9332         target_detach.
9333         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
9334         target_detach.
9335         * linux-nat.c (linux_nat_detach): Add inferior parameter.
9336         * linux-thread-db.c (thread_db_detach): Likewise.
9337         * nto-procfs.c (procfs_detach): Likewise.
9338         * procfs.c (procfs_detach): Likewise.
9339         * record.c (record_detach): Likewise.
9340         * record.h (struct inferior): Forward-declare.
9341         (record_detach): Add inferior parameter.
9342         * remote-sim.c (gdbsim_detach): Likewise.
9343         * remote.c (remote_detach_1): Likewise.
9344         (remote_detach): Likewise.
9345         (extended_remote_detach): Likewise.
9346         * sol-thread.c (sol_thread_detach): Likewise.
9347         * target-debug.h (target_debug_print_inferior_p): New macro.
9348         * target-delegates.c: Re-generate.
9349         * top.c (kill_or_detach): Pass inferior down to target_detach.
9350         * windows-nat.c (windows_detach): Add inferior parameter.
9351
9352 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
9353
9354         * target.h (struct target_ops) <to_detach>: Remove args
9355         parameter.
9356         (target_detach): Likewise.
9357         * target.c (dispose_inferior): Adjust.
9358         (target_detach): Remove args parameter, adjust.
9359         * aix-thread.c (aix_thread_detach): Adjust.
9360         * corefile.c (core_file_command): Adjust.
9361         * corelow.c (core_detach): Adjust.
9362         * darwin-nat.c (darwin_detach): Adjust.
9363         * gnu-nat.c (gnu_detach): Adjust.
9364         * inf-ptrace.c (inf_ptrace_detach): Adjust.
9365         * infcmd.c (detach_command): Adjust
9366         * infrun.c (follow_fork_inferior): Adjust.
9367         (handle_vfork_child_exec_or_exit): Adjust.
9368         * linux-fork.c (linux_fork_detach): Remove args parameter.
9369         * linux-fork.h (linux_fork_detach): Likewise.
9370         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
9371         * linux-thread-db.c (thread_db_detach): Likewise.
9372         * nto-procfs.c (procfs_detach): Likewise.
9373         * procfs.c (procfs_detach): Likewise.
9374         (do_detach): Remove signo parameter.
9375         * record.c (record_detach): Remove args parameter.
9376         * record.h (record_detach): Likewise.
9377         * remote-sim.c (gdbsim_detach): Likewise.
9378         * remote.c (remote_detach_1): Likewise.
9379         (remote_detach): Likewise.
9380         (extended_remote_detach): Likewise.
9381         * sol-thread.c (sol_thread_detach): Likewise.
9382         * target-delegates.c: Re-generate.
9383         * top.c (struct qt_args) <args>: Remove field.
9384         (kill_or_detach): Don't pass args.
9385         (quit_force): Don't set args.
9386         * windows-nat.c (windows_detach): Remove args parameter.
9387
9388 2018-01-19  Yao Qi  <yao.qi@linaro.org>
9389
9390         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
9391         (arm_linux_init_abi): Install it.
9392
9393 2018-01-19  Yao Qi  <yao.qi@linaro.org>
9394
9395         * osabi.c (gdb_osabi_names): Extend the regexp for
9396         arm-linux-gnueabihf.
9397
9398 2018-01-18  Yao Qi  <yao.qi@linaro.org>
9399
9400         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
9401         m_abbrevs.
9402         (abbrev_table::add_abbrev): Update.
9403         (abbrev_table::lookup_abbrev): Update.
9404
9405 2018-01-18  Yao Qi  <yao.qi@linaro.org>
9406
9407         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
9408
9409 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
9410
9411         * compile/compile.c (compile_to_object): Convert "triplet_rx"
9412         to "std::string".
9413
9414 2018-01-17  Tom Tromey  <tom@tromey.com>
9415
9416         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
9417
9418 2018-01-17  Tom Tromey  <tom@tromey.com>
9419
9420         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
9421         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
9422         (create_array_type_with_stride): Update.
9423         * dwarf2read.c (set_die_type): Update.
9424
9425 2018-01-17  Tom Tromey  <tom@tromey.com>
9426
9427         * dwarf2read.c (delayed_method_info): Remove typedef.
9428         (dwarf2_cu::method_info): Now a std::vector.
9429         (add_to_method_list): Update.
9430         (free_delayed_list): Remove.
9431         (compute_delayed_physnames): Update.
9432         (process_full_comp_unit, process_full_type_unit): Clear the method
9433         list.  Remove cleanups.
9434         (psymtab_include_file_name): Add name_holder parameter.  Use
9435         unique_xmalloc_ptr.
9436         (dwarf_decode_lines): Update.
9437
9438 2018-01-17  Tom Tromey  <tom@tromey.com>
9439             Simon Marchi  <simon.marchi@ericsson.com>
9440
9441         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
9442         (dwarf2_per_objfile::free_cached_comp_units)
9443         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
9444         (init_cutu_and_read_dies_no_follow): Update.
9445         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
9446         (dwarf2_cu::~dwarf2_cu): New.
9447         (free_heap_comp_unit, free_stack_comp_unit): Remove.
9448         (age_cached_comp_units, free_one_cached_comp_unit): Update.
9449
9450 2018-01-17  Tom Tromey  <tom@tromey.com>
9451             Simon Marchi  <simon.marchi@ericsson.com>
9452
9453         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
9454         (struct die_reader_specs) <abbrev_table>: New member.
9455         (struct abbrev_table): Add constructor.
9456         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
9457         <abbrev_obstack>: Now an auto_obstack.
9458         (abbrev_table_up): New typedef.
9459         (init_cu_die_reader): Add abbrev_table parameter.
9460         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
9461         Add result_dwo_abbrev_table.
9462         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
9463         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
9464         Update.
9465         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
9466         parameter.
9467         (skip_children): Update.
9468         (abbrev_table::alloc_abbrev): Rename from
9469         abbrev_table_alloc_abbrev.
9470         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
9471         (abbrev_table::lookup_abbrev): Rename from
9472         abbrev_table_lookup_abbrev.
9473         (abbrev_table_read_table): Return abbrev_table_up.
9474         (abbrev_table_free, abbrev_table_free_cleanup)
9475         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
9476         (load_partial_dies): Update.
9477
9478 2018-01-17  Tom Tromey  <tom@tromey.com>
9479
9480         * dwarf2read.c (dwarf2_compute_name): Update comment.
9481         (read_func_scope, read_variable): Update.
9482         (new_symbol): Remove.
9483         (new_symbol_full): Rename to new_symbol.
9484
9485 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
9486
9487         PR gdb/16577
9488         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
9489         a warning instead of throwing an error, set section size to 0 and return
9490         NULL.
9491         * gdb_bfd.h (gdb_bfd_map_section): Update description.
9492
9493 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
9494
9495         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
9496         std::string.
9497         (linux_ptrace_attach_fail_reason_string): Likewise.
9498         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
9499         Likewise.
9500         (linux_ptrace_attach_fail_reason_string): Likewise.
9501         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
9502
9503 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
9504
9505         * linux-nat.c (linux_nat_attach): Remove xstrdup.
9506
9507 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
9508
9509         PR gdb/21559
9510         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
9511         checking for fs_base/gs_base fields in struct user_regs_struct.
9512         * configure: Regenerate.
9513
9514 2018-01-17  Yao Qi  <yao.qi@linaro.org>
9515
9516         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
9517         function.
9518         (aarch64_linux_init_abi): Install it to gdbarch hook
9519         gcc_target_options.
9520
9521 2018-01-15  Pedro Alves  <palves@redhat.com>
9522
9523         * common/signals-state-save-restore.c
9524         (save_original_signals_state): Fix typos.
9525
9526 2017-01-12  Tom Tromey  <tom@tromey.com>
9527             Sergio Durigan Junior  <sergiodj@redhat.com>
9528
9529         * Makefile.in (install-only): Install gdb-add-index.
9530
9531 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
9532
9533         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
9534
9535 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9536
9537         * infrun.c (keep_going_pass_signal): Clear step-over info when
9538         insert_breakpoints fails.
9539
9540 2018-01-11  Pedro Alves  <palves@redhat.com>
9541
9542         PR gdb/22583
9543         * infrun.c (resume): Rename to ...
9544         (resume_1): ... this.
9545         (resume): Reimplement as wrapper around resume_1.
9546
9547 2018-01-11  Pedro Alves  <palves@redhat.com>
9548
9549         PR remote/22597
9550         * remote.c (remote_parse_stop_reply): Default to the last-set
9551         general thread instead of to 'magic_null_ptid'.
9552
9553 2018-01-10  Pedro Alves  <palves@redhat.com>
9554
9555         * language.h (language_get_symbol_name_matcher): Rename ...
9556         (get_symbol_name_matcher): ... this.
9557         * language.c (language_get_symbol_name_matcher): Ditto.
9558         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
9559         callers adjusted.
9560
9561 2018-01-10  Pedro Alves  <palves@redhat.com>
9562
9563         PR gdb/22670
9564         * dwarf2read.c
9565         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
9566         Adjust to use language_get_symbol_name_matcher instead of
9567         language_defn::la_get_symbol_name_matcher.
9568         * language.c (language_get_symbol_name_matcher): If in Ada mode
9569         and the lookup name is a verbatim match, return Ada's matcher.
9570         * language.h (language_get_symbol_name_matcher): Adjust comment.
9571         (ada_lookup_name_info::verbatim_p):: New method.
9572
9573 2018-01-10  Pedro Alves  <palves@redhat.com>
9574
9575         PR gdb/22670
9576         * ada-lang.c (ada_collect_symbol_completion_matches): If the
9577         minsym's language is language_auto or language_cplus, pass down
9578         language_ada instead.
9579         * symtab.c (compare_symbol_name): Don't frob symbol language here.
9580
9581 2018-01-10  Pedro Alves  <palves@redhat.com>
9582
9583         PR gdb/22670
9584         * minsyms.c (linkage_name_str): New function.
9585         (iterate_over_minimal_symbols): Use it.
9586
9587 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
9588
9589         * NEWS: Document that 'info proc' now works on FreeBSD.
9590
9591 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
9592
9593         * configure.ac: Check for kinfo_getfile in libutil.
9594         * configure: Regenerate.
9595         * config.in: Regenerate.
9596         * fbsd-nat.c: Include "fbsd-tdep.h".
9597         (fbsd_fetch_cmdline): New.
9598         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
9599         rather than calling error.
9600         (fbsd_info_proc): New.
9601         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
9602         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
9603         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
9604
9605 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
9606
9607         * fbsd-nat.c (struct free_deleter): Remove.
9608         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
9609
9610 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
9611
9612         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
9613         NULL for an empty pathname.
9614
9615 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
9616
9617         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
9618         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
9619         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
9620         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
9621         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
9622         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
9623         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
9624         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
9625         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
9626         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
9627         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
9628         (fbsd_core_fetch_timeval, fbsd_print_sigset)
9629         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
9630         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
9631         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
9632
9633 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
9634
9635         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
9636         (gnu_xfer_auxv): New function.
9637         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
9638         TARGET_OBJECT_AUXV.
9639
9640 2018-01-08  Yao Qi  <yao.qi@linaro.org>
9641             Simon Marchi  <simon.marchi@ericsson.com>
9642
9643         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
9644         common/selftest.c.
9645         (COMMON_OBS): Remove selftest.o.
9646         * configure.ac: Append selftest-arch.c and common/selftest.c to
9647         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
9648         * configure: Re-generated.
9649         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
9650         GDB_SELF_TEST.
9651         (maintenance_info_selftests): Likewise.
9652
9653 2018-01-08  Xavier Roirand  <roirand@adacore.com>
9654
9655         * ada-valprint.c (val_print_packed_array_elements): Use
9656         proper number of elements when printing an array indexed
9657         by an enumeration type.
9658
9659 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
9660
9661         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
9662         (dw2_get_file_names_reader): Adjust.
9663         (lookup_dwo_signatured_type): Adjust.
9664         (lookup_dwp_signatured_type): Adjust.
9665         (lookup_signatured_type): Adjust.
9666         (create_type_unit_group): Adjust.
9667         (get_type_unit_group): Adjust.
9668         (process_psymtab_comp_unit_reader): Adjust.
9669         (build_type_psymtabs_reader): Adjust.
9670         (scan_partial_symbols): Adjust.
9671         (add_partial_symbol): Adjust.
9672         (add_partial_subprogram): Adjust.
9673         (peek_die_abbrev): Adjust.
9674         (fixup_go_packaging): Adjust.
9675         (process_imported_unit_die): Adjust.
9676         (dwarf2_compute_name): Adjust.
9677         (dwarf2_physname): Adjust.
9678         (read_import_statement): Adjust.
9679         (handle_DW_AT_stmt_list): Adjust.
9680         (read_file_scope): Adjust.
9681         (read_func_scope): Adjust.
9682         (read_lexical_block_scope): Adjust.
9683         (read_call_site_scope): Adjust.
9684         (read_variable): Adjust.
9685         (dwarf2_rnglists_process): Adjust.
9686         (dwarf2_ranges_process): Adjust.
9687         (dwarf2_ranges_read): Adjust.
9688         (dwarf2_get_pc_bounds): Adjust.
9689         (dwarf2_record_block_ranges): Adjust.
9690         (dwarf2_add_field): Adjust.
9691         (dwarf2_add_member_fn): Adjust.
9692         (read_structure_type): Adjust.
9693         (process_structure_scope): Adjust.
9694         (read_enumeration_type): Adjust.
9695         (read_array_type): Adjust.
9696         (mark_common_block_symbol_computed): Adjust.
9697         (read_common_block): Adjust.
9698         (read_namespace_type): Adjust.
9699         (read_namespace): Adjust.
9700         (read_module_type): Adjust.
9701         (read_tag_pointer_type): Adjust.
9702         (read_tag_ptr_to_member_type): Adjust.
9703         (read_tag_string_type): Adjust.
9704         (read_subroutine_type): Adjust.
9705         (read_typedef): Adjust.
9706         (read_base_type): Adjust.
9707         (attr_to_dynamic_prop): Adjust.
9708         (read_subrange_type): Adjust.
9709         (read_unspecified_type): Adjust.
9710         (dwarf2_read_abbrevs): Adjust.
9711         (load_partial_dies): Adjust.
9712         (read_partial_die): Adjust.
9713         (find_partial_die): Adjust.
9714         (guess_partial_die_structure_name): Adjust.
9715         (fixup_partial_die): Adjust.
9716         (read_attribute_value): Adjust.
9717         (read_addr_index): Adjust.
9718         (read_addr_index_from_leb128): Adjust.
9719         (read_str_index): Adjust.
9720         (dwarf2_string_attr): Adjust.
9721         (get_debug_line_section): Adjust.
9722         (dwarf_decode_line_header): Adjust.
9723         (lnp_state_machine::check_line_address): Adjust.
9724         (dwarf_decode_lines_1): Adjust.
9725         (dwarf_decode_lines): Adjust.
9726         (dwarf2_start_symtab): Adjust.
9727         (var_decode_location): Adjust.
9728         (new_symbol_full): Adjust.
9729         (dwarf2_const_value_data): Adjust.
9730         (dwarf2_const_value_attr): Adjust.
9731         (dwarf2_const_value): Adjust.
9732         (die_type): Adjust.
9733         (die_containing_type): Adjust.
9734         (build_error_marker_type): Adjust.
9735         (lookup_die_type): Adjust.
9736         (guess_full_die_structure_name): Adjust.
9737         (anonymous_struct_prefix): Adjust.
9738         (determine_prefix): Adjust.
9739         (dwarf2_name): Adjust.
9740         (follow_die_ref_or_sig): Adjust.
9741         (follow_die_offset): Adjust.
9742         (follow_die_ref): Adjust.
9743         (follow_die_sig_1): Adjust.
9744         (follow_die_sig): Adjust.
9745         (get_signatured_type): Adjust.
9746         (get_DW_AT_signature_type): Adjust.
9747         (decode_locdesc): Adjust.
9748         (dwarf_decode_macros): Adjust.
9749         (cu_debug_loc_section): Adjust.
9750         (fill_in_loclist_baton): Adjust.
9751         (dwarf2_symbol_mark_computed): Adjust.
9752         (init_one_comp_unit): Don't assign
9753         dwarf2_cu::dwarf2_per_objfile.
9754         (set_die_type): Adjust.
9755
9756 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
9757
9758         * dwarf2read.c (struct mapped_debug_names): Add constructor.
9759         <dwarf2_per_objfile>: New field.
9760         (dwarf2_per_objfile): Remove global.
9761         (get_dwarf2_per_objfile): New function.
9762         (set_dwarf2_per_objfile): New function.
9763         (dwarf2_build_psymtabs_hard): Change objfile parameter to
9764         dwarf2_per_objfile.
9765         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
9766         (read_abbrev_offset): Likewise.
9767         (read_indirect_string): Likewise.
9768         (read_indirect_line_string): Likewise.
9769         (read_indirect_string_at_offset): Likewise.
9770         (read_indirect_string_from_dwz): Likewise.
9771         (dwarf2_find_containing_comp_unit): Change objfile parameter to
9772         dwarf2_per_objfile.
9773         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
9774         (create_all_comp_units): Change objfile parameter to
9775         dwarf2_per_objfile.
9776         (create_all_type_units): Likewise.
9777         (process_queue): Add dwarf2_per_objfile parameter.
9778         (read_and_check_comp_unit_head): Likewise.
9779         (lookup_dwo_unit_in_dwp): Likewise.
9780         (get_dwp_file): Likewise.
9781         (process_cu_includes): Likewise.
9782         (struct free_dwo_file_cleanup_data): New struct.
9783         (dwarf2_has_info): Use get_dwarf2_per_objfile and
9784         set_dwarf2_per_objfile.
9785         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
9786         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
9787         context, adjust calls.
9788         (dw2_instantiate_symtab): Likewise.
9789         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
9790         (dw2_get_cu): Likewise.
9791         (create_cu_from_index_list): Change objfile parameter to
9792         dwarf2_per_objfile.
9793         (create_cus_from_index_list): Get dwarf2_per_objfile from
9794         context, adjust calls.
9795         (create_cus_from_index): Likewise.
9796         (create_signatured_type_table_from_index): Change objfile
9797         parameter to dwarf2_per_objfile.
9798         (create_signatured_type_table_from_debug_names): Change objfile
9799         parameter to dwarf2_per_objfile.
9800         (create_addrmap_from_index): Likewise.
9801         (create_addrmap_from_aranges): Likewise.
9802         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
9803         (dw2_setup): Remove.
9804         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
9805         context.
9806         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
9807         get_dwarf2_per_objfile.
9808         (dw2_forget_cached_source_info): Likewise.
9809         (dw2_map_symtabs_matching_filename): Likewise.
9810         (struct dw2_symtab_iterator) <index>: Remove.
9811         <dwarf2_per_objfile>: New field.
9812         (dw2_symtab_iter_init): Replace index parameter with
9813         dwarf2_per_objfile.
9814         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
9815         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
9816         (dw2_print_stats): Likewise.
9817         (dw2_dump): Likewise.
9818         (dw2_expand_symtabs_for_function): Likewise.
9819         (dw2_expand_all_symtabs): Likewise.
9820         (dw2_expand_symtabs_with_fullname): Likewise.
9821         (dw2_expand_marked_cus): Replace index and objfile parameters
9822         with dwarf2_per_objfile.
9823         (dw_expand_symtabs_matching_file_matcher): Add
9824         dwarf2_per_objfile parameter and adjust calls.
9825         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
9826         adjust calls.
9827         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
9828         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
9829         adjust calls.
9830         (create_cus_from_debug_names_list): Replace objfile parameter
9831         with dwarf2_per_objfile and adjust calls.
9832         (create_cus_from_debug_names): Likewise.
9833         (dwarf2_read_debug_names): Likewise.
9834         (mapped_debug_names::namei_to_name): Adjust call.
9835         (dw2_debug_names_iterator::next): Likewise.
9836         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
9837         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
9838         (dw2_debug_names_dump): Likewise.
9839         (dw2_debug_names_expand_symtabs_for_function): Likewise.
9840         (dw2_debug_names_expand_symtabs_matching): Likewise.
9841         (dwarf2_initialize_objfile): Likewise.
9842         (dwarf2_build_psymtabs): Likewise.
9843         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
9844         this_cu.
9845         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
9846         (read_and_check_comp_unit_head): Likewise.
9847         (read_abbrev_offset): Likewise.
9848         (create_debug_type_hash_table): Likewise.
9849         (create_debug_types_hash_table): Likewise.
9850         (create_all_type_units): Replace objfile parameter with
9851         dwarf2_per_objfile.
9852         (add_type_unit): Add dwarf2_per_objfile parameter.
9853         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
9854         with dwarf2_per_objfile.
9855         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
9856         (lookup_dwp_signatured_type): Likewise.
9857         (lookup_signatured_type): Likewise.
9858         (read_cutu_die_from_dwo): Likewise.
9859         (init_tu_and_read_dwo_dies): Likewise.
9860         (init_cutu_and_read_dies): Likewise.
9861         (init_cutu_and_read_dies_no_follow): Likewise.
9862         (allocate_type_unit_groups_table): Add objfile parameter.
9863         (create_type_unit_group): Use dwarf2_per_objfile from cu.
9864         (get_type_unit_group): Likewise.
9865         (process_psymtab_comp_unit): Update call.
9866         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
9867         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
9868         (print_tu_stats): Likewise.
9869         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
9870         in void* parameter.
9871         (build_type_psymtabs): Change objfile parameter to
9872         dwarf2_per_objfile.
9873         (process_skeletonless_type_unit): Use dwarf2_per_objfile
9874         passed in void* parameter.
9875         (process_skeletonless_type_units): Change objfile parameter to
9876         dwarf2_per_objfile.
9877         (set_partial_user): Likewise.
9878         (dwarf2_build_psymtabs_hard): Likewise.
9879         (read_comp_units_from_section): Likewise.
9880         (create_all_comp_units): Likewise.
9881         (scan_partial_symbols): Update calls.
9882         (add_partial_symbol): Likewise.
9883         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
9884         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
9885         (process_queue): Add dwarf2_per_objfile parameter.
9886         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
9887         (compute_compunit_symtab_includes): Likewise.
9888         (process_cu_includes): Add dwarf2_per_objfile parameter.
9889         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
9890         (process_full_type_unit): Likewise.
9891         (process_imported_unit_die): Update call.
9892         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
9893         (read_file_scope): Likewise.
9894         (allocate_dwo_file_hash_table): Add objfile parameter.
9895         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
9896         (create_cus_hash_table): Likewise.
9897         (create_dwp_hash_table): Likewise.
9898         (create_dwo_unit_in_dwp_v1): Likewise.
9899         (create_dwp_v2_section): Likewise.
9900         (create_dwo_unit_in_dwp_v2): Likewise.
9901         (lookup_dwo_unit_in_dwp): Likewise.
9902         (try_open_dwop_file): Likewise.
9903         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
9904         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
9905         cleanup to include a reference to dwarf2_per_objfile.
9906         (open_dwp_file): Add dwarf2_per_objfile parameter.
9907         (open_and_init_dwp_file): Likewise.
9908         (get_dwp_file): Likewise.
9909         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
9910         (queue_and_load_all_dwo_tus): Update call.
9911         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
9912         data.
9913         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
9914         (dwarf2_ranges_process): Likewise.
9915         (dwarf2_get_pc_bounds): Likewise.
9916         (mark_common_block_symbol_computed): Likewise.
9917         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
9918         (dwarf2_read_abbrevs): Update call.
9919         (read_partial_die): Use dwarf2_per_objfile from cu.
9920         (find_partial_die): Likewise.
9921         (fixup_partial_die): Likewise.
9922         (read_attribute_value): Likewise.
9923         (read_indirect_string_at_offset_from): Add objfile parameter.
9924         (read_indirect_string_at_offset): Add dwarf2_per_objfile
9925         parameter.
9926         (read_indirect_string_from_dwz): Add objfile parameter.
9927         (read_indirect_string): Add objfile parameter.
9928         (read_addr_index_1): Add dwarf2_per_objfile parameter.
9929         (read_addr_index): Use dwarf2_per_objfile from cu.
9930         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
9931         call dw2_setup.
9932         (read_str_index): Use dwarf2_per_objfile from cu.
9933         (get_debug_line_section): Likewise.
9934         (read_formatted_entries): Add dwarf2_per_objfile parameter.
9935         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
9936         (new_symbol_full): Use dwarf2_per_objfile from cu.
9937         (build_error_marker_type): Likewise.
9938         (lookup_die_type): Likewise.
9939         (determine_prefix): Likewise.
9940         (follow_die_offset): Likewise.
9941         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
9942         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
9943         (dwarf2_fetch_die_type_sect_off): Likewise.
9944         (dwarf2_get_die_type): Likewise.
9945         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
9946         (get_signatured_type): Likewise.
9947         (get_DW_AT_signature_type): Likewise.
9948         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
9949         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
9950         (cu_debug_loc_section): Likewise.
9951         (fill_in_loclist_baton): Likewise.
9952         (dwarf2_symbol_mark_computed): Likewise.
9953         (dwarf2_find_containing_comp_unit): Change objfile parameter to
9954         dwarf2_per_objfile.
9955         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
9956         parameter.
9957         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
9958         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
9959         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
9960         (set_die_type): Use dwarf2_free_objfile from cu.
9961         (get_die_type_at_offset): Likewise.
9962         (dwarf2_per_objfile_free): Don't assign global variable.
9963         (debug_names) <constructor>: Add dwarf2_per_objfile
9964         parameter, update m_debugstrlookup construction.
9965         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
9966         parameter.
9967         <m_dwarf2_per_objfile>: New field.
9968         <lookup>: Use m_dwarf2_per_objfile.
9969         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
9970         (psyms_seen_size): Likewise.
9971         (write_gdbindex): Replace objfile parameter with
9972         dwarf2_per_objfile.
9973         (write_debug_names): Likewise.
9974         (write_psymtabs_to_index): Likewise.
9975         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
9976         calls.
9977
9978 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
9979
9980         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
9981         <dwarf2_per_objfile>: New field.
9982         (struct dwarf2_per_cu_data) <objfile>: Remove.
9983         <dwarf2_per_objfile>: New field.
9984         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
9985         of objfile.
9986         (create_signatured_type_table_from_index): Likewise.
9987         (create_debug_type_hash_table): Likewise.
9988         (fill_in_sig_entry_from_dwo_entry): Likewise.
9989         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
9990         (create_type_unit_group): Assign dwarf2_per_objfile instead of
9991         objfile.
9992         (create_partial_symtab): Access objfile through
9993         dwarf2_per_objfile.
9994         (process_psymtab_comp_unit_reader): Likewise.
9995         (read_comp_units_from_section): Likewise.
9996         (scan_partial_symbols): Likewise.
9997         (add_partial_symbol): Likewise.
9998         (add_partial_subprogram): Likewise.
9999         (peek_die_abbrev): Likewise.
10000         (fixup_go_packaging): Likewise.
10001         (process_full_comp_unit): Likewise.
10002         (process_full_type_unit): Likewise.
10003         (process_imported_unit_die): Likewise.
10004         (dwarf2_compute_name): Likewise.
10005         (dwarf2_physname): Likewise.
10006         (read_import_statement): Likewise.
10007         (create_cus_hash_table): Assign dwarf2_physname instead of
10008         objfile.
10009         (read_func_scope): Access objfile through dwarf2_per_objfile.
10010         (read_lexical_block_scope): Likewise.
10011         (read_call_site_scope): Likewise.
10012         (read_variable): Likewise.
10013         (dwarf2_rnglists_process): Likewise.
10014         (dwarf2_ranges_process): Likewise.
10015         (dwarf2_ranges_read): Likewise.
10016         (dwarf2_record_block_ranges): Likewise.
10017         (dwarf2_add_field): Likewise.
10018         (dwarf2_add_member_fn): Likewise.
10019         (read_structure_type): Likewise.
10020         (process_structure_scope): Likewise.
10021         (read_enumeration_type): Likewise.
10022         (read_array_type): Likewise.
10023         (read_common_block): Likewise.
10024         (read_namespace_type): Likewise.
10025         (read_namespace): Likewise.
10026         (read_module_type): Likewise.
10027         (read_tag_pointer_type): Likewise.
10028         (read_tag_ptr_to_member_type): Likewise.
10029         (read_tag_string_type): Likewise.
10030         (read_subroutine_type): Likewise.
10031         (read_typedef): Likewise.
10032         (read_base_type): Likewise.
10033         (attr_to_dynamic_prop): Likewise.
10034         (read_subrange_type): Likewise.
10035         (read_unspecified_type): Likewise.
10036         (load_partial_dies): Likewise.
10037         (read_partial_die): Likewise.
10038         (find_partial_die): Likewise.
10039         (guess_partial_die_structure_name): Likewise.
10040         (fixup_partial_die): Likewise.
10041         (read_attribute_value): Likewise.
10042         (read_addr_index_from_leb128): Likewise.
10043         (dwarf2_read_addr_index): Likewise.
10044         (dwarf2_string_attr): Likewise.
10045         (lnp_state_machine::check_line_address): Likewise.
10046         (dwarf_decode_lines_1): Likewise.
10047         (dwarf_decode_lines): Likewise.
10048         (dwarf2_start_symtab): Likewise.
10049         (var_decode_location): Likewise.
10050         (new_symbol_full): Likewise.
10051         (dwarf2_const_value_data): Likewise.
10052         (dwarf2_const_value_attr): Likewise.
10053         (dwarf2_const_value): Likewise.
10054         (die_type): Likewise.
10055         (die_containing_type): Likewise.
10056         (lookup_die_type): Likewise.
10057         (guess_full_die_structure_name): Likewise.
10058         (anonymous_struct_prefix): Likewise.
10059         (dwarf2_name): Likewise.
10060         (follow_die_ref_or_sig): Likewise.
10061         (follow_die_offset): Likewise.
10062         (follow_die_ref): Likewise.
10063         (dwarf2_fetch_die_loc_sect_off): Likewise.
10064         (dwarf2_fetch_constant_bytes): Likewise.
10065         (dwarf2_fetch_die_type_sect_off): Likewise.
10066         (dwarf2_get_die_type): Likewise.
10067         (follow_die_sig): Likewise.
10068         (decode_locdesc): Likewise.
10069         (dwarf2_per_cu_objfile): Likewise.
10070         (dwarf2_per_cu_text_offset): Likewise.
10071         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10072         objfile.
10073         (set_die_type): Access objfile through
10074         dwarf2_per_objfile.
10075
10076 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10077
10078         * valprint.c (converted_character_d): Remove typedef.
10079         (DEF_VEC_O (converted_character_d)): Remove.
10080         (count_next_character): Use std::vector.
10081         (print_converted_chars_to_obstack): Likewise.
10082         (generic_printstr): Likewise.
10083
10084 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10085
10086         * xml-support.h (struct gdb_xml_value): Add constructor.
10087         <value>: Change type to unique_xmalloc_ptr.
10088         (gdb_xml_value_s): Remove typedef.
10089         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10090         (gdb_xml_element_start_handler): Change parameter type to
10091         std::vector.
10092         (xml_find_attribute): Likewise.
10093         * xml-support.c (xml_find_attribute): Change parameter type to
10094         std::vector and adjust.
10095         (gdb_xml_values_cleanup): Remove.
10096         (gdb_xml_parser::start_element): Adjust to std::vector.
10097         (xinclude_start_include): Change paraeter type to std::vector
10098         and adjust.
10099         * btrace.c (check_xml_btrace_version): Likewise.
10100         (parse_xml_btrace_block): Likewise.
10101         (parse_xml_btrace_pt_config_cpu): Likewise.
10102         (parse_xml_btrace_pt): Likewise.
10103         (parse_xml_btrace_conf_bts): Likewise.
10104         (parse_xml_btrace_conf_pt): Likewise.
10105         * memory-map.c (memory_map_start_memory): Likewise.
10106         (memory_map_start_property): Likewise.
10107         * osdata.c (osdata_start_osdata): Likewise.
10108         (osdata_start_item): Likewise.
10109         (osdata_start_column): Likewise.
10110         * remote.c (start_thread): Likewise.
10111         * solib-aix.c (library_list_start_library): Likewise.
10112         (library_list_start_list): Likewise.
10113         * solib-svr4.c (library_list_start_library): Likewise.
10114         (svr4_library_list_start_list): Likewise.
10115         * solib-target.c (library_list_start_segment): Likewise.
10116         (library_list_start_section): Likewise.
10117         (library_list_start_library): Likewise.
10118         (library_list_start_list): Likewise.
10119         * tracepoint.c (traceframe_info_start_memory): Likewise.
10120         (traceframe_info_start_tvar): Likewise.
10121         * xml-syscall.c (syscall_start_syscall): Likewise.
10122         * xml-tdesc.c (tdesc_start_target): Likewise.
10123         (tdesc_start_feature): Likewise.
10124         (tdesc_start_reg): Likewise.
10125         (tdesc_start_union): Likewise.
10126         (tdesc_start_struct): Likewise.
10127         (tdesc_start_flags): Likewise.
10128         (tdesc_start_enum): Likewise.
10129         (tdesc_start_field): Likewise.
10130         (tdesc_start_enum_value): Likewise.
10131         (tdesc_start_vector): Likewise.
10132
10133 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10134
10135         * extension.h (struct xmethod_worker) <clone>: Remove.
10136         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10137         Remove.
10138         (python_xmethod_worker::clone): Remove.
10139         * valops.c (find_overload_match): Use std::move instead of
10140         clone.
10141
10142 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10143
10144         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10145         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10146         <free_xmethod_worker_data>: Remove.
10147         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10148         <get_xmethod_arg_types>: Remove.
10149         <get_xmethod_result_type>: Remove.
10150         <invoke_xmethod>: Remove.
10151         * extension.c (new_xmethod_worker): Remove.
10152         (clone_xmethod_worker): Remove.
10153         (get_matching_xmethod_workers): Return void, pass std::vector by
10154         pointer.
10155         (get_xmethod_arg_types): Rename to...
10156         (xmethod_worker::get_arg_types): ... this, and adjust.
10157         (get_xmethod_result_type): Rename to...
10158         (xmethod_worker::get_result_type): ... this, and adjust.
10159         (invoke_xmethod): Remove.
10160         (free_xmethod_worker): Remove.
10161         (free_xmethod_worker_vec): Remove.
10162         * extension.h (enum ext_lang_rc): Move here from
10163         extension-priv.h.
10164         (struct xmethod_worker): Add constructor and destructor.
10165         <data>: Remove.
10166         <value>: Remove.
10167         <invoke, clone, do_get_result_type, do_get_arg_types>: New
10168         virtual pure methods.
10169         <get_arg_types, get_result_type>: New methods.
10170         (xmethod_worker_ptr): Remove typedef.
10171         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
10172         (xmethod_worker_vec): Remove typedef.
10173         (xmethod_worker_up): New typedef.
10174         (invoke_xmethod): Remove.
10175         (clone_xmethod_worker): Remove.
10176         (free_xmethod_worker): Remove.
10177         (free_xmethod_worker_vec): Remove.
10178         (get_xmethod_arg_types): Remove.
10179         (get_xmethod_result_type): Remove.
10180         * valops.c (find_method_list): Use std::vector, don't use
10181         intermediate vector.
10182         (value_find_oload_method_list): Use std::vector.
10183         (find_overload_match): Use std::vector.
10184         (find_oload_champ): Use std::vector.
10185         * value.c (value_free): Use operator delete.
10186         (value_of_xmethod): Rename to...
10187         (value_from_xmethod): ... this.  Don't assign
10188         xmethod_worker::value, take rvalue-reference.
10189         (result_type_of_xmethod): Adjust.
10190         (call_xmethod): Adjust.
10191         * value.h: Include extension.h.
10192         (struct xmethod_worker): Don't forward-declare.
10193         (value_of_xmethod): Rename to...
10194         (value_from_xmethod): ... this, take rvalue-reference.
10195         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
10196         (struct python_xmethod_worker): ... this, add constructor and
10197         destructor.
10198         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
10199         (gdbpy_free_xmethod_worker_data): Rename to...
10200         (python_xmethod_worker::~python_xmethod_worker): ... this and
10201         adjust.
10202         (gdbpy_clone_xmethod_worker_data): Rename to...
10203         (python_xmethod_worker::clone): ... this and adjust.
10204         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
10205         temporary vector.
10206         (gdbpy_get_xmethod_arg_types): Rename to...
10207         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
10208         (gdbpy_get_xmethod_result_type): Rename to...
10209         (python_xmethod_worker::do_get_result_type): ... this and
10210         adjust.
10211         (gdbpy_invoke_xmethod): Rename to...
10212         (python_xmethod_worker::invoke): ... this and adjust.
10213         (new_python_xmethod_worker): Rename to...
10214         (python_xmethod_worker::python_xmethod_worker): ... this and
10215         adjust.
10216         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
10217         Remove.
10218         (gdbpy_free_xmethod_worker_data): Remove.
10219         (gdbpy_get_matching_xmethod_workers): Use std::vector.
10220         (gdbpy_get_xmethod_arg_types): Remove.
10221         (gdbpy_get_xmethod_result_type): Remove.
10222         (gdbpy_invoke_xmethod): Remove.
10223         * python/python.c (python_extension_ops): Remove obsolete
10224         callbacks.
10225
10226 2018-01-05  Pedro Alves  <palves@redhat.com>
10227
10228         PR gdb/18653
10229         * common/signals-state-save-restore.c
10230         (save_original_signals_state): New parameter 'quiet'.  Warn if we
10231         find a custom handler preinstalled, instead of internal erroring.
10232         But only warn if !quiet.
10233         * common/signals-state-save-restore.h
10234         (save_original_signals_state): New parameter 'quiet'.
10235         * main.c (captured_main_1): Move save_original_signals_state call
10236         after option handling, and pass QUIET.
10237
10238 2018-01-05  Pedro Alves  <palves@redhat.com>
10239
10240         * spu-tdep.c (spu_catch_start): Pass
10241         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
10242
10243 2018-01-05  Pedro Alves  <palves@redhat.com>
10244
10245         PR gdb/22670
10246         * ada-lang.c (literal_symbol_name_matcher): New function.
10247         (ada_get_symbol_name_matcher): Use it for
10248         symbol_name_match_type::SEARCH_NAME.
10249         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
10250         it down instead of assuming symbol_name_match_type::FULL.
10251         * block.h (block_lookup_symbol): New parameter 'match_type'.
10252         * c-valprint.c (print_unpacked_pointer): Use
10253         lookup_symbol_search_name instead of lookup_symbol.
10254         * compile/compile-object-load.c (get_out_value_type): Pass down
10255         symbol_name_match_type::SEARCH_NAME.
10256         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
10257         symbol_name_match_type::FULL.
10258         * cp-support.c (cp_get_symbol_name_matcher): Handle
10259         symbol_name_match_type::SEARCH_NAME.
10260         * infrun.c (insert_exception_resume_breakpoint): Use
10261         lookup_symbol_search_name.
10262         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
10263         * psymtab.c (maintenance_check_psymtabs): Use
10264         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
10265         * stack.c (print_frame_args): Use lookup_symbol_search_name and
10266         SYMBOL_SEARCH_NAME.
10267         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
10268         if symbol_name_match_type::SEARCH_NAME.
10269         (lookup_symbol_in_language): Pass down
10270         symbol_name_match_type::FULL.
10271         (lookup_symbol_search_name): New.
10272         (lookup_language_this): Pass down
10273         symbol_name_match_type::SEARCH_NAME.
10274         (lookup_symbol_aux, lookup_local_symbol): New parameter
10275         'match_type'.  Pass it down.
10276         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
10277         (lookup_symbol_search_name): New declaration.
10278         (lookup_symbol_in_block): New 'match_type' parameter.
10279
10280 2018-01-05  Pedro Alves  <palves@redhat.com>
10281
10282         PR gdb/22670
10283         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
10284         ada_lookup_symbol.
10285         (ada_lookup_symbol): Reimplement in terms of
10286         ada_lookup_symbol_list, bits factored out from
10287         ada_lookup_encoded_symbol.
10288
10289 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
10290
10291         * ada-exp.y (write_object_renaming): When subscripting an array
10292         using a symbol as the index, pass the block in call to
10293         ada_lookup_encoded_symbol when looking that symbol up.
10294
10295 2018-01-05  Jerome Guitton  <guitton@adacore.com>
10296
10297         * ada-lang.c (ada_array_length): Use ada_index_type instead of
10298         TYPE_INDEX_TYPE.
10299
10300 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
10301
10302         * ada-lang.c (ada_to_fixed_value_create): Add handling of
10303         the case where VALUE_LVAL (val0) is not lval_memory.
10304
10305 2018-01-05  Xavier Roirand  <roirand@adacore.com>
10306
10307         * ada-valprint.c (print_optional_low_bound): Handle
10308         character-indexed array printing like boolean-indexed array
10309         printing.
10310
10311 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
10312
10313         * NEWS: Create a new section for the next release branch.
10314         Rename the section of the current branch, now that it has
10315         been cut.
10316
10317 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
10318
10319         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
10320         * version.in: Bump version to 8.1.50.DATE-git.
10321
10322 2018-01-03  Xavier Roirand  <roirand@adacore.com>
10323
10324         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
10325         Add field.
10326         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
10327         Add field.
10328         (default_exception_support_info) <catch_handlers_sym>: Add field.
10329         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
10330         (ada_exception_name_addr_1): Add "catch handlers" handling.
10331         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
10332         Update all callers.
10333         (create_excep_cond_exprs) <ex>: Add parameter.
10334         (re_set_exception): Update create_excep_cond_exprs call.
10335         (print_it_exception, print_one_exception, print_mention_exception)
10336         (print_recreate_exception): Add "catch handler" handling.
10337         (allocate_location_catch_handlers, re_set_catch_handlers)
10338         (check_status_catch_handlers, print_it_catch_handlers)
10339         (print_one_catch_handlers, print_mention_catch_handlers)
10340         (print_recreate_catch_handlers): New function.
10341         (catch_handlers_breakpoint_ops): New variable.
10342         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
10343         Add parameter.  Add "catch handler" handling.
10344         (ada_exception_sym_name, ada_exception_breakpoint_ops):
10345         Add "catch handler" handling.
10346         (ada_exception_catchpoint_cond_string): Add "catch handler"
10347         handling.
10348         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
10349         call.
10350         (catch_ada_handlers_command): New function.
10351         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
10352         operations structure.
10353         (_initialize_ada_language): Add "catch handlers" command entry.
10354         * NEWS: Document "catch handlers" feature.
10355
10356 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
10357
10358         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
10359         account when creating the array type of the slice.
10360         (ada_value_slice): Likewise.
10361
10362 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
10363
10364         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
10365         New enum value.
10366         (create_array_type_with_stride): Add byte_stride_prop parameter.
10367         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
10368         New parameter.  Update all callers in this file.
10369         (array_type_has_dynamic_stride): New function.
10370         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
10371         of arrays with dynamic byte strides.
10372         * dwarf2read.c (read_array_type): Add support for dynamic
10373         DW_AT_byte_stride attributes.
10374
10375 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
10376
10377         * dwarf2read.c (read_unspecified_type): Treat
10378         DW_TAG_enumeration_type DIEs from Ada units as stubs.
10379
10380 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
10381
10382         Update copyright year range in all GDB files.
10383
10384 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
10385
10386         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
10387         and gdb/testsuite/gdb.base/step-line.c.
10388
10389 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
10390
10391         * copyright.py (main): Dump the contents of
10392         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
10393         even if BY_HAND is empty.
10394
10395 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
10396
10397         * top.c (print_gdb_version): Update Copyright year in version
10398         message.
10399
10400 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
10401
10402         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
10403
10404 For older changes see ChangeLog-2017.
10405 \f
10406 Local Variables:
10407 mode: change-log
10408 left-margin: 8
10409 fill-column: 74
10410 version-control: never
10411 coding: utf-8
10412 End: