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