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