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