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