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