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