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