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