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