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