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