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