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