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