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