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