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