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