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