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