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