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