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