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