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