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