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