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