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