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