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