gdb/riscv: Add back missing braces in riscv-linux-nat.c
[external/binutils.git] / gdb / ChangeLog
1 2018-10-28  Andrew Burgess  <andrew.burgess@embecosm.com>
2
3         * riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers):
4         Add missing braces.  No functional change.
5
6 2018-10-27  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7
8         * macrocmd.c (info_macro_command): Use report_unrecognized_option_error
9         to report a bad option and fix indentation.
10         * demangle.c (demangle_command): Use report_unrecognized_option_error
11         to report a bad option and correctly report the bad option.
12
13 2018-10-27  Tom Tromey  <tom@tromey.com>
14
15         PR cli/23364:
16         * darwin-nat.c (copied_shell): New global.
17         (may_have_sip): Rename from should_disable_startup_with_shell.
18         (copy_shell_to_cache, maybe_cache_shell): New functions.
19         (darwin_nat_target::create_inferior): Update.  Use
20         copied_shell.
21
22 2018-10-27  Tom Tromey  <tom@tromey.com>
23
24         * unittests/scoped_fd-selftests.c (test_to_file): New function.
25         (run_tests): Call test_to_file.
26         * dwarf-index-write.c (write_psymtabs_to_index): Do not reopen
27         temporary files.
28         * common/scoped_fd.h (scoped_fd::to_file): New method.
29
30 2018-10-27  Tom Tromey  <tom@tromey.com>
31
32         * unittests/scoped_mmap-selftests.c (test_normal): Use
33         gdb_mkostemp_cloexec.
34         * unittests/scoped_fd-selftests.c (test_destroy, test_release):
35         Use gdb_mkostemp_cloexec.
36         * gnulib/aclocal-m4-deps.mk, gnulib/aclocal.m4,
37         gnulib/config.in, gnulib/configure,
38         gnulib/import/Makefile.am, gnulib/import/Makefile.in,
39         gnulib/import/m4/gnulib-cache.m4,
40         gnulib/import/m4/gnulib-comp.m4: Update.
41         * gnulib/import/m4/mkostemp.m4: New file.
42         * gnulib/import/m4/mkstemp.m4: Remove.
43         * gnulib/import/mkostemp.c: New file.
44         * gnulib/import/mkstemp.m4: Remove.
45         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Remove
46         mkstemp, add mkostemp.  Apply new patch.
47         * gnulib/import/stdlib.in.h: Apply patch.
48         * gnulib/patches/0002-mkostemp-mkostemps-Fix-compilation-error-in-C-mode-o.patch:
49         New file.
50         * dwarf-index-write.c (write_psymtabs_to_index): Use
51         gdb_mkostemp_cloexec.
52         * common/filestuff.h (gdb_mkostemp_cloexec): New function.
53
54 2018-10-27  Tom Tromey  <tom@tromey.com>
55
56         * unittests/mkdir-recursive-selftests.c: New file.
57         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
58         unittests/mkdir-recursive-selftests.c.
59         * dwarf-index-cache.c (mkdir_recursive): Move to
60         common/filestuff.c.
61         (index_cache::store): Check return value of mkdir_recursive.
62         (create_dir_and_check, test_mkdir_recursive): Move to new file.
63         (_initialize_index_cache): Don't register test.
64         * common/filestuff.h (mkdir_recursive): Declare.
65         * common/filestuff.c (mkdir_recursive): Move from
66         dwarf-index-cache.c.  Return bool.
67
68 2018-10-27  Tom Tromey  <tom@tromey.com>
69
70         * dwarf-index-write.c (write_psymtabs_to_index): Move
71         make_temp_filename to common/pathstuff.c.
72         * common/pathstuff.h (make_temp_filename): Declare.
73         * common/pathstuff.c (make_temp_filename): New function, moved
74         from dwarf-index-write.c.
75
76 2018-10-27  Tom Tromey  <tom@tromey.com>
77
78         * procfs.c (procfs_target::create_inferior): Use get_shell.
79         * cli/cli-cmds.c (shell_escape): Use get_shell.
80         * windows-nat.c (windows_nat_target::create_inferior): Use
81         get_shell.
82         * common/pathstuff.c (get_shell): New function.
83         * nat/fork-inferior.c (SHELL_FILE, get_startup_shell): Remove.
84         (fork_inferior): Use get_shell.
85         * common/pathstuff.h (get_shell): Declare.
86
87 2018-10-27  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
88
89         * NEWS: Mention changes to 'info [args|functions|locals|variables]'
90
91 2018-10-27  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
92
93         * stack.c (print_variable_and_value_data): Add preg and treg.
94         (print_frame_local_vars): Add quiet, regexp and t_regexp arguments,
95         and update callers.
96         (print_frame_arg_vars): Likewise.
97         (prepare_reg): New function.
98         (info_locals_command): Extract info print args and use them.
99         (info_args_command): Likewise.
100         (_initialize_stack): Modify on-line help.
101         * symtab.c (treg_matches_sym_type_name): New function.
102         (search_symbols): New arg t_regexp.
103         (symtab_symbol_info): New args quiet, regexp, t_regexp.
104         (info_variables_command): Extract info print args and use them.
105         (info_functions_command): Likewise.
106         (info_types_command): Update call to symtab_symbol_info.
107         (_initialize_symtab): Modify on-line help.
108         * symtab.h (treg_matches_sym_type_name): New function.
109         (search_symbols): New t_regexp arg.
110
111 2018-10-27  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
112
113         * cli-utils.c (extract_arg_maybe_quoted): New function.
114         (extract_info_print_args): New function.
115         (info_print_args_help): New function.
116         (report_unrecognized_option_error): New function.
117         * cli-utils.h (extract_arg_maybe_quoted): New function.
118         (extract_info_print_args): New function.
119         (info_print_args_help): New function.
120         (report_unrecognized_option_error): New function.
121
122 2018-10-26  Tom Tromey  <tom@tromey.com>
123
124         * dwarf2read.c (recursively_compute_inclusions): Use std::vector.
125         (compute_compunit_symtab_includes): Update.
126         * symtab.h: (symtab_ptr): Remove typedef.  Don't define a VEC.
127         (compunit_symtab_ptr): Likewise.
128
129 2018-10-26  John Baldwin  <jhb@FreeBSD.org>
130
131         * fbsd-tdep.c (fbsd_print_auxv_entry): Only use
132         default_print_auxv_entry for specific tag values.
133
134 2018-10-26  John Baldwin  <jhb@FreeBSD.org>
135
136         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_FREEBSD_HWCAP2.
137
138 2018-10-26  Jim Wilson  <jimw@sifive.com>
139
140         * riscv-linux-tdep.c: Include tramp-frame.h and trad-frame.h.
141         (riscv_linux_sigframe_init): Declare.
142         (RISCV_INST_LI_A7_SIGRETURN, RISCV_INT_ECALL): New.
143         (riscv_linux_sigframe): New.
144         (SIGFRAME_SIGINFO_SIZE, UCONTEXT_MCONTEXT_OFFSET): New.
145         (riscv_linux_sigframe_init): Define.
146         (riscv_linux_init_abi): Call tramp_frame_prepend_unwinder.
147
148         * riscv-tdep.c (riscv_isa_xlen): Refer to riscv-tdep.h comment.
149         (riscv_isa_flen): Likewise.  Drop static.
150         * riscv-tdep.h (riscv_isa_xlen): Move riscv-tdep.c comment to here.
151         (riscv_isa_flen): Likewise.  Declare.
152
153 2018-10-26  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
154             Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
155
156         * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa207_htm_vsx32l)
157         (tdesc_powerpc_isa207_htm_vsx64l): Declare.
158         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_TM_SPRREGSET)
159         (PPC32_LINUX_SIZEOF_CGPRREGSET, PPC64_LINUX_SIZEOF_CGPRREGSET)
160         (PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CVMXREGSET)
161         (PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_CPPRREGSET)
162         (PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CTARREGSET):
163         Define.
164         (struct ppc_linux_features) <htm>: New field.
165         (ppc_linux_no_features): Add initializer for htm field.
166         * arch/ppc-linux-common.c (ppc_linux_match_description): Return
167         new tdescs.
168         * nat/ppc-linux.h (PPC_FEATURE2_HTM, NT_PPC_TM_CGPR)
169         (NT_PPC_TM_CFPR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX)
170         (NT_PPC_TM_SPR, NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR):
171         Define if not already defined.
172         * features/Makefile (WHICH): Add rs6000/powerpc-isa207-htm-vsx32l
173         and rs6000/powerpc-isa207-htm-vsx64l.
174         (XMLTOC): Add rs6000/powerpc-isa207-htm-vsx32l.xml and
175         rs6000/powerpc-isa207-htm-vsx64l.xml.
176         * features/rs6000/power-htm-spr.xml: New file.
177         * features/rs6000/power-htm-core.xml: New file.
178         * features/rs6000/power64-htm-core.xml: New file.
179         * features/rs6000/power-htm-fpu.xml: New file.
180         * features/rs6000/power-htm-altivec.xml: New file.
181         * features/rs6000/power-htm-vsx.xml: New file.
182         * features/rs6000/power-htm-ppr.xml: New file.
183         * features/rs6000/power-htm-dscr.xml: New file.
184         * features/rs6000/power-htm-tar.xml: New file.
185         * features/rs6000/powerpc-isa207-htm-vsx32l.xml: New file.
186         * features/rs6000/powerpc-isa207-htm-vsx64l.xml: New file.
187         * features/rs6000/powerpc-isa207-htm-vsx32l.c: Generate.
188         * features/rs6000/powerpc-isa207-htm-vsx64l.c: Generate.
189         * regformats/rs6000/powerpc-isa207-htm-vsx32l.dat: Generate.
190         * regformats/rs6000/powerpc-isa207-htm-vsx64l.dat: Generate.
191         * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call
192         fetch_regset with HTM regsets.
193         (store_register, store_ppc_registers): Call store_regset with HTM
194         regsets.
195         (ppc_linux_nat_target::read_description): Set htm field in the
196         features struct if needed.
197         * ppc-linux-tdep.c: Include
198         features/rs6000/powerpc-isa207-htm-vsx32l.c and
199         features/rs6000/powerpc-isa207-htm-vsx64l.c.
200         (ppc32_regmap_tm_spr, ppc32_regmap_cgpr, ppc64_le_regmap_cgpr)
201         (ppc64_be_regmap_cgpr, ppc32_regmap_cfpr, ppc32_le_regmap_cvmx)
202         (ppc32_be_regmap_cvmx, ppc32_regmap_cvsx, ppc32_regmap_cppr)
203         (ppc32_regmap_cdscr, ppc32_regmap_ctar): New globals.
204         (ppc32_linux_tm_sprregset, ppc32_linux_cgprregset)
205         (ppc64_be_linux_cgprregset, ppc64_le_linux_cgprregset)
206         (ppc32_linux_cfprregset, ppc32_le_linux_cvmxregset)
207         (ppc32_be_linux_cvmxregset, ppc32_linux_cvsxregset)
208         (ppc32_linux_cpprregset, ppc32_linux_cdscrregset)
209         (ppc32_linux_ctarregset): New globals.
210         (ppc_linux_cgprregset, ppc_linux_cvmxregset): New functions.
211         (ppc_linux_collect_core_cpgrregset): New function.
212         (ppc_linux_iterate_over_regset_sections): Call back with the htm
213         regsets.
214         (ppc_linux_core_read_description): Check if the tm spr section is
215         present and set htm in the features struct.
216         (_initialize_ppc_linux_tdep): Call
217         initialize_tdesc_powerpc_isa207_htm_vsx32l and
218         initialize_tdesc_powerpc_isa207_htm_vsx64l.
219         * ppc-linux-tdep.h (ppc_linux_cgprregset, ppc_linux_cvmxregset):
220         Declare.
221         (ppc32_linux_tm_sprregset, ppc32_linux_cfprregset)
222         (ppc32_linux_cvsxregset, ppc32_linux_cpprregset)
223         (ppc32_linux_cdscrregset, ppc32_linux_ctarregset): Declare.
224         * ppc-tdep.h (struct gdbarch_tdep) <have_htm_spr, have_htm_core>:
225         New fields.
226         <have_htm_fpu, have_htm_altivec, have_htm_vsx>:
227         Likewise.
228         <ppc_cppr_regnum, ppc_cdscr_regnum, ppc_ctar_regnum>: Likewise.
229         <ppc_cdl0_regnum, ppc_cvsr0_regnum, ppc_cefpr0_regnum>: Likewise.
230         (enum) <PPC_TFHAR_REGNUM, PPC_TEXASR_REGNUM, PPC_TFIAR_REGNUM>:
231         New enum fields.
232         <PPC_CR0_REGNUM, PPC_CCR_REGNUM, PPC_CXER_REGNUM>: Likewise.
233         <PPC_CLR_REGNUM, PPC_CCTR_REGNUM, PPC_CF0_REGNUM>: Likewise.
234         <PPC_CFPSCR_REGNUM, PPC_CVR0_REGNUM, PPC_CVSCR_REGNUM>: Likewise.
235         <PPC_CVRSAVE_REGNUM, PPC_CVSR0_UPPER_REGNUM>: Likewise.
236         <PPC_CPPR_REGNUM, PPC_CDSCR_REGNUM>: Likewise.
237         <PPC_CTAR_REGNUM>: Likewise.
238         (PPC_IS_TMSPR_REGNUM, PPC_IS_CKPTGP_REGNUM, PPC_IS_CKPTFP_REGNUM)
239         (PPC_IS_CKPTVMX_REGNUM, PPC_IS_CKPTVSX_REGNUM): Define.
240         * rs6000-tdep.c (IS_CDFP_PSEUDOREG, IS_CVSX_PSEUDOREG)
241         (IS_CEFP_PSEUDOREG): Define.
242         (rs6000_register_name): Hide the upper halves of checkpointed VSX
243         registers.  Return names for the checkpointed DFP, VSX, and EFP
244         pseudo registers.
245         (rs6000_pseudo_register_type): Remove initial assert and raise an
246         internal error in the else clause instead.  Return types for the
247         checkpointed DFP, VSX, and EFP pseudo registers.
248         (dfp_pseudo_register_read, dfp_pseudo_register_write): Handle
249         checkpointed DFP pseudo registers.
250         (vsx_pseudo_register_read, vsx_pseudo_register_write): Handle
251         checkpointed VSX pseudo registers.
252         (efp_pseudo_register_read, efp_pseudo_register_write): Rename
253         from efpr_pseudo_register_read and
254         efpr_pseudo_register_write.  Handle checkpointed EFP pseudo
255         registers.
256         (rs6000_pseudo_register_read, rs6000_pseudo_register_write):
257         Handle checkpointed DFP, VSX, and EFP registers.
258         (dfp_ax_pseudo_register_collect, vsx_ax_pseudo_register_collect)
259         (efp_ax_pseudo_register_collect): New functions.
260         (rs6000_ax_pseudo_register_collect): Move DFP, VSX and EFP pseudo
261         register logic to new functions.  Handle checkpointed DFP, VSX,
262         and EFP pseudo registers.
263         (rs6000_gdbarch_init): Look for and validate the htm features.
264         Include checkpointed DFP, VSX and EFP pseudo-registers.
265         * NEWS: Mention access to PPR, DSCR, TAR, EBB/PMU registers and
266         HTM registers.
267
268 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
269
270         * rs6000-tdep.c (rs6000_gdbarch_init): Reject tdescs with vsx but
271         without altivec or fpu.
272
273 2018-10-26  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
274             Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
275
276         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_EBBREGSET)
277         (PPC_LINUX_SIZEOF_PMUREGSET): Declare.
278         * nat/ppc-linux.h (PPC_FEATURE2_EBB, NT_PPC_EBB, NT_PPC_PMU):
279         Define if not already defined.
280         * features/rs6000/power-ebb.xml: New file.
281         * features/rs6000/power-linux-pmu.xml: New file.
282         * features/rs6000/powerpc-isa207-vsx32l.xml: Include ebb and pmu
283         features.
284         * features/rs6000/powerpc-isa207-vsx64l.xml: Likewise.
285         * features/rs6000/powerpc-isa207-vsx32l.c: Re-generate.
286         * features/rs6000/powerpc-isa207-vsx64l.c: Re-generate.
287         * regformats/rs6000/powerpc-isa207-vsx32l.dat: Re-generate.
288         * regformats/rs6000/powerpc-isa207-vsx64l.dat: Re-generate.
289         * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call
290         fetch_regset with ebb and pmu regsets.
291         (store_register, store_ppc_registers): Call store_regset with ebb
292         and pmu regsets.
293         (ppc_linux_nat_target::read_description): Set isa207 field in the
294         features struct if ebb and pmu are avaiable.
295         * ppc-linux-tdep.c (ppc32_regmap_ebb, ppc32_regmap_pmu)
296         (ppc32_linux_ebbregset, ppc32_linux_pmuregset): New globals.
297         (ppc_linux_iterate_over_regset_sections): Call back with the ebb
298         and pmu regsets.
299         (ppc_linux_core_read_description): Check if the pmu section is
300         present and set isa207 in the features struct.
301         * ppc-linux-tdep.h (ppc32_linux_ebbregset)
302         (ppc32_linux_pmuregset): Declare.
303         * ppc-tdep.h (struct gdbarch_tdep) <ppc_mmcr0_regnum>: New field.
304         <ppc_mmcr2_regnum, ppc_siar_regnum, ppc_sdar_regnum>: New fields.
305         <ppc_sier_regnum>: New field.
306         (enum): <PPC_BESCR_REGNUM, PPC_EBBHR_REGNUM, PPC_EBBRR_REGNUM>:
307         New enum values.
308         <PPC_MMCR0_REGNUM, PPC_MMCR2_REGNUM, PPC_SIAR_REGNUM>: New enum
309         values.
310         <PPC_SDAR_REGNUM, PPC_SIER_REGNUM>: New enum values.
311         (PPC_IS_EBB_REGNUM, PPC_IS_PMU_REGNUM): Define.
312         * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate the
313         ebb and pmu features.
314
315 2018-10-26  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
316             Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
317
318         * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa207_vsx32l)
319         (tdesc_powerpc_isa207_vsx64l): Declare.
320         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_TARREGSET): Define.
321         (struct ppc_linux_features) <isa207>: New field.
322         (ppc_linux_no_features): Add initializer for isa207 field.
323         * arch/ppc-linux-common.c (ppc_linux_match_description): Return
324         new tdescs.
325         * nat/ppc-linux.h (PPC_FEATURE2_ARCH_2_07, PPC_FEATURE2_TAR)
326         (NT_PPC_TAR): Define if not already defined.
327         * features/Makefile (WHICH): Add rs6000/powerpc-isa207-vsx32l and
328         rs6000/powerpc-isa207-vsx64l.
329         (XMLTOC): Add rs6000/powerpc-isa207-vsx32l.xml and
330         rs6000/powerpc-isa207-vsx64l.xml.
331         * features/rs6000/power-tar.xml: New file.
332         * features/rs6000/powerpc-isa207-vsx32l.xml: New file.
333         * features/rs6000/powerpc-isa207-vsx64l.xml: New file.
334         * features/rs6000/powerpc-isa207-vsx32l.c: Generate.
335         * features/rs6000/powerpc-isa207-vsx64l.c: Generate.
336         * regformats/rs6000/powerpc-isa207-vsx32l.dat: Generate.
337         * regformats/rs6000/powerpc-isa207-vsx64l.dat: Generate.
338         * ppc-linux-nat.c (fetch_register, fetch_ppc_registers): Call
339         fetch_regset with the TAR regset.
340         (store_register, store_ppc_registers): Call store_regset with the
341         TAR regset.
342         (ppc_linux_nat_target::read_description): Set isa207 field in the
343         features struct if needed.
344         * ppc-linux-tdep.c: Include
345         features/rs6000/powerpc-isa207-vsx32l.c and
346         features/rs6000/powerpc-isa207-vsx64l.c.
347         (ppc32_regmap_tar, ppc32_linux_tarregset): New globals.
348         (ppc_linux_iterate_over_regset_sections): Call back with the tar
349         regset.
350         (ppc_linux_core_read_description): Check if the tar section is
351         present and set isa207 in the features struct.
352         (_initialize_ppc_linux_tdep): Call
353         initialize_tdesc_powerpc_isa207_vsx32l and
354         initialize_tdesc_powerpc_isa207_vsx64l.
355         * ppc-linux-tdep.h (ppc32_linux_tarregset): Declare.
356         * ppc-tdep.h (gdbarch_tdep) <ppc_tar_regnum>: New field.
357         (enum) <PPC_TAR_REGNUM>: New enum value.
358         * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate tar
359         feature.
360         (ppc_process_record_op31): Record changes to TAR.
361
362 2018-10-26  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
363             Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
364
365         * arch/ppc-linux-tdesc.h (tdesc_powerpc_isa205_ppr_dscr_vsx32l)
366         (tdesc_powerpc_isa205_ppr_dscr_vsx64l): Declare.
367         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_PPRREGSET)
368         (PPC_LINUX_SIZEOF_DSCRREGSET): Define.
369         (struct ppc_linux_features) <ppr_dscr>: New field.
370         (ppc_linux_no_features): Add initializer for ppr_dscr field.
371         * arch/ppc-linux-common.c (ppc_linux_match_description): Return
372         new tdescs.
373         * nat/ppc-linux.h (PPC_FEATURE2_DSCR, NT_PPC_PPR, NT_PPC_DSCR):
374         Define if not already defined.
375         * features/Makefile (WHICH): Add
376         rs6000/powerpc-isa205-ppr-dscr-vsx32l and
377         rs6000/powerpc-isa205-ppr-dscr-vsx64l.
378         (XMLTOC): Add rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml and
379         rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml.
380         * features/rs6000/power-dscr.xml: New file.
381         * features/rs6000/power-ppr.xml: New file.
382         * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml: New file.
383         * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml: New file.
384         * features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c: Generate.
385         * features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c: Generate.
386         * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat: Generate.
387         * regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat: Generate.
388         * ppc-linux-nat.c: Include <sys/uio.h>.
389         (fetch_regset, store_regset, check_regset): New functions.
390         (fetch_register, fetch_ppc_registers): Call fetch_regset with
391         DSCR and PPR regsets.
392         (store_register, store_ppc_registers): Call store_regset with
393         DSCR and PPR regsets.
394         (ppc_linux_get_hwcap2): New function.
395         (ppc_linux_nat_target::read_description): Call
396         ppc_linux_get_hwcap2 and check_regset, set ppr_dscr field in the
397         features struct if needed.
398         * ppc-linux-tdep.c: Include
399         features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c and
400         features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c.
401         (ppc32_regmap_ppr, ppc32_regmap_dscr, ppc32_linux_pprregset)
402         (ppc32_linux_dscrregset): New globals.
403         (ppc_linux_iterate_over_regset_sections): Call back with the ppr
404         and dscr regsets.
405         (ppc_linux_core_read_description): Check if the ppr and dscr
406         sections are present and set ppr_dscr in the features struct.
407         (_initialize_ppc_linux_tdep): Call
408         initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l and
409         initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l.
410         * ppc-linux-tdep.h (ppc32_linux_pprregset)
411         (ppc32_linux_dscrregset): Declare.
412         * ppc-tdep.h (struct gdbarch_tdep) <ppc_ppr_regnum>: New field.
413         <ppc_dscr_regnum>: New field.
414         (enum) <PPC_PPR_REGNUM, PPC_DSCR_REGNUM>: New enum values.
415         * rs6000-tdep.c (rs6000_gdbarch_init): Look for and validate ppr
416         and dscr features.
417         (ppc_process_record_op31): Record changes to PPR and DSCR.
418
419 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
420
421         * rs6000-tdep.c (rs6000_gdbarch_init): Replace line wrapping by a
422         second initializer line for the have_* variables.  Initialize
423         have_fpu to 0 instead of 1.
424
425 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
426
427         * arch/ppc-linux-common.c (ppc_linux_match_description):
428         Parenthesize tdesc assignements and indent them properly.
429
430 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
431
432         * ppc-linux-nat.c (fetch_register): Change if statement to else
433         if.
434         (store_register): Likewise.
435
436 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
437
438         * rs6000-tdep.c: Remove reggroups.h include.
439         (rs6000_pseudo_register_reggroup_p): Remove.
440         (rs6000_gdbarch_init): Remove call to
441         set_tdesc_pseudo_register_reggroup_p.
442
443 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
444
445         * reggroups.c (default_register_reggroup_p): Return true for
446         decfloat registers and float_reggroup.
447
448 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
449
450         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): Remove.
451         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): Replace
452         ppc_linux_collect_vrregset by regcache_collect_regset.
453
454 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
455
456         * linux-tdep.c (linux_collect_regset_section_cb): Use
457         std::vector<gdb_byte> instead of char * and malloc for buf.
458         Remove xfree.
459
460 2018-10-26  Sangamesh Mallayya <sangamesh.swamy@in.ibm.com>
461
462         * xcoffread.c (read_xcoff_symtab): Pass deduced language to
463         symtab_start instead of always using language_unknown.
464
465 2018-10-26  Andrew Burgess  <andrew.burgess@embecosm.com>
466
467         * riscv-tdep.c (riscv_read_misa_reg): Update comment, remove
468         READ_P parameter, catch and ignore register access errors from
469         either the old or new MISA location.
470         (riscv_has_feature): Update call to riscv_read_misa_reg.
471
472 2018-10-25  Andrew Burgess  <andrew.burgess@embecosm.com>
473
474         * python/py-function.c (convert_values_to_python): Return
475         gdbpy_ref<>.  Add header comment.
476         (fnpy_call): Adjust.
477
478 2018-10-25  Andrew Burgess  <andrew.burgess@embecosm.com>
479
480         * python/py-cmd.c (cmdpy_completer_helper): Return gdbpy_ref<>.
481         (cmdpy_completer_handle_brkchars): Adjust.
482         (cmdpy_completer): Adjust.
483
484 2018-10-25  Andrew Burgess  <andrew.burgess@embecosm.com>
485
486         * riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers):
487         Pass correct regnum to raw_supply_zeroed.
488
489 2018-10-23  Hafiz Abid Qadeer  <abidh@codesourcery.com>
490
491         * regcache.c (cooked_read_test): Add CSKY to the list of
492         architectures with a save_reggroup
493
494 2018-10-23  Simon Marchi  <simon.marchi@polymtl.ca>
495
496         PR gdb/23368
497         * infrun.c (follow_exec): In the follow_exec_mode_new case,
498         transfer terminal state from old new new inferior.
499         * terminal.h (swap_terminal_info): New function.
500         * inflow.c (swap_terminal_info): New function.
501
502 2018-10-23  Tom Tromey  <tom@tromey.com>
503
504         * record-btrace.c (get_thread_current_frame_id): Rename from
505         get_thread_current_frame.  Return a frame_id.
506         (record_btrace_start_replaying): Update.
507
508 2018-10-23  Andrew Burgess  <andrew.burgess@embecosm.com>
509
510         * riscv-tdep.c (riscv_register_name): Use the user-friendly names
511         for CSRs.
512
513 2018-10-23  Joel Brobecker  <brobecker@adacore.com>
514
515         * riscv-tdep.c (riscv_gdbarch_init): Set the gdbarch's
516         have_nonsteppable_watchpoint attribute to 1.
517
518 2018-10-23  Andrew Burgess  <andrew.burgess@embecosm.com>
519
520         * riscv-tdep.c (riscv_gdb_reg_names): Update comment, and all
521         register names.
522         (struct register_alias): Rename to...
523         (struct riscv_register_alias): ...this, and update comment.
524         (riscv_register_aliases): Update type, and alias names.  Remove
525         CSR names from this list.
526         (riscv_register_name): Use riscv_gdb_reg_names for int and float
527         register names.  Add an extra assertion.
528         (riscv_is_regnum_a_named_csr): New function.
529         (riscv_register_reggroup_p): Use riscv_is_regnum_a_named_csr.
530
531 2018-10-22  Jim Wilson  <jimw@sifive.com>
532
533         * riscv-tdep.c (riscv_push_dummy_call) <in_reg>: Check for value in
534         FP reg smaller than FP reg size, and fill with -1 instead of 0.
535
536         * riscv-tdep.c (riscv_fpreg_d_type, riscv_fpreg_q_type): New.
537         (riscv_register_type): Use them.
538         (riscv_print_one_register_info): Handle union of floats same as float.
539         * riscv-tdep.h (struct gdbarch_tdep): Add riscv_fpreg_d_type and
540         riscv_fpreg_q_type fields.
541
542 2018-10-21  Simon Marchi  <simon.marchi@ericsson.com>
543
544         * gdbarch.sh (gdbarch_num_cooked_regs): New.
545         * gdbarch.h: Re-generate.
546         * ax-gdb.c (gen_expr): Use gdbarch_num_cooked_regs.
547         * dwarf2-frame.c (dwarf2_frame_cache): Likewise.
548         * eval.c (evaluate_subexp_standard): Likewise.
549         * findvar.c (value_of_register): Likewise.
550         (value_of_register_lazy): Likewise.
551         (address_from_register): Likewise.
552         * frame.c (get_frame_register_bytes): Likewise.
553         * gdbarch-selftests.c (register_to_value_test): Likewise.
554         * h8300-tdep.c (h8300_register_type): Likewise.
555         * i386-tdep.c (i386_dbx_reg_to_regnum): Likewise.
556         (i386_svr4_reg_to_regnum): Likewise.
557         * infcmd.c (default_print_registers_info): Likewise.
558         (registers_info): Likewise.
559         (print_vector_info): Likewise.
560         (default_print_float_info): Likewise.
561         * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
562         * mdebugread.c (mdebug_reg_to_regnum): Likewise.
563         * mi/mi-main.c (mi_cmd_data_list_register_names): Likewise.
564         (mi_cmd_data_list_changed_registers): Likewise.
565         (mi_cmd_data_list_register_values): Likewise.
566         (mi_cmd_data_write_register_values): Likewise.
567         (mi_cmd_trace_frame_collected): Likewise.
568         * mips-tdep.c (print_gp_register_row): Likewise.
569         (mips_print_registers_info): Likewise.
570         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
571         * regcache.c (init_regcache_descr): Likewise.
572         (register_size): Likewise.
573         (register_dump::dump): Likewise.
574         (cooked_read_test): Likewise.
575         (cooked_write_test): Likewise.
576         * rs6000-tdep.c (rs6000_register_sim_regno): Likewise.
577         (rs6000_gdbarch_init): Likewise.
578         * stabsread.c (stab_reg_to_regnum): Likewise.
579         * stack.c (info_frame_command): Likewise.
580         * target-descriptions.c (tdesc_register_name): Likewise.
581         * trad-frame.c (trad_frame_alloc_saved_regs): Likewise.
582         * tui/tui-regs.c (tui_show_register_group): Likewise.
583         * user-regs.c (user_reg_map_name_to_regnum): Likewise.
584         (user_reg_map_regnum_to_name): Likewise.
585         (value_of_user_reg): Likewise.
586         (maintenance_print_user_registers): Likewise.
587         * xtensa-tdep.c (xtensa_find_register_by_name): Likewise.
588         (xtensa_register_name): Likewise.
589         (xtensa_register_type): Likewise.
590         (xtensa_reg_to_regnum): Likewise.
591         (xtensa_pseudo_register_read): Likewise.
592         (xtensa_pseudo_register_write): Likewise.
593
594 2018-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
595
596         * amd64-tdep.c (amd64_pseudo_register_read_value): Use
597         correctly-sized buffer with raw_read.
598         (amd64_pseudo_register_write): Use correctly-sized buffer for
599         raw_read/raw_write.
600
601 2018-10-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
602
603         * typeprint.c (_initialize_typeprint): Fix wrong prefixname arg
604         in add_prefix_cmd of set print type.
605
606 2018-10-19  Tom Tromey  <tom@tromey.com>
607
608         PR tui/18388:
609         * NEWS: Mention tabset deprecation.
610         * tui/tui-win.c (tui_tab_width, internal_tab_width): New globals.
611         (update_tab_width): New function.
612         (tui_set_tab_width, tui_show_tab_width): New functions.
613         (tui_set_tab_width_command): Use update_tab_width.
614         (_initialize_tui_win): Move to end of file.  Deprecate "tabset".
615         Add new "set tui tab-width" command.
616         * tui/tui-source.c (tui_set_source_content): Update.
617         * tui/tui-disasm.c (tui_set_disassem_content): Update.
618         * tui/tui-data.h (tui_default_tab_len, tui_set_default_tab_len):
619         Don't declare.
620         (tui_tab_width): Declare.
621         * tui/tui-data.c (default_tab_len, tui_default_tab_len)
622         (tui_set_default_tab_len): Remove.
623
624 2018-10-19  Tom Tromey  <tom@tromey.com>
625
626         * tui/tui-io.h (key_is_start_sequence, key_is_end_sequence)
627         (key_is_backspace, tui_getc): Don't declare.
628         * tui/tui-io.c (key_is_start_sequence): Now static.
629         (key_is_end_sequence, key_is_backspace): Remove.
630         (tui_getc): Now static.
631
632 2018-10-19  Tom Tromey  <tom@tromey.com>
633
634         * symfile.c (reread_symbols): Clear "static_links".
635
636 2018-10-19  Alan Hayward  <alan.hayward@arm.com>
637
638         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_SIZE): New
639         define.
640         (aarch64_linux_sigframe_init): Extra boundary checks.
641
642 2018-10-19  Andreas Arnez  <arnez@linux.ibm.com>
643
644         * s390-tdep.c (s390_pseudo_register_type): For v0-v15 don't yield
645         the possibly non-existent tdesc type 'vec128', but the type of raw
646         register v16 instead.
647
648 2018-10-19  Gary Benson <gbenson@redhat.com>
649
650         * cli/cli-interp.c (cli_interp::~cli_interp): New function.
651
652 2018-10-18  Sergio Durigan Junior  <sergiodj@redhat.com>
653
654         PR cli/23785
655         * cli/cli-dump.c (restore_binary_file): Check if "file" is
656         NULL.
657
658 2018-10-17  Paul Koning  <paul_koning@dell.com>
659
660         * charset.c (convert_between_encodings): Fix unsigned overflow.
661
662 2018-10-17  John Baldwin  <jhb@FreeBSD.org>
663
664         * fbsd-nat.c (fbsd_nat_target::info_proc) Use
665         fbsd_info_proc_mappings_header and fbsd_info_proc_mappings_entry.
666         * fbsd-tdep.c (fbsd_vm_map_entry_flags): Mark static.
667         (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry):
668         New functions.
669         (fbsd_core_info_proc_mappings): Use fbsd_info_proc_mappings_header
670         and fbsd_info_proc_mappings_header.
671         * fbsd-tdep.h (fbsd_vm_map_entry_flags): Remove.
672         (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry):
673         New.
674
675 2018-10-17  Joel Brobecker  <brobecker@adacore.com>
676
677         * MAINTAINERS (Responsible Maintainers): Add Rainer Orth as
678         Solaris Maintainer.
679
680 2018-10-15  Tom Tromey  <tom@tromey.com>
681
682         * tui/tui.c (strcat_to_buf): Remove casts.
683         * tui/tui-winsource.c (tui_show_source_line)
684         (tui_set_is_exec_point_at, tui_line_is_displayed): Remove casts.
685         * tui/tui-wingeneral.c (tui_refresh_win, box_win): Remove casts.
686         * tui/tui-windata.c (tui_first_data_item_displayed)
687         (tui_delete_data_content_windows, tui_erase_data_content)
688         (tui_display_all_data, tui_display_data_from)
689         (tui_refresh_data_win, tui_vertical_data_scroll): Remove casts.
690         * tui/tui-win.c (tui_set_win_height)
691         (make_invisible_and_set_new_height, parse_scrolling_args): Remove
692         casts.
693         * tui/tui-win.c (tui_resize_all): Remove casts.
694         (tui_scroll_backward_command, tui_set_focus)
695         (tui_set_tab_width_command): Likewise.
696         * tui/tui-source.c (tui_vertical_source_scroll): Remove cast.
697         * tui/tui-regs.c (tui_show_register_group): Remove cast.
698         * tui/tui-layout.c (tui_set_layout_by_name): Remove cast.
699         * tui/tui-disasm.c (tui_vertical_disassem_scroll): Remove cast.
700         * tui/tui-data.c (tui_partial_win_by_name, tui_free_win_content):
701         Remove casts.
702
703 2018-10-15  Simon Marchi  <simon.marchi@ericsson.com>
704
705         * MAINTAINERS (Responsible Maintainers): Add Alan Hayward as
706         AArch64/ARM maintainer.
707
708 2018-10-11  Gary Benson <gbenson@redhat.com>
709
710         * interps.h (interp::m_name): Make private and mutable.
711         * interps.c (interp::~interp): Free m_name.
712
713 2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
714             Simon Marchi <simark@simark.ca>
715
716         * README (`configure' options): Add documentation for new
717         "--enable-unit-tests" option.
718         * acinclude.m4: Include "selftest.m4".
719         * configure: Regenerate.
720         * configure.ac: Use "GDB_AC_SELFTEST".
721         * maint.c (maintenance_selftest): Update message informing
722         that selftests have been disabled.
723         (maintenance_info_selftests): Likewise.
724         * selftest.m4: New file.
725
726 2018-10-10  Gary Benson <gbenson@redhat.com>
727
728         * remote.c (remote_target::remote_send_printf): Add
729         missing va_end found by Coverity.
730
731 2018-10-10  Markus Metzger  <markus.t.metzger@intel.com>
732
733         * btrace.c (ftrace_update_function): Add indirect jump heuristic.
734
735 2018-10-09  Tom Tromey  <tom@tromey.com>
736
737         * configure: Rebuild.
738         * sanitize.m4 (AM_GDB_UBSAN): Default to no.
739         * NEWS: Update --enable-ubsan documentation.
740
741 2018-10-09  Gary Benson <gbenson@redhat.com>
742
743         * dwarf2read.c (create_dwp_hash_table): Fix buffer overrun
744         found by Coverity.
745
746 2018-10-08  Tom Tromey  <tom@tromey.com>
747
748         * riscv-fbsd-tdep.c (riscv_fbsd_sigframe_init): Remove unused
749         variable.
750         (riscv_fbsd_init_abi): Likewise.
751
752 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
753         * valops.c (value_struct_elt_for_reference): Rename local variable
754         to work around the shadowing a previous local warning.
755
756 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
757
758         * Makefile.in (ALLDEPFILES): Add riscv-fbsd-nat.c.
759         * NEWS: Mention new FreeBSD/riscv native configuration.
760         * configure.host: Add riscv*-*-freebsd*.
761         * configure.nat: Likewise.
762         * riscv-fbsd-nat.c: New file.
763
764 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
765
766         * Makefile.in (ALL_TARGET_OBS): Add riscv-fbsd-tdep.o.
767         (HFILES_NO_SRCDIR): Add riscv-fbsd-tdep.h.
768         (ALLDEPFILES): Add riscv-fbsd-tdep.c.
769         * NEWS: Mention new FreeBSD/riscv target.
770         * configure.tgt: Add riscv*-*-freebsd*.
771         * riscv-fbsd-tdep.c: New file.
772         * riscv-fbsd-tdep.h: New file.
773
774 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
775
776         * regcache.h (struct regcache_map_entry): Note that this type can
777         be used with traditional frame caches.
778         * trad-frame.c (trad_frame_set_reg_regmap): New.
779         * trad-frame.h (trad_frame_set_reg_regmap): New.
780
781 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
782
783         PR c++/16841
784         * valops.c (get_virtual_base_offset): New function.
785         (value_struct_elt_for_reference): Use it to get virtual base offset
786         and add it in calculating class member address.
787
788 2018-10-08   John Darrington <john@darrington.wattle.id.au>
789
790     * dwarf2read.c (dwarf2_cu) <producer_is_codewarrior>: New field.
791       (check_producer): Check if the producer is codewarrior.
792       (producer_is_codewarrior): New function.
793       (lnp_state_machine::record_line): Ignore is_stmt flag for records
794        produced by codewarrior.
795       (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior.
796
797 2018-10-06  Tom Tromey  <tom@tromey.com>
798
799         PR python/19399:
800         * python/py-inferior.c: Add "architecture" entry.
801         (infpy_architecture): New function.
802
803 2018-10-06  Tom Tromey  <tom@tromey.com>
804
805         PR python/21765:
806         * python/py-symbol.c (gdbpy_initialize_symbols): Redefine
807         SYMBOL_VARIABLES_DOMAIN, SYMBOL_FUNCTIONS_DOMAIN,
808         SYMBOL_TYPES_DOMAIN.  Define SYMBOL_MODULE_DOMAIN,
809         SYMBOL_COMMON_BLOCK_DOMAIN, SYMBOL_LOC_COMMON_BLOCK.
810
811 2018-10-06  Tom Tromey  <tom@tromey.com>
812
813         PR build/17077:
814         * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..".
815         * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c,
816         microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in
817         #include.
818
819 2018-10-06  Tom Tromey  <tom@tromey.com>
820
821         * python/py-breakpoint.c (bppy_get_location): Handle a
822         bp_breakpoint without a location.
823
824 2018-10-06  Tom Tromey  <tom@tromey.com>
825
826         * python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq)
827         (_RegEx): Reformat help text.
828         * python/lib/gdb/function/caller_is.py (CallerIs, CallerMatches)
829         (AnyCallerIs, AnyCallerMatches): Reformat help text.
830         * python/lib/gdb/function/as_string.py (_AsString): Reformat help
831         text.
832         * python/lib/gdb/command/xmethods.py (InfoXMethod)
833         (EnableXMethod, DisableXMethod): Remove help indentation.
834         Capitalize meta-syntactic variables.
835         * python/lib/gdb/command/unwinders.py (InfoUnwinder)
836         (EnableUnwinder, DisableUnwinder): Remove help indentation.
837         Capitalize meta-syntactic variables.
838         * python/lib/gdb/command/explore.py (ExploreCommand)
839         (ExploreValueCommand, ExploreTypeCommand): Reformat help text.
840         * python/lib/gdb/command/type_printers.py (InfoTypePrinter)
841         (EnableTypePrinter, DisableTypePrinter): Remove help indentation.
842         * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter):
843         Remove help indentation.
844         (EnablePrettyPrinter, DisablePrettyPrinter): Likewise.
845         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter)
846         (DisableFrameFilter, SetFrameFilterPriority)
847         (ShowFrameFilterPriority, InfoFrameFilter): Reword help text.
848
849 2018-10-06  Tom Tromey  <tom@tromey.com>
850
851         PR tui/28819:
852         * tui/tui-io.c (gdb_wgetch): New function.
853         (tui_mld_getc, tui_getc): Use it.
854
855 2018-10-05  Tom Tromey  <tom@tromey.com>
856
857         * sol-thread.c (sol_thread_target::wait): Rename inner
858         "save_ptid".
859
860 2018-10-04  Tom Tromey  <tom@tromey.com>
861
862         * configure: Rebuild.
863         * warning.m4 (AM_GDB_WARNINGS): Add -Wshadow=local.
864
865 2018-10-04  Tom Tromey  <tom@tromey.com>
866
867         * guile/scm-frame.c (gdbscm_frame_read_var): Remove inner
868         declaration of "block".
869
870 2018-10-04  Tom Tromey  <tom@tromey.com>
871
872         * common/filestuff.c (fdwalk): Remove inner declaration of
873         "result".
874
875 2018-10-04  Tom Tromey  <tom@tromey.com>
876
877         * msp430-tdep.c (msp430_push_dummy_call): Rename inner
878         "structs_addr" and hoist declaration.
879
880 2018-10-04  Tom Tromey  <tom@tromey.com>
881
882         * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new
883         variable "size".
884
885 2018-10-04  Tom Tromey  <tom@tromey.com>
886
887         * mdebugread.c (parse_partial_symbols): Use std::string.
888
889 2018-10-04  Tom Tromey  <tom@tromey.com>
890
891         * ctf.c (SET_ARRAY_FIELD): Rename "u32".
892         * p-valprint.c (pascal_val_print): Split inner "i" variable.
893         * xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop
894         header.
895         * xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in
896         more inner scope.
897         * xcoffread.c (read_xcoff_symtab): Rename inner "symbol".
898         * varobj.c (varobj_update): Rename inner "newobj",
899         "type_changed".
900         * valprint.c (generic_emit_char): Rename inner "buf".
901         * valops.c (find_overload_match): Rename inner "temp".
902         (value_struct_elt_for_reference): Declare "v" in more inner
903         scope.
904         * v850-tdep.c (v850_push_dummy_call): Rename "len".
905         * unittests/array-view-selftests.c (run_tests): Rename inner
906         "vec".
907         * tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop
908         header.
909         * tracepoint.c (merge_uploaded_trace_state_variables): Declare
910         "tsv" in more inner scope.
911         (print_one_static_tracepoint_marker): Rename inner
912         "tuple_emitter".
913         * tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower.
914         (tic6x_push_dummy_call): Don't redeclare "addr".
915         * target-float.c: Declare "dto" lower.
916         * symtab.c (lookup_local_symbol): Rename inner "sym".
917         (find_pc_sect_line): Rename inner "pc".
918         * stack.c (print_frame): Don't redeclare "gdbarch".
919         (return_command): Rename inner "gdbarch".
920         * s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner
921         "sp".
922         * rust-lang.c (rust_internal_print_type): Declare "i" in loop
923         header.
924         * rs6000-tdep.c (ppc_process_record): Rename inner "addr".
925         * riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner
926         scope.
927         * remote.c (remote_target::update_thread_list): Don't redeclare
928         "tp".
929         (remote_target::process_initial_stop_replies): Rename inner
930         "thread".
931         (remote_target::remote_parse_stop_reply): Don't redeclare "p".
932         (remote_target::wait_as): Don't redeclare "stop_reply".
933         (remote_target::get_thread_local_address): Rename inner
934         "result".
935         (remote_target::get_tib_address): Likewise.
936
937         * regcache.c (cooked_read_test): Rename "regnum".
938         * record-btrace.c (cmd_record_btrace_start): Rename inner
939         "exception".
940         * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Declare "i" in
941         loop header.
942         * ppc-linux-tdep.c (ppc_linux_syscall_record): Declare "i" in loop
943         header.
944         (ppu2spu_sniffer): Rename inner "buf".
945         * parse.c (operator_check_standard): Rename inner "type",
946         "objfile".
947         * p-valprint.c (pascal_val_print): Introduce new scope for
948         "low_bound", "high_bound".
949         * p-exp.y (yylex): Declare "i" in loop header.
950         * objfiles.c (objfile_relocate1): Declare "i" in loop header.
951         Lower declaration of "s".
952         * nios2-tdep.c (nios2_analyze_prologue): Declare "i" in loop
953         header.
954         (nios2_push_dummy_call): Rename "len".
955         * nat/linux-osdata.c (linux_xfer_osdata_cpus): Rename static
956         "buf".
957         (linux_xfer_osdata_fds, linux_xfer_osdata_shm)
958         (linux_xfer_osdata_sem, linux_xfer_osdata_msg)
959         (linux_xfer_osdata_modules): Likewise.
960         * mips-tdep.c (mips_eabi_push_dummy_call): Rename outer "len".
961         (mips_n32n64_push_dummy_call, mips_o32_push_dummy_call)
962         (mips_o64_push_dummy_call): Likewise.
963         * microblaze-tdep.c (microblaze_analyze_prologue): Rename inner
964         "op".
965         * mi/mi-main.c (list_available_thread_groups): Rename inner
966         "tuple_emitter".
967         (mi_cmd_data_read_memory): Rename inner "opts".
968         * mi/mi-cmd-var.c (varobj_update_one): Rename inner
969         "tuple_emitter".
970         * mep-tdep.c (mep_analyze_prologue): Declare "rn" in loop header.
971         * mdebugread.c (parse_symbol): Rename inner "b".  Declare "f" in
972         more inner scope.
973         (parse_partial_symbols): Rename inner "pst", "p", "name"
974         * main.c (captured_main_1): Rename inner "i"s.
975         * machoread.c (macho_symfile_read_all_oso): Don't redeclare
976         "oso2".
977         * linux-tdep.c (linux_info_proc): Rename inner "filename".
978         * linespec.c (linespec_lexer_lex_string): Rename inner "p".
979         * infrun.c (handle_no_resumed): Don't redeclare "thread".
980         (handle_signal_stop): Rename inner "gdbarch".
981         (handle_command): Declare "signum" in loop header.
982         * ia64-tdep.c (ia64_pseudo_register_read): Don't redeclare
983         "status".
984         (examine_prologue): Rename inner "sol" and "sof".
985         (ia64_extract_return_value): Rename inner "val".  Declare another
986         "val" in a more inner scope.
987         * hppa-bsd-tdep.c (hppabsd_find_global_pointer): Declare "buf" in
988         inner scope.
989         * guile/scm-symbol.c (gdbscm_lookup_symbol): Rename inner
990         "except".
991         * findvar.c (default_read_var_value): Don't redeclare "addr".
992         * f-exp.y (yylex): Declare "i" in loop header.
993         * eval.c (evaluate_subexp_standard): Don't redeclare "type".
994         Rename inner "type", "expect_type".
995         (evaluate_subexp_for_sizeof): Rename inner "pc".
996         * elfread.c (elf_symfile_read): Rename inner "abfd".
997         * dwarf2read.c (read_debug_names_from_section): Don't redeclare
998         "bytes_read".
999         (process_psymtab_comp_unit_reader): Don't redeclare "gdbarch".
1000         (add_partial_subprogram): Rename inner "lowpc" and "highpc".
1001         (dwarf_decode_line_header): Rename inner "lh".
1002         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Don't redeclare
1003         "offset".  Declare "i" in loop header.
1004         (disassemble_dwarf_expression): Rename inner "addr_size".
1005         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Rename
1006         inner "result".
1007         (dwarf_expr_context::execute_stack_op): Rename inner "offset".
1008         * dwarf2-frame.c (decode_frame_entry_1): Rename inner "length"s.
1009         * disasm.c (do_mixed_source_and_assembly_deprecated): Rename inner
1010         "inner_list_emitter".
1011         (do_mixed_source_and_assembly): Rename inner "tuple_emitter".
1012         * disasm-selftests.c (print_one_insn_test): Wrap "bplen"
1013         declaration in a block.
1014         * csky-tdep.c (csky_analyze_prologue): Declare "offset" lower.
1015         * cp-valprint.c (cp_print_value_fields): Don't redeclare
1016         "obstack_final_size".
1017         * cp-support.c (inspect_type): Declare "i" in loop header.
1018         * compile/compile.c (compile_instance::insert_symbol_error):
1019         Rename inner "e".
1020         * common/agent.c (agent_run_command): Remove inner "ret"
1021         declaration.
1022         * coffread.c (coff_symfile_read): Rename inner "name".
1023         (coff_symfile_read): Rename inner "abfd".
1024         * cli/cli-utils.c (get_number_trailer): Rename inner "val".
1025         * cli/cli-cmds.c (print_disassembly): Rename inner "low" and
1026         "high".
1027         * c-exp.y (lex_one_token): Move "len" declaration lower.
1028         * breakpoint.c (create_longjmp_master_breakpoint): Don't redeclare
1029         "gdbarch".
1030         (create_exception_master_breakpoint): Likewise.  Don't redeclare
1031         "b".
1032         (watch_command_1): Declare "mark" later.
1033         (clear_command): Don't shadow "a" or "b".
1034         (delete_command): Rename inner "b".
1035         (delete_trace_command): Likewise.
1036         * arm-tdep.c (thumb_process_displaced_32bit_insn): Rename inner
1037         "op".
1038         (arm_gdbarch_init): Remove inner "e_flags".
1039         * arch/arm-get-next-pcs.c (thumb_get_next_pcs_raw): Declare
1040         "offset" in inner blocks.
1041
1042 2018-10-04  Simon Marchi  <simon.marchi@ericsson.com>
1043
1044         * dwarf-index-write.c (file_write): Don't write if the vector is
1045         empty.
1046
1047 2018-10-05  Tom de Vries  <tdevries@suse.de>
1048
1049         * python/py-progspace.c (pspy_solib_name): Fix type mismatch in
1050         PyArg_ParseTuple call.
1051
1052 2018-10-05  Tom de Vries  <tdevries@suse.de>
1053
1054         * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in
1055         PyArg_ParseTuple call.
1056
1057 2018-10-04  Joel Brobecker  <brobecker@adacore.com>
1058
1059         * psymtab.c (recursively_search_psymtabs): Reformat parameters
1060         to avoid exceeding 80 characters per line limit.
1061
1062 2018-10-04  Tom Tromey  <tom@tromey.com>
1063
1064         * symfile.c (syms_from_objfile_1, finish_new_objfile)
1065         (reread_symbols): Update.
1066         * complaints.h (clear_complaints): Remove argument.
1067         * complaints.c (enum complaint_series): Remove.
1068         (series): Remove global.
1069         (complaint_internal): Update.
1070         (clear_complaints): Remove argument.
1071
1072 2018-10-04  Tom Tromey  <tom@tromey.com>
1073
1074         * symfile.c (symbol_file_add_with_addrs): Do not print "no
1075         debugging symbols" message if there is a separate debug objfile.
1076
1077 2018-10-04  Tom Tromey  <tom@tromey.com>
1078
1079         PR cli/19551:
1080         * symfile.c (symbol_file_add_with_addrs): Update output.
1081         * psymtab.c (require_partial_symbols): Update output.
1082
1083 2018-10-04  Tom Tromey  <tom@tromey.com>
1084
1085         PR cli/22234:
1086         * complaints.c: Emit \n.
1087
1088 2018-10-04  Tom Tromey  <tom@tromey.com>
1089
1090         * symfile.c (symbol_file_add_with_addrs, symbol_file_clear)
1091         (separate_debug_file_exists, find_separate_debug_file)
1092         (add_symbol_file_command, reread_symbols, allocate_symtab)
1093         (allocate_compunit_symtab): Use filtered printing, not
1094         unfiltered.
1095         * psymtab.c (require_partial_symbols, dump_psymtab)
1096         (allocate_psymtab): Use filtered printing, not unfiltered.
1097
1098 2018-10-04  Tom Tromey  <tom@tromey.com>
1099
1100         * complaints.c (complaint_internal): Correctly check complaint
1101         count.
1102
1103 2018-10-04  Tom Tromey  <tom@tromey.com>
1104
1105         * complaints.h (struct complaints): Remove declaration.
1106         * complaints.c (clear_complaints): Remove an unused variable.
1107
1108 2018-10-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1109
1110         * MAINTAINERS (Write After Approval): Add self.
1111
1112 2018-10-03  Tom Tromey  <tom@tromey.com>
1113
1114         * guile/scm-value.c (gdbscm_value_to_string): Initialize
1115         "buffer_contents".
1116         * coffread.c (coff_symtab_read): Initialize "newobj".
1117
1118 2018-10-03  Simon Marchi  <simon.marchi@polymtl.ca>
1119
1120         * dwarf2read.c (read_func_scope): Remove struct keyword in
1121         range-based for.
1122
1123 2018-10-03  Tom Tromey  <tom@tromey.com>
1124
1125         * README: Mention --enable-ubsan.
1126         * NEWS: Mention --enable-ubsan.
1127         * acinclude.m4: Include sanitize.m4.
1128         * configure: Rebuild.
1129         * configure.ac: Call AM_GDB_UBSAN.
1130         * sanitize.m4: New file.
1131
1132 2018-10-03  Tom Tromey  <tom@tromey.com>
1133
1134         * expression.h (enum exp_opcode): Use uint8_t as base type.
1135         * expprint.c (op_name): Handle invalid opcodes.
1136
1137 2018-10-03  Tom Tromey  <tom@tromey.com>
1138
1139         * parse.c (prefixify_expression): Add assert.
1140         (parse_exp_in_context_1): Throw exception if the expression is
1141         empty.
1142
1143 2018-10-03  Tom Tromey  <tom@tromey.com>
1144
1145         * dwarf2read.c (read_signed_leb128): Work in ULONGEST.
1146
1147 2018-10-03  Tom Tromey  <tom@tromey.com>
1148
1149         * c-exp.y (parse_number): Work in unsigned.  Remove casts.
1150
1151 2018-10-03  Tom Tromey  <tom@tromey.com>
1152
1153         * dwarf2read.c (read_subrange_type): Make "negative_mask"
1154         unsigned.
1155
1156 2018-10-03  Tom Tromey  <tom@tromey.com>
1157
1158         * findvar.c (extract_integer): Do work in an unsigned type.
1159
1160 2018-10-03  Tom Tromey  <tom@tromey.com>
1161
1162         * common/enum-flags.h (enum_flags::operator~): Add static assert.
1163         * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as
1164         base type.
1165         * objfile-flags.h (enum objfile_flag): Use unsigned as base type.
1166         * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base
1167         type.
1168         * c-lang.h (enum c_string_type_values): Use unsigned as base
1169         type.
1170         * btrace.h (enum btrace_thread_flag): Use unsigned as base type.
1171
1172 2018-10-03  Tom Tromey  <tom@tromey.com>
1173
1174         * dwarf2-frame.h (dwarf2_frame_state_reg_info)
1175         <~dwarf2_frame_state_reg_info>: Update.
1176         <dwarf2_frame_state_reg_info>: Update.
1177         <alloc_regs>: Add assertion.  Update.
1178         <reg>: Now a std::vector.
1179         <num_regs>: Remove.
1180         <swap>: Update.
1181         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
1182         (execute_cfa_program_test, dwarf2_frame_cache): Update.
1183
1184 2018-10-03  Tom Tromey  <tom@tromey.com>
1185
1186         * namespace.c (add_using_directive): Don't pass NULL to memcpy.
1187
1188 2018-10-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1189
1190         * tid-parse.c (tid_is_in_list): Fix wrong 'See' comment.
1191
1192 2018-10-02  Tom Tromey  <tom@tromey.com>
1193
1194         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
1195
1196 2018-10-02  John Darrington <john@darrington.wattle.id.au>
1197
1198         * NEWS: Mention changed commands.
1199         * ser-uds.c: New file.
1200         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
1201         * configure: Regenerate.
1202         * Makefile.in: Add new file.
1203         * serial.c (serial_open): Check if filename is a socket
1204           and lookup the appropriate interface accordingly.
1205
1206 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
1207
1208         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
1209         define.
1210         (AARCH64_EXTRA_MAGIC): Likewise.
1211         (AARCH64_FPSIMD_MAGIC): Likewise.
1212         (AARCH64_SVE_MAGIC): Likewise.
1213         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
1214         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
1215         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
1216         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
1217         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
1218         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
1219         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
1220         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
1221         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
1222         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
1223         (read_aarch64_ctx): Add function.
1224         (aarch64_linux_sigframe_init): Detect FP registers.
1225
1226 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
1227
1228         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
1229         (AARCH64_D0_REGNUM): Likewise.
1230         (AARCH64_S0_REGNUM): Likewise.
1231         (AARCH64_H0_REGNUM): Likewise.
1232         (AARCH64_B0_REGNUM): Likewise.
1233         (AARCH64_SVE_V0_REGNUM): Likewise.
1234         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
1235         (AARCH64_D0_REGNUM): Likewise.
1236         (AARCH64_S0_REGNUM): Likewise.
1237         (AARCH64_H0_REGNUM): Likewise.
1238         (AARCH64_B0_REGNUM): Likewise.
1239         (AARCH64_SVE_V0_REGNUM): Likewise.
1240
1241 2018-10-01  Gary Benson <gbenson@redhat.com>
1242
1243         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
1244         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
1245         prfpregset_t instead of gdb_prfpregset_t.
1246         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
1247         * configure, config.in: Rebuild.
1248
1249 2018-10-01  Gary Benson <gbenson@redhat.com>
1250
1251         * common/gdb_proc_service.h: New file, factored out from...
1252         * gdb_proc_service.h: Moved common code to the above file.
1253         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
1254
1255 2018-10-01  Gary Benson <gbenson@redhat.com>
1256
1257         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
1258         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
1259
1260 2018-10-01  Gary Benson <gbenson@redhat.com>
1261
1262         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
1263         (AC_CHECK_HEADERS): Check for linux/elf.h.
1264         * configure, config.in: Rebuild.
1265         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
1266         doesn't define elf_fpregset_t.
1267
1268 2018-10-01  Gary Benson <gbenson@redhat.com>
1269
1270         * gdb_proc_service.h: Whitespace change.
1271
1272 2018-10-01  Tom Tromey  <tom@tromey.com>
1273
1274         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
1275         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
1276         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
1277
1278 2018-10-01  Tom Tromey  <tom@tromey.com>
1279
1280         * README: Minor change.
1281
1282 2018-09-30  Pedro Alves  <palves@redhat.com>
1283
1284         * darwin-nat-info.c (darwin_debug_regions_recurse)
1285         (info_mach_exceptions_command): Remove unused local variables.
1286         * darwin-nat.c (darwin_decode_notify_message)
1287         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
1288         (darwin_stop_inferior, darwin_setup_exceptions)
1289         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
1290         (darwin_nat_target::attach, darwin_nat_target::detach)
1291         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
1292         local variables.
1293         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
1294         variables.
1295
1296 2018-09-29  Tom Tromey  <tom@tromey.com>
1297
1298         * README: Remove some leftover text.
1299
1300 2018-09-29  Tom Tromey  <tom@tromey.com>
1301
1302         * PROBLEMS: Rewrite.
1303         * README: Update.
1304
1305 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
1306
1307         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
1308         case with explicit breakpoint kind.
1309         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
1310         'additional_info' and related logic.
1311         (riscv_debug_breakpoints): New variable.
1312         (riscv_breakpoint_kind_from_pc): Use the length of the existing
1313         instruction to determine the breakpoint kind.
1314         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
1315         flag.  Update description of 'set/show riscv
1316         use-compressed-breakpoints' flag.
1317
1318 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
1319
1320         (NEWS): Mention changes to frame related commands.
1321         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
1322         (add_prefix_cmd_suppress_notification): New function.
1323         (add_com_suppress_notification): Call
1324         add_cmd_suppress_notification.
1325         * command.h (add_cmd_suppress_notification): Declare.
1326         (add_prefix_cmd_suppress_notification): Declare.
1327         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
1328         (parse_frame_specification): Moved from stack.c, with
1329         simplification to handle a single argument.
1330         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
1331         switch to the selected frame.  Add a header comment.
1332         * stack.c: Remove 'safe-ctype.h' include.
1333         (find_frame_for_function): Add declaration.
1334         (find_frame_for_address): New function.
1335         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
1336         (frame_selection_by_function_completer): New function.
1337         (info_frame_command): Rename to...
1338         (info_frame_command_core): ...this, and update parameter types.
1339         (select_frame_command): Rename to...
1340         (select_frame_command_core): ...this, and update parameter types.
1341         (frame_command): Rename to...
1342         (frame_command_core): ...this, and update parameter types.
1343         (class frame_command_helper): New class to wrap implementations of
1344         frame related sub-commands.
1345         (frame_apply_cmd_list): New static global.
1346         (frame_cmd_list): Make static.
1347         (select_frame_cmd_list): New global for sub-commands.
1348         (info_frame_cmd_list): New global for sub-commands.
1349         (_initialize_stack): Register sub-commands for 'frame',
1350         'select-frame', and 'info frame'.  Update 'frame apply' commands
1351         to use frame_apply_cmd_list.  Move function local static
1352         frame_apply_list to file static frame_apply_cmd_list for
1353         consistency.
1354         * stack.h (select_frame_command): Delete declarationn.
1355         (select_frame_for_mi): Declare new function.
1356
1357 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1358
1359         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
1360         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
1361         and NOP.
1362
1363 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
1364
1365         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
1366
1367 2018-09-26  Tom Tromey  <tom@tromey.com>
1368
1369         * valops.c (auto_abandon): Remove dead code.
1370
1371 2018-09-26  Tom Tromey  <tom@tromey.com>
1372
1373         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
1374
1375 2018-09-24  Tom Tromey  <tom@tromey.com>
1376
1377         * common/pathstuff.c (get_standard_cache_dir): Make
1378         "xdg_cache_home" and "home" const.
1379         * top.c (init_history): Make "tmpenv" const.
1380         * main.c (get_init_files): Make "homedir" const.
1381
1382 2018-09-23  Tom Tromey  <tom@tromey.com>
1383
1384         PR python/18852:
1385         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
1386
1387 2018-09-23  Tom Tromey  <tom@tromey.com>
1388
1389         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
1390         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
1391         * python/python-internal.h (gdbpy_handle_exception): Declare.
1392         * python/py-utils.c (gdbpy_handle_exception): New function.
1393
1394 2018-09-23  Tom Tromey  <tom@tromey.com>
1395
1396         PR python/17284:
1397         * python/py-type.c (typy_template_argument): Check for negative
1398         argument number.
1399
1400 2018-09-23  Tom Tromey  <tom@tromey.com>
1401
1402         PR python/14062:
1403         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
1404
1405 2018-09-23  Tom Tromey  <tom@tromey.com>
1406
1407         PR python/18170:
1408         * python/py-value.c (valpy_int): Allow conversion from pointer
1409         type.
1410
1411 2018-09-23  Tom Tromey  <tom@tromey.com>
1412
1413         PR python/20126:
1414         * python/py-value.c (valpy_int): Respect type sign.
1415
1416 2018-09-23  Tom Tromey  <tom@tromey.com>
1417
1418         PR python/18352;
1419         * python/py-value.c (valpy_float): Allow conversions from int or
1420         char.
1421         (valpy_int, valpy_long): Allow conversions from float.
1422
1423 2018-09-23  Tom Tromey  <tom@tromey.com>
1424
1425         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
1426         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
1427
1428 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1429
1430         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
1431         __sighndlr.
1432         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
1433
1434 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
1435
1436         * windows-nat.c (windows_nat_target::wait): Remove a spurious
1437         target_terminal::ours().
1438
1439 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
1440
1441         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
1442         of vl to ULONGEST.
1443
1444 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
1445
1446         * breakpoint.c (update_inserted_breakpoint_locations): Remove
1447         redundant condition.
1448
1449 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1450
1451         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
1452
1453         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
1454         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
1455         * sol-thread.c (ps_pdmodel): Don't guard definition.
1456
1457         * procfs.c: Fix formatting.
1458
1459         * procfs.c (sysset_t_alloc): Remove.
1460         (create_procinfo): Use XNEW instead of sysset_t_alloc.
1461         (procfs_debug_inferior): Likewise.
1462         (procfs_set_exec_trap): Likewise.
1463         (proc_set_traced_sysentry): Don't allocate argp dynamically.
1464         (proc_set_traced_sysexit): Likewise.
1465
1466         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
1467         (dead_procinfo): Likewise.
1468         (proc_warn): Likewise.
1469         (proc_error): Likewise.
1470         (proc_get_LDT_entry): Likewise.
1471         (do_attach): Likewise.
1472         (procfs_target::pid_to_str): Likewise.
1473         (iterate_over_mappings): Likewise.
1474
1475         * procfs.c (create_procinfo): Fix ARI warning.
1476         (proc_get_status): Likewise.
1477         (proc_stop_process): Likewise.
1478         (proc_run_process): Likewise.
1479         (proc_kill): Likewise.
1480         (proc_get_LDT_entry): Likewise.
1481         (procfs_find_LDT_entry): Likewise.
1482         (proc_update_threads): Likewise.
1483         (proc_iterate_over_threads): Likewise.
1484         (do_attach): Likewise.
1485         (procfs_xfer_memory): Likewise.
1486         (invalidate_cache): Likewise.
1487         (procfs_target::resume): Likewise.
1488         (procfs_init_inferior): Likewise.
1489         (procfs_set_exec_trap): Likewise.
1490         (procfs_target::thread_alive): Likewise.
1491         (procfs_target::pid_to_exec_file): Likewise.
1492         (iterate_over_mappings): Likewise.
1493         (procfs_target::make_corefile_notes): Likewise.
1494         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
1495
1496         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
1497         (procfs_find_LDT_entry): Likewise.
1498         * sol-thread.c (ps_lgetLDT): Likewise.
1499
1500 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1501
1502         PR tdep/17903
1503         * procfs.c (procfs_target): Declare pid_to_exec_file.
1504         (procfs_target::pid_to_exec_file): New.
1505
1506 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1507
1508         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
1509         renaming.
1510         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
1511         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
1512
1513 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1514
1515         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
1516         (supply_fpregset, fill_fpregset): Move ...
1517         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
1518         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
1519         Remove references to ioctl-based procfs.
1520         Include <sys/reg.h>.
1521         Remove PR_MODEL_NATIVE guards.
1522         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
1523         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
1524
1525 2018-09-19  Xavier Roirand  <roirand@adacore.com>
1526
1527         PR gdb/20981:
1528         * solib-darwin.c (darwin_get_dyld_bfd): New function.
1529         (darwin_solib_get_all_image_info_addr_at_init): Update call.
1530         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
1531
1532 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
1533
1534         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
1535         (fbsd_print_sockaddr_in6): Likewise.
1536
1537 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
1538             Chris January  <chris.january@arm.com>
1539
1540         * eval.c (skip_undetermined_arglist): Skip argument list helper.
1541         (evaluate_subexp_standard): Return a dummy type when
1542         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
1543         OP_F77_UNDETERMINED_ARGLIST case.
1544         * expression.h (enum noside): Update comment.
1545
1546 2018-09-19  George Vasick <george.vasick@oracle.com>
1547
1548         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
1549
1550 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
1551             April Chin <april.chin@oracle.com>
1552             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1553
1554         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
1555         uint_t lwpid_t.
1556         (create_procinfo): Print pids in /proc without leading zeros.
1557
1558 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
1559
1560         * nios2-tdep.c (nios2_gcc_target_options): New.
1561         (nios2_gdb_arch_init): Install new hook.
1562
1563 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
1564
1565         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
1566         New file.
1567         * update-gnulib.sh: Apply patch.
1568         * configure: Re-generate.
1569
1570 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1571
1572         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
1573         description.  Make "info proc" command descriptions more
1574         consistent.
1575
1576 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1577
1578         * NEWS: Mention 'info proc files' command.
1579
1580 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1581
1582         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
1583         descriptors for IP_FILES and IP_ALL.
1584
1585 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1586
1587         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
1588         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
1589         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
1590         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
1591         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
1592         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
1593         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
1594         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
1595         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
1596         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
1597         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
1598         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
1599         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
1600         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
1601         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
1602         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
1603         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
1604         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
1605         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
1606         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
1607         (struct fbsd_sockaddr_un): New types.
1608         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
1609         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
1610         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
1611         (fbsd_core_info_proc_files): New functions.
1612         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
1613         IP_ALL.
1614         * fbsd-tdep.h (fbsd_info_proc_files_header)
1615         (fbsd_info_proc_files_entry): New.
1616
1617 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1618
1619         * defs.h (enum info_proc_what) [IP_FILES]: New value.
1620         * infcmd.c (info_proc_cmd_files): New function.
1621         (_initialize_infcmd): Register 'info proc files' command.
1622
1623 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1624
1625         * gnulib/aclocal-m4-deps.mk: Re-generate.
1626         * gnulib/aclocal.m4: Re-generate.
1627         * gnulib/config.in: Re-generate.
1628         * gnulib/configure: Re-generate.
1629         * gnulib/import/Makefile.am: Re-generate.
1630         * gnulib/import/Makefile.in: Re-generate.
1631         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1632         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1633         * gnulib/import/arpa_inet.in.h: New file.
1634         * gnulib/import/inet_ntop.c: New file.
1635         * gnulib/import/m4/arpa_inet_h.m4: New file.
1636         * gnulib/import/m4/inet_ntop.m4: New file.
1637         * gnulib/import/m4/netinet_in_h.m4: New file.
1638         * gnulib/import/m4/socklen.m4: New file.
1639         * gnulib/import/m4/sockpfaf.m4: New file.
1640         * gnulib/import/m4/stdalign.m4: New file.
1641         * gnulib/import/m4/sys_uio_h.m4: New file.
1642         * gnulib/import/netinet_in.in.h: New file.
1643         * gnulib/import/stdalign.in.h: New file.
1644         * gnulib/import/sys_socket.c: New file.
1645         * gnulib/import/sys_socket.in.h: New file.
1646         * gnulib/import/sys_uio.in.h: New file.
1647         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
1648         module.
1649
1650 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1651
1652         * gnulib/aclocal-m4-deps.mk: New file.
1653         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
1654         deterministically.
1655
1656 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1657
1658         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
1659         KVE_PATH.
1660
1661 2018-09-18  Tom Tromey  <tom@tromey.com>
1662
1663         * compile/compile-object-load.c (struct
1664         link_hash_table_cleanup_data): Add constructor and destructor.
1665         Use DISABLE_COPY_AND_ASSIGN.
1666         (~link_hash_table_cleanup_data): Rename from
1667         link_hash_table_free.  Now a destructor.
1668         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
1669
1670 2018-09-18  Tom Tromey  <tom@tromey.com>
1671
1672         * compile/compile-object-run.c (do_module_cleanup): Use delete.
1673         * compile/compile-object-load.c (struct munmap_list): Move to
1674         header file.
1675         (munmap_list::add): Rename from munmap_list_add; rewrite.
1676         (munmap_list::~munmap_list): Rename from munmap_list_free.
1677         (munmap_listp_free_cleanup): Remove.
1678         (compile_object_load): Update.
1679         * compile/compile-object-load.h (struct munmap_list): Move from
1680         compile-object-load.c.  Rewrite.
1681
1682 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
1683
1684         * aarch64-tdep.c (pass_in_v): Use register size.
1685         (aarch64_extract_return_value): Likewise.
1686         (aarch64_store_return_value): Likewise.
1687
1688 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1689
1690         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
1691         rlim_t.
1692
1693 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1694
1695         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
1696         Fix short help line.
1697
1698 2018-09-17  Tom Tromey  <tom@tromey.com>
1699
1700         PR python/20445:
1701         * configure: Rebuild.
1702         * configure.ac: Conditionally use -DNDEBUG for Python.
1703
1704 2018-09-17  Tom Tromey  <tom@tromey.com>
1705
1706         * configure: Rebuild.
1707         * configure.ac: Use gmp as a library dependency when checking for
1708         mpfr.
1709
1710 2018-09-17  Pedro Alves  <palves@redhat.com>
1711
1712         * python/py-inferior.c (find_inferior_object): Delete.
1713
1714 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
1715
1716         * compile/compile-cplus-types.c
1717         (compile_cplus_instance::enter_scope): Don't use new_scope after
1718         std::move.
1719
1720 2018-09-17  Tom Tromey  <tom@tromey.com>
1721
1722         * common/pathstuff.c (get_standard_cache_dir): Use
1723         ~/Library/Caches on macOS.
1724         * common/pathstuff.h (get_standard_cache_dir): Update comment.
1725
1726 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
1727
1728         PR python/23669
1729         * breakpoint.c (commands_cmd_element): New.
1730         (_initialize_breakpoint): Assign commands_cmd_element.
1731         * breakpoint.h (commands_cmd_element): New.
1732         * cli/cli-script.c (while_cmd_element, if_command,
1733         define_cmd_element): New.
1734         (command_name_equals): Remove.
1735         (process_next_line): Compare commands by pointer, not by name.
1736         (_initialize_cli_script): Assign the various cmd_list_element
1737         variables.
1738         * compile/compile.c (compile_cmd_element): New.
1739         (_initialize_compile): Assign compile_cmd_element.
1740         * compile/compile.h (compile_cmd_element): New.
1741         * guile/guile.c (guile_cmd_element): New.
1742         (install_gdb_commands): Assign guile_cmd_element.
1743         * guile/guile.h (guile_cmd_element): New.
1744         * python/python.c (python_cmd_element): New.
1745         (_initialize_python): Assign python_cmd_element.
1746         * python/python.h (python_cmd_element): New.
1747         * tracepoint.c (while_stepping_cmd_element): New.
1748         (_initialize_tracepoint): Assign while_stepping_cmd_element.
1749         * tracepoint.h (while_stepping_cmd_element): New.
1750
1751 2018-09-17  Tom Tromey  <tom@tromey.com>
1752
1753         * infrun.c (save_infcall_suspend_state): Return
1754         infcall_suspend_state_up.
1755         (save_infcall_control_state): Return infcall_control_state_up.
1756         * inferior.h (save_infcall_suspend_state)
1757         (save_infcall_control_state): Declare later.  Return unique
1758         pointers.
1759
1760 2018-09-17  Tom Tromey  <tom@tromey.com>
1761
1762         * infrun.c (struct stop_context): Declare constructor,
1763         destructor, "changed" method.
1764         (stop_context::stop_context): Rename from save_stop_context.
1765         (stop_context::~stop_context): Rename from
1766         release_stop_context_cleanup.
1767         (normal_stop): Update.
1768         (stop_context::changed): Rename from stop_context_changed.  Return
1769         bool.
1770
1771 2018-09-17  Tom Tromey  <tom@tromey.com>
1772
1773         * inferior.h (struct infcall_suspend_state_deleter): New.
1774         (infcall_suspend_state_up): New typedef.
1775         (struct infcall_control_state_deleter): New.
1776         (infcall_control_state_up): New typedef.
1777         (make_cleanup_restore_infcall_suspend_state)
1778         (make_cleanup_restore_infcall_control_state): Don't declare.
1779         * infcall.c (call_function_by_hand_dummy): Update.
1780         * infrun.c (do_restore_infcall_suspend_state_cleanup)
1781         (make_cleanup_restore_infcall_suspend_state): Remove.
1782         (do_restore_infcall_control_state_cleanup)
1783         (make_cleanup_restore_infcall_control_state): Remove.
1784
1785 2018-09-17  Tom Tromey  <tom@tromey.com>
1786
1787         * gdbthread.h (struct thread_control_state): Add initializer.
1788         (class thread_info) <control>: Remove initializer.
1789         * inferior.h (struct inferior_control_state): Add initializer.
1790         (class inferior) <control>: Remove initializer.
1791         (exit_inferior_1): Update.
1792         * infrun.c (struct infcall_control_state): Add constructors.
1793         (save_infcall_control_state): Use new.
1794         (restore_infcall_control_state, discard_infcall_control_state):
1795         Use delete.
1796
1797 2018-09-17  Tom Tromey  <tom@tromey.com>
1798
1799         * infrun.c (struct infcall_suspend_state) <registers>: Now a
1800         unique_ptr.
1801         <siginfo_data>: Now a unique_xmalloc_ptr.
1802         (save_infcall_suspend_state, restore_infcall_suspend_state)
1803         (discard_infcall_suspend_state)
1804         (get_infcall_suspend_state_regcache): Update.
1805
1806 2018-09-17  Tom Tromey  <tom@tromey.com>
1807
1808         * gdbthread.h (struct thread_suspend_state): Add initializers.
1809         (class thread_info) <suspend>: Remove initializer.
1810         * infrun.c (struct infcall_suspend_state): Add initializers.
1811         (save_infcall_suspend_state): Use new.
1812         (discard_infcall_suspend_state): Use delete.
1813
1814 2018-09-16  Tom Tromey  <tom@tromey.com>
1815
1816         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
1817         Remove.
1818         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
1819         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
1820         (py_varobj_iter_new): Likewise.
1821         (py_varobj_get_iterator): Use gdbpy_ref.
1822
1823 2018-09-16  Tom Tromey  <tom@tromey.com>
1824
1825         * python/py-threadevent.c (py_get_event_thread): Simplify.
1826         * python/py-inferior.c (infpy_thread_from_thread_handle):
1827         Return immediately after calling thread_to_thread_object.  Use
1828         Py_RETURN_NONE.
1829         (thread_to_thread_object): Set the exception on a NULL return.
1830
1831 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
1832
1833         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
1834
1835 2018-09-16  Tom Tromey  <tom@tromey.com>
1836
1837         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
1838         Remove.
1839
1840 2018-09-16  Tom Tromey  <tom@tromey.com>
1841
1842         * python/python-internal.h (thread_to_thread_object): Change
1843         return type.
1844         * python/py-inferior.c (thread_to_thread_object): Return a new
1845         reference.
1846         (infpy_thread_from_thread_handle): Update.
1847         * python/py-infthread.c (gdbpy_selected_thread): Update.
1848         * python/py-stopevent.c (create_stop_event_object): Update.
1849         * python/py-threadevent.c (py_get_event_thread): Return a new
1850         reference.
1851         (py_get_event_thread): Update.
1852         * python/py-event.h (py_get_event_thread): Change return type.
1853         * python/py-continueevent.c (create_continue_event_object):
1854         Update.
1855
1856 2018-09-16  Tom Tromey  <tom@tromey.com>
1857
1858         * python/py-progspace.c (pspy_get_objfiles): Update.
1859         * python/python-internal.h (objfile_to_objfile_object): Change
1860         return type.
1861         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1862         Update.
1863         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1864         Update.
1865         * python/python.c (gdbpy_get_current_objfile): Update.
1866         (gdbpy_objfiles): Update.
1867         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
1868         Update.
1869         (objfile_to_objfile_object): Return a new reference.
1870         * python/py-symtab.c (stpy_get_objfile): Update.
1871         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
1872         Update.
1873
1874 2018-09-16  Tom Tromey  <tom@tromey.com>
1875
1876         * python/py-inferior.c (infpy_get_progspace): Update.
1877         * python/python-internal.h (pspace_to_pspace_object): Change
1878         return type.
1879         * python/py-newobjfileevent.c
1880         (create_clear_objfiles_event_object): Update.
1881         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1882         Update.
1883         * python/python.c (gdbpy_get_current_progspace): Update.
1884         (gdbpy_progspaces): Update.
1885         * python/py-progspace.c (pspace_to_pspace_object): Return a new
1886         reference.
1887         * python/py-objfile.c (objfpy_get_progspace): Update.
1888         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
1889         Update.
1890
1891 2018-09-16  Tom Tromey  <tom@tromey.com>
1892
1893         * python/lib/gdb/__init__.py (current_progspace, objfiles)
1894         (solib_name, block_for_pc, find_pc_line): New functions.
1895         (execute_unwinders): Update.
1896         * python/py-block.c (gdbpy_block_for_pc): Remove.
1897         * python/py-inferior.c (infpy_get_progspace): New function.
1898         (inferior_object_getset) <progspace>: Add.
1899         * python/py-progspace.c (pspy_objfiles): Rewrite.
1900         (pspy_solib_name, pspy_block_for_pc)
1901         (pspy_find_pc_line, pspy_is_valid): New functions.
1902         (progspace_object_methods): Add entries for solib_name,
1903         block_for_pc, find_pc_line, is_valid.
1904         * python/python-internal.h (gdbpy_block_for_pc)
1905         (build_objfiles_list): Don't declare.
1906         * python/python.c: Don't include solib.h.
1907         (gdbpy_solib_name, gdbpy_find_pc_line)
1908         (gdbpy_get_current_progspace, build_objfiles_list)
1909         (gdbpy_objfiles): Remove.
1910         (GdbMethods) <current_progspace, objfiles, block_for_pc,
1911         solib_name, find_pc_line>: Remove entries.
1912
1913 2018-09-16  Tom Tromey  <tom@tromey.com>
1914
1915         * top.c (new_ui_command): Use GNU style for metasyntactic
1916         variables.
1917         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
1918         variables.
1919         * maint.c (maintenance_translate_address): Remove "<>" around
1920         text.
1921         * interps.c (interpreter_exec_cmd): Use GNU style for
1922         metasyntactic variables.
1923         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
1924         metasyntactic variables.
1925         * tracepoint.c (tfind_range_command): Use GNU style for
1926         metasyntactic variables.
1927         (tfind_outside_command): Likewise.
1928         (_initialize_tracepoint): Likewise.
1929         * remote.c (extended_remote_target::create_inferior): Use GNU
1930         style for metasyntactic variables.
1931         * sparc64-tdep.c (adi_examine_command): Use GNU style for
1932         metasyntactic variables.
1933         (adi_assign_command): Likewise.
1934
1935 2018-09-16  Tom Tromey  <tom@tromey.com>
1936
1937         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
1938         metasyntactic variables.  Print message if no disassembler options
1939         are available.
1940
1941 2018-09-15  Tom Tromey  <tom@tromey.com>
1942
1943         * infcmd.c (get_inferior_args): Return const char *.
1944         * inferior.h (get_inferior_args): Return type now const.
1945         * linux-tdep.c (linux_fill_prpsinfo): Update.
1946         * procfs.c (procfs_target::make_corefile_notes): Update.
1947
1948 2018-09-07  Tom Tromey  <tom@tromey.com>
1949
1950         * python/python.c (execute_gdb_command): Call bpstat_do_actions
1951         inside the TRY.
1952
1953 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
1954
1955         * nios2-tdep.c (nios2_type_align): New.
1956         (nios2_gdb_arch_init): Install type_align hook.
1957
1958 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1959
1960         * eval.c (fake_method::fake_method): Call xzalloc directly for a
1961         type that is neither object file owned, nor gdbarch owned.
1962         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
1963         gdbarch is non-NULL.
1964         (alloc_type_instance): Allocate non-objfile owned types on the
1965         gdbarch obstack.
1966         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
1967         using TYPE_ALLOC to ensure memory is allocated on the correct
1968         obstack.
1969         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
1970         obstack, or the gdbarch obstack.
1971         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
1972
1973 2018-09-14  Tom Tromey  <tom@tromey.com>
1974
1975         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
1976         block.
1977
1978 2018-09-14  Tom Tromey  <tom@tromey.com>
1979
1980         * nat/fork-inferior.c (get_startup_shell): Remove "static".
1981
1982 2018-09-13  Tom Tromey  <tom@tromey.com>
1983
1984         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
1985         static.
1986
1987 2018-09-13  Tom Tromey  <tom@tromey.com>
1988
1989         * exec.c (try_open_exec_file): Use std::string.
1990
1991 2018-09-13  Tom Tromey  <tom@tromey.com>
1992
1993         * utils.h (gdb_bfd_errmsg): Return std::string.
1994         * exec.c (exec_file_attach): Update.
1995         * compile/compile-object-load.c (compile_object_load): Update.
1996         * utils.c (gdb_bfd_errmsg): Return std::string.
1997
1998 2018-09-13  Tom Tromey  <tom@tromey.com>
1999
2000         * procfs.c (struct procinfo_deleter): New.
2001         (procinfo_up): New typedef.
2002         (do_destroy_procinfo_cleanup): Remove.
2003         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
2004
2005 2018-09-13  Tom Tromey  <tom@tromey.com>
2006
2007         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
2008
2009 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
2010 2018-09-13  Tom Tromey  <tom@tromey.com>
2011
2012         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
2013         (pspy_get_objfiles): New function.
2014         (progspace_object_methods): New.
2015         (pspace_object_type): Add tp_methods callback.
2016         * python/python-internal.h (build_objfiles_list): New
2017         declaration.
2018         * python/python.c (build_objfiles_list): New function.
2019         (gdbpy_objfiles): Implement using build_objfiles_list.
2020         * NEWS: Mention the Progspace.objfiles method.
2021
2022 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
2023
2024         * python/py-inferior.c (infpy_get_progspace): New function.
2025         (inferior_object_getset): Add progspace property.
2026         * NEWS: Mention the new property.
2027
2028 2018-09-13  Tom Tromey  <tom@tromey.com>
2029
2030         PR rust/23650:
2031         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
2032
2033 2018-09-13  Tom Tromey  <tom@tromey.com>
2034
2035         PR rust/23626:
2036         * rust-lang.c (rust_enum_variant): Now static.
2037         (rust_empty_enum_p): New function.
2038         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
2039         Handle empty enum.
2040
2041 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
2042
2043         * python/py-inferior.c (infpy_repr): New.
2044         (inferior_object_type): Register infpy_repr.
2045         * python/py-objfile.c (objfpy_repr): New.
2046         (objfile_object_type): Register objfpy_repr.
2047
2048 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
2049
2050         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
2051
2052 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
2053
2054         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
2055         typo.
2056
2057 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2058
2059         * common/common-utils.c: Don't include '<sys/stat.h>'.
2060         (is_regular_file): Move to...
2061         * common/filestuff.c (is_regular_file): ... here.
2062         * common/common-utils.h (is_regular_file): Move to...
2063         * common/filestuff.h (is_regular_file): ... here.
2064
2065 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
2066
2067         * skip.c (debug_skip): New variable.
2068         (skiplist_entry::do_skip_file_p): Add debug output.
2069         (skiplist_entry::do_skip_gfile_p): Likewise.
2070         (skiplist_entry::skip_function_p): Likewise.
2071         (_initialize_step_skip): Create debug command.
2072         * NEWS: Mention set/show debug skip.
2073
2074 2018-09-11  Xavier Roirand  <roirand@adacore.com>
2075
2076         * darwin-nat.c (should_disable_startup_with_shell):
2077         New function.
2078         (darwin_nat_target::create_inferior): Add call.
2079
2080 2018-09-11  Xavier Roirand  <roirand@adacore.com>
2081
2082         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
2083         inf_port, msg_state>: Initialize.
2084         (struct darwin_thread_info) <signaled, single_step>: Change
2085         type and initialize.
2086         (struct darwin_thread_info) <event>: Initialize.
2087
2088 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
2089
2090         PR gdb/23555
2091         PR gdb/23558
2092         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
2093         guesses.
2094
2095 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
2096
2097         Revert:
2098         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
2099
2100         PR gdb/23555
2101         PR gdb/23558
2102         * gnulib/aclocal.m4: Regenerate.
2103         * gnulib/config.in: Regenerate.
2104         * gnulib/configure: Regenerate.
2105         * gnulib/import/Makefile.am: Update.
2106         * gnulib/import/Makefile.in: Update.
2107         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
2108         * gnulib/import/_Noreturn.h: ... this.
2109         * gnulib/import/alloca.in.h: Update.
2110         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
2111         * gnulib/import/arg-nonnull.h: ... this.
2112         * gnulib/import/assure.h: Update.
2113         * gnulib/import/at-func.c: Update.
2114         * gnulib/import/basename-lgpl.c: Update.
2115         * gnulib/import/extra/snippet/c++defs.h: Rename to...
2116         * gnulib/import/c++defs.h: ... this.
2117         * gnulib/import/canonicalize-lgpl.c: Update.
2118         * gnulib/import/cdefs.h: Update.
2119         * gnulib/import/chdir-long.c: Update.
2120         * gnulib/import/chdir-long.h: Update.
2121         * gnulib/import/cloexec.c: Update.
2122         * gnulib/import/cloexec.h: Update.
2123         * gnulib/import/close.c: Update.
2124         * gnulib/import/closedir.c: Update.
2125         * gnulib/import/config.charset: Update.
2126         * gnulib/import/dirent-private.h: Update.
2127         * gnulib/import/dirent.in.h: Update.
2128         * gnulib/import/dirfd.c: Update.
2129         * gnulib/import/dirname-lgpl.c: Update.
2130         * gnulib/import/dirname.h: Update.
2131         * gnulib/import/dosname.h: Update.
2132         * gnulib/import/dup-safer-flag.c: Update.
2133         * gnulib/import/dup-safer.c: Update.
2134         * gnulib/import/dup.c: Update.
2135         * gnulib/import/dup2.c: Update.
2136         * gnulib/import/errno.in.h: Update.
2137         * gnulib/import/error.c: Update.
2138         * gnulib/import/error.h: Update.
2139         * gnulib/import/exitfail.c: Update.
2140         * gnulib/import/exitfail.h: Update.
2141         * gnulib/import/extra/update-copyright: Update.
2142         * gnulib/import/fchdir.c: Update.
2143         * gnulib/import/fcntl.c: Update.
2144         * gnulib/import/fcntl.in.h: Update.
2145         * gnulib/import/fd-hook.c: Update.
2146         * gnulib/import/fd-hook.h: Update.
2147         * gnulib/import/fd-safer-flag.c: Update.
2148         * gnulib/import/fd-safer.c: Update.
2149         * gnulib/import/fdopendir.c: Update.
2150         * gnulib/import/filename.h: Update.
2151         * gnulib/import/filenamecat-lgpl.c: Update.
2152         * gnulib/import/filenamecat.h: Update.
2153         * gnulib/import/flexmember.h: Update.
2154         * gnulib/import/float+.h: Update.
2155         * gnulib/import/float.c: Update.
2156         * gnulib/import/float.in.h: Update.
2157         * gnulib/import/fnmatch.c: Update.
2158         * gnulib/import/fnmatch.in.h: Update.
2159         * gnulib/import/fnmatch_loop.c: Update.
2160         * gnulib/import/fpucw.h: Update.
2161         * gnulib/import/frexp.c: Update.
2162         * gnulib/import/frexpl.c: Update.
2163         * gnulib/import/fstat.c: Update.
2164         * gnulib/import/fstatat.c: Update.
2165         * gnulib/import/getcwd-lgpl.c: Update.
2166         * gnulib/import/getcwd.c: Update.
2167         * gnulib/import/getdtablesize.c: Update.
2168         * gnulib/import/getlogin_r.c: Update.
2169         * gnulib/import/getprogname.c: Update.
2170         * gnulib/import/getprogname.h: Update.
2171         * gnulib/import/gettext.h: Update.
2172         * gnulib/import/gettimeofday.c: Update.
2173         * gnulib/import/glob-libc.h: Update.
2174         * gnulib/import/glob.c: Update.
2175         * gnulib/import/glob.in.h: Update.
2176         * gnulib/import/glob_internal.h: Update.
2177         * gnulib/import/glob_pattern_p.c: Update.
2178         * gnulib/import/globfree.c: Update.
2179         * gnulib/import/hard-locale.c: Update.
2180         * gnulib/import/hard-locale.h: Update.
2181         * gnulib/import/intprops.h: Update.
2182         * gnulib/import/inttypes.in.h: Update.
2183         * gnulib/import/isnan.c: Update.
2184         * gnulib/import/isnand-nolibm.h: Update.
2185         * gnulib/import/isnand.c: Update.
2186         * gnulib/import/isnanl-nolibm.h: Update.
2187         * gnulib/import/isnanl.c: Update.
2188         * gnulib/import/itold.c: Update.
2189         * gnulib/import/libc-config.h: Update.
2190         * gnulib/import/limits.in.h: Update.
2191         * gnulib/import/localcharset.c: Update.
2192         * gnulib/import/localcharset.h: Update.
2193         * gnulib/import/localtime-buffer.c: Update.
2194         * gnulib/import/localtime-buffer.h: Update.
2195         * gnulib/import/lstat.c: Update.
2196         * gnulib/import/m4/00gnulib.m4: Update.
2197         * gnulib/import/m4/__inline.m4: Update.
2198         * gnulib/import/m4/absolute-header.m4: Update.
2199         * gnulib/import/m4/alloca.m4: Update.
2200         * gnulib/import/m4/builtin-expect.m4: Update.
2201         * gnulib/import/m4/canonicalize.m4: Update.
2202         * gnulib/import/m4/chdir-long.m4: Update.
2203         * gnulib/import/m4/close.m4: Update.
2204         * gnulib/import/m4/closedir.m4: Update.
2205         * gnulib/import/m4/configmake.m4: Update.
2206         * gnulib/import/m4/d-ino.m4: Update.
2207         * gnulib/import/m4/d-type.m4: Update.
2208         * gnulib/import/m4/dirent_h.m4: Update.
2209         * gnulib/import/m4/dirfd.m4: Update.
2210         * gnulib/import/m4/dirname.m4: Update.
2211         * gnulib/import/m4/double-slash-root.m4: Update.
2212         * gnulib/import/m4/dup.m4: Update.
2213         * gnulib/import/m4/dup2.m4: Update.
2214         * gnulib/import/m4/eealloc.m4: Update.
2215         * gnulib/import/m4/environ.m4: Update.
2216         * gnulib/import/m4/errno_h.m4: Update.
2217         * gnulib/import/m4/error.m4: Update.
2218         * gnulib/import/m4/exponentd.m4: Update.
2219         * gnulib/import/m4/exponentl.m4: Update.
2220         * gnulib/import/m4/extensions.m4: Update.
2221         * gnulib/import/m4/extern-inline.m4: Update.
2222         * gnulib/import/m4/fchdir.m4: Update.
2223         * gnulib/import/m4/fcntl-o.m4: Update.
2224         * gnulib/import/m4/fcntl.m4: Update.
2225         * gnulib/import/m4/fcntl_h.m4: Update.
2226         * gnulib/import/m4/fdopendir.m4: Update.
2227         * gnulib/import/m4/filenamecat.m4: Update.
2228         * gnulib/import/m4/flexmember.m4: Update.
2229         * gnulib/import/m4/float_h.m4: Update.
2230         * gnulib/import/m4/fnmatch.m4: Update.
2231         * gnulib/import/m4/fnmatch_h.m4: Update.
2232         * gnulib/import/m4/fpieee.m4: Update.
2233         * gnulib/import/m4/frexp.m4: Update.
2234         * gnulib/import/m4/frexpl.m4: Update.
2235         * gnulib/import/m4/fstat.m4: Update.
2236         * gnulib/import/m4/fstatat.m4: Update.
2237         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
2238         * gnulib/import/m4/getcwd-path-max.m4: Update.
2239         * gnulib/import/m4/getcwd.m4: Update.
2240         * gnulib/import/m4/getdtablesize.m4: Update.
2241         * gnulib/import/m4/getlogin.m4: Update.
2242         * gnulib/import/m4/getlogin_r.m4: Update.
2243         * gnulib/import/m4/getpagesize.m4: Update.
2244         * gnulib/import/m4/getprogname.m4: Update.
2245         * gnulib/import/m4/gettimeofday.m4: Update.
2246         * gnulib/import/m4/glibc21.m4: Update.
2247         * gnulib/import/m4/glob.m4: Update.
2248         * gnulib/import/m4/glob_h.m4: Update.
2249         * gnulib/import/m4/gnulib-cache.m4: Update.
2250         * gnulib/import/m4/gnulib-common.m4: Update.
2251         * gnulib/import/m4/gnulib-comp.m4: Update.
2252         * gnulib/import/m4/gnulib-tool.m4: Update.
2253         * gnulib/import/m4/hard-locale.m4: Update.
2254         * gnulib/import/m4/include_next.m4: Update.
2255         * gnulib/import/m4/inttypes-pri.m4: Update.
2256         * gnulib/import/m4/inttypes.m4: Update.
2257         * gnulib/import/m4/isnand.m4: Update.
2258         * gnulib/import/m4/isnanl.m4: Update.
2259         * gnulib/import/m4/largefile.m4: Update.
2260         * gnulib/import/m4/limits-h.m4: Update.
2261         * gnulib/import/m4/localcharset.m4: Update.
2262         * gnulib/import/m4/locale-fr.m4: Update.
2263         * gnulib/import/m4/locale-ja.m4: Update.
2264         * gnulib/import/m4/locale-zh.m4: Update.
2265         * gnulib/import/m4/localtime-buffer.m4: Update.
2266         * gnulib/import/m4/longlong.m4: Update.
2267         * gnulib/import/m4/lstat.m4: Update.
2268         * gnulib/import/m4/malloc.m4: Update.
2269         * gnulib/import/m4/malloca.m4: Update.
2270         * gnulib/import/m4/math_h.m4: Update.
2271         * gnulib/import/m4/mbrtowc.m4: Update.
2272         * gnulib/import/m4/mbsinit.m4: Update.
2273         * gnulib/import/m4/mbsrtowcs.m4: Update.
2274         * gnulib/import/m4/mbstate_t.m4: Update.
2275         * gnulib/import/m4/memchr.m4: Update.
2276         * gnulib/import/m4/memmem.m4: Update.
2277         * gnulib/import/m4/mempcpy.m4: Update.
2278         * gnulib/import/m4/memrchr.m4: Update.
2279         * gnulib/import/m4/mkdir.m4: Update.
2280         * gnulib/import/m4/mkstemp.m4: Update.
2281         * gnulib/import/m4/mmap-anon.m4: Update.
2282         * gnulib/import/m4/mode_t.m4: Update.
2283         * gnulib/import/m4/msvc-inval.m4: Update.
2284         * gnulib/import/m4/msvc-nothrow.m4: Update.
2285         * gnulib/import/m4/multiarch.m4: Update.
2286         * gnulib/import/m4/nocrash.m4: Update.
2287         * gnulib/import/m4/off_t.m4: Update.
2288         * gnulib/import/m4/onceonly.m4: Update.
2289         * gnulib/import/m4/open-cloexec.m4: Update.
2290         * gnulib/import/m4/open.m4: Update.
2291         * gnulib/import/m4/openat.m4: Update.
2292         * gnulib/import/m4/opendir.m4: Update.
2293         * gnulib/import/m4/pathmax.m4: Update.
2294         * gnulib/import/m4/rawmemchr.m4: Update.
2295         * gnulib/import/m4/readdir.m4: Update.
2296         * gnulib/import/m4/readlink.m4: Update.
2297         * gnulib/import/m4/realloc.m4: Update.
2298         * gnulib/import/m4/rename.m4: Update.
2299         * gnulib/import/m4/rewinddir.m4: Update.
2300         * gnulib/import/m4/rmdir.m4: Update.
2301         * gnulib/import/m4/save-cwd.m4: Update.
2302         * gnulib/import/m4/secure_getenv.m4: Update.
2303         * gnulib/import/m4/setenv.m4: Update.
2304         * gnulib/import/m4/signal_h.m4: Update.
2305         * gnulib/import/m4/ssize_t.m4: Update.
2306         * gnulib/import/m4/stat-time.m4: Update.
2307         * gnulib/import/m4/stat.m4: Update.
2308         * gnulib/import/m4/std-gnu11.m4: Update.
2309         * gnulib/import/m4/stdbool.m4: Update.
2310         * gnulib/import/m4/stddef_h.m4: Update.
2311         * gnulib/import/m4/stdint.m4: Update.
2312         * gnulib/import/m4/stdio_h.m4: Update.
2313         * gnulib/import/m4/stdlib_h.m4: Update.
2314         * gnulib/import/m4/strchrnul.m4: Update.
2315         * gnulib/import/m4/strdup.m4: Update.
2316         * gnulib/import/m4/strerror.m4: Update.
2317         * gnulib/import/m4/string_h.m4: Update.
2318         * gnulib/import/m4/strstr.m4: Update.
2319         * gnulib/import/m4/strtok_r.m4: Update.
2320         * gnulib/import/m4/sys_socket_h.m4: Update.
2321         * gnulib/import/m4/sys_stat_h.m4: Update.
2322         * gnulib/import/m4/sys_time_h.m4: Update.
2323         * gnulib/import/m4/sys_types_h.m4: Update.
2324         * gnulib/import/m4/tempname.m4: Update.
2325         * gnulib/import/m4/time_h.m4: Update.
2326         * gnulib/import/m4/unistd-safer.m4: Update.
2327         * gnulib/import/m4/unistd_h.m4: Update.
2328         * gnulib/import/m4/warn-on-use.m4: Update.
2329         * gnulib/import/m4/wchar_h.m4: Update.
2330         * gnulib/import/m4/wchar_t.m4: Update.
2331         * gnulib/import/m4/wctype_h.m4: Update.
2332         * gnulib/import/m4/wint_t.m4: Update.
2333         * gnulib/import/malloc.c: Update.
2334         * gnulib/import/malloc/scratch_buffer.h: Update.
2335         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
2336         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
2337         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
2338         * gnulib/import/malloca.c: Update.
2339         * gnulib/import/malloca.h: Update.
2340         * gnulib/import/malloca.valgrind: Update.
2341         * gnulib/import/math.in.h: Update.
2342         * gnulib/import/mbrtowc.c: Update.
2343         * gnulib/import/mbsinit.c: Update.
2344         * gnulib/import/mbsrtowcs-impl.h: Update.
2345         * gnulib/import/mbsrtowcs-state.c: Update.
2346         * gnulib/import/mbsrtowcs.c: Update.
2347         * gnulib/import/memchr.c: Update.
2348         * gnulib/import/memmem.c: Update.
2349         * gnulib/import/mempcpy.c: Update.
2350         * gnulib/import/memrchr.c: Update.
2351         * gnulib/import/mkdir.c: Update.
2352         * gnulib/import/mkstemp.c: Update.
2353         * gnulib/import/msvc-inval.c: Update.
2354         * gnulib/import/msvc-inval.h: Update.
2355         * gnulib/import/msvc-nothrow.c: Update.
2356         * gnulib/import/msvc-nothrow.h: Update.
2357         * gnulib/import/open.c: Update.
2358         * gnulib/import/openat-die.c: Update.
2359         * gnulib/import/openat-priv.h: Update.
2360         * gnulib/import/openat-proc.c: Update.
2361         * gnulib/import/openat.c: Update.
2362         * gnulib/import/openat.h: Update.
2363         * gnulib/import/opendir.c: Update.
2364         * gnulib/import/pathmax.h: Update.
2365         * gnulib/import/pipe-safer.c: Update.
2366         * gnulib/import/rawmemchr.c: Update.
2367         * gnulib/import/readdir.c: Update.
2368         * gnulib/import/readlink.c: Update.
2369         * gnulib/import/realloc.c: Update.
2370         * gnulib/import/ref-add.sin: Update.
2371         * gnulib/import/ref-del.sin: Update.
2372         * gnulib/import/rename.c: Update.
2373         * gnulib/import/rewinddir.c: Update.
2374         * gnulib/import/rmdir.c: Update.
2375         * gnulib/import/same-inode.h: Update.
2376         * gnulib/import/save-cwd.c: Update.
2377         * gnulib/import/save-cwd.h: Update.
2378         * gnulib/import/scratch_buffer.h: Update.
2379         * gnulib/import/secure_getenv.c: Update.
2380         * gnulib/import/setenv.c: Update.
2381         * gnulib/import/signal.in.h: Update.
2382         * gnulib/import/stat-time.c: Update.
2383         * gnulib/import/stat-time.h: Update.
2384         * gnulib/import/stat-w32.c: Update.
2385         * gnulib/import/stat-w32.h: Update.
2386         * gnulib/import/stat.c: Update.
2387         * gnulib/import/stdbool.in.h: Update.
2388         * gnulib/import/stddef.in.h: Update.
2389         * gnulib/import/stdint.in.h: Update.
2390         * gnulib/import/stdio.in.h: Update.
2391         * gnulib/import/stdlib.in.h: Update.
2392         * gnulib/import/str-two-way.h: Update.
2393         * gnulib/import/strchrnul.c: Update.
2394         * gnulib/import/strdup.c: Update.
2395         * gnulib/import/streq.h: Update.
2396         * gnulib/import/strerror-override.c: Update.
2397         * gnulib/import/strerror-override.h: Update.
2398         * gnulib/import/strerror.c: Update.
2399         * gnulib/import/string.in.h: Update.
2400         * gnulib/import/stripslash.c: Update.
2401         * gnulib/import/strnlen1.c: Update.
2402         * gnulib/import/strnlen1.h: Update.
2403         * gnulib/import/strstr.c: Update.
2404         * gnulib/import/strtok_r.c: Update.
2405         * gnulib/import/sys_stat.in.h: Update.
2406         * gnulib/import/sys_time.in.h: Update.
2407         * gnulib/import/sys_types.in.h: Update.
2408         * gnulib/import/tempname.c: Update.
2409         * gnulib/import/tempname.h: Update.
2410         * gnulib/import/time.in.h: Update.
2411         * gnulib/import/unistd--.h: Update.
2412         * gnulib/import/unistd-safer.h: Update.
2413         * gnulib/import/unistd.in.h: Update.
2414         * gnulib/import/unsetenv.c: Update.
2415         * gnulib/import/verify.h: Update.
2416         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2417         * gnulib/import/wchar.in.h: Update.
2418         * gnulib/import/wctype.in.h: Update.
2419         * gnulib/import/xalloc-oversized.h: Update.
2420         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2421         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2422
2423 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
2424
2425         * record-btrace.c (get_thread_current_frame): Remove
2426         old_inferior_ptid.
2427
2428 2018-09-10  Jerome Guitton  <guitton@adacore.com>
2429
2430         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
2431         with check_tag to 1 if and only if the type is tagged and the
2432         component being searched cannot been found in the current
2433         view. Otherwise, always call ada_to_fixed_type with
2434         check_tag to 0.
2435
2436 2018-09-10  Xavier Roirand  <roirand@adacore.com>
2437
2438         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
2439         declaration.
2440         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
2441         * ada-varobj.c (ada_varobj_get_number_of_children,
2442         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
2443
2444 2018-09-10  Xavier Roirand  <roirand@adacore.com>
2445
2446         * ada-valprint.c (ada_value_print): Use type instead of
2447         enclosing type.
2448
2449 2018-09-10  Xavier Roirand  <roirand@adacore.com>
2450
2451         * ada-lang.c (ada_value_subscript): Handle case when parameter is
2452         an array of access to unconstrained array.
2453
2454 2018-09-10  Xavier Roirand  <roirand@adacore.com>
2455
2456         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
2457         (ada_check_typedef): Use it.
2458
2459 2018-09-10  Xavier Roirand  <roirand@adacore.com>
2460
2461         * ada-varobj.c (ada_varobj_describe_struct_child)
2462         (ada_varobj_describe_child): Handle union case like struct one.
2463
2464 2018-09-10  Tom Tromey  <tom@tromey.com>
2465
2466         PR python/18380:
2467         * python/python.c (_initialize_python): Make example in "python"
2468         help work in Python 3.
2469
2470 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
2471
2472         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
2473         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
2474         $(EXEEXT) to the script, as it is not a program.
2475
2476 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
2477
2478         * python/py-prettyprint.c (pretty_print_one_value): Return
2479         gdbpy_ref<>.
2480         (print_string_repr): Adjust.
2481         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
2482         * python/python-internal.h (apply_varobj_pretty_printer): Return
2483         gdbpy_ref<>.
2484         * varobj.c (varobj_value_get_print_value): Adjust.
2485
2486 2018-09-08  Tom Tromey  <tom@tromey.com>
2487
2488         PR python/16047:
2489         * python/py-prettyprint.c (pretty_print_one_value): Check for
2490         to_string method.
2491
2492 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2493
2494         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
2495         replace_operator_with_call.
2496
2497 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2498
2499         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
2500
2501 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2502
2503         * ada-typeprint.c (print_range): Print the bounds using TYPE
2504         rather than its TYPE_TARGET_TYPE.
2505
2506 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2507
2508         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
2509         call to ada_to_fixed_value_create.
2510
2511 2018-09-08  Jerome Guitton  <guitton@adacore.com>
2512
2513         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
2514
2515 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2516
2517         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
2518         by calls to error.
2519
2520 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2521
2522         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
2523         Move update of loop variable "fi".
2524
2525 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2526
2527         * ada-lang.c (value_assign_to_component): In the case of
2528         big-endian targets, extract the bits of the given VAL
2529         using an src_offset of zero if container is not a scalar.
2530
2531 2018-09-06  Simon Ser  <contact@emersion.fr>
2532
2533         PR gdb/23105
2534         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
2535         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
2536         * fbsd-tdep.c (fbsd_make_note_desc): New.
2537         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
2538         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
2539         * target.h (enum target_object) Add FreeBSD-specific
2540         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
2541
2542 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
2543
2544         * compile/compile-c.h (generate_c_for_variable_locations):
2545         Change reference to pointer.
2546         * compile/compile-c-support.c (compile_program) <compute>:
2547         Likewise.
2548         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
2549         (generate_c_for_for_one_variable): Likewise
2550         (generate_c_for_variable_locations): Likewise
2551         * compile/compile-c-types.c (compile_c_instance::convert_type):
2552         Likewise
2553         * compile/compile-cplus-symbols.c (convert_one_symbol):
2554         std::move the scope passed to enter_scope.
2555         * compile/compile-cplus-types.c
2556         (compile_cplus_instance::enter_scope): Make parameter
2557         rvalue-reference.
2558         (compile_cplus_instance::new_scope): Change reference to
2559         pointer.
2560         (compile_cplus_instance::convert_type): Likewise
2561         (compile_cplus_convert_typedef): std::move the scope passed to
2562         enter_scope.
2563         (compile_cplus_convert_struct_or_union): Likewise.
2564         (compile_cplus_convert_enum): Likewise.
2565         (compile_cplus_convert_namespace): Likewise.
2566         * compile/compile-cplus.h (compile_cplus_instance)
2567         <enter_scope>: Make parameter rvalue-reference.
2568         * compile/compile-internal.h (compile_instance)
2569         <get_cached_type>: Likewise
2570         * compile/compile-loc2c.c (push): Likewise
2571         (pushf): Likewise
2572         (unary): Likewise
2573         (binary): Likewise
2574         (print_label): Likewise
2575         (pushf_register_address): Likewise
2576         (pushf_register): Likewise
2577         (do_compile_dwarf_expr_to_c): Likewise
2578         (compile_dwarf_expr_to_c): Likewise
2579         (compile_dwarf_bounds_to_c): Likewise
2580         * compile/compile.c (compile_instance::get_cached_type):
2581         Likewise
2582         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
2583         (compile_dwarf_bounds_to_c): Likewise
2584         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
2585         (dwarf2_compile_property_to_c): Likewise
2586         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
2587         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
2588         Likewise
2589
2590 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
2591
2592         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
2593         * tui/tui-data.c (init_content_element): Don't initialize it.
2594
2595 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
2596
2597         * tui/tui-data.h (struct tui_win_info)
2598         <detail::opaque>: Remove.
2599         * tui/tui-data.c (init_win_info): Remove assignment.
2600
2601 2018-09-05  Tom Tromey  <tom@tromey.com>
2602
2603         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
2604         -Wformat-nonliteral.
2605         * target-float.c (host_float_ops<T>::to_string)
2606         (host_float_ops<T>::from_string): Use
2607         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
2608         * configure: Rebuild.
2609
2610 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
2611
2612         * printcmd.c (printf_c_string): Use
2613         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
2614         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
2615
2616 2018-09-05  Tom Tromey  <tom@tromey.com>
2617
2618         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
2619
2620 2018-09-05  Tom de Vries  <tdevries@suse.de>
2621
2622         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
2623         with resolve_abstract_p == true.
2624         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
2625         defaulting to false. Propagate resolve_abstract_p to
2626         dwarf2_fetch_die_loc_sect_off.
2627         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
2628         parameter, defaulting to false.
2629         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
2630         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
2631         parameter.
2632         * dwarf2read.h (struct die_info): Forward-declare.
2633         (die_info_ptr): New typedef.
2634         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
2635
2636 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
2637
2638         GDB 8.2 released.
2639
2640 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
2641             Pedro Alves  <palves@redhat.com>
2642
2643         * gnulib/Makefile.in (aclocal_m4_deps): Move to
2644         "aclocal-m4-deps.mk".  Include file here.
2645         $(srcdir)/aclocal.m4: Add "configure.ac".
2646         * gnulib/aclocal-m4-deps.mk: New file.
2647         * gnulib/update-gnulib.sh: Automatically update
2648         "aclocal-m4-deps.mk".
2649
2650 2018-09-04  Tom Tromey  <tom@tromey.com>
2651
2652         * configure: Rebuild.
2653         * configure.ac: Remove multi-ice code.
2654
2655 2018-09-04  Tom Tromey  <tom@tromey.com>
2656
2657         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
2658         (ada-exp.o): Update.
2659
2660 2018-09-04  Tom Tromey  <tom@tromey.com>
2661
2662         * Makefile.in (printcmd.o, target-float.o): Remove.
2663         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
2664
2665 2018-09-04  Tom Tromey  <tom@tromey.com>
2666
2667         * gnulib/Makefile.in: Remove obsolete comment.
2668         * Makefile.in: Remove obsolete comment.
2669
2670 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
2671
2672         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
2673         line with '+'.
2674
2675 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
2676
2677         * riscv-tdep.c: Add 'prologue-value.h' include.
2678         (struct riscv_unwind_cache): New struct.
2679         (riscv_debug_unwinder): New global.
2680         (riscv_scan_prologue): Update arguments, capture register details
2681         from prologue scan.
2682         (riscv_skip_prologue): Reformat arguments line, move end of
2683         prologue calculation into riscv_scan_prologue.
2684         (riscv_frame_cache): Update return type, create
2685         riscv_unwind_cache, scan the prologue, and fill in remaining cache
2686         details.
2687         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
2688         (riscv_frame_prev_register): Use the trad_frame within the
2689         riscv_unwind_cache.
2690         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
2691         flag.
2692
2693 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
2694
2695         * trad-frame.h (trad_frame_set_realreg): Declare.
2696         (trad_frame_set_addr): Declare.
2697         * trad-frame.c (trad_frame_set_realreg): Define new function.
2698         (trad_frame_set_addr): Define new function.
2699         (trad_frame_set_reg_realreg): Use new function.
2700         (trad_frame_set_reg_addr): Use new function.
2701
2702 2018-09-01  Keith Seitz  <keiths@redhat.com>
2703
2704         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
2705         pulongest instead of "%lld".
2706         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
2707         ATTRIBUTE_UNUSED.
2708
2709 2018-08-31  Tom Tromey  <tom@tromey.com>
2710
2711         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
2712         variant part type.
2713
2714 2018-08-31  Pedro Alves  <palves@redhat.com>
2715
2716         * gdbarch.h: Regenerate.
2717
2718 2018-08-31  Pedro Alves  <palves@redhat.com>
2719
2720         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
2721         * target.h (Hardware watchpoint interfaces): Describe
2722         continuable/steppable/non-steppable watchpoints.
2723         * gdbarch.h, gdbarch.c: Regenerate.
2724
2725 2018-08-31  Pedro Alves  <palves@redhat.com>
2726
2727         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
2728         Delete.
2729         * s390-linux-nat.c
2730         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
2731         * target.h (target_ops::have_continuable_watchpoint): Delete.
2732         (target_have_continuable_watchpoint): Delete.
2733         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
2734         * target-delegates.c: Regenerate.
2735
2736 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
2737
2738         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
2739         the files present in "gnulib/import/m4/".
2740
2741 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2742
2743         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
2744         c.sw, c.swsp, and c.sdsp.
2745
2746 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2747
2748         * riscv-tdep.c (struct riscv_inferior_data): Delete.
2749         (riscv_read_misa_reg): Don't cache value read into inferior data.
2750         (riscv_new_inferior_data): Delete.
2751         (riscv_inferior_data_cleanup): Delete.
2752         (riscv_inferior_data): Delete.
2753         (riscv_invalidate_inferior_data): Delete.
2754         (_initialize_riscv_tdep): Remove initialisation of inferior data.
2755
2756 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
2757
2758         * compile/compile-cplus-types.c
2759         (compile_cplus_instance::leave_scope): Take the address of scope
2760         object.
2761         (compile_cplus_instance::convert_qualified_base): Compare quals
2762         to 0.
2763
2764 2018-08-30  Keith Seitz  <keiths@redhat.com>
2765
2766         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
2767         Use "%s" and host_address_to_string instead of "%p" in printf.
2768
2769 2018-08-29  Keith Seitz  <keiths@redhat.com>
2770
2771         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
2772         and compile-cplus-types.c.
2773         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
2774         * c-lang.c (cplus_language_defn): Set C++ compile functions.
2775         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
2776         Declare.
2777         * compile/compile-c-support.c: Include compile-cplus.h.
2778         (load_libcompile): Templatize.
2779         (get_compile_context): "New" function.
2780         (c_get_compile_context): Use get_compile_context.
2781         (cplus_get_compile_context): New function.
2782         (cplus_push_user_expression, cplus_pop_user_expression)
2783         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
2784         (cplus_compute_program): Define new structs/functions.
2785         * compile/compile-cplus-symmbols.c: New file.
2786         * compile/compile-cplus-types.c: New file.
2787         * compile/compile-cplus.h: New file.
2788         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
2789         Declare.
2790         * compile/compile-object-load.c (get_out_value_type): Use
2791         strncmp_iw when comparing symbol names.
2792         (compile_object_load): Add mst_bss and mst_data.
2793         * compile/compile.c (_initialize_compile): Remove
2794         -Wno-implicit-function-declaration from `compile_args'.
2795         * compile/gcc-cp-plugin.h: New file.
2796         * NEWS: Mention C++ compile support and new debug options.
2797
2798 2018-08-29  Keith Seitz  <keiths@redhat.com>
2799
2800         * linespec.c (collect_info::add_symbol): Make virtual.
2801         (struct symbol_searcher_collect_info): New struct.
2802         (symbol_searcher::find_all_symbols): New method.
2803         * symtab.h (class symbol_searcher): New class.
2804
2805 2018-08-29  Keith Seitz  <keiths@redhat.com>
2806
2807         * linespec.c (struct linespec) <function_symbols, label_symbols>:
2808         Change to vector of block_symbol.  Update all users.
2809         (struct collect_info) <symbols>: Likewise.
2810         (collect_info::add_symbol): Take block_symbol as argument.
2811         Update all callers.
2812         (decode_compound_collector) <m_symbols>: Change type to vector
2813         of block_symbol.  Update all users.
2814         (decode_compound_collector::operator ()): Change parameter type
2815         to block_symbol.
2816         (find_method, find_function_symbols, find_linespec_symbols)
2817         (find_label_symbols_in_block, find_label_symbols): Change symbol
2818         vectors to block_symbol vectors.
2819         * symtab.h (symbol_found_callback_ftype): Change parameter type to
2820         block_symbol.
2821
2822 2018-08-29  Keith Seitz  <keiths@redhat.com>
2823
2824         * linespec.c (symbolp): Remove typedef and VEC definitions.
2825         (bound_minimal_symbol_d): Likewise.
2826
2827 2018-08-29  Keith Seitz  <keiths@redhat.com>
2828
2829         * linespec.c (decode_compound_collector::decode_compound_collector):
2830         Remove initialization for `m_symtabs'.
2831         (decode_compound_collector::release_symbols): Change return type
2832         to std::vector.  Update all callers.
2833         (class decode_compound_collector) <m_symbols>: Change type to
2834         std::vector.
2835         (lookup_prefix_sym): Change return type to std::vector.  Update all
2836         callers.
2837         (compare_symbols): Remove.
2838         (std_compare_symbols): Rename to `compare_symbols'.
2839         (find_method): Change `sym_classes' parameter to std::vector.
2840         Update all callers.  Use std::sort to sort sym_classes.
2841         (find_linespec_symbols): Remove cleanup.
2842
2843 2018-08-29  Keith Seitz  <keiths@redhat.com>
2844
2845         * linespec.c (struct linespec) <minimal_symbols>: Change type to
2846         std::vector.  Update all users.
2847         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
2848         (struct collect_info) <minimal_symbols>: Likewise.
2849         (compare_msymbols): Return bool.  Change parameters to const
2850         bound_minimal_symbol references.
2851         (find_method, find_function_symbols, find_linespec_symbols): Change
2852         `minsyms' parameter to std::vector.  Update all callers.
2853
2854 2018-08-29  Keith Seitz  <keiths@redhat.com>
2855
2856         * linespec.c (struct linespec) <label_symbols>: Change type to
2857         std::vector.  Update all users.
2858         (find_label_symbols_in_block): Change `result' parameter to
2859         std::vector.  Update all callers.
2860         (find_label_symbols): Return std::vector.  Update all callers.
2861
2862 2018-08-29  Keith Seitz  <keiths@redhat.com>
2863
2864         * linespec.c (struct linespec) <function_symbols>: Change type to
2865         std::vector.  Update all users.
2866         (struct collect_info) <function_symbols>: Likewise.
2867         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
2868         (std_compare_symbols): New function.
2869         (find_method, find_function_symbols, find_linespec_symbols)
2870         (find_label_symbols_in_block): Change `symbols' parameter to
2871         std::vector.  Update all callers.
2872         (find_label_symbols): Likewise for `function_symbols' and
2873         `label_funcs_ret'.
2874
2875 2018-08-29  Keith Seitz  <keiths@redhat.com>
2876
2877         * linespec.c (symtab_vector_up): Define.
2878         (struct linespec) <file_symtabs>: Change type to std::vector *.
2879         Update all uses.
2880         (struct collect_info) <file_symtabs>: Likewise.
2881         (collect_symtabs_from_filename): Return symtab_vector_up.
2882         Update all callers.
2883         (decode_objc): Remove cleanup.
2884         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
2885         (symtab_collector::release_symtabs): Return symtab_vector_up.
2886         Update all callers.
2887         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
2888         Update all users.
2889         (collect_symtabs_from_filename, symtabs_from_filename): Return
2890         symtab_vector_up.  Update all callers.
2891
2892 2018-08-29  Tom Tromey  <tom@tromey.com>
2893
2894         * csky-tdep.c (csky_analyze_prologue): Use
2895         core_addr_to_string_nz.
2896
2897 2018-08-29  Tom Tromey  <tom@tromey.com>
2898
2899         * windows-nat.c (struct xlate_exception) <them>: Change type to
2900         DWORD.
2901         (xlate): Fix formatting.  Remove last entry.
2902         (struct xlate_exception, xlate): Comment out.
2903         (windows_nat_target::resume): Use ranged for.
2904
2905 2018-08-29  Jim Wilson  <jimw@sifive.com>
2906
2907         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
2908         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
2909         of NT_PRFPREG.
2910         (riscv_linux_nat_target::store_registers): Likewise.
2911
2912 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
2913
2914         PR gdb/23555
2915         PR gdb/23558
2916         * gnulib/aclocal.m4: Regenerate.
2917         * gnulib/config.in: Regenerate.
2918         * gnulib/configure: Regenerate.
2919         * gnulib/import/Makefile.am: Update.
2920         * gnulib/import/Makefile.in: Update.
2921         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
2922         * gnulib/import/_Noreturn.h: ... this.
2923         * gnulib/import/alloca.in.h: Update.
2924         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
2925         * gnulib/import/arg-nonnull.h: ... this.
2926         * gnulib/import/assure.h: Update.
2927         * gnulib/import/at-func.c: Update.
2928         * gnulib/import/basename-lgpl.c: Update.
2929         * gnulib/import/extra/snippet/c++defs.h: Rename to...
2930         * gnulib/import/c++defs.h: ... this.
2931         * gnulib/import/canonicalize-lgpl.c: Update.
2932         * gnulib/import/cdefs.h: Update.
2933         * gnulib/import/chdir-long.c: Update.
2934         * gnulib/import/chdir-long.h: Update.
2935         * gnulib/import/cloexec.c: Update.
2936         * gnulib/import/cloexec.h: Update.
2937         * gnulib/import/close.c: Update.
2938         * gnulib/import/closedir.c: Update.
2939         * gnulib/import/config.charset: Update.
2940         * gnulib/import/dirent-private.h: Update.
2941         * gnulib/import/dirent.in.h: Update.
2942         * gnulib/import/dirfd.c: Update.
2943         * gnulib/import/dirname-lgpl.c: Update.
2944         * gnulib/import/dirname.h: Update.
2945         * gnulib/import/dosname.h: Update.
2946         * gnulib/import/dup-safer-flag.c: Update.
2947         * gnulib/import/dup-safer.c: Update.
2948         * gnulib/import/dup.c: Update.
2949         * gnulib/import/dup2.c: Update.
2950         * gnulib/import/errno.in.h: Update.
2951         * gnulib/import/error.c: Update.
2952         * gnulib/import/error.h: Update.
2953         * gnulib/import/exitfail.c: Update.
2954         * gnulib/import/exitfail.h: Update.
2955         * gnulib/import/extra/update-copyright: Update.
2956         * gnulib/import/fchdir.c: Update.
2957         * gnulib/import/fcntl.c: Update.
2958         * gnulib/import/fcntl.in.h: Update.
2959         * gnulib/import/fd-hook.c: Update.
2960         * gnulib/import/fd-hook.h: Update.
2961         * gnulib/import/fd-safer-flag.c: Update.
2962         * gnulib/import/fd-safer.c: Update.
2963         * gnulib/import/fdopendir.c: Update.
2964         * gnulib/import/filename.h: Update.
2965         * gnulib/import/filenamecat-lgpl.c: Update.
2966         * gnulib/import/filenamecat.h: Update.
2967         * gnulib/import/flexmember.h: Update.
2968         * gnulib/import/float+.h: Update.
2969         * gnulib/import/float.c: Update.
2970         * gnulib/import/float.in.h: Update.
2971         * gnulib/import/fnmatch.c: Update.
2972         * gnulib/import/fnmatch.in.h: Update.
2973         * gnulib/import/fnmatch_loop.c: Update.
2974         * gnulib/import/fpucw.h: Update.
2975         * gnulib/import/frexp.c: Update.
2976         * gnulib/import/frexpl.c: Update.
2977         * gnulib/import/fstat.c: Update.
2978         * gnulib/import/fstatat.c: Update.
2979         * gnulib/import/getcwd-lgpl.c: Update.
2980         * gnulib/import/getcwd.c: Update.
2981         * gnulib/import/getdtablesize.c: Update.
2982         * gnulib/import/getlogin_r.c: Update.
2983         * gnulib/import/getprogname.c: Update.
2984         * gnulib/import/getprogname.h: Update.
2985         * gnulib/import/gettext.h: Update.
2986         * gnulib/import/gettimeofday.c: Update.
2987         * gnulib/import/glob-libc.h: Update.
2988         * gnulib/import/glob.c: Update.
2989         * gnulib/import/glob.in.h: Update.
2990         * gnulib/import/glob_internal.h: Update.
2991         * gnulib/import/glob_pattern_p.c: Update.
2992         * gnulib/import/globfree.c: Update.
2993         * gnulib/import/hard-locale.c: Update.
2994         * gnulib/import/hard-locale.h: Update.
2995         * gnulib/import/intprops.h: Update.
2996         * gnulib/import/inttypes.in.h: Update.
2997         * gnulib/import/isnan.c: Update.
2998         * gnulib/import/isnand-nolibm.h: Update.
2999         * gnulib/import/isnand.c: Update.
3000         * gnulib/import/isnanl-nolibm.h: Update.
3001         * gnulib/import/isnanl.c: Update.
3002         * gnulib/import/itold.c: Update.
3003         * gnulib/import/libc-config.h: Update.
3004         * gnulib/import/limits.in.h: Update.
3005         * gnulib/import/localcharset.c: Update.
3006         * gnulib/import/localcharset.h: Update.
3007         * gnulib/import/localtime-buffer.c: Update.
3008         * gnulib/import/localtime-buffer.h: Update.
3009         * gnulib/import/lstat.c: Update.
3010         * gnulib/import/m4/00gnulib.m4: Update.
3011         * gnulib/import/m4/__inline.m4: Update.
3012         * gnulib/import/m4/absolute-header.m4: Update.
3013         * gnulib/import/m4/alloca.m4: Update.
3014         * gnulib/import/m4/builtin-expect.m4: Update.
3015         * gnulib/import/m4/canonicalize.m4: Update.
3016         * gnulib/import/m4/chdir-long.m4: Update.
3017         * gnulib/import/m4/close.m4: Update.
3018         * gnulib/import/m4/closedir.m4: Update.
3019         * gnulib/import/m4/configmake.m4: Update.
3020         * gnulib/import/m4/d-ino.m4: Update.
3021         * gnulib/import/m4/d-type.m4: Update.
3022         * gnulib/import/m4/dirent_h.m4: Update.
3023         * gnulib/import/m4/dirfd.m4: Update.
3024         * gnulib/import/m4/dirname.m4: Update.
3025         * gnulib/import/m4/double-slash-root.m4: Update.
3026         * gnulib/import/m4/dup.m4: Update.
3027         * gnulib/import/m4/dup2.m4: Update.
3028         * gnulib/import/m4/eealloc.m4: Update.
3029         * gnulib/import/m4/environ.m4: Update.
3030         * gnulib/import/m4/errno_h.m4: Update.
3031         * gnulib/import/m4/error.m4: Update.
3032         * gnulib/import/m4/exponentd.m4: Update.
3033         * gnulib/import/m4/exponentl.m4: Update.
3034         * gnulib/import/m4/extensions.m4: Update.
3035         * gnulib/import/m4/extern-inline.m4: Update.
3036         * gnulib/import/m4/fchdir.m4: Update.
3037         * gnulib/import/m4/fcntl-o.m4: Update.
3038         * gnulib/import/m4/fcntl.m4: Update.
3039         * gnulib/import/m4/fcntl_h.m4: Update.
3040         * gnulib/import/m4/fdopendir.m4: Update.
3041         * gnulib/import/m4/filenamecat.m4: Update.
3042         * gnulib/import/m4/flexmember.m4: Update.
3043         * gnulib/import/m4/float_h.m4: Update.
3044         * gnulib/import/m4/fnmatch.m4: Update.
3045         * gnulib/import/m4/fnmatch_h.m4: Update.
3046         * gnulib/import/m4/fpieee.m4: Update.
3047         * gnulib/import/m4/frexp.m4: Update.
3048         * gnulib/import/m4/frexpl.m4: Update.
3049         * gnulib/import/m4/fstat.m4: Update.
3050         * gnulib/import/m4/fstatat.m4: Update.
3051         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
3052         * gnulib/import/m4/getcwd-path-max.m4: Update.
3053         * gnulib/import/m4/getcwd.m4: Update.
3054         * gnulib/import/m4/getdtablesize.m4: Update.
3055         * gnulib/import/m4/getlogin.m4: Update.
3056         * gnulib/import/m4/getlogin_r.m4: Update.
3057         * gnulib/import/m4/getpagesize.m4: Update.
3058         * gnulib/import/m4/getprogname.m4: Update.
3059         * gnulib/import/m4/gettimeofday.m4: Update.
3060         * gnulib/import/m4/glibc21.m4: Update.
3061         * gnulib/import/m4/glob.m4: Update.
3062         * gnulib/import/m4/glob_h.m4: Update.
3063         * gnulib/import/m4/gnulib-cache.m4: Update.
3064         * gnulib/import/m4/gnulib-common.m4: Update.
3065         * gnulib/import/m4/gnulib-comp.m4: Update.
3066         * gnulib/import/m4/gnulib-tool.m4: Update.
3067         * gnulib/import/m4/hard-locale.m4: Update.
3068         * gnulib/import/m4/include_next.m4: Update.
3069         * gnulib/import/m4/inttypes-pri.m4: Update.
3070         * gnulib/import/m4/inttypes.m4: Update.
3071         * gnulib/import/m4/isnand.m4: Update.
3072         * gnulib/import/m4/isnanl.m4: Update.
3073         * gnulib/import/m4/largefile.m4: Update.
3074         * gnulib/import/m4/limits-h.m4: Update.
3075         * gnulib/import/m4/localcharset.m4: Update.
3076         * gnulib/import/m4/locale-fr.m4: Update.
3077         * gnulib/import/m4/locale-ja.m4: Update.
3078         * gnulib/import/m4/locale-zh.m4: Update.
3079         * gnulib/import/m4/localtime-buffer.m4: Update.
3080         * gnulib/import/m4/longlong.m4: Update.
3081         * gnulib/import/m4/lstat.m4: Update.
3082         * gnulib/import/m4/malloc.m4: Update.
3083         * gnulib/import/m4/malloca.m4: Update.
3084         * gnulib/import/m4/math_h.m4: Update.
3085         * gnulib/import/m4/mbrtowc.m4: Update.
3086         * gnulib/import/m4/mbsinit.m4: Update.
3087         * gnulib/import/m4/mbsrtowcs.m4: Update.
3088         * gnulib/import/m4/mbstate_t.m4: Update.
3089         * gnulib/import/m4/memchr.m4: Update.
3090         * gnulib/import/m4/memmem.m4: Update.
3091         * gnulib/import/m4/mempcpy.m4: Update.
3092         * gnulib/import/m4/memrchr.m4: Update.
3093         * gnulib/import/m4/mkdir.m4: Update.
3094         * gnulib/import/m4/mkstemp.m4: Update.
3095         * gnulib/import/m4/mmap-anon.m4: Update.
3096         * gnulib/import/m4/mode_t.m4: Update.
3097         * gnulib/import/m4/msvc-inval.m4: Update.
3098         * gnulib/import/m4/msvc-nothrow.m4: Update.
3099         * gnulib/import/m4/multiarch.m4: Update.
3100         * gnulib/import/m4/nocrash.m4: Update.
3101         * gnulib/import/m4/off_t.m4: Update.
3102         * gnulib/import/m4/onceonly.m4: Update.
3103         * gnulib/import/m4/open-cloexec.m4: Update.
3104         * gnulib/import/m4/open.m4: Update.
3105         * gnulib/import/m4/openat.m4: Update.
3106         * gnulib/import/m4/opendir.m4: Update.
3107         * gnulib/import/m4/pathmax.m4: Update.
3108         * gnulib/import/m4/rawmemchr.m4: Update.
3109         * gnulib/import/m4/readdir.m4: Update.
3110         * gnulib/import/m4/readlink.m4: Update.
3111         * gnulib/import/m4/realloc.m4: Update.
3112         * gnulib/import/m4/rename.m4: Update.
3113         * gnulib/import/m4/rewinddir.m4: Update.
3114         * gnulib/import/m4/rmdir.m4: Update.
3115         * gnulib/import/m4/save-cwd.m4: Update.
3116         * gnulib/import/m4/secure_getenv.m4: Update.
3117         * gnulib/import/m4/setenv.m4: Update.
3118         * gnulib/import/m4/signal_h.m4: Update.
3119         * gnulib/import/m4/ssize_t.m4: Update.
3120         * gnulib/import/m4/stat-time.m4: Update.
3121         * gnulib/import/m4/stat.m4: Update.
3122         * gnulib/import/m4/std-gnu11.m4: Update.
3123         * gnulib/import/m4/stdbool.m4: Update.
3124         * gnulib/import/m4/stddef_h.m4: Update.
3125         * gnulib/import/m4/stdint.m4: Update.
3126         * gnulib/import/m4/stdio_h.m4: Update.
3127         * gnulib/import/m4/stdlib_h.m4: Update.
3128         * gnulib/import/m4/strchrnul.m4: Update.
3129         * gnulib/import/m4/strdup.m4: Update.
3130         * gnulib/import/m4/strerror.m4: Update.
3131         * gnulib/import/m4/string_h.m4: Update.
3132         * gnulib/import/m4/strstr.m4: Update.
3133         * gnulib/import/m4/strtok_r.m4: Update.
3134         * gnulib/import/m4/sys_socket_h.m4: Update.
3135         * gnulib/import/m4/sys_stat_h.m4: Update.
3136         * gnulib/import/m4/sys_time_h.m4: Update.
3137         * gnulib/import/m4/sys_types_h.m4: Update.
3138         * gnulib/import/m4/tempname.m4: Update.
3139         * gnulib/import/m4/time_h.m4: Update.
3140         * gnulib/import/m4/unistd-safer.m4: Update.
3141         * gnulib/import/m4/unistd_h.m4: Update.
3142         * gnulib/import/m4/warn-on-use.m4: Update.
3143         * gnulib/import/m4/wchar_h.m4: Update.
3144         * gnulib/import/m4/wchar_t.m4: Update.
3145         * gnulib/import/m4/wctype_h.m4: Update.
3146         * gnulib/import/m4/wint_t.m4: Update.
3147         * gnulib/import/malloc.c: Update.
3148         * gnulib/import/malloc/scratch_buffer.h: Update.
3149         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
3150         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
3151         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
3152         * gnulib/import/malloca.c: Update.
3153         * gnulib/import/malloca.h: Update.
3154         * gnulib/import/malloca.valgrind: Update.
3155         * gnulib/import/math.in.h: Update.
3156         * gnulib/import/mbrtowc.c: Update.
3157         * gnulib/import/mbsinit.c: Update.
3158         * gnulib/import/mbsrtowcs-impl.h: Update.
3159         * gnulib/import/mbsrtowcs-state.c: Update.
3160         * gnulib/import/mbsrtowcs.c: Update.
3161         * gnulib/import/memchr.c: Update.
3162         * gnulib/import/memmem.c: Update.
3163         * gnulib/import/mempcpy.c: Update.
3164         * gnulib/import/memrchr.c: Update.
3165         * gnulib/import/mkdir.c: Update.
3166         * gnulib/import/mkstemp.c: Update.
3167         * gnulib/import/msvc-inval.c: Update.
3168         * gnulib/import/msvc-inval.h: Update.
3169         * gnulib/import/msvc-nothrow.c: Update.
3170         * gnulib/import/msvc-nothrow.h: Update.
3171         * gnulib/import/open.c: Update.
3172         * gnulib/import/openat-die.c: Update.
3173         * gnulib/import/openat-priv.h: Update.
3174         * gnulib/import/openat-proc.c: Update.
3175         * gnulib/import/openat.c: Update.
3176         * gnulib/import/openat.h: Update.
3177         * gnulib/import/opendir.c: Update.
3178         * gnulib/import/pathmax.h: Update.
3179         * gnulib/import/pipe-safer.c: Update.
3180         * gnulib/import/rawmemchr.c: Update.
3181         * gnulib/import/readdir.c: Update.
3182         * gnulib/import/readlink.c: Update.
3183         * gnulib/import/realloc.c: Update.
3184         * gnulib/import/ref-add.sin: Update.
3185         * gnulib/import/ref-del.sin: Update.
3186         * gnulib/import/rename.c: Update.
3187         * gnulib/import/rewinddir.c: Update.
3188         * gnulib/import/rmdir.c: Update.
3189         * gnulib/import/same-inode.h: Update.
3190         * gnulib/import/save-cwd.c: Update.
3191         * gnulib/import/save-cwd.h: Update.
3192         * gnulib/import/scratch_buffer.h: Update.
3193         * gnulib/import/secure_getenv.c: Update.
3194         * gnulib/import/setenv.c: Update.
3195         * gnulib/import/signal.in.h: Update.
3196         * gnulib/import/stat-time.c: Update.
3197         * gnulib/import/stat-time.h: Update.
3198         * gnulib/import/stat-w32.c: Update.
3199         * gnulib/import/stat-w32.h: Update.
3200         * gnulib/import/stat.c: Update.
3201         * gnulib/import/stdbool.in.h: Update.
3202         * gnulib/import/stddef.in.h: Update.
3203         * gnulib/import/stdint.in.h: Update.
3204         * gnulib/import/stdio.in.h: Update.
3205         * gnulib/import/stdlib.in.h: Update.
3206         * gnulib/import/str-two-way.h: Update.
3207         * gnulib/import/strchrnul.c: Update.
3208         * gnulib/import/strdup.c: Update.
3209         * gnulib/import/streq.h: Update.
3210         * gnulib/import/strerror-override.c: Update.
3211         * gnulib/import/strerror-override.h: Update.
3212         * gnulib/import/strerror.c: Update.
3213         * gnulib/import/string.in.h: Update.
3214         * gnulib/import/stripslash.c: Update.
3215         * gnulib/import/strnlen1.c: Update.
3216         * gnulib/import/strnlen1.h: Update.
3217         * gnulib/import/strstr.c: Update.
3218         * gnulib/import/strtok_r.c: Update.
3219         * gnulib/import/sys_stat.in.h: Update.
3220         * gnulib/import/sys_time.in.h: Update.
3221         * gnulib/import/sys_types.in.h: Update.
3222         * gnulib/import/tempname.c: Update.
3223         * gnulib/import/tempname.h: Update.
3224         * gnulib/import/time.in.h: Update.
3225         * gnulib/import/unistd--.h: Update.
3226         * gnulib/import/unistd-safer.h: Update.
3227         * gnulib/import/unistd.in.h: Update.
3228         * gnulib/import/unsetenv.c: Update.
3229         * gnulib/import/verify.h: Update.
3230         * gnulib/import/extra/snippet/warn-on-use.h: Update.
3231         * gnulib/import/wchar.in.h: Update.
3232         * gnulib/import/wctype.in.h: Update.
3233         * gnulib/import/xalloc-oversized.h: Update.
3234         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
3235         "53e2c179f26a890fa6685af4b6c1397ee370433b".
3236
3237 2018-08-16  Gary Benson <gbenson@redhat.com>
3238
3239         PR gdb/13000:
3240         * gdb/main.c (captured_main_1): Exit with nonzero status
3241         in batch mode if the last command to be executed failed.
3242         * NEWS: Mention the above.
3243
3244 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
3245
3246         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
3247         end of warning message.
3248
3249 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
3250
3251         PR gdb/22943:
3252         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
3253         (aarch64_extract_return_value): Use
3254         aapcs_is_vfp_call_or_return_candidate.
3255         (aarch64_return_in_memory): Likewise.
3256         (aarch64_store_return_value): Likewise.
3257
3258 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
3259
3260         * aarch64-tdep.c
3261         (aapcs_is_vfp_call_or_return_candidate): Make static
3262         (pass_in_v_or_stack): Remove function.
3263         (pass_in_v_vfp_candidate): New function.
3264         (aarch64_push_dummy_call): Check for float register candidates.
3265
3266 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
3267
3268         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
3269         (aapcs_is_vfp_call_or_return_candidate_1): New function.
3270         (aapcs_is_vfp_call_or_return_candidate): Likewise.
3271
3272 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
3273
3274         PR build/23399
3275         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
3276         (struct ipa_sym_addresses): Rename to...
3277         (struct ipa_sym_addresses_common): ... this.
3278         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
3279
3280 2018-08-28  Tom Tromey  <tom@tromey.com>
3281
3282         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
3283         (token_fifo): Now a std::vector.
3284         (yylex, c_parse): Update.
3285         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
3286         (token_fifo): Now a std::vector.
3287         (yylex, d_parse): Update.
3288         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
3289         (token_fifo): Now a std::vector.
3290         (yylex, go_parse): Update.
3291
3292 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
3293
3294         * parser-defs.h (struct type_stack) <elements>: Change type to
3295         std::vector<union type_stack_elt>.
3296         <depth, size>: Remove.
3297         * parse.c (parse_exp_in_context_1): Adjust.
3298         (type_stack_reserve): Remove.
3299         (check_type_stack_depth): Remove.
3300         (insert_into_type_stack): Adjust to std::vector.
3301         (insert_type): Likewise.
3302         (push_type): Likewise.
3303         (push_type_int): Likewise.
3304         (insert_type_address_space): Likewise.
3305         (pop_type): Likewise.
3306         (pop_type_int): Likewise.
3307         (pop_typelist): Likewise.
3308         (pop_type_stack): Likewise.
3309         (append_type_stack): Likewise.
3310         (push_type_stack): Likewise.
3311         (get_type_stack): Likewise.
3312         (type_stack_cleanup): Likewise.
3313         (push_typelist): Likewise.
3314         (follow_types): Likewise.
3315         (_initialize_parse): Likewise.
3316
3317 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
3318
3319         * NEWS: Mention csky target.
3320
3321 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
3322             Hafiz Abid Qadeer  <abidh@codesourcery.com>
3323             Don Breazeal  <donb@codesourcery.com>
3324
3325         * csky-linux-tdep.c: New file.
3326         * csky-tdep.c: Likewise.
3327         * csky-tdep.h: Likewise.
3328         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
3329         csky-tdep.o.
3330         (HFILES_NO_SRCDIR): Add csky-tdep.h.
3331         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
3332         * configure.tgt: Add csky support.
3333
3334 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
3335
3336         * python/py-framefilter.c (py_print_frame): Print frame architecture
3337         when printing on an MI output.
3338
3339 2018-08-27  Tom Tromey  <tom@tromey.com>
3340
3341         PR build/23087:
3342         * configure: Rebuild.
3343         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
3344
3345 2018-08-27  Tom Tromey  <tom@tromey.com>
3346
3347         * aarch64-linux-tdep.c
3348         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
3349         casts to int.
3350
3351 2018-08-27  Tom Tromey  <tom@tromey.com>
3352
3353         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
3354         unsigned.
3355         (ppc64_standard_linkage1, ppc64_standard_linkage2)
3356         (ppc64_standard_linkage3, ppc64_standard_linkage4)
3357         (ppc64_standard_linkage5, ppc64_standard_linkage6)
3358         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
3359         unsigned.
3360
3361 2018-08-27  Tom Tromey  <tom@tromey.com>
3362
3363         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
3364         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
3365
3366 2018-08-27  Tom Tromey  <tom@tromey.com>
3367
3368         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
3369         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
3370         ULONGEST_MAX.
3371         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
3372         ULONGEST_MAX.
3373         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
3374         ULONGEST_MAX.
3375         * sparc-linux-tdep.c (sparc32_linux_sigframe)
3376         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
3377         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
3378         ULONGEST_MAX.
3379         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
3380         (ppc64_linux_sigaction_tramp_frame)
3381         (ppc32_linux_sighandler_tramp_frame)
3382         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
3383         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
3384         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
3385         * mn10300-linux-tdep.c (am33_linux_sigframe)
3386         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
3387         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
3388         * mips-linux-tdep.c (mips_linux_o32_sigframe)
3389         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
3390         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
3391         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
3392         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
3393         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
3394         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
3395         * microblaze-linux-tdep.c
3396         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
3397         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
3398         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
3399         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
3400         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
3401         * common/common-types.h (ULONGEST_MAX): New define.
3402         (CORE_ADDR_MAX): Fix formatting.
3403         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
3404         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
3405         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
3406         (arm_linux_rt_sigreturn_tramp_frame)
3407         (arm_eabi_linux_sigreturn_tramp_frame)
3408         (arm_eabi_linux_rt_sigreturn_tramp_frame)
3409         (thumb2_eabi_linux_sigreturn_tramp_frame)
3410         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
3411         (arm_linux_restart_syscall_tramp_frame)
3412         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
3413         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
3414         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
3415         ULONGEST_MAX.
3416         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
3417
3418 2018-08-27  Tom Tromey  <tom@tromey.com>
3419
3420         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
3421         CORE_ADDR_MAX.
3422         * mips-tdep.c (mips_deal_with_atomic_sequence)
3423         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
3424         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
3425         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
3426         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
3427         CORE_ADDR_MAX.
3428         * aarch64-tdep.c (aarch64_software_single_step): Use
3429         CORE_ADDR_MAX.
3430
3431 2018-08-27  Tom Tromey  <tom@tromey.com>
3432
3433         * linespec.c (complete_linespec_component): Add cast to "char".
3434         * completer.c (completion_tracker::build_completion_result): Add
3435         cast to "char".
3436
3437 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
3438
3439         * solist.h (struct solist, struct target_so_ops): Fix
3440         indentation.
3441
3442 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
3443
3444         * ada-tasks.c (ada_task_info_s): Remove typedef.
3445         (DEF_VEC_O(ada_task_info_s)): Remove.
3446         (struct ada_tasks_inferior_data): Initialize fields.
3447         <task_list>: Make an std::vector.
3448         (get_ada_tasks_inferior_data): Allocate with new.
3449         (ada_get_task_number): Adjust.
3450         (get_task_number_from_id): Likewise.
3451         (valid_task_id): Likewise.
3452         (ada_get_task_info_from_ptid): Likewise.
3453         (iterate_over_live_ada_tasks): Likewise.
3454         (add_ada_task): Likewise.
3455         (read_known_tasks): Likewise.
3456         (ada_build_task_list): Likewise.
3457         (print_ada_task_info): Likewise.
3458         (info_task): Likewise.
3459         (task_command_1): Likewise.
3460
3461 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
3462
3463         * ada-lang.c (add_angle_brackets): Return std::string.
3464
3465 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
3466
3467         * python/py-threadevent.c (py_get_event_thread): Initialize
3468         pythread.
3469
3470 2018-08-24  Pedro Alves  <palves@redhat.com>
3471
3472         * python/py-bpevent.c (create_breakpoint_event_object): Use
3473         copy-initialization.
3474         * python/py-continueevent.c (emit_continue_event): Use
3475         copy-initialization.
3476         * python/py-exitedevent.c (create_exited_event_object): Return a
3477         gdbpy_ref<>.
3478         (emit_exited_event): Use copy-initialization.
3479         * python/py-inferior.c (python_new_inferior)
3480         (python_inferior_deleted, add_thread_object): Use
3481         copy-initialization.
3482         * python/py-infevents.c (create_inferior_call_event_object)
3483         (create_register_changed_event_object)
3484         (create_memory_changed_event_object): Return a gdbpy_ref<>.
3485         (emit_inferior_call_event, emit_memory_changed_event)
3486         (emit_register_changed_event): Use copy-initialization.
3487         * python/py-newobjfileevent.c (create_new_objfile_event_object):
3488         Return a gdbpy_ref<>.
3489         (emit_new_objfile_event): Use copy-initialization.
3490         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
3491         (emit_clear_objfiles_event): Use copy-initialization.
3492         * python/py-signalevent.c (create_signal_event_object): Use
3493         copy-initialization.
3494         * python/py-threadevent.c (create_thread_event_object): Use
3495         copy-initialization.
3496
3497 2018-08-24  Pedro Alves  <palves@redhat.com>
3498             Simon Marchi  <simon.marchi@ericsson.com>
3499
3500         PR gdb/23379
3501         * python/py-continueevent.c: Include "gdbthread.h".
3502         (create_continue_event_object): Add intro comment.  Add 'ptid'
3503         parameter.  Use it to find thread to pass to
3504         create_thread_event_object.
3505         (emit_continue_event): Pass PTID down to
3506         create_continue_event_object.
3507         * python/py-event.h (py_get_event_thread): Declare.
3508         (create_thread_event_object): Remove default from 'thread'
3509         parameter.
3510         * python/py-stopevent.c (create_stop_event_object): Use
3511         py_get_event_thread.
3512         * python/py-threadevent.c (get_event_thread): Rename to ...
3513         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
3514         and use it to find the thread.
3515         (create_thread_event_object): Assert that THREAD isn't null.
3516         Don't find the event thread here.
3517
3518 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
3519
3520         * block.h (blockrange, blockranges): New struct declarations.
3521         (struct block): Add new field named `ranges'.
3522         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
3523         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
3524         macros for accessing ranges in struct block.
3525         (make_blockranges): New declaration.
3526         block.c (make_blockranges): New function.
3527         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
3528         for block.
3529         * symtab.h (find_pc_partial_function): Add new parameter `block'.
3530         * blockframe.c (cache_pc_function_block): New static global.
3531         (clear_pc_function_cache): Clear cache_pc_function_block.
3532         (find_pc_partial_function): Move comment to symtab.h.  Add
3533         support for non-contiguous blocks.
3534         * cli/cli-cmds.c (block.h): Include.
3535         (print_disassembly): Handle printing of non-contiguous blocks.
3536         (disassemble_current_function): Likewise.
3537         (disassemble_command): Likewise.
3538
3539         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
3540         BLOCK_START.
3541         * blockframe.c (get_pc_function_start): Likewise.
3542         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
3543         (gcc_symbol_address): Likewise.
3544         * compile/compile-object-run.c (compile_object_run): Likewise.
3545         * compile/compile.c (get_expr_block_and_pc): Likewise.
3546         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
3547         (func_addr_to_tail_call_list): Likewise.
3548         * findvar.c (default_read_var_value): Likewise.
3549         * inline-frame.c (inline_frame_this_id): Likewise.
3550         (skip-inline_frames): Likewise.
3551         * infcmd.c (until_next_command): Likewise.
3552         * linespec.c (convert_linespec_to_sals): Likewise.
3553         * parse.c (parse_exp_in_context_1): Likewise.
3554         * printcmd.c (build_address_symbolic): likewise.
3555         (info_address_command): Likewise.
3556         symtab.c (find_function_start_sal): Likewise.
3557         (skip_prologue_sal): Likewise.
3558         (find_function_alias_target): Likewise.
3559         (find_gnu_ifunc): Likewise.
3560         * stack.c (find_frame_funname): Likewise.
3561         * symtab.c (fixup_symbol_section): Likewise.
3562         (find_function_start_sal): Likewise.
3563         (skip_prologue_sal): Likewsie.
3564         (find_function_alias_target): Likewise.
3565         (find_gnu_ifunc): Likewise.
3566         * tracepoint.c (info_scope_command): Likewise.
3567         * value.c (value_fn_field): Likewise.
3568
3569         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
3570         in place of find_pc_partial_function.
3571         * blockframe.c (find_function_entry_range_from_pc): New function.
3572         * symtab.h (find_function_entry_range_from_pc): Declare and document.
3573         * objfiles.c (objfile_relocate1): Relocate start and end addresses
3574         for each range in a block.
3575
3576
3577 2018-08-23  Xavier Roirand  <roirand@adacore.com>
3578
3579         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
3580         incrementation.
3581
3582 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
3583
3584         * solib-svr4.c (read_program_headers_from_bfd): Return
3585         gdb::optional<gdb::byte_vector>.
3586         (svr4_exec_displacement): Adjust.
3587
3588 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
3589
3590         * solib-svr4.c (read_program_header): Return
3591         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
3592         (find_program_interpreter): Return
3593         gdb::optional<gdb::byte_vector>.
3594         (scan_dyntag_auxv): Adjust.
3595         (enable_break): Adjust.
3596         (svr4_exec_displacement): Adjust.
3597
3598 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
3599
3600         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
3601         * inf-child.c (inf_child_target::terminal_save_inferior): New.
3602
3603 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
3604
3605         * guile/scm-string.c (gdbscm_scm_from_printf): Use
3606         string_vprintf.
3607         * guile/scm-utils.c (gdbscm_printf): Likewise.
3608         * serial.c (serial_printf): Likewise.
3609         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
3610
3611 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
3612
3613         * stack.c (print_frame): Print frame architecture when printing on
3614         an MI output.
3615         * NEWS: Mention new "arch" attribute in frame output.
3616
3617 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
3618
3619         * arch/aarch64.h (aarch64_regnum): Update comment.
3620
3621 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
3622
3623         * NEWS: Add SVE to 8.2 section.
3624
3625 2018-08-21  Pedro Alves  <palves@redhat.com>
3626
3627         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
3628         out from gdbscm_parse_function_args.
3629         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
3630         gdbscm_parse_function_args_1.
3631
3632 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
3633
3634         PR gdb/17816
3635         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
3636         operator.
3637
3638 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
3639
3640         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
3641
3642 2018-08-19  Michael Spang  <spang@google.com>
3643
3644         PR gdb/11786
3645         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
3646         for PT_TLS segments.
3647
3648 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
3649
3650         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
3651         dwarf_variable_value.
3652         * dwarf2-frame.c (class dwarf_expr_executor):
3653         Add override for dwarf_variable_value.
3654         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
3655         (class symbol_needs_eval_context): Likewise.
3656         (indirect_synthetic_pointer): Add forward declaration.
3657         (sect_variable_value): New function.
3658         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
3659         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
3660         for DW_OP_GNU_variable_value.
3661
3662 2018-08-16  Tom Tromey  <tom@tromey.com>
3663
3664         * top.c (read_command_file): Update.
3665         (command_line_input): Remove "repeat" argument.
3666         * ada-lang.c (get_selections): Update.
3667         * linespec.c (decode_line_2): Update.
3668         * defs.h (command_line_input): Remove argument.
3669         * cli/cli-script.c (read_next_line): Update.
3670         * python/py-gdb-readline.c: Update.
3671
3672 2018-08-17  Tom Tromey  <tom@tromey.com>
3673
3674         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
3675         command_line_input.
3676
3677 2018-08-15  Tom Tromey  <tom@tromey.com>
3678
3679         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
3680
3681 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
3682
3683         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
3684         If used, use find_pc_partial_function to find address range
3685         to disassemble.
3686         * mi/mi-main.c (mi_cmd_list_features): Report
3687         "data-disassemble-a-option" feature.
3688         * NEWS: Mention new -data-disassemble option -a.
3689
3690 2018-08-13  Tom Tromey  <tom@tromey.com>
3691
3692         * common/common-defs.h (_FORTIFY_SOURCE): Define.
3693
3694 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3695
3696         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
3697         (aarch64_linux_collect_sve_regset): Likewise.
3698         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
3699         * regcache.h (regcache_map_entry_size): New function.
3700
3701 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3702
3703         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
3704         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
3705         (SVE_HEADER_VL_LENGTH): Likewise.
3706         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
3707         (SVE_HEADER_FLAGS_LENGTH): Likewise.
3708         (SVE_HEADER_RESERVED_LENGTH): Likewise.
3709         (SVE_HEADER_SIZE_OFFSET): Likewise.
3710         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
3711         (SVE_HEADER_VL_OFFSET): Likewise.
3712         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
3713         (SVE_HEADER_FLAGS_OFFSET): Likewise.
3714         (SVE_HEADER_RESERVED_OFFSET): Likewise.
3715         (SVE_HEADER_SIZE): Likewise.
3716         (aarch64_linux_core_read_vq): Add function.
3717         (aarch64_linux_core_read_description): Check for SVE section.
3718
3719 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3720
3721         * aarch64-fbsd-tdep.c
3722         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
3723         collect_size.
3724         * aarch64-linux-tdep.c
3725         (aarch64_linux_iterate_over_regset_sections): Likewise.
3726         * alpha-linux-tdep.c
3727         (alpha_linux_iterate_over_regset_sections):
3728         * alpha-nbsd-tdep.c
3729         (alphanbsd_iterate_over_regset_sections): Likewise.
3730         * amd64-fbsd-tdep.c
3731         (amd64fbsd_iterate_over_regset_sections): Likewise.
3732         * amd64-linux-tdep.c
3733         (amd64_linux_iterate_over_regset_sections): Likewise.
3734         * arm-bsd-tdep.c
3735         (armbsd_iterate_over_regset_sections): Likewise.
3736         * arm-fbsd-tdep.c
3737         (arm_fbsd_iterate_over_regset_sections): Likewise.
3738         * arm-linux-tdep.c
3739         (arm_linux_iterate_over_regset_sections): Likewise.
3740         * corelow.c (get_core_registers_cb): Likewise.
3741         (core_target::fetch_registers): Likewise.
3742         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
3743         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
3744         * gdbarch.h (void): Regenerate.
3745         * gdbarch.sh: Add supply_size and collect_size.
3746         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
3747         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
3748         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
3749         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
3750         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
3751         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
3752         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
3753         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
3754         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
3755         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
3756         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
3757         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
3758         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
3759         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
3760         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
3761         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
3762         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
3763         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
3764         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
3765         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
3766         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
3767         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
3768         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
3769         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
3770         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
3771         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
3772         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
3773         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
3774         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
3775         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
3776
3777 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
3778
3779         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
3780         with string_printf.
3781
3782 2018-08-10  Keith Seitz  <keiths@redhat.com>
3783
3784         * compile/compile-c-support.c (add_code_header, add_code_footer):
3785         Move into policy class.
3786         (c_push_user_expression, pop_user_expression_nop)
3787         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
3788         (compile_program): New host class.
3789         (c_compile_program): New typedef.
3790         (c_compute_porgram): Use c_compile_program.
3791
3792 2018-08-10  Keith Seitz  <keiths@redhat.com>
3793
3794         * compile/compile-internal.h (compile_instance::~compile_instance):
3795         Remove calls to htab_delete.
3796         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
3797         * compile.c (compile_instance::compile_instance): Initialize
3798         htab unique pointers.
3799         (compile_instance::get_cached_type, compile_instance::insert_type)
3800         (compile_instance::error_symbol_once): Update for unique_ptr.
3801
3802 2018-08-10  Keith Seitz  <keiths@redhat.com>
3803
3804         * compile/compile-c-symbols.c (struct symbol_error)
3805         (hash_symbol_error, eq_symbol_error, del_symbol_error)
3806         (compile_instance::insert_symbol_error)
3807         (compile_instance::error_symbol_once): Move to ...
3808         * compile/compile.c: ... here.
3809
3810 2018-08-10  Keith Seitz  <keiths@redhat.com>
3811
3812         * compile/compile-c-support.c (c_get_compile_context): Use `new'
3813         instead of `new_compile_instance'.
3814         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
3815         Update description.
3816         If the symbol error map is not initialized, create it.
3817         (generate_c_for_for_one_symbol): Do not check/initialize
3818         the symbol error map.
3819         * compile/compile-c-types.c (compile_c_instance): Make a class.
3820         Update all callers.
3821         (compile_instance::compile_instance): Initialize the type cache.
3822         (get_cached_type): New function.
3823         (insert_type): Update description.
3824         (compile_c_instance::m_default_cflags): Define.
3825         (convert_type): Update description.  Use get_cached_type.
3826         (delete_instance): Moved to destructor.
3827         (new_compile_instance): Moved to constructor.
3828         * compile/compile-c.h (compile_c_instance): Make class inheriting
3829         from compile_instance.
3830         <base>: Remove field.
3831         <type_map, symbol_err_map>: Move to base class.
3832         <c_plugin>: Rename to `m_plugin' and remove pointer type.
3833         * compile/compile-internal.h (compile_instance): Make class.
3834         <type_map_t, symbol_err_map_t>: Define.
3835         <fe>: Rename to `m_gcc_fe'.
3836         <scope, block, gcc_target_options>: Add `m_' prefix.
3837         <m_type_map, m_symbol_err_map>: New fields, moved from
3838         compile_c_instance.
3839         <destroy>: Remove.
3840         (convert_type, new_compile_instance): Remove.
3841         * compile/compile.c (cleanup_compile_instance): Remove.
3842         (compile_to_object): Use unique_ptr to eliminate cleanups.
3843         (compile_instance::set_print_callback, compile_instance::version)
3844         (compile_instance::set_verbose)
3845         (compile_instance::set_driver_filename)
3846         (compile_instance::set_triplet_regexp)
3847         (compile_instance::set_arguments)
3848         (compile_instance::set_source_file)
3849         (compile_instance::compile): Define.
3850
3851 2018-08-10  Keith Seitz  <keiths@redhat.com>
3852
3853         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
3854         * compile/compile-c-types.c: Define GCC_METHODN macros and include
3855         gcc-c-fe.def to define C plugin.
3856         (delete_instance): Delete `c_plugin'.
3857         (new_compile_instance): Initialize `c_plugin'.
3858         * compile/compile-c.h: Include gcc_c_plugin.h.
3859         (struct compile_c_instance) <c_plugin>: New member.
3860         * gcc-c-plugin.h: New file.
3861         Update all callers with API change.
3862
3863 2018-08-10  Keith Seitz  <keiths@redhat.com>
3864
3865         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
3866         (HFILES_NO_SRCDIR): ... to here.
3867         Add compile-internal.h and compile-c.h.
3868         * compile/compile-c-support.c: Include compile-c.h.
3869         * compile/compile-c-symbols.c: Include compile-c.h.
3870         (generate_c_for_variable_locations): Update comment.
3871         * compile/compile-c-types.c: Include compile-c.h.
3872         * compile/compile-c.h: New file -- moved C language declarations
3873         from other files here.
3874         * compile/compile-internal.h: Do not include hashtab.h or
3875         common/enum-flags.h.
3876         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
3877         (gcc_convert_symbol, gcc_symbol_address)
3878         (generate_c_for_variable_locations, c_get_mode_for_size)
3879         (c_get_range_decl_name): Definitions moved to compile-c.h.
3880         * compile/compile-loc2c.c: Include compile-c.h.
3881
3882 2018-08-10  Keith Seitz  <keiths@redhat.com>
3883
3884         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
3885         (c_symbol_substitution_name): ... this.
3886         Update all callers.
3887
3888 2018-08-10  Keith Seitz  <keiths@redhat.com>
3889
3890         * compile/compile-c-support.c (c_compute_program): Use
3891         unique_xmalloc_ptr to eliminate cleanup.
3892         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
3893         Return a unique_xmalloc_ptr and eliminate cleanup.
3894         * compile/compile-internal.h (generate_c_for_variable_locations):
3895         Return unique_xmalloc_ptr and update description.
3896
3897 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
3898
3899         * corelow.c (core_target::get_core_register_section): Rename
3900         min_size to section_min_size.
3901
3902 2018-08-09  Jim Wilson  <jimw@sifive.com>
3903
3904         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
3905         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
3906         * NEWS: Mention new GNU/Linux RISC-V target.
3907         * configure.host: Add riscv*-*-linux*.
3908         * configure.nat: Add riscv*.
3909         * configure.tgt: Add riscv*-*-linux*.
3910         * riscv-linux-nat.c: New file.
3911         * riscv-linux-tdep.c: New file.
3912
3913 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3914
3915         * infrun.c (resume): Make static, add forward declaration.
3916         (proceed): Update header comment.
3917         * infrun.h (resume): Delete declaration.
3918
3919 2018-08-09  Tom Tromey  <tom@tromey.com>
3920
3921         * riscv-tdep.h: Minor formatting fixes.
3922
3923 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
3924
3925         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
3926         * dwarf-index-cache.c (create_dir_and_check): Likewise.
3927         (test_mkdir_recursive): Likewise.
3928         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
3929
3930 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3931
3932         * valarith.c (value_subscripted_rvalue): If an array is not in
3933         memory, and we don't know the upper bound, then we can't know that
3934         the requested element exists or not.
3935
3936 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
3937
3938         * target.c (str_comma_list_concat_elem): Fix typo in comment.
3939         (target_options_to_string): Add comment.
3940
3941 2018-08-08  Tom Tromey  <tom@tromey.com>
3942
3943         * unittests/scoped_mmap-selftests.c: Check result of "write".
3944
3945 2018-08-08  Jim Wilson  <jimw@sifive.com>
3946
3947         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
3948         (decode_register_index_short): New.
3949         (decode_j_type_insn, decode_cj_type_insn): New.
3950         (decode_b_type_insn, decode_cb_type_insn): New.
3951         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
3952         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
3953         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
3954         is_c_sw_insn instead of is_sw_insn.
3955         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
3956         (riscv_software_single_step): New.
3957         * riscv-tdep.h (riscv_software_single_step): Declare.
3958
3959         * riscv-tdep.c (riscv_isa_xlen): Drop static.
3960         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
3961
3962 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
3963
3964         PR gdb/18050:
3965         * target.c (dispose_inferior): Don't dispose of inferiors that are
3966         already killed.
3967
3968 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
3969
3970         * remote.c (remote_target::download_tracepoint): Change char* to
3971         const char*.
3972
3973 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
3974
3975         * target.h (target_options_to_string): Return an std::string.
3976         * target.c (str_comma_list_concat_elem): Return void, use
3977         std::string.
3978         (do_option): Likewise.
3979         (target_options_to_string): Return an std::string.
3980         * linux-nat.c (linux_nat_target::wait): Adjust.
3981         * target-debug.h (target_debug_print_options): Adjust.
3982
3983 2018-08-07  Tom Tromey  <tom@tromey.com>
3984
3985         * Makefile.in (CPPFLAGS): New variable.
3986         (INTERNAL_CPPFLAGS): Use it.
3987
3988 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3989
3990         * NEWS: Mention the index cache.
3991
3992 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3993
3994         * common/pathstuff.h (get_standard_cache_dir): New.
3995         * common/pathstuff.c (get_standard_cache_dir): New.
3996         * build-id.h (build_id_to_string): New.
3997         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
3998         DEBUG_STR_SUFFIX): Move to here.
3999         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
4000         DEBUG_STR_SUFFIX): Move from there.
4001         (write_psymtabs_to_index): Make non-static, add basename
4002         parameter.  Write to temporary files, rename when done.
4003         (save_gdb_index_command): Adjust call to
4004         write_psymtabs_to_index.
4005         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
4006         field.
4007         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
4008         (get_gdb_index_contents_from_cache): New.
4009         (get_gdb_index_contents_from_cache_dwz): New.
4010         (dwarf2_initialize_objfile): Read index from cache.
4011         (dwarf2_build_psymtabs): Save to index.
4012         * dwarf-index-cache.h: New file.
4013         * dwarf-index-cache.c: New file.
4014         * dwarf-index-write.h: New file.
4015
4016 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
4017
4018         * gnulib/aclocal.m4: Re-generate.
4019         * gnulib/config.in: Re-generate.
4020         * gnulib/configure: Re-generate.
4021         * gnulib/import/Makefile.am: Re-generate.
4022         * gnulib/import/Makefile.in: Re-generate.
4023         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
4024         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
4025         * gnulib/import/m4/mkdir.m4: New file.
4026         * gnulib/import/mkdir.c: New file.
4027         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
4028         module.
4029
4030 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
4031
4032         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
4033         * common/scoped_mmap.c: New file.
4034         * common/scoped_mmap.h (destroy): New method.
4035         (~scoped_mmap, reset): Use destroy.
4036         (scoped_mmap): New move constructor.
4037         (mmap_file): New declaration.
4038         * unittests/scoped_mmap-selftests.c (test_normal,
4039         test_invalid_filename, run_tests): New functions.
4040         (_initialize_scoped_mmap_selftests): Register selftest.
4041
4042 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
4043
4044         * dwarf2read.c (read_gdb_index_from_section): Rename to...
4045         (read_gdb_index_from_buffer): ... this.  Remove section
4046         parameter, add buffer parameter.
4047         (get_gdb_index_contents_ftype,
4048         get_gdb_index_contents_dwz_ftype): New typedefs.
4049         (dwarf2_read_gdb_index): Add callback parameters to get the
4050         index contents.
4051         (get_gdb_index_contents_from_section): New.
4052         (dwarf2_initialize_objfile): Update call to
4053         dwarf2_read_gdb_index.
4054
4055 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
4056
4057         * common/filestuff.h (gdb_fopen_cloexec): New overload.
4058         (gdb_open_cloexec): Likewise.
4059         * nat/linux-osdata.c (command_from_pid): Use string_printf.
4060         (commandline_from_pid): Likewise.
4061         (linux_xfer_osdata_threads): Likewise.
4062         (linux_xfer_osdata_fds): Likewise.
4063         * ada-lang.c (is_package_name): Likewise.
4064         * auxv.c (procfs_xfer_auxv): Likewise.
4065         * breakpoint.c (print_one_breakpoint_location): Use
4066         uiout::field_fmt.
4067         (print_one_catch_solib): Use string_printf.
4068         * coff-pe-read.c (add_pe_exported_sym): Likewise.
4069         (add_pe_forwarded_sym): Likewise.
4070         * dwarf2read.c (create_type_unit_group): Likewise.
4071         (build_error_marker_type): Likewise.
4072         * infcall.c (get_function_name): Likewise.
4073         * valprint.c (print_converted_chars_to_obstack): Likewise.
4074         * xtensa-tdep.c (xtensa_register_type): Likewise.
4075
4076 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
4077
4078         * remote.c (remote_target::download_tracepoint): Fix format
4079         string errors.
4080
4081 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4082
4083         * tracefile.c: Include common/byte-vector.h.
4084         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
4085         with trace_regblock_size if needed.  Update uses of buf.
4086
4087 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4088
4089         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
4090         std::vector<unsigned char>.
4091         * tracepoint.c (collection_list::collection_list): Remove
4092         m_regs_mask initializer from initializer list.  Resize
4093         m_regs_mask using the largest remote register number.
4094         (collection_list::add_remote_register): Remove size check on
4095         m_regs_mask.  Use at to access element.
4096         (collection_list::stringify): Change type of temp_buf to
4097         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
4098         stringify the register mask.  Use pack_hex_byte for the register
4099         mask.
4100
4101 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4102
4103         * tracepoint.h (class collection_list) <add_register>: Remove.
4104         <add_remote_register, add_ax_registers, add_local_register>:
4105         Declare.
4106         <add_memrange>: Add scope parameter.
4107         * tracepoint.c (encode_actions_1): Likewise.
4108         (collection_list::add_register): Rename to ...
4109         (collection_list::add_remote_register): ... this.  Update
4110         comment.
4111         (collection_list::add_ax_registers, add_local_register): New
4112         methods.
4113         (collection_list::add_memrange): Add scope parameter.  Call
4114         add_local_register instead of add_register.
4115         (finalize_tracepoint_aexpr): New function.
4116         (collection_list::collect_symbol): Update calls to add_memrange.
4117         Call add_local_register instead of add_register.  Call
4118         add_ax_registers.  Call finalize_tracepoint_aexpr.
4119         (encode_actions_1): Get remote regnos for $reg action.  Call
4120         add_remote_register, add_ax_registers, and add_local_register.
4121         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
4122         (validate_actionline): Call finalize_tracepoint_aexpr.
4123
4124 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4125
4126         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
4127         Replace array buf with gdb::char_vector buf, of size
4128         get_remote_packet_size ().  Replace references to buf and
4129         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
4130         and xsnprintf with snprintf.  Raise errors if the buffer is too
4131         small.
4132
4133 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4134
4135         * remote.c (remote_target::download_tracepoint): Fix the has_more
4136         predicate in the QTDP action list iteration.
4137
4138 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
4139
4140         * remote.c (remote_target::download_tracepoint): Fix indentation
4141         in for block.
4142
4143 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4144
4145         * proc-api.c (_initialize_proc_api): Remove c, unused.
4146         * procfs.c (procfs_init_inferior): Remove signals, unused.
4147         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
4148         unused.
4149
4150 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
4151             Andrew Burgess  <andrew.burgess@embecosm.com>
4152
4153         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
4154         'W_STOPCODE (0)' as this could be ambiguous.
4155
4156 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
4157
4158         * ser-tcp.c (net_open): Fix thinko when deciding whether to
4159         disable TCP's Nagle algorithm (use "ai_protocol" instead of
4160         "ai_socktype").
4161
4162 2018-08-02  Tom Tromey  <tom@tromey.com>
4163
4164         PR symtab/16842.
4165         * dwarf2read.c (read_func_scope): Set symtab on template parameter
4166         symbols.
4167         (process_structure_scope): Likewise.
4168
4169 2018-08-02  Xavier Roirand  <roirand@adacore.com>
4170
4171         PR gdb/22629:
4172         * darwin-nat.c (darwin_kill_inferior): Fix handling of
4173         kill inferior.
4174
4175 2018-08-02  Tom Tromey  <tom@tromey.com>
4176
4177         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
4178         (darwin_suspend_inferior, darwin_resume_inferior)
4179         (darwin_decode_notify_message, darwin_resume_inferior_threads)
4180         (darwin_check_new_threads): Check result of get_darwin_inferior.
4181
4182 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
4183
4184         GDB 8.1.1 released.
4185
4186 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
4187
4188         * varobj.c (varobj_get_path_expr_parent): Report an error if
4189         parent is a dynamic varobj.
4190
4191 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
4192
4193         * gnulib/aclocal.m4: Re-generate.
4194         * gnulib/config.in: Re-generate.
4195         * gnulib/configure: Re-generate.
4196         * gnulib/import/Makefile.in: Re-generate.
4197         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
4198         * gnulib/import/m4/onceonly.m4: Re-generate.
4199
4200 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
4201
4202         * target-descriptions.c (struct xml_test_tdesc): New.
4203         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
4204         (record_xml_tdesc): Update.
4205         (maintenance_check_xml_descriptions): Update.
4206         * target-descriptions.h (record_xml_tdesc): Update comment.
4207
4208 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
4209
4210         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
4211         checking array bounds are defined.
4212
4213 2018-07-30  Tom Tromey  <tom@tromey.com>
4214
4215         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
4216         irreflexivity violation.
4217
4218 2018-07-30  Tom Tromey  <tom@tromey.com>
4219
4220         * cli/cli-decode.c (lookup_cmd): Remove lint code.
4221         * value.c (unpack_long): Remove lint code.
4222         * valops.c (value_ind): Remove lint code.
4223         * valarith.c (value_x_binop, value_x_unop, value_equal)
4224         (value_pos): Remove lint code.
4225
4226 2018-07-28  Tom de Vries  <tdevries@suse.de>
4227
4228         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
4229         with undefined upper bound as <optimized out>.
4230
4231 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
4232
4233         * gcore.in: Rename variable "name" to "prefix".  Expand
4234         "usage" text.
4235
4236 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
4237
4238         * windows-nat.c (windows_nat_target::create_inferior): Update to
4239         call close() in global namespace.
4240
4241 2018-07-26  Tom Tromey  <tom@tromey.com>
4242
4243         * dwarf-index-write.c (add_address_entry): Don't add objfile
4244         offsets.
4245         * dbxread.c (find_stab_function): Rename from
4246         find_stab_function_addr.  Return a bound_minimal_symbol.
4247         (read_dbx_symtab): Use raw_text_low, raw_text_high.
4248         Don't add objfile offsets.
4249         (end_psymtab): Use raw_text_low, raw_text_high,
4250         MSYMBOL_VALUE_RAW_ADDRESS.
4251         (read_ofile_symtab): Update.
4252         (process_one_symbol): Update.
4253         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
4254         offsets.
4255         (dw2_relocate): Remove.
4256         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
4257         searching addrmap.
4258         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
4259         Update.
4260         (process_psymtab_comp_unit_reader, add_partial_symbol)
4261         (add_partial_subprogram, dwarf2_ranges_read): Update.
4262         (load_partial_dies): Update.
4263         (add_address_entry): Don't add objfile offsets.
4264         (dwarf2_build_include_psymtabs): Update.
4265         (create_addrmap_from_aranges): Don't add objfile offsets.
4266         (dw2_find_pc_sect_compunit_symtab): Update.
4267         * mdebugread.c (parse_symbol): Don't add objfile offsets.
4268         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
4269         Update.
4270         (parse_partial_symbols): Don't add objfile offsets.  Use
4271         raw_text_low, raw_text_high.  Update.
4272         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
4273         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
4274         or call 'relocate' quick function.  Clear psymbol_map.
4275         * psympriv.h (struct partial_symbol) <address>: Add section
4276         offset.
4277         <set_unrelocated_address>: Rename from set_address.
4278         <raw_text_low, raw_text_high>: New methods.
4279         <text_low, text_high>: Add objfile parameter.
4280         (add_psymbol_to_bcache): Add 'section' parameter.  Call
4281         set_unrelocated_address.
4282         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
4283         (find_pc_psymbol): Update.
4284         (fixup_psymbol_section, relocate_psymtabs): Remove.
4285         (dump_psymtab, psym_functions): Update.
4286         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
4287         parameter.
4288         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
4289         (start_psymtab_common): Update.
4290         * symfile-debug.c (debug_qf_relocate): Remove.
4291         (debug_sym_quick_functions): Update.
4292         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
4293         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
4294         Update.
4295
4296 2018-07-26  Tom Tromey  <tromey@redhat.com>
4297
4298         * dbxread.c (end_psymtab): Use text_high_valid and
4299         text_low_valid.
4300         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
4301         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
4302         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
4303         Update comment.
4304         <text_low_valid, text_high_valid>: New fields.
4305         <set_text_low, set_text_high>: Update.
4306         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
4307
4308 2018-07-26  Tom Tromey  <tom@tromey.com>
4309
4310         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
4311         Update.
4312         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
4313         textlow and texthigh fields.
4314         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
4315         Update.
4316         * mdebugread.c (parse_lines, parse_partial_symbols)
4317         (psymtab_to_symtab_1): Update.
4318         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
4319         Rename fields.  Update comment.  Now private.
4320         <text_low, text_high, set_text_low, set_text_high>: New methods.
4321         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
4322         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
4323         (start_psymtab_common, maintenance_info_psymtabs)
4324         (maintenance_check_psymtabs): Update.
4325         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
4326         texthigh fields.
4327         (scan_xcoff_symtab): Update.
4328
4329 2018-07-26  Tom Tromey  <tromey@redhat.com>
4330
4331         * psympriv.h (struct partial_symbol) <unrelocated_address,
4332         address, set_address>: New methods.
4333         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
4334         (fixup_psymbol_section, relocate_psymtabs): Update.
4335         (print_partial_symbols): Add 'objfile' parameter.  Update.
4336         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
4337         Update.
4338
4339 2018-07-26  Tom Tromey  <tom@tromey.com>
4340
4341         * dwarf-index-write.c (write_psymbols, debug_names::insert)
4342         (debug_names::write_psymbols): Update.
4343         * psympriv.h (struct partial_symbol): Derive from
4344         general_symbol_info.
4345         <obj_section>: New method.
4346         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
4347         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
4348         (find_pc_sect_psymbol, fixup_psymbol_section)
4349         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
4350         (print_partial_symbols, recursively_search_psymtabs)
4351         (compare_psymbols, psymbol_hash, psymbol_compare)
4352         (add_psymbol_to_bcache, maintenance_check_psymtabs)
4353         (psymbol_name_matches, psym_fill_psymbol_map): Update.
4354
4355 2018-07-26  Tom Tromey  <tromey@redhat.com>
4356
4357         * dbxread.c (end_psymtab): Remove dead code.
4358
4359 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
4360
4361         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
4362         DWARF unwinders are disabled.
4363         * dwarf2-frame.c: Add dwarf2read.h include.
4364         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
4365         disabled.
4366         (dwarf2_frame_unwinders_enabled_p): Define.
4367         (show_dwarf_unwinders_enabled_p): New function.
4368         (_initialize_dwarf2_frame): Register switch to control DWARF
4369         unwinder use.
4370         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
4371         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
4372         (show_dwarf_cmdlist): Remove static keyword.
4373         * dwarf2read.h (set_dwarf_cmdlist): Declare.
4374         (show_dwarf_cmdlist): Declare.
4375         * NEWS: Document new feature.
4376
4377 2018-07-26  Tom de Vries  <tdevries@suse.de>
4378
4379         PR breakpoints/23366
4380         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
4381
4382 2018-07-26  Tom de Vries  <tdevries@suse.de>
4383
4384         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
4385         DW_AT_count can't be translated to a dynamic prop.
4386
4387 2018-07-25  Tom de Vries  <tdevries@suse.de>
4388
4389         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
4390         try/catch.
4391
4392 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
4393
4394         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
4395
4396 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
4397
4398         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
4399
4400 2018-07-24  Keith Seitz  <keiths@redhat.comt
4401
4402         PR symtab/23010
4403         * dwarf2read.c (dw2_add_symbol_to_list): New function.
4404         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
4405         instead of add_symbol_to_list.
4406         (read_file_scope): Call prepare_one_comp_unit before reading
4407         any other DIEs.
4408
4409 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
4410
4411         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
4412
4413 2018-07-24  Tom Tromey  <tom@tromey.com>
4414
4415         * utils.c (malloc, realloc, free): Don't declare.
4416         * configure, config.in: Rebuild.
4417         * configure.ac: Don't check for declarations of free, malloc, or
4418         realloc.
4419
4420 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
4421
4422         * aarch64-linux-nat.c
4423         (aarch64_linux_nat_target::stopped_data_address): Remove unused
4424         variable.
4425         * arm-linux-nat.c (fetch_regs): Likewise.
4426         (store_regs): Likewise.
4427         (fetch_vfp_regs): Likewise.
4428         (store_vfp_regs): Likewise.
4429         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
4430         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
4431         (arm_linux_nat_target::insert_watchpoint): Likewise.
4432         (arm_linux_nat_target::remove_watchpoint): Likewise.
4433         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
4434         Likewise.
4435         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
4436         Likewise.
4437         * ppc-linux-nat.c (fetch_register): Likewise.
4438         (fetch_all_gp_regs): Likewise.
4439         (fetch_ppc_registers): Likewise.
4440         (store_all_gp_regs): Likewise.
4441         (store_ppc_registers): Likewise.
4442         (hwdebug_insert_point): Likewise.
4443         (can_use_watchpoint_cond_accel): Likewise.
4444         * remote-sim.c (gdb_os_write_stdout): Likewise.
4445
4446 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
4447             Tom Tromey  <tom@tromey.com>
4448
4449         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
4450         test for it.
4451         * configure: Rebuild.
4452
4453 2018-07-22  Tom Tromey  <tom@tromey.com>
4454
4455         * regformats/regdat.sh: Define xmltarget_${name} inside
4456         #ifndef IN_PROCESS_AGENT.
4457
4458 2018-07-22  Tom Tromey  <tom@tromey.com>
4459
4460         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
4461
4462 2018-07-22  Tom Tromey  <tom@tromey.com>
4463
4464         * symfile.c (reread_symbols): Notify iter, not objfile.
4465
4466 2018-07-22  Tom Tromey  <tom@tromey.com>
4467
4468         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
4469         Use arch_ops.
4470         (ravenscar_thread_target::prepare_to_store): Likewise.
4471
4472 2018-07-22  Tom Tromey  <tom@tromey.com>
4473
4474         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
4475         unused variable.  Call value_fetch_lazy when needed.
4476         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
4477         Remove unused variable.  Call value_fetch_lazy when needed.
4478
4479 2018-07-22  Tom Tromey  <tom@tromey.com>
4480
4481         * m32c-tdep.c (mark_dma): Return void.
4482         (make_regs): Remove unused declarations.
4483
4484 2018-07-22  Tom Tromey  <tom@tromey.com>
4485
4486         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
4487         cmdscm_get_valid_command_smob_arg_unsafe for effect.
4488         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
4489         bkscm_get_valid_block_smob_arg_unsafe for effect.
4490
4491 2018-07-22  Tom Tromey  <tom@tromey.com>
4492
4493         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
4494         value_type.
4495
4496 2018-07-22  Tom Tromey  <tom@tromey.com>
4497
4498         * windows-nat.c (saved_context): Conditionally define.
4499         * remote.c (remote_target::remote_btrace_maybe_reopen):
4500         Conditionally declare "warned".
4501         * inflow.c (sigquit_ours): Conditionally define.
4502         (new_tty): Move "tty" declaration inside #if.
4503         * guile/guile.c (guile_datadir): Conditionally define.
4504         * charset.c (set_be_le_names): Move some declarations inside #if.
4505         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
4506         #if.
4507         (parse_xml_btrace_conf): Likewise.
4508
4509 2018-07-22  Tom Tromey  <tom@tromey.com>
4510
4511         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
4512
4513 2018-07-22  Tom Tromey  <tom@tromey.com>
4514
4515         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
4516         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
4517         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
4518         * buildsym-legacy.c (get_macro_table): Remove unused variable.
4519         * stack.c (frame_apply_level_command): Remove unused variable.
4520         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
4521         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
4522         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
4523         unused variable.
4524         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
4525         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
4526         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
4527         variable.
4528         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
4529         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
4530         variable.
4531         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
4532         Remove unused variable.
4533         * cli/cli-script.c (recurse_read_control_structure): Remove unused
4534         variable.
4535         * common/tdesc.c (print_xml_feature::visit): Remove unused
4536         variable.
4537         * compile/compile-object-load.c (store_regs): Remove unused
4538         variables.
4539         * complaints.c (clear_complaints): Remove unused variable.
4540         * corelow.c (core_target_open): Remove unused variable.
4541         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
4542         variable.
4543         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
4544         variable.
4545         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
4546         variable.
4547         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
4548         variable.
4549         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
4550         variable.
4551         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
4552         variable.
4553         * ia64-tdep.c (examine_prologue): Remove unused variable.
4554         * infcall.c (run_inferior_call): Remove unused variable.
4555         * inferior.c (exit_inferior): Remove unused variable.
4556         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
4557         * linespec.c (decode_line_2): Remove unused variable.
4558         * linux-nat.c (super_close): Remove.
4559         * linux-tdep.c (linux_info_proc): Remove unused variable.
4560         * mi/mi-main.c (mi_execute_command): Remove unused variable.
4561         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
4562         Remove unused variable.
4563         * parse.c (find_minsym_type_and_address): Remove unused variable.
4564         * printcmd.c (info_symbol_command, printf_floating): Remove unused
4565         variable.
4566         * python/py-breakpoint.c (bppy_set_commands): Remove unused
4567         variable.
4568         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
4569         variables.
4570         * record-btrace.c (record_btrace_target::store_registers): Remove
4571         unused variable.
4572         (cmd_show_record_btrace_cpu): Remove unused variable.
4573         * riscv-tdep.c (riscv_register_reggroup_p)
4574         (riscv_push_dummy_call, riscv_return_value): Remove unused
4575         variable.
4576         * rust-exp.y (literal): Remove unused variable.
4577         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
4578         unused variable.
4579         <STRUCTOP_ANONYMOUS>: Likewise.
4580         * s390-linux-tdep.c (s390_linux_init_abi_31)
4581         (s390_linux_init_abi_64): Remove unused variable.
4582         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
4583         (file_select_thread, net_windows_open, _initialize_ser_windows):
4584         Remove unused variables.
4585         * symtab.c (find_pc_sect_line): Remove unused variable.
4586         * target-memory.c (compute_garbled_blocks): Remove unused
4587         variable.
4588         (target_write_memory_blocks): Remove unused variable.
4589         * target.c (target_stack::unpush): Remove unused variables.
4590         * tracepoint.c (start_tracing, all_tracepoint_actions)
4591         (merge_uploaded_trace_state_variables)
4592         (print_one_static_tracepoint_marker): Remove unused variable.
4593         * unittests/basic_string_view/element_access/char/1.cc (test01):
4594         Remove unused variable.
4595         * windows-nat.c (windows_continue, windows_add_all_dlls)
4596         (do_initial_windows_stuff, windows_nat_target::create_inferior):
4597         Remove unused variables.
4598
4599 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
4600
4601         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
4602         attr_profile in HAVE_ELF.
4603         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
4604         HAVE_ELF.
4605
4606 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
4607
4608         * frame.c (frame_register_unwind): Change parameter name.
4609         (frame_unwind_register): Likewise.
4610         (frame_unwind_register_value): Likewise.
4611         (frame_unwind_register_signed): Likewise.
4612         (frame_unwind_register_unsigned): Likewise.
4613         * frame.h (frame_register_unwind): Likewise.
4614         (frame_unwind_register): Likewise.
4615         (frame_unwind_register_value): Likewise.
4616         (frame_unwind_register_signed): Likewise.
4617         (frame_unwind_register_unsigned): Likewise.
4618         (frame_unwind_arch): Likewise.
4619
4620 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
4621
4622         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
4623         ISA maintenance.
4624
4625 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
4626
4627         * mips-linux-nat.c (mips_linux_nat_target::read_description):
4628         Call `get_ptrace_pid' rather than extracting the ptrace PID by
4629         hand.
4630
4631 2018-07-20  Keith Seitz  <keiths@redhat.com>
4632
4633         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
4634         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
4635         m_compunit_symtab, m_language>: Add "m_" prefix.
4636         Update all uses.
4637         * buildsym.c: Update all uses.
4638
4639 2018-07-20  Tom Tromey  <tom@tromey.com>
4640
4641         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
4642         * buildsym.h (record_line_ftype): Remove typedef.
4643
4644 2018-07-20  Tom Tromey  <tom@tromey.com>
4645
4646         * buildsym-legacy.h (augment_type_symtab): Don't declare.
4647         (end_expandable_symtab): Likewise.
4648         (end_symtab_get_static_block): Likewise.
4649         (end_symtab_from_static_block): Likewise.
4650         * buildsym-legacy.c (augment_type_symtab): Remove.
4651         (end_expandable_symtab): Remove.
4652         (end_symtab_get_static_block): Remove.
4653         (end_symtab_from_static_block): Remove.
4654
4655 2018-07-20  Tom Tromey  <tom@tromey.com>
4656
4657         * dwarf2read.c: Include buildsym.h.
4658         (struct dwarf2_cu) <builder>: New method.
4659         (fixup_go_packaging): Update.
4660         (process_full_comp_unit, process_full_type_unit): Update.  Don't
4661         use scoped_free_pendings.
4662         (using_directives): Add "cu" parameter, remove "language".
4663         (read_import_statement, setup_type_unit_groups, )
4664         (read_func_scope, read_lexical_block_scope)
4665         (dwarf2_record_block_ranges, read_namespace): Update.
4666         (lnp_state_machine::lnp_state_machine): Add cu parameter.
4667         (lnp_state_machine::handle_end_sequence): Update.
4668         (class lnp_state_machine) <m_cu>: New member.
4669         <m_record_line_callback>: Remove.
4670         <m_currently_recording_lines>: New member.
4671         (lnp_state_machine::handle_set_file): Update.
4672         (noop_record_line): Remove.
4673         (dwarf_record_line_p): Add cu parameter.
4674         (dwarf_record_line_1, dwarf_finish_line): Likewise.
4675         (lnp_state_machine::record_line)
4676         (lnp_state_machine::lnp_state_machine)
4677         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4678         (dwarf_decode_lines): Update.
4679         (dwarf2_start_subfile): Add cu parameter.
4680         (dwarf2_start_symtab, new_symbol): Update.
4681         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
4682         Remove dwarf2_per_objfile parameter.
4683         (dwarf_decode_macros): Update.
4684
4685 2018-07-20  Tom Tromey  <tom@tromey.com>
4686
4687         * stabsread.c (define_symbol): Update.
4688         * buildsym-legacy.h (get_buildsym_compunit): Declare.
4689         * dwarf2read.c (new_symbol): Update.
4690         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
4691         * cp-namespace.c: Include buildsym.h.
4692         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
4693         * buildsym-legacy.c (get_buildsym_compunit): New function.
4694
4695 2018-07-20  Tom Tromey  <tom@tromey.com>
4696
4697         * xcoffread.c: Include buildsym-legacy.h.
4698         * windows-nat.c: Include buildsym-legacy.h.
4699         * stabsread.c: Include buildsym-legacy.h.
4700         * mdebugread.c: Include buildsym-legacy.h.
4701         * buildsym-legacy.h: New file.
4702         * buildsym-legacy.c: New file, from buildsym.c.
4703         * go32-nat.c: Include buildsym-legacy.h.
4704         * dwarf2read.c: Include buildsym-legacy.h.
4705         * dbxread.c: Include buildsym-legacy.h.
4706         * cp-namespace.c: Include buildsym-legacy.h.
4707         * coffread.c: Include buildsym-legacy.h.
4708         * buildsym.h: Move some contents to buildsym-legacy.h.
4709         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
4710         buildsym-legacy.c.
4711         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
4712
4713 2018-07-20  Tom Tromey  <tom@tromey.com>
4714
4715         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
4716         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
4717         (buildsym_compunit::buildsym_compunit)
4718         (buildsym_compunit::~buildsym_compunit)
4719         (buildsym_compunit::get_macro_table): Define.
4720
4721 2018-07-20  Tom Tromey  <tom@tromey.com>
4722
4723         * buildsym.c (reset_symtab_globals): Remove.
4724         (buildsym_compunit::end_symtab_from_static_block): Update.
4725         (buildsym_compunit::augment_type_symtab): Update.
4726         (end_symtab_from_static_block): Call free_buildsym_compunit.
4727         (augment_type_symtab, end_symtab, end_expandable_symtab):
4728         Likewise.
4729
4730 2018-07-20  Tom Tromey  <tom@tromey.com>
4731
4732         * arch-utils.c: Do not include buildsym.h.
4733         * mipsread.c: Do not include buildsym.h.
4734         * machoread.c: Do not include buildsym.h.
4735         * elfread.c: Do not include buildsym.h.
4736
4737 2018-07-20  Tom Tromey  <tom@tromey.com>
4738
4739         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
4740         initialization.
4741         (buildsym_compunit): Add new constructor.
4742         (struct buildsym_compunit) <get_last_source_file, finish_block,
4743         record_block_range, start_subfile, patch_subfile_names,
4744         push_subfile, pop_subfile, record_line, get_compunit_symtab,
4745         set_last_source_start_addr, get_last_source_start_addr,
4746         get_local_using_directives, set_local_using_directives,
4747         get_global_using_directives, outermost_context_p,
4748         get_current_context_stack, get_context_stack_depth,
4749         get_current_subfile, get_local_symbols, get_file_symbols,
4750         get_global_symbols, record_debugformat, record_producer,
4751         push_context, pop_context, end_symtab_get_static_block,
4752         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
4753         New public methods.
4754         <record_pending_block, finish_block_internal, make_blockvector,
4755         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
4756         private methods.
4757         Update all users.
4758
4759 2018-05-22  Tom Tromey  <tom@tromey.com>
4760
4761         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4762         parameter.
4763         (finish_block_internal): Update.
4764
4765 2018-07-20  Tom Tromey  <tom@tromey.com>
4766
4767         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4768         parameter.
4769         (finish_block_internal): Update.
4770
4771 2018-07-20  Tom Tromey  <tom@tromey.com>
4772
4773         * buildsym.h (EXTERN): Don't define or undef.
4774         * buildsym.c (EXTERN): Don't define.
4775
4776 2018-07-20  Tom Tromey  <tom@tromey.com>
4777
4778         * buildsym.c: Remove TODO comment.
4779
4780 2018-07-20  Tom Tromey  <tom@tromey.com>
4781
4782         * coffread.c (coff_symtab_read): Update.
4783         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
4784         (xcoff_new_init): Update.
4785         * mipsread.c (mipscoff_new_init): Update.
4786         * mdebugread.c (mdebug_build_psymtabs): Update.
4787         * elfread.c (elf_new_init): Update.
4788         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
4789         Update.
4790         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
4791         (coffstab_build_psymtabs, elfstab_build_psymtabs)
4792         (stabsect_build_psymtabs): Update.
4793         * buildsym.h (buildsym_init): Don't declare.
4794         * buildsym.c: Update comment.
4795         (prepare_for_building): Remove.
4796         (start_symtab, restart_symtab): Update.
4797         (reset_symtab_globals): Update comment.
4798         (buildsym_init): Remove.
4799
4800 2018-07-20  Tom Tromey  <tom@tromey.com>
4801
4802         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
4803         * stabsread.c (patch_block_stabs, define_symbol, read_type)
4804         (read_enum_type, common_block_start, common_block_end)
4805         (cleanup_undefined_types_1, finish_global_stabs): Update.
4806         * mdebugread.c (psymtab_to_symtab_1): Update.
4807         * dwarf2read.c (fixup_go_packaging, read_func_scope)
4808         (read_lexical_block_scope, new_symbol): Update.
4809         * dbxread.c (process_one_symbol): Update.
4810         * coffread.c (coff_symtab_read, process_coff_symbol)
4811         (coff_read_enum_type): Update.
4812         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
4813         declare.
4814         (get_local_symbols, get_file_symbols, get_global_symbols): New
4815         functions.
4816         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
4817         m_global_symbols.
4818         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
4819         (~scoped_free_pendings): Update.
4820         (finish_block, prepare_for_building, reset_symtab_globals)
4821         (end_symtab_get_static_block, end_symtab_with_blockvector)
4822         (augment_type_symtab, push_context): Update.
4823         (get_local_symbols, get_file_symbols, get_global_symbols): New
4824         functions.
4825         (buildsym_init): Update.
4826
4827 2018-07-20  Tom Tromey  <tom@tromey.com>
4828
4829         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
4830         (process_full_type_unit): Likewise.
4831         (dwarf2_start_symtab): Set list_in_scope.
4832
4833 2018-07-20  Tom Tromey  <tom@tromey.com>
4834
4835         * dwarf2read.c (process_psymtab_comp_unit_reader)
4836         (build_type_psymtabs_reader): Do not set list_in_scope.
4837
4838 2018-07-20  Tom Tromey  <tom@tromey.com>
4839
4840         * buildsym.c (free_pendings): Remove.
4841         (add_symbol_to_list, scoped_free_pendings)
4842         (finish_block_internal, buildsym_init): Update.
4843
4844 2018-07-20  Tom Tromey  <tom@tromey.com>
4845
4846         * xcoffread.c (read_xcoff_symtab): Update.
4847         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
4848         Update.
4849         * dbxread.c (process_one_symbol): Update.
4850         * coffread.c (coff_symtab_read): Update.
4851         * buildsym.h (finish_block): Update.
4852         * buildsym.c (finish_block): Remove "listhead" argument.
4853         (end_symtab_get_static_block): Update.
4854
4855 2018-07-20  Tom Tromey  <tom@tromey.com>
4856
4857         * buildsym.h (class scoped_free_pendings): Remove constructor.
4858         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
4859         method.
4860         <m_pending_block_obstack, m_pending_blocks>: New members.
4861         (pending_block_obstack, pending_blocks): Remove.
4862         (scoped_free_pendings::scoped_free_pendings): Default.
4863         (~scoped_free_pendings): Update.
4864         (free_pending_blocks): Remove.
4865         (finish_block_internal, record_pending_block, make_blockvector)
4866         (end_symtab_get_static_block, augment_type_symtab, push_context)
4867         (buildsym_init): Update.
4868
4869 2018-07-20  Tom Tromey  <tom@tromey.com>
4870
4871         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
4872         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
4873         members.
4874         (pending_addrmap, pending_addrmap_obstack)
4875         (pending_addrmap_interesting): Remove.
4876         (scoped_free_pendings, record_block_range, make_blockvector)
4877         (prepare_for_building, reset_symtab_globals, buildsym_init):
4878         Update.
4879
4880 2018-07-20  Tom Tromey  <tom@tromey.com>
4881
4882         * xcoffread.c (process_linenos): Update.
4883         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
4884         * mdebugread.c (psymtab_to_symtab_1): Update.
4885         * dwarf2read.c (setup_type_unit_groups)
4886         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
4887         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
4888         * dbxread.c (process_one_symbol): Update.
4889         * coffread.c (coff_symtab_read, enter_linenos)
4890         (process_coff_symbol): Update.
4891         * buildsym.h (current_subfile): Don't declare.
4892         (get_current_subfile): Declare.
4893         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
4894         member.
4895         (start_subfile, free_buildsym_compunit, push_subfile)
4896         (prepare_for_building, start_symtab): Update.
4897         (get_current_subfile): New function.
4898
4899 2018-07-20  Tom Tromey  <tom@tromey.com>
4900
4901         * coffread.c (coff_symtab_read): Update.
4902         * xcoffread.c (read_xcoff_symtab): Update.
4903         * dwarf2read.c (new_symbol): Update.
4904         (read_func_scope, read_lexical_block_scope): Update.
4905         * dbxread.c (process_one_symbol): Update.
4906         * buildsym.h (context_stack, context_stack_depth): Don't declare.
4907         (outermost_context_p): Remove macro.
4908         (outermost_context_p, get_current_context_stack)
4909         (get_context_stack_depth): Declare.
4910         (pop_context): Return struct context_stack.
4911         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
4912         member.
4913         (context_stack_size): Remove.
4914         (INITIAL_CONTEXT_STACK_SIZE): Remove.
4915         (prepare_for_building, end_symtab_get_static_block)
4916         (augment_type_symtab, push_context): Update.
4917         (pop_context): Return struct context_stack.
4918         (outermost_context_p, get_current_context_stack)
4919         (get_context_stack_depth): New functions.
4920         (buildsym_init): Update.
4921
4922 2018-07-20  Tom Tromey  <tom@tromey.com>
4923
4924         * rust-exp.y: Now a pure parser.  Update all rules.
4925         (%union): Move earlier.
4926         (current_parser, work_obstack): Remove globals.
4927         (rust_parser, ~rust_parser): Update.
4928         (class rust_parser) <copy_name, concat3, crate_name, super_name,
4929         lex_character, lex_number, lex_string, lex_identifier,
4930         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
4931         convert_name, convert_params_to_expression,
4932         convert_ast_to_expression, ast_basic_type, ast_operation,
4933         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
4934         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
4935         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
4936         ast_array_type, ast_slice_type, ast_reference_type,
4937         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
4938         (rust_parse): Update.
4939         (rustyyerror, rustyylex): Add parser parameter.
4940         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
4941         (rust_lex_stringish_test, rust_lex_test_sequence)
4942         (rust_lex_test_trailing_dot, rust_lex_test_completion)
4943         (rust_lex_test_push_back, rust_lex_tests): Update.
4944
4945 2018-07-19  Pedro Alves  <palves@redhat.com>
4946
4947         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
4948         gdb::unique_xmalloc_ptr.
4949         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
4950         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
4951         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
4952         copy-initialization.
4953         * guile/scm-pretty-print.c (ppscm_print_children): Use
4954         gdb::unique_xmalloc_ptr instead of cleanups.
4955         (gdbscm_apply_val_pretty_printer): Remove cleanups.
4956         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
4957         gdb::unique_xmalloc_ptr.
4958         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4959         Adjust to use gdb::unique_xmalloc_ptr.
4960         * guile/scm-utils.c (extract_arg): Adjust.
4961         * guile/scm-value.c (gdbscm_value_field): Adjust to use
4962         gdb::unique_xmalloc_ptr instead of a cleanup.
4963
4964 2018-07-19  Tom Tromey  <tom@tromey.com>
4965
4966         * utils.c (do_value_free_to_mark)
4967         (make_cleanup_value_free_to_mark): Remove.
4968         * utils.h (make_cleanup_value_free_to_mark): Remove.
4969
4970 2018-07-19  Pedro Alves  <palves@redhat.com>
4971
4972         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
4973         forwarding reference.
4974
4975 2018-07-18  Pedro Alves  <palves@redhat.com>
4976
4977         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
4978         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
4979         cleanup.
4980
4981 2018-07-18  Pedro Alves  <palves@redhat.com>
4982
4983         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
4984         exceptions.
4985         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
4986         (gdbscm_wrap): New.
4987         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
4988         directly instead of a cleanup.
4989         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
4990         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
4991         (vlscm_binop_gdbthrow): New, factored out from ...
4992         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
4993         (vlscm_rich_compare): Use gdbscm_wrap.
4994         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
4995         instead of a cleanup.
4996         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
4997         cleanup.
4998         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4999         Use xfree directly instead of a cleanup.
5000         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
5001         Adjust to use gdbscm_wrap and scoped_value_mark.
5002         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
5003         (gdbscm_value_address, gdbscm_value_dereference)
5004         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
5005         scoped_value_mark.
5006         (gdbscm_value_dynamic_type): Use scoped_value_mark.
5007         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
5008         scoped_value_mark.
5009         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
5010         gdbscm_wrap and scoped_value_mark.
5011         (gdbscm_value_to_string): Use xfree directly instead of a
5012         cleanup.  Move 'buffer' unique_ptr to TRY scope.
5013         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
5014         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
5015         scoped_value_mark.
5016         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
5017         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
5018         scoped_value_mark.
5019         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
5020         gdbscm_wrap.
5021
5022 2018-07-18  Tom de Vries  <tdevries@suse.de>
5023
5024         * findvar.c (default_read_var_value): Also resolve dynamic type for
5025         LOC_OPTIMIZED_OUT vars.
5026
5027 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
5028
5029         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
5030         decoding.
5031
5032 2018-07-17  Tom Tromey  <tom@tromey.com>
5033
5034         * guile/scm-param.c (pascm_set_func, pascm_show_func)
5035         (compute_enum_list, pascm_set_param_value_x)
5036         (gdbscm_parameter_value): Update.
5037         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
5038         (gdbscm_scm_to_host_string): Update.
5039         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
5040         Update.
5041         * guile/scm-cmd.c (cmdscm_add_completion): Update.
5042         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
5043         * guile/scm-string.c (gdbscm_scm_to_string): Return
5044         unique_xmalloc_ptr.
5045         (gdbscm_scm_to_host_string): Likewise.
5046
5047 2018-07-17  Tom Tromey  <tom@tromey.com>
5048
5049         * guile/guile.c (gdbscm_eval_from_control_command): Update.
5050         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
5051         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
5052         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
5053         unique_xmalloc_ptr.
5054
5055 2018-07-17  Tom Tromey  <tom@tromey.com>
5056
5057         * guile/scm-param.c (pascm_signal_setshow_error): Update.
5058         * guile/guile-internal.h (gdbscm_exception_message_to_string):
5059         Update.
5060         * guile/scm-cmd.c (cmdscm_function): Update.
5061         * guile/scm-pretty-print.c
5062         (ppscm_print_exception_unless_memory_error): Update.
5063         * guile/scm-exception.c (gdbscm_exception_message_to_string):
5064         Return unique_xmalloc_ptr.
5065
5066 2018-07-17  Tom Tromey  <tom@tromey.com>
5067
5068         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
5069         Use string_printf.
5070
5071 2018-07-17  Jim Wilson  <jimw@sifive.com>
5072
5073         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
5074         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
5075         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
5076         unecessary braces after EF_RISCV_RVC test.  Delete call to
5077         set_gdbarch_decr_pc_after_break.
5078
5079         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
5080         RISCV_LAST_FP_REGNUM + 1.
5081         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
5082
5083 2018-07-17  Tom Tromey  <tom@tromey.com>
5084
5085         * configure.ac: Remove --disable-gdbcli.
5086         * configure: Rebuild.
5087         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
5088         (SUBDIR_CLI_CFLAGS): Remove.
5089         (SFILES): Use SUBDIR_CLI_SRCS.
5090         (COMMON_OBS): Use SUBDIR_CLI_OBS.
5091
5092 2018-07-17  Tom Tromey  <tom@tromey.com>
5093
5094         PR gdb/18624:
5095         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
5096
5097 2018-07-16  Jim Wilson  <jimw@sifive.com>
5098
5099         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
5100
5101 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
5102
5103         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
5104         variable.
5105         (libunwind_frame_sniffer): Likewise.
5106         (libunwind_frame_prev_register): Likewise.
5107         (libunwind_sigtramp_frame_sniffer): Likewise.
5108         * ia64-tdep.c (ia64_access_reg): Likewise.
5109         (ia64_access_rse_reg): Likewise.
5110         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
5111         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
5112
5113 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
5114
5115         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
5116
5117 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
5118
5119         * remote-sim.c (gdbsim_target::close,
5120         gdbsim_target::mourn_inferior): Remove unused variables.
5121
5122 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
5123
5124         * ia64-tdep.c (ktab_buf): New global.
5125         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
5126         (get_kernel_table): Adjust.
5127
5128 2018-07-16  Tom Tromey  <tom@tromey.com>
5129
5130         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
5131         * dwarf2read.c (using_directives, new_symbol): Use
5132         outermost_context_p.
5133         * dbxread.c (process_one_symbol): Use outermost_context_p.
5134         * coffread.c (coff_symtab_read): Use outermost_context_p.
5135
5136 2018-07-16  Tom Tromey  <tom@tromey.com>
5137
5138         * dwarf2read.c (using_directives, read_func_scope)
5139         (read_lexical_block_scope): Update.
5140         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
5141         * buildsym.h (local_using_directives, global_using_directives):
5142         Don't declare.
5143         (get_local_using_directives, set_local_using_directives)
5144         (get_global_using_directives): Declare.
5145         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
5146         m_global_using_directives>: New members.
5147         (finish_block_internal, prepare_for_building)
5148         (reset_symtab_globals, end_symtab_get_static_block)
5149         (push_context): Update.
5150         (get_local_using_directives, set_local_using_directives)
5151         (get_global_using_directives): New functions.
5152         (buildsym_init): Update.
5153
5154 2018-07-16  Tom Tromey  <tom@tromey.com>
5155
5156         * xcoffread.c (xcoff_initial_scan): Don't call
5157         free_pending_blocks.
5158         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
5159         * buildsym.h (class scoped_free_pendings): Add constructor.
5160         (free_pending_blocks): Don't declare.
5161         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
5162         (free_pending_blocks): Now static.
5163
5164 2018-07-16  Tom Tromey  <tom@tromey.com>
5165
5166         * buildsym.h (push_subfile, pop_subfile): Update declarations.
5167         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
5168         member.
5169         (struct subfile_stack): Remove.
5170         (subfile_stack): Remove.
5171         (push_subfile, pop_subfile, buildsym_init): Update.
5172
5173 2018-07-16  Tom Tromey  <tom@tromey.com>
5174
5175         * buildsym.c (push_subfile): Use gdb_assert.
5176         (pop_subfile): Use gdb_assert.
5177
5178 2018-07-16  Tom Tromey  <tom@tromey.com>
5179
5180         * buildsym.h (merge_symbol_lists): Remove.
5181         * buildsym.c (merge_symbol_lists): Remove.
5182
5183 2018-07-16  Tom Tromey  <tom@tromey.com>
5184
5185         * stabsread.c (scan_file_globals): Update comment.
5186         * stabsread.h (scan_file_globals): Move from buildsym.h.
5187         * buildsym.h (scan_file_globals): Move to stabsread.h.
5188
5189 2018-07-16  Tom Tromey  <tom@tromey.com>
5190
5191         * xcoffread.c (xcoff_new_init): Update.
5192         * mipsread.c (mipscoff_new_init): Update.
5193         * mdebugread.c (mdebug_build_psymtabs): Update.
5194         * elfread.c (elf_new_init): Update.
5195         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
5196         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
5197         * buildsym.h (buildsym_new_init): Don't declare.
5198         * buildsym.c (buildsym_new_init): Remove.
5199
5200 2018-07-16  Tom Tromey  <tom@tromey.com>
5201
5202         * stabsread.h (within_function): Move from buildsym.h.
5203         * stabsread.c (start_stabs): Clear within_function.
5204         * coffread.c (coff_start_symtab): Clear within_function.
5205         * buildsym.h (within_function): Move to stabsread.h.
5206         * buildsym.c (prepare_for_building): Update.
5207
5208 2018-07-16  Tom Tromey  <tom@tromey.com>
5209
5210         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
5211         * dwarf2read.c (dwarf2_start_symtab): Don't set
5212         processing_gcc_compilation.
5213         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
5214
5215 2018-07-16  Tom Tromey  <tom@tromey.com>
5216
5217         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
5218         (next_symbol_text_func): Move from buildsym.h.
5219         * stabsread.c (hashname): Move from buildsym.c.
5220         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
5221         (next_symbol_text_func, hashname): Move to stabsread.h.
5222         * buildsym.c: Don't include bcache.h
5223         (hashname): Move to stasbread.c.
5224
5225 2018-07-16  Tom Tromey  <tom@tromey.com>
5226
5227         * buildsym.h (context_stack_size): Don't declare.
5228         * buildsym.c (context_stack_size): New global.
5229
5230 2018-07-16  Tom Tromey  <tom@tromey.com>
5231
5232         * dbxread.c (processing_acc_compilation): New global.
5233         * buildsym.h (processing_acc_compilation): Don't declare.
5234
5235 2018-07-16  Tom Tromey  <tom@tromey.com>
5236
5237         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
5238         * dbxread.c (read_ofile_symtab): Update.
5239         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
5240         * buildsym.h (last_source_start_addr): Remove.
5241         (set_last_source_start_addr, get_last_source_start_addr):
5242         Declare.
5243         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
5244         parameter.
5245         (struct buildsym_compunit) <m_last_source_start_addr>: New
5246         member.
5247         (prepare_for_building): Remove start_addr parameter.
5248         (start_symtab, restart_symtab, end_symtab_get_static_block)
5249         (end_symtab_with_blockvector): Update.
5250         (set_last_source_start_addr, get_last_source_start_addr): New
5251         functions.
5252
5253 2018-07-16  Tom Tromey  <tom@tromey.com>
5254
5255         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
5256         member.
5257         (have_line_numbers): Remove.
5258         (record_line, prepare_for_building, end_symtab_get_static_block)
5259         (augment_type_symtab): Update.
5260
5261 2018-07-16  Tom Tromey  <tom@tromey.com>
5262
5263         * buildsym.c (~buildsym_compunit): Free the macro table.
5264         (struct buildsym_compunit) <get_macro_table, release_macros>: New
5265         methods.
5266         <m_pending_macros>: New member.
5267         (pending_macros): Remove.
5268         (~scoped_free_pendings, get_macro_table, prepare_for_building)
5269         (reset_symtab_globals, end_symtab_get_static_block)
5270         (end_symtab_with_blockvector, augment_type_symtab)
5271         (buildsym_init): Update.
5272
5273 2018-07-16  Tom Tromey  <tom@tromey.com>
5274
5275         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
5276         parameter.
5277         (buildsym_compunit::set_last_source_file): New method.
5278         <m_last_source_file>: New member.
5279         (prepare_for_building): Remove "name" parameter.
5280         (start_symtab, restart_symtab, reset_symtab_globals): Update.
5281         (last_source_file): Remove.
5282         (set_last_source_file, get_last_source_file): Update.
5283
5284 2018-07-16  Tom Tromey  <tom@tromey.com>
5285
5286         * buildsym.c (prepare_for_building): Add assert.
5287
5288 2018-07-16  Tom Tromey  <tom@tromey.com>
5289
5290         * buildsym.c (~buildsym_compunit): Update.
5291         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
5292         (start_subfile, patch_subfile_names)
5293         (end_symtab_with_blockvector): Update.
5294
5295 2018-07-16  Tom Tromey  <tom@tromey.com>
5296
5297         * buildsym.c (struct buildsym_compunit): Add constructor,
5298         destructor, initializers.
5299         (start_buildsym_compunit): Remove.
5300         (free_buildsym_compunit): Use "delete".
5301         (start_symtab, restart_symtab): Use "new".
5302
5303 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
5304
5305         * symfile.c (set_objfile_default_section_offset): Remove struct
5306         keyword.
5307
5308 2018-07-14  Stafford Horne  <shorne@gmail.com>
5309
5310         * (Responsible Maintainers): Add myself as or1k maintainer.
5311
5312 2018-07-13  Tom Tromey  <tom@tromey.com>
5313
5314         * symfile.c (set_objfile_default_section_offset): Use extra braces
5315         around initializer.
5316
5317 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
5318
5319         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
5320         non-branching basr.
5321
5322 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5323
5324         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5325         unittests/cli-utils-selftests.c
5326         * unittests/cli-utils-selftests.c: New file.
5327
5328 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5329
5330         * NEWS: Mention new commands. Mention change to 'thread apply'.
5331
5332 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5333
5334         * thread.c (thr_try_catch_cmd): New function.
5335         (thread_apply_all_command): Handle qcs flags.
5336         (thread_apply_command): Handle qcs flags.
5337         (taas_command): New function.
5338         (tfaas_command): New function.
5339         (_initialize_thread): Update to setup the new commands 'taas
5340         and 'tfaas'. Change doc string for 'thread apply'.
5341
5342 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5343
5344         * stack.c: (trailing_outermost_frame): New function, mostly
5345         extracted from backtrace_command_1.
5346         (leading_innermost_frame): New function.
5347         (backtrace_command_1): Update to call trailing_outermost_frame.
5348         (frame_apply_command_count): New function.
5349         (frame_apply_level_command): New function.
5350         (frame_apply_all_command): New function.
5351         (frame_apply_command): New function.
5352         (faas_command): New function.
5353         (frame_cmd_list): New variable.
5354         (_initialize_stack): Update to setup the new commands 'frame apply'
5355         and 'faas'.
5356
5357 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5358
5359         * cli-utils.c (number_or_range_parser::get_number): Only handle
5360         numbers or convenience var as numbers.
5361         (parse_flags): New function.
5362         (parse_flags_qcs): New function.
5363         (number_or_range_parser::finished): Ensure parsing end is detected
5364         before end of string.
5365         * cli-utils.h (parse_flags): New function.
5366         (parse_flags_qcs): New function.
5367         (number_or_range_parser): Remove m_finished bool.
5368         (number_or_range_parser::skip_range): Set m_in_range to false.
5369
5370 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
5371
5372         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
5373         on Windows.
5374
5375 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
5376             Jan Kratochvil  <jan.kratochvil@redhat.com>
5377             Paul Fertser  <fercerpav@gmail.com>
5378             Tsutomu Seki  <sekiriki@gmail.com>
5379             Pedro Alves  <palves@redhat.com>
5380
5381         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5382         'unittests/parse-connection-spec-selftests.c'.
5383         (COMMON_SFILES): Add 'common/netstuff.c'.
5384         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
5385         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
5386         * common/netstuff.c: New file.
5387         * common/netstuff.h: New file.
5388         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
5389         (wait_for_connect): Update comment.  New parameter
5390         'gdb::optional<int> sock' instead of 'struct serial *scb'.
5391         Use 'sock' directly instead of 'scb->fd'.
5392         (try_connect): New function, with code from 'net_open'.
5393         (net_open): Rewrite main loop to deal with multiple
5394         sockets/addresses.  Handle IPv6-style hostnames; implement
5395         support for IPv6 connections.
5396         * unittests/parse-connection-spec-selftests.c: New file.
5397
5398 2018-07-11  Pedro Alves  <palves@redhat.com>
5399
5400         PR gdb/23377
5401         * remote.c (remote_target::remote_detach_pid): Call
5402         set_current_process.
5403
5404 2018-07-11  Pedro Alves  <palves@redhat.com>
5405
5406         * h8300-tdep.c (h8300_gdbarch_init): Remove
5407         set_gdbarch_ecoff_reg_to_regnum calls.
5408
5409 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
5410
5411         PR c++/23373
5412         * c-typeprint.c (c_type_print_base_struct_union): Don't print
5413         offsets/sizes for static members of a class/struct.
5414
5415 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
5416
5417         * target-descriptions.c (tdesc_register_bitsize): Rename.
5418         * target-descriptions.h (tdesc_register_bitsize): Likewise.
5419         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
5420         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
5421
5422 2018-07-10  Tom Tromey  <tom@tromey.com>
5423
5424         * breakpoint.c (moribund_locations): Now static and a
5425         std::vector.
5426         (breakpoint_init_inferior, moribund_breakpoint_here_p)
5427         (build_bpstat_chain, update_global_location_list)
5428         (breakpoint_retire_moribund): Update.
5429         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
5430         VEC.
5431
5432 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
5433
5434         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
5435         (riscv_register_reggroup_p): Use new function, remove unneeded
5436         parenthesis.
5437         (riscv_push_dummy_call): Extend assert to compare against xlen or
5438         flen based on register type.
5439
5440 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
5441
5442         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
5443
5444 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
5445
5446         * remote.c (show_hardware_watchpoint_limit): New function.
5447         (show_hardware_watchpoint_length_limit): New function.
5448         (show_hardware_breakpoint_limit): New function.
5449         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
5450         where appropriate, update help text.
5451
5452 2018-07-09  Tom Tromey  <tom@tromey.com>
5453
5454         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
5455         (CLIBS): Don't mention NAT_CLIBS.
5456
5457 2018-07-09  Tom Tromey  <tom@tromey.com>
5458
5459         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
5460         (LIBGDB_OBS, clean mostlyclean): Update.
5461         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
5462
5463 2018-07-09  Tom Tromey  <tom@tromey.com>
5464
5465         * Makefile.in (%.c: %.y): Use ECHO_YACC.
5466         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
5467         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
5468
5469 2018-07-09  Tom Tromey  <tom@tromey.com>
5470
5471         * Makefile.in (ALLDEPFILES): Remove exec.c.
5472         (COMMON_OBS): Remove exec.o.
5473         (COMMON_SFILES): Add exec.c.
5474
5475 2018-07-09  Tom Tromey  <tom@tromey.com>
5476
5477         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
5478
5479 2018-07-09  Tom Tromey  <tom@tromey.com>
5480
5481         * Makefile.in (clean mostlyclean): Remove stamp-version.
5482         (version.c): Depend on stamp-version.
5483         (stamp-version): New rule, from version.c rule.
5484
5485 2018-07-09  Tom Tromey  <tom@tromey.com>
5486
5487         * Makefile.in (init.c): Depend on stamp-init.
5488         (stamp-init): New rule, from init.c rule.
5489         (clean mostlyclean): Remove stamp-init.
5490
5491 2018-07-09  Tom Tromey  <tom@tromey.com>
5492
5493         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
5494         SUBDIR_GCC_COMPILE_SRCS.
5495
5496 2018-07-09  Tom Tromey  <tom@tromey.com>
5497
5498         * Makefile.in (init.c): Remove some unused sed rules.
5499
5500 2018-07-09  Tom Tromey  <tom@tromey.com>
5501
5502         * Makefile.in (TSOBS): Remove.
5503         (INIT_FILES): Update.
5504         (LIBGDB_OBS): Update.
5505         (COMMON_SFILES): Add inflow.c.
5506         (SFILES): Remove inflow.c.
5507
5508 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
5509
5510         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
5511
5512 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
5513
5514         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
5515         get_saveloc_name, is_signal_frame_name, step_name,
5516         init_remote_name, create_addr_space_name,
5517         destroy_addr_space_name, search_unwind_table_name,
5518         find_dyn_list_name): Constify.
5519
5520 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
5521
5522         * darwin-nat.c (darwin_pthread_kill): New function.
5523         (darwin_resume_thread): Use darwin_pthread_kill.
5524
5525 2018-07-05  Tom de Vries  <tdevries@suse.de>
5526
5527         * macroexp.c (macro_buffer) <operator=>: New member function.
5528
5529 2018-07-04  Tom Tromey  <tom@tromey.com>
5530
5531         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
5532
5533 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
5534
5535         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
5536         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
5537         * maint.c: Likewise.
5538         * top.c: Likewise.
5539
5540 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
5541
5542         * NEWS: Create a new section for the next release branch.
5543         Rename the section of the current branch, now that it has
5544         been cut.
5545
5546 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
5547
5548         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
5549         * version.in: Bump version to 8.2.50.DATE-git.
5550
5551 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
5552             Pedro Alves  <palves@redhat.com>
5553
5554         * linux-nat.c (linux_init_ptrace): Rename to ...
5555         (linux_init_ptrace_procfs): ... this.  Call
5556         linux_proc_init_warnings.
5557         (linux_nat_target::post_attach)
5558         (linux_nat_target::post_startup_inferior): Adjust.
5559         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
5560         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
5561
5562 2018-07-04  Tom de Vries  <tdevries@suse.de>
5563
5564         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
5565         check ...
5566         (read_comp_unit_head): ... here.
5567
5568 2018-07-03  Tom Tromey  <tom@tromey.com>
5569
5570         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
5571         (stop_tracing, tstatus_command)
5572         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
5573         (print_one_static_tracepoint_marker): Update.
5574         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
5575         std::vector.
5576         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
5577         VEC.
5578         (all_tracepoints, static_tracepoints_here): Return std::vector.
5579
5580 2018-07-03  Tom Tromey  <tom@tromey.com>
5581
5582         * common/ptid.c (ptid_equal): Remove.
5583         * common/ptid.h (ptid_equal): Don't declare.
5584         * ada-tasks.c: Update.
5585         * breakpoint.c: Update.
5586         * common/agent.c: Update.
5587         * corelow.c: Update.
5588         * darwin-nat-info.c: Update.
5589         * darwin-nat.c: Update.
5590         * dcache.c: Update.
5591         * dtrace-probe.c: Update.
5592         * dummy-frame.c: Update.
5593         * fbsd-nat.c: Update.
5594         * frame.c: Update.
5595         * gdbthread.h: Update.
5596         * gnu-nat.c: Update.
5597         * go32-nat.c: Update.
5598         * inf-loop.c: Update.
5599         * inf-ptrace.c: Update.
5600         * infcall.c: Update.
5601         * infcmd.c: Update.
5602         * inflow.c: Update.
5603         * infrun.c: Update.
5604         * linux-fork.c: Update.
5605         * linux-nat.c: Update.
5606         * linux-thread-db.c: Update.
5607         * mi/mi-cmd-var.c: Update.
5608         * mi/mi-interp.c: Update.
5609         * mi/mi-main.c: Update.
5610         * nto-procfs.c: Update.
5611         * ppc-linux-tdep.c: Update.
5612         * procfs.c: Update.
5613         * python/py-inferior.c: Update.
5614         * python/py-record-btrace.c: Update.
5615         * python/py-record.c: Update.
5616         * ravenscar-thread.c: Update.
5617         * regcache.c: Update.
5618         * remote-sim.c: Update.
5619         * remote.c: Update.
5620         * sol-thread.c: Update.
5621         * solib.c: Update.
5622         * target.c: Update.
5623         * tui/tui-stack.c: Update.
5624         * varobj.c: Update.
5625         * windows-nat.c: Update.
5626         * windows-tdep.c: Update.
5627
5628 2018-07-03  Tom Tromey  <tom@tromey.com>
5629
5630         * common/ptid.c (ptid_match): Remove.
5631         * common/ptid.h (ptid_match): Don't declare.
5632         * fbsd-nat.c: Update.
5633         * infcmd.c: Update.
5634         * infrun.c: Update.
5635         * linux-nat.c: Update.
5636         * record-btrace.c: Update.
5637         * regcache.c: Update.
5638         * remote.c: Update.
5639
5640 2018-07-03  Tom Tromey  <tom@tromey.com>
5641
5642         * common/ptid.c (ptid_tid_p): Remove.
5643         * common/ptid.h (ptid_tid_p): Don't declare.
5644         * sol-thread.c: Update.
5645
5646 2018-07-03  Tom Tromey  <tom@tromey.com>
5647
5648         * common/ptid.c (ptid_lwp_p): Remove.
5649         * common/ptid.h (ptid_lwp_p): Don't declare.
5650         * fbsd-nat.c: Update.
5651         * linux-nat.c: Update.
5652         * nat/linux-procfs.c: Update.
5653         * nat/x86-linux-dregs.c: Update.
5654         * sol-thread.c: Update.
5655
5656 2018-07-03  Tom Tromey  <tom@tromey.com>
5657
5658         * common/ptid.c (ptid_is_pid): Remove.
5659         * common/ptid.h (ptid_is_pid): Don't declare.
5660         * infrun.c: Update.
5661         * linux-nat.c: Update.
5662         * mi/mi-interp.c: Update.
5663         * remote.c: Update.
5664         * thread.c: Update.
5665
5666 2018-07-03  Tom Tromey  <tom@tromey.com>
5667
5668         * common/ptid.c (ptid_get_tid): Remove.
5669         * common/ptid.h (ptid_get_tid): Don't declare.
5670         * ada-tasks.c: Update.
5671         * aix-thread.c: Update.
5672         * bsd-uthread.c: Update.
5673         * darwin-nat.c: Update.
5674         * fbsd-nat.c: Update.
5675         * i386-darwin-nat.c: Update.
5676         * infrun.c: Update.
5677         * linux-tdep.c: Update.
5678         * nto-procfs.c: Update.
5679         * ppc-ravenscar-thread.c: Update.
5680         * python/py-infthread.c: Update.
5681         * ravenscar-thread.c: Update.
5682         * sol-thread.c: Update.
5683         * sparc-ravenscar-thread.c: Update.
5684         * windows-nat.c: Update.
5685
5686 2018-07-03  Tom Tromey  <tom@tromey.com>
5687
5688         * common/ptid.c (ptid_get_lwp): Remove.
5689         * common/ptid.h (ptid_get_lwp): Don't declare.
5690         * aarch64-linux-nat.c: Update.
5691         * ada-tasks.c: Update.
5692         * aix-thread.c: Update.
5693         * amd64-linux-nat.c: Update.
5694         * arm-linux-nat.c: Update.
5695         * corelow.c: Update.
5696         * fbsd-nat.c: Update.
5697         * fbsd-tdep.c: Update.
5698         * gnu-nat.c: Update.
5699         * i386-cygwin-tdep.c: Update.
5700         * i386-gnu-nat.c: Update.
5701         * i386-linux-nat.c: Update.
5702         * ia64-linux-nat.c: Update.
5703         * inf-ptrace.c: Update.
5704         * infrun.c: Update.
5705         * linux-fork.c: Update.
5706         * linux-nat.c: Update.
5707         * linux-tdep.c: Update.
5708         * linux-thread-db.c: Update.
5709         * mips-linux-nat.c: Update.
5710         * nat/aarch64-linux-hw-point.c: Update.
5711         * nat/aarch64-linux.c: Update.
5712         * nat/linux-btrace.c: Update.
5713         * nat/linux-osdata.c: Update.
5714         * nat/linux-procfs.c: Update.
5715         * nat/x86-linux-dregs.c: Update.
5716         * obsd-nat.c: Update.
5717         * ppc-fbsd-nat.c: Update.
5718         * ppc-linux-nat.c: Update.
5719         * procfs.c: Update.
5720         * python/py-infthread.c: Update.
5721         * ravenscar-thread.c: Update.
5722         * remote.c: Update.
5723         * s390-linux-nat.c: Update.
5724         * sol-thread.c: Update.
5725         * sol2-tdep.c: Update.
5726         * spu-linux-nat.c: Update.
5727         * x86-linux-nat.c: Update.
5728         * xtensa-linux-nat.c: Update.
5729
5730 2018-07-03  Tom Tromey  <tom@tromey.com>
5731
5732         * common/ptid.c (ptid_get_pid): Remove.
5733         * common/ptid.h (ptid_get_pid): Don't declare.
5734         * aarch64-linux-nat.c: Update.
5735         * ada-lang.c: Update.
5736         * aix-thread.c: Update.
5737         * alpha-bsd-nat.c: Update.
5738         * amd64-fbsd-nat.c: Update.
5739         * amd64-linux-nat.c: Update.
5740         * arm-linux-nat.c: Update.
5741         * arm-nbsd-nat.c: Update.
5742         * auxv.c: Update.
5743         * break-catch-syscall.c: Update.
5744         * breakpoint.c: Update.
5745         * bsd-uthread.c: Update.
5746         * corelow.c: Update.
5747         * ctf.c: Update.
5748         * darwin-nat.c: Update.
5749         * fbsd-nat.c: Update.
5750         * fbsd-tdep.c: Update.
5751         * gcore.c: Update.
5752         * gnu-nat.c: Update.
5753         * hppa-nbsd-nat.c: Update.
5754         * hppa-obsd-nat.c: Update.
5755         * i386-fbsd-nat.c: Update.
5756         * ia64-linux-nat.c: Update.
5757         * inf-ptrace.c: Update.
5758         * infcmd.c: Update.
5759         * inferior.c: Update.
5760         * inferior.h: Update.
5761         * inflow.c: Update.
5762         * infrun.c: Update.
5763         * linux-fork.c: Update.
5764         * linux-nat.c: Update.
5765         * linux-tdep.c: Update.
5766         * linux-thread-db.c: Update.
5767         * m68k-bsd-nat.c: Update.
5768         * mi/mi-interp.c: Update.
5769         * mi/mi-main.c: Update.
5770         * mips-linux-nat.c: Update.
5771         * mips-nbsd-nat.c: Update.
5772         * mips64-obsd-nat.c: Update.
5773         * nat/aarch64-linux-hw-point.c: Update.
5774         * nat/aarch64-linux.c: Update.
5775         * nat/linux-btrace.c: Update.
5776         * nat/linux-osdata.c: Update.
5777         * nat/linux-procfs.c: Update.
5778         * nat/x86-linux-dregs.c: Update.
5779         * nto-procfs.c: Update.
5780         * obsd-nat.c: Update.
5781         * ppc-linux-nat.c: Update.
5782         * ppc-nbsd-nat.c: Update.
5783         * ppc-obsd-nat.c: Update.
5784         * proc-service.c: Update.
5785         * procfs.c: Update.
5786         * python/py-inferior.c: Update.
5787         * python/py-infthread.c: Update.
5788         * ravenscar-thread.c: Update.
5789         * record.c: Update.
5790         * remote-sim.c: Update.
5791         * remote.c: Update.
5792         * rs6000-nat.c: Update.
5793         * s390-linux-nat.c: Update.
5794         * sh-nbsd-nat.c: Update.
5795         * sol-thread.c: Update.
5796         * sparc-nat.c: Update.
5797         * sparc64-tdep.c: Update.
5798         * spu-linux-nat.c: Update.
5799         * spu-tdep.c: Update.
5800         * target-debug.h: Update.
5801         * target.c: Update.
5802         * thread.c: Update.
5803         * tid-parse.c: Update.
5804         * tracefile-tfile.c: Update.
5805         * vax-bsd-nat.c: Update.
5806         * windows-nat.c: Update.
5807         * x86-linux-nat.c: Update.
5808         * x86-nat.c: Update.
5809
5810 2018-07-03  Tom Tromey  <tom@tromey.com>
5811
5812         * common/ptid.c (pid_to_ptid): Remove.
5813         * common/ptid.h (pid_to_ptid): Don't declare.
5814         * aix-thread.c: Update.
5815         * arm-linux-nat.c: Update.
5816         * common/ptid.c: Update.
5817         * common/ptid.h: Update.
5818         * corelow.c: Update.
5819         * ctf.c: Update.
5820         * darwin-nat.c: Update.
5821         * fbsd-nat.c: Update.
5822         * fork-child.c: Update.
5823         * gnu-nat.c: Update.
5824         * go32-nat.c: Update.
5825         * inf-ptrace.c: Update.
5826         * infcmd.c: Update.
5827         * inferior.c: Update.
5828         * infrun.c: Update.
5829         * linux-fork.c: Update.
5830         * linux-nat.c: Update.
5831         * nat/aarch64-linux-hw-point.c: Update.
5832         * nat/fork-inferior.c: Update.
5833         * nat/x86-linux-dregs.c: Update.
5834         * nto-procfs.c: Update.
5835         * obsd-nat.c: Update.
5836         * procfs.c: Update.
5837         * progspace.c: Update.
5838         * remote.c: Update.
5839         * rs6000-nat.c: Update.
5840         * s390-linux-nat.c: Update.
5841         * sol-thread.c: Update.
5842         * spu-linux-nat.c: Update.
5843         * target.c: Update.
5844         * top.c: Update.
5845         * tracefile-tfile.c: Update.
5846         * windows-nat.c: Update.
5847
5848 2018-07-03  Tom Tromey  <tom@tromey.com>
5849
5850         * common/ptid.h (ptid_build): Don't declare.
5851         * common/ptid.c (ptid_build): Remove.
5852         * aix-thread.c: Update.
5853         * bsd-kvm.c: Update.
5854         * bsd-uthread.c: Update.
5855         * common/agent.c: Update.
5856         * common/ptid.c: Update.
5857         * common/ptid.h: Update.
5858         * corelow.c: Update.
5859         * darwin-nat.c: Update.
5860         * fbsd-nat.c: Update.
5861         * gnu-nat.c: Update.
5862         * linux-fork.c: Update.
5863         * linux-nat.c: Update.
5864         * linux-thread-db.c: Update.
5865         * nat/linux-osdata.c: Update.
5866         * nat/linux-procfs.c: Update.
5867         * nto-procfs.c: Update.
5868         * obsd-nat.c: Update.
5869         * proc-service.c: Update.
5870         * procfs.c: Update.
5871         * ravenscar-thread.c: Update.
5872         * remote-sim.c: Update.
5873         * remote.c: Update.
5874         * sol-thread.c: Update.
5875         * target.c: Update.
5876         * windows-nat.c: Update.
5877
5878 2018-07-03  Tom Tromey  <tom@tromey.com>
5879
5880         * infrun.c (follow_exec): Use exit_inferior_silent.
5881         * inferior.c (exit_inferior_num_silent): Remove.
5882         * inferior.h (exit_inferior_num_silent): Don't declare.
5883
5884 2018-07-03  Tom Tromey  <tom@tromey.com>
5885
5886         PR cli/23340:
5887         * darwin-nat.c (darwin_attach_pid): Reset inferior and
5888         inferior_ptid on error.
5889
5890 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
5891             Simon Marchi  <simon.marchi@polymtl.ca>
5892
5893         PR tdep/8282
5894         * disasm.h (gdb_disassembler): Add
5895         `m_disassembler_options_holder'. member
5896         * disasm.c (get_all_disassembler_options): New function.
5897         (gdb_disassembler::gdb_disassembler): Use it.
5898         (gdb_buffered_insn_length_init_dis): Likewise.
5899         (gdb_buffered_insn_length): Adjust accordingly.
5900         (set_disassembler_options): Handle options with arguments.
5901         (show_disassembler_options_sfunc): Likewise.  Add a leading new
5902         line if showing options with descriptions.
5903         (disassembler_options_completer): Adapt to using the
5904         `disasm_options_and_args_t' structure.
5905         * mips-tdep.c (mips_disassembler_options): New variable.
5906         (mips_disassembler_options_o32): Likewise.
5907         (mips_disassembler_options_n32): Likewise.
5908         (mips_disassembler_options_n64): Likewise.
5909         (gdb_print_insn_mips): Don't set `disassembler_options'.
5910         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
5911         functions.
5912         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
5913         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
5914         `gdbarch_disassembler_options_implicit' and
5915         `gdbarch_valid_disassembler_options'.
5916         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
5917         `disasm_options_and_args_t' structure.
5918         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
5919         method.
5920         (valid_disassembler_options): Switch from `disasm_options_t' to
5921         the `disasm_options_and_args_t' structure.
5922         * NEWS: Document `set disassembler-options' support for the MIPS
5923         target.
5924         * gdbarch.h: Regenerate.
5925         * gdbarch.c: Regenerate.
5926
5927 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5928
5929         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
5930
5931 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
5932
5933         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
5934         parameter in call to amd64_target_description.
5935         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
5936         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
5937         (amd64fbsd_init_abi): Likewise.
5938         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
5939         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
5940         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
5941         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
5942
5943 2018-06-29  Pedro Alves  <palves@redhat.com>
5944
5945         * gdb/amd64-tdep.h (amd64_create_target_description): Add
5946         "segments" parameter.
5947         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
5948         (_initialize_amd64_tdep): Update call to
5949         amd64_create_target_description.
5950         (amd64_target_description): Add "segments" parameter.  Adjust
5951         the implementation to use it.
5952         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
5953         call to amd64_create_target_description.
5954         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
5955         * gdb/arch/amd64.h (amd64_create_target_description): Add
5956         "segments" register.
5957         * gdb/arch/amd64.c (amd64_create_target_description): Add
5958         "segments" parameter.  Call create_feature_i386_64bit_segments
5959         only if SEGMENTS is true.
5960         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
5961         call to amd64_create_target_description.
5962
5963 2018-06-29  Pedro Alves  <palves@redhat.com>
5964
5965         * thread.c (thread_target_id_str): New, factored out from ...
5966         (print_thread_info_1): ... here.  Use it to compute the max
5967         "Target Id" column width.
5968
5969 2018-06-29  Pedro Alves  <palves@redhat.com>
5970
5971         * remote.c (remote_target::extra_thread_info): Delete
5972         'display_buf' and 'n' locals.  from the cache, regardless of
5973         packet mechanims is in use.  Use cache for qThreadExtra and qP
5974         methods too.
5975
5976 2018-06-29  Pedro Alves  <palves@redhat.com>
5977
5978         * blockframe.c (find_pc_sect_containing_function): New function.
5979         * breakpoint.c (print_breakpoint_location): Don't call
5980         find_pc_sect_function.
5981         * linespec.c (create_sals_line_offset): Record the location's
5982         symbol in the sal.
5983         * linespec.c (convert_address_location_to_sals): Fill in sal's
5984         symbol with find_pc_sect_containing_function.
5985         * symtab.c (find_function_start_sal): Rename to ...
5986         (find_function_start_sal_1): ... this.
5987         (find_function_start_sal): Reimplement as wrapper around
5988         find_function_start_sal_1, and use
5989         find_pc_sect_containing_function to fill in the sal's symbol.
5990         (find_function_start_sal(symbol*, bool)): Adjust.
5991         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
5992         comments.
5993         (find_pc_sect_containing_function): Declare.
5994
5995 2018-06-29  Pedro Alves  <palves@redhat.com>
5996
5997         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
5998         true if the the location has no symbol.
5999
6000 2018-06-28  Tom Tromey  <tom@tromey.com>
6001
6002         * NEWS: Mention --enable-codesign.
6003         * silent-rules.mk (ECHO_SIGN): New variable.
6004         * configure.ac: Add --enable-codesign.
6005         * configure: Rebuild.
6006         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
6007         (gdb$(EXEEXT)): Optionally invoke codesign.
6008
6009 2018-06-28  Pedro Alves  <palves@redhat.com>
6010
6011         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
6012         comments.
6013         (switch_to_thread_no_regs): Adjust comment.
6014         * infcmd.c (stop_pc): Delete.
6015         (post_create_inferior, info_program_command): Replace references
6016         to stop_pc with references to thread_info->suspend.stop_pc.
6017         * inferior.h (stop_pc): Delete declaration.
6018         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
6019         (handle_inferior_event_1, handle_signal_stop)
6020         (process_event_stop_test, keep_going_stepped_thread)
6021         (handle_step_into_function, handle_step_into_function_backward)
6022         (print_stop_location): Replace references to stop_pc with
6023         references to thread_info->suspend.stop_pc.
6024         (struct infcall_suspend_state) <stop_pc>: Delete field.
6025         (save_infcall_suspend_state, restore_infcall_suspend_state):
6026         Remove references to inf_stat->stop_pc.
6027         * linux-fork.c (fork_load_infrun_state): Likewise.
6028         * record-btrace.c (record_btrace_set_replay): Likewise.
6029         * record-full.c (record_full_goto_entry): Likewise.
6030         * remote.c (print_one_stopped_thread): Likewise.
6031         * target.c (target_resume): Extend comment.
6032         * thread.c (set_executing_thread): New.
6033         (set_executing): Use it.
6034         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
6035         Remove references to stop_pc.
6036
6037 2018-06-28  Pedro Alves  <palves@redhat.com>
6038
6039         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
6040         Moving fetching stop_pc until after ecs->event_thread is refreshed.
6041
6042 2018-06-28  Tom Tromey  <tom@tromey.com>
6043
6044         * coffread.c (coff_symfile_finish): Update.
6045         * xcoffread.c (xcoff_symfile_finish): Update.
6046         * elfread.c (elf_symfile_finish): Update.
6047         * symfile.h (dwarf2_free_objfile): Don't declare.
6048         * dwarf2read.c (_initialize_dwarf2_read): Use
6049         register_objfile_data_with_cleanup.
6050         (dwarf2_free_objfile): Now static.  Change signature.
6051
6052 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
6053
6054         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
6055         option "-o" to add-symbol-file-load to add an offset to each
6056         section's load address.
6057         * symfile.c (set_objfile_default_section_offset): New function.
6058
6059 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
6060
6061         * symfile.c (add_symbol_file_command): Make sure that sections
6062         with the same name are sorted in the same order.
6063
6064 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
6065
6066         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
6067         require the second argument.  If omitted, load sections at the
6068         addresses specified in the file.
6069
6070 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
6071
6072         * symfile.c (symbol_file_command, symbol_file_add_main_1)
6073         (_initialize_symfile): Add option "-o" to symbol-file to add an
6074         offset to each section of the symbol file.
6075
6076 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
6077
6078         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
6079
6080 2018-06-27  Tom Tromey  <tom@tromey.com>
6081
6082         * stack.c (_initialize_stack): Update "func" help text.
6083
6084 2018-06-27  Tom Tromey  <tom@tromey.com>
6085
6086         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
6087         std::vector.
6088         (unwind_infopy_str, pyuw_create_unwind_info)
6089         (unwind_infopy_add_saved_register, pyuw_sniffer)
6090         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
6091         Update.
6092         (struct saved_reg): Add constructor.
6093         <value>: Now a gdbpy_ref<>.
6094
6095 2018-06-27  Tom Tromey  <tom@tromey.com>
6096
6097         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
6098
6099 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6100
6101         * gdb-gdb.py.in: Format using autopep8.
6102
6103 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6104
6105         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
6106         (type_lookup_function): Recognize CORE_ADDR values.
6107
6108 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6109
6110         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
6111         print tag_name.
6112
6113 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6114
6115         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
6116         <__lt__>: Add.
6117
6118 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6119
6120         * gdb-gdb.py: Move to...
6121         * gdb-gdb.py.in: ... here.
6122         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
6123         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
6124         dependencies.
6125         (distclean): Remove gdb-gdb.py when cleaning.
6126         (gdb-gdb.py, gdb-gdb.gdb): New rules.
6127         * configure: Re-generate.
6128
6129 2018-06-27  Pedro Alves  <palves@redhat.com>
6130
6131         * proc-service.c (get_ps_regcache): New.
6132         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
6133         (ps_lsetfpregs): Use it.
6134
6135 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
6136
6137         PR gdb/21695
6138         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
6139         (dwarf_decode_lines_1): Adjust.
6140
6141 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
6142
6143         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
6144         override.
6145         <info_proc>: Likewise.
6146
6147 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
6148
6149         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
6150         to windows_fetch_one_register, and only handle the case of
6151         fetching one register.  Move the code that reloads the context
6152         and iterates over all registers if R is negative to...
6153         (windows_nat_target::fetch_registers): ... here.
6154         (do_windows_store_inferior_registers): Rename to
6155         windows_store_one_register, and only handle the case of storing
6156         one register.  Move the code that handles the case where r is
6157         negative to...
6158         (windows_nat_target::store_registers) ... here.
6159
6160 2018-06-26  Tom Tromey  <tom@tromey.com>
6161
6162         PR rust/22574:
6163         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
6164         * rust-lang.c (rust_print_struct_def): Add podata parameter.
6165         Update.
6166         (rust_internal_print_type): Add podata parameter.
6167         (rust_print_type): Update.
6168
6169 2018-06-26  Tom Tromey  <tom@tromey.com>
6170
6171         * typeprint.h (struct print_offset_data) <update, finish,
6172         maybe_print_hole>: New methods.
6173         <indentation>: New constant.
6174         * typeprint.c (print_offset_data::indentation): Define.
6175         (print_offset_data::maybe_print_hole, print_offset_data::update)
6176         (print_offset_data::finish): Move from c-typeprint.c and rename.
6177         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
6178         (print_spaces_filtered_with_print_options): Update.
6179         (c_print_type_union_field_offset, maybe_print_hole)
6180         (c_print_type_struct_field_offset): Move to typeprint.c and
6181         rename.
6182         (c_type_print_base_struct_union): Update.
6183
6184 2018-06-25  Pedro Alves  <palves@redhat.com>
6185
6186         * gdbthread.h (thread_info_ref, delete_thread)
6187         (delete_thread_silent, first_thread_of_inferior)
6188         (any_thread_of_inferior, switch_to_thread)
6189         (enable_thread_stack_temporaries)
6190         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
6191         (get_last_thread_stack_temporary)
6192         (value_in_thread_stack_temporaries, can_access_registers_thread):
6193         Spell out "struct thread_info" instead of just "thread_info".
6194         * inferior.h (notice_new_inferior): Likewise.
6195
6196 2018-06-25  Pedro Alves  <palves@redhat.com>
6197
6198         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
6199         pass thread_info pointer to delete_thread.
6200         (windows_nat_target::detach): Pass inferior pointer to
6201         detach_inferior.
6202         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
6203         delete_thread.
6204         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
6205         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
6206         and pass a thread_info pointer to delete_thread.
6207         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
6208         pass thread_info pointer to delete_thread.
6209         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
6210         delete_thread_silent call.
6211         * procfs.c (procfs_target::detach): Pass inferior pointer to
6212         detach_inferior.
6213         (procfs_target::wait): Pass thread_info pointer to delete_thread.
6214         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
6215         delete_thread_silent call.
6216         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
6217         pass thread_info pointer to delete_thread.
6218         (windows_nat_target::detach): Pass inferior pointer to
6219         delete_inferior.
6220
6221 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
6222
6223         * regcache.c (readable_regcache::read_part): Fix asserts.
6224         (reg_buffer::raw_collect_part): New function.
6225         (regcache::write_part): Fix asserts.
6226         (reg_buffer::raw_supply_part): New function.
6227         (regcache::transfer_regset_register): New helper function.
6228         (regcache::transfer_regset): Call new functions.
6229         (regcache_supply_regset): Use gdb_byte*.
6230         (regcache::supply_regset): Likewise.
6231         (regcache_collect_regset): Likewise.
6232         (regcache::collect_regset): Likewise.
6233         * regcache.h (reg_buffer::raw_collect_part): New declaration.
6234         (reg_buffer::raw_supply_part): Likewise.
6235         (regcache::transfer_regset_register): Likewise.
6236         (regcache::transfer_regset): Use gdb_byte*.
6237
6238 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
6239
6240         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
6241
6242 2018-06-21  Pedro Alves  <palves@redhat.com>
6243
6244         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
6245         instead of a ptid_t.  All callers adjusted.
6246         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
6247         adjusted.
6248         (print_ada_task_info, display_current_task_id, task_command_1):
6249         Adjust.
6250         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
6251         inferior_thread.
6252         (breakpoint_kind): Adjust.
6253         (remove_breakpoints_pid): Rename to ...
6254         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
6255         pointer.  All callers adjusted.
6256         (bpstat_clear_actions): Use inferior_thread.
6257         (get_bpstat_thread): New.
6258         (bpstat_do_actions): Use it.
6259         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
6260         to take a thread_info pointer.  All callers adjusted.
6261         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
6262         (breakpoint_re_set_thread): Use inferior_thread.
6263         * breakpoint.h (struct inferior): Forward declare.
6264         (bpstat_stop_status): Update.
6265         (remove_breakpoints_pid): Delete.
6266         (remove_breakpoints_inf): New.
6267         * bsd-uthread.c (bsd_uthread_target::wait)
6268         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
6269         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
6270         (maint_btrace_packet_history_cmd)
6271         (maint_btrace_clear_packet_history_cmd): Adjust.
6272         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
6273         inferior_thread.
6274         * cli/cli-interp.c: Include "inferior.h".
6275         * common/refcounted-object.h (struct
6276         refcounted_object_ref_policy): New.
6277         * compile/compile-object-load.c: Include gdbthread.h.
6278         (store_regs): Use inferior_thread.
6279         * corelow.c (core_target::close): Use current_inferior.
6280         (core_target_open): Adjust to use first_thread_of_inferior and use
6281         the current inferior.
6282         * ctf.c (ctf_target::close): Adjust to use current_inferior.
6283         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
6284         <thread>: ... this new field.  All references adjusted.
6285         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
6286         Take a thread_info pointer instead of a ptid_t.
6287         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
6288         (dummy_frame_discard, register_dummy_frame_dtor): Take a
6289         thread_info pointer instead of a ptid_t.
6290         * elfread.c: Include "inferior.h".
6291         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
6292         Use inferior_thread.
6293         * eval.c (evaluate_subexp): Likewise.
6294         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
6295         inferior_thread.
6296         * gdb_proc_service.h (struct thread_info): Forward declare.
6297         (struct ps_prochandle) <ptid>: Delete, replaced by ...
6298         <thread>: ... this new field.  All references adjusted.
6299         * gdbarch.h, gdbarch.c: Regenerate.
6300         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
6301         'thread' parameter.  All implementations and callers adjusted.
6302         * gdbthread.h (thread_info) <set_running>: New method.
6303         (delete_thread, delete_thread_silent): Take a thread_info pointer
6304         instead of a ptid.
6305         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
6306         (first_thread_of_process): Delete, replaced by ...
6307         (first_thread_of_inferior): ... this new function.  All callers
6308         adjusted.
6309         (any_live_thread_of_process): Delete, replaced by ...
6310         (any_live_thread_of_inferior): ... this new function.  All callers
6311         adjusted.
6312         (switch_to_thread, switch_to_no_thread): Declare.
6313         (is_executing): Delete.
6314         (enable_thread_stack_temporaries): Update comment.
6315         <enable_thread_stack_temporaries>: Take a thread_info pointer
6316         instead of a ptid_t.  Incref the thread.
6317         <~enable_thread_stack_temporaries>: Decref the thread.
6318         <m_ptid>: Delete
6319         <m_thr>: New.
6320         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
6321         (get_last_thread_stack_temporary)
6322         (value_in_thread_stack_temporaries, can_access_registers_thread):
6323         Take a thread_info pointer instead of a ptid_t.  All callers
6324         adjusted.
6325         * infcall.c (get_call_return_value): Use inferior_thread.
6326         (run_inferior_call): Work with thread pointers instead of ptid_t.
6327         (call_function_by_hand_dummy): Work with thread pointers instead
6328         of ptid_t.  Use thread_info_ref.
6329         * infcmd.c (proceed_thread_callback): Access thread's state
6330         directly.
6331         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
6332         access thread's state directly.
6333         (continue_command): Use inferior_thread.
6334         (info_program_command): Use find_thread_ptid and access thread
6335         state directly.
6336         (proceed_after_attach_callback): Use thread state directly.
6337         (notice_new_inferior): Take a thread_info pointer instead of a
6338         ptid_t.  All callers adjusted.
6339         (exit_inferior): Take an inferior pointer instead of a pid.  All
6340         callers adjusted.
6341         (exit_inferior_silent): New.
6342         (detach_inferior): Delete.
6343         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
6344         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
6345         (detach_inferior_command, kill_inferior_command): Use
6346         find_inferior_id instead of valid_gdb_inferior_id and
6347         gdb_inferior_id_to_pid.
6348         (inferior_command): Use inferior and thread pointers.
6349         * inferior.h (struct thread_info): Forward declare.
6350         (notice_new_inferior): Take a thread_info pointer instead of a
6351         ptid_t.  All callers adjusted.
6352         (detach_inferior): Delete declaration.
6353         (exit_inferior, exit_inferior_silent): Take an inferior pointer
6354         instead of a pid.  All callers adjusted.
6355         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
6356         (valid_gdb_inferior_id): Delete.
6357         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
6358         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
6359         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
6360         ...
6361         <inf>: ... this new field.
6362         <step_ptid>: Delete, replaced by ...
6363         <step_thread>: ... this new field.
6364         (get_displaced_stepping_state): Take an inferior pointer instead
6365         of a pid.  All callers adjusted.
6366         (displaced_step_in_progress_any_inferior): Adjust.
6367         (displaced_step_in_progress_thread): Take a thread pointer instead
6368         of a ptid_t.  All callers adjusted.
6369         (displaced_step_in_progress, add_displaced_stepping_state): Take
6370         an inferior pointer instead of a pid.  All callers adjusted.
6371         (get_displaced_step_closure_by_addr): Adjust.
6372         (remove_displaced_stepping_state): Take an inferior pointer
6373         instead of a pid.  All callers adjusted.
6374         (displaced_step_prepare_throw, displaced_step_prepare)
6375         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
6376         All callers adjusted.
6377         (start_step_over): Adjust.
6378         (infrun_thread_ptid_changed): Remove bit updating ptids in the
6379         displaced step queue.
6380         (do_target_resume): Adjust.
6381         (fetch_inferior_event): Use inferior_thread.
6382         (context_switch, get_inferior_stop_soon): Take an
6383         execution_control_state pointer instead of a ptid_t.  All callers
6384         adjusted.
6385         (switch_to_thread_cleanup): Delete.
6386         (stop_all_threads): Use scoped_restore_current_thread.
6387         * inline-frame.c: Include "gdbthread.h".
6388         (inline_state) <inline_state>: Take a thread pointer instead of a
6389         ptid_t.  All callers adjusted.
6390         <ptid>: Delete, replaced by ...
6391         <thread>: ... this new field.
6392         (find_inline_frame_state): Take a thread pointer instead of a
6393         ptid_t.  All callers adjusted.
6394         (skip_inline_frames, step_into_inline_frame)
6395         (inline_skipped_frames, inline_skipped_symbol): Take a thread
6396         pointer instead of a ptid_t.  All callers adjusted.
6397         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
6398         (inline_skipped_frames, inline_skipped_symbol): Likewise.
6399         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
6400         pointers directly.
6401         * linux-nat.c (get_detach_signal): Likewise.
6402         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
6403         (thread_db_notice_clone): Adjust.
6404         (thread_db_find_new_threads_silently)
6405         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
6406         a thread pointer instead of a ptid_t.  All callers adjusted.
6407         * mi/mi-cmd-var.c: Include "inferior.h".
6408         (mi_cmd_var_update_iter): Update to use thread pointers.
6409         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
6410         inferior directly.
6411         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
6412         out to ...
6413         (mi_output_running): ... this new function.
6414         (mi_on_resume_1): Adjust to use it.
6415         (mi_user_selected_context_changed): Adjust to use inferior_thread.
6416         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
6417         directly.
6418         (interrupt_thread_callback): : Adjust to use thread and inferior
6419         pointers.
6420         * proc-service.c: Include "gdbthread.h".
6421         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
6422         * progspace-and-thread.c: Include "inferior.h".
6423         * progspace.c: Include "inferior.h".
6424         * python/py-exitedevent.c (create_exited_event_object): Adjust to
6425         hold a reference to an inferior_object.
6426         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
6427         inferior_thread.
6428         * python/py-inferior.c (struct inferior_object): Give the type a
6429         tag name instead of a typedef.
6430         (python_on_normal_stop): No need to check if the current thread is
6431         listed.
6432         (inferior_to_inferior_object): Change return type to
6433         inferior_object.  All callers adjusted.
6434         (find_thread_object): Delete, bits factored out to ...
6435         (thread_to_thread_object): ... this new function.
6436         * python/py-infthread.c (create_thread_object): Use
6437         inferior_to_inferior_object.
6438         (thpy_is_stopped): Use thread pointer directly.
6439         (gdbpy_selected_thread): Use inferior_thread.
6440         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
6441         field, replaced with ...
6442         <thread>: ... this new field.  All users adjusted.
6443         (btpy_insn_or_gap_new): Drop const.
6444         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
6445         callers adjusted.
6446         * python/py-record.c: Include "gdbthread.h".
6447         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
6448         a ptid_t.  All callers adjusted.
6449         (gdbpy_current_recording): Use inferior_thread.
6450         * python/py-record.h (recpy_record_object) <ptid>: Delete
6451         field, replaced with ...
6452         <thread>: ... this new field.  All users adjusted.
6453         (recpy_element_object) <ptid>: Delete
6454         field, replaced with ...
6455         <thread>: ... this new field.  All users adjusted.
6456         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
6457         a ptid_t.  All callers adjusted.
6458         * python/py-threadevent.c: Include "gdbthread.h".
6459         (get_event_thread): Use thread_to_thread_object.
6460         * python/python-internal.h (struct inferior_object): Forward
6461         declare.
6462         (find_thread_object, find_inferior_object): Delete declarations.
6463         (thread_to_thread_object, inferior_to_inferior_object): New
6464         declarations.
6465         * record-btrace.c: Include "inferior.h".
6466         (require_btrace_thread): Use inferior_thread.
6467         (record_btrace_frame_sniffer)
6468         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
6469         (get_thread_current_frame): Use scoped_restore_current_thread and
6470         switch_to_thread.
6471         (get_thread_current_frame): Use thread pointer directly.
6472         (record_btrace_replay_at_breakpoint): Use thread's inferior
6473         pointer directly.
6474         * record-full.c: Include "inferior.h".
6475         * regcache.c: Include "gdbthread.h".
6476         (get_thread_arch_regcache): Use the inferior's address space
6477         directly.
6478         (get_thread_regcache, registers_changed_thread): New.
6479         * regcache.h (get_thread_regcache(thread_info *thread)): New
6480         overload.
6481         (registers_changed_thread): New.
6482         (remote_target) <remote_detach_1>: Swap order of parameters.
6483         (remote_add_thread): <remote_add_thread>: Return the new thread.
6484         (get_remote_thread_info(ptid_t)): New overload.
6485         (remote_target::remote_notice_new_inferior): Use thread pointers
6486         directly.
6487         (remote_target::process_initial_stop_replies): Use
6488         thread_info::set_running.
6489         (remote_target::remote_detach_1, remote_target::detach)
6490         (extended_remote_target::detach): Adjust.
6491         * stack.c (frame_show_address): Use inferior_thread.
6492         * target-debug.h (target_debug_print_thread_info_pp): New.
6493         * target-delegates.c: Regenerate.
6494         * target.c (default_thread_address_space): Delete.
6495         (memory_xfer_partial_1): Use current_inferior.
6496         (target_detach): Use current_inferior.
6497         (target_thread_address_space): Delete.
6498         (generic_mourn_inferior): Use current_inferior.
6499         * target.h (struct target_ops) <thread_address_space>: Delete.
6500         (target_thread_address_space): Delete.
6501         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
6502         pointers directly.
6503         (delete_thread_1, delete_thread, delete_thread_silent): Take a
6504         thread pointer instead of a ptid_t.  Adjust all callers.
6505         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
6506         (first_thread_of_process): Delete, replaced by ...
6507         (first_thread_of_inferior): ... this new function.  All callers
6508         adjusted.
6509         (any_thread_of_process): Rename to ...
6510         (any_thread_of_inferior): ... this, and take an inferior pointer.
6511         (any_live_thread_of_process): Rename to ...
6512         (any_live_thread_of_inferior): ... this, and take an inferior
6513         pointer.
6514         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
6515         (value_in_thread_stack_temporaries)
6516         (get_last_thread_stack_temporary): Take a thread pointer instead
6517         of a ptid_t.  Adjust all callers.
6518         (thread_info::set_running): New.
6519         (validate_registers_access): Use inferior_thread.
6520         (can_access_registers_ptid): Rename to ...
6521         (can_access_registers_thread): ... this, and take a thread
6522         pointer.
6523         (print_thread_info_1): Adjust to compare thread pointers instead
6524         of ptids.
6525         (switch_to_no_thread, switch_to_thread): Make extern.
6526         (scoped_restore_current_thread::~scoped_restore_current_thread):
6527         Use m_thread pointer directly.
6528         (scoped_restore_current_thread::scoped_restore_current_thread):
6529         Use inferior_thread.
6530         (thread_command): Use thread pointer directly.
6531         (thread_num_make_value_helper): Use inferior_thread.
6532         * top.c (execute_command): Use inferior_thread.
6533         * tui/tui-interp.c: Include "inferior.h".
6534         * varobj.c (varobj_create): Use inferior_thread.
6535         (value_of_root_1): Use find_thread_global_id instead of
6536         global_thread_id_to_ptid.
6537
6538 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
6539
6540         * regcache.c (readable_regcache::read_part): Avoid memcpy when
6541         possible.
6542         (regcache::write_part): Likewise.
6543         (readable_regcache::cooked_read_part): Update comment.
6544         (readable_regcache::cooked_write_part): Likewise.
6545         * regcache.h: (readable_regcache::read_part): Likewise.
6546         (regcache::write_part): Likewise.
6547
6548 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
6549             Dirk Schubert  <dirk.schubert@arm.com>
6550
6551         * aarch64-linux-nat.c (post_attach): New.
6552         (aarch64_linux_nat_target::post_attach): Override post_attach to
6553         record the number of hardware debug registers.
6554
6555 2018-06-20  Tom Tromey  <tom@tromey.com>
6556
6557         * python/py-param.c (add_setshow_generic): Make parameters const.
6558         (parmpy_init): Update.
6559
6560 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
6561
6562         * regcache.h (regcache_cooked_read_ftype): Rename to...
6563         (register_read_ftype): ...this, change type to function_view.
6564         (class reg_buffer) <save>: Remove src parameter.
6565         (readonly_detached_regcache) <readonly_detached_regcache>: Make
6566         parameter non-const in first overload.  Remove src parameter in
6567         second overload.
6568         * regcache.c (do_cooked_read): Remove.
6569         (readonly_detached_regcache::readonly_detached_regcache): Make
6570         parameter non-const, adjust call to other constructor.
6571         (reg_buffer::save): Remove src parameter.
6572         * frame.c (do_frame_register_read): Remove.
6573         (frame_save_as_regcache): Use lambda function.
6574         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
6575         parameter to ppu2spu_data *.
6576         (ppu2spu_sniffer): Use lambda function.
6577
6578 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
6579
6580         * record-full.c (record_full_target::insert_breakpoint): Remove
6581         "struct" keyword, add const.
6582
6583 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
6584
6585         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
6586         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
6587         * configure.ac: Remove AC_PREREQ, add missing quoting.
6588         * gnulib/configure.ac: Modernize usage of
6589         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
6590         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
6591         (AUTOMAKE_VERSION): Bump to 1.15.1.
6592         * configure: Re-generate.
6593         * config.in: Re-generate.
6594         * aclocal.m4: Re-generate.
6595         * gnulib/aclocal.m4: Re-generate.
6596         * gnulib/config.in: Re-generate.
6597         * gnulib/configure: Re-generate.
6598         * gnulib/import/Makefile.in: Re-generate.
6599
6600 2018-06-19  Pedro Alves  <palves@redhat.com>
6601
6602         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
6603         (lookup_minimal_symbol_by_pc_section): ... here with
6604         gdb_assert_not_reached added.
6605
6606 2018-06-19  Pedro Alves  <palves@redhat.com>
6607
6608         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
6609         parameter with a block parameter.  Compare location's block symbol
6610         with the frame's block instead of addresses.
6611         (skip_inline_frames): Pass the current block instead of the
6612         frame's address.  Break out as soon as we determine the frame
6613         should not be skipped.
6614
6615 2018-06-18  Tom Tromey  <tom@tromey.com>
6616
6617         * solib-aix.c (solib_aix_get_section_offsets): Return
6618         unique_xmalloc_ptr.
6619         (solib_aix_solib_create_inferior_hook): Update.
6620
6621 2018-06-18  Tom Tromey  <tom@tromey.com>
6622
6623         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
6624
6625 2018-06-18  Tom Tromey  <tom@tromey.com>
6626
6627         * solib-frv.c (frv_relocate_main_executable): Use
6628         unique_xmalloc_ptr.
6629         * solib-dsbt.c (dsbt_relocate_main_executable): Use
6630         unique_xmalloc_ptr.
6631
6632 2018-06-18  Tom Tromey  <tom@tromey.com>
6633
6634         * objfiles.h (inhibit_section_map_updates): Update.
6635         (resume_section_map_updates, resume_section_map_updates_cleanup):
6636         Remove.
6637         * solib-svr4.c (svr4_handle_solib_event): Update.
6638         * objfiles.c (inhibit_section_map_updates): Return
6639         scoped_restore_tmpl<int>.
6640         (resume_section_map_updates, resume_section_map_updates_cleanup):
6641         Remove.
6642
6643 2018-06-18  Tom Tromey  <tom@tromey.com>
6644
6645         * valprint.h (read_string): Update.
6646         * valprint.c (read_string): Change type of "buffer".
6647         (val_print_string): Update.
6648         * python/py-value.c (valpy_string): Update.
6649         * language.h (struct language_defn) <la_get_string>: Change
6650         type of "buffer".
6651         (default_get_string, c_get_string): Update.
6652         * language.c (default_get_string): Change type of "buffer".
6653         * guile/scm-value.c (gdbscm_value_to_string): Update.
6654         * c-lang.c (c_get_string): Change type of "buffer".
6655
6656 2018-06-18  Tom Tromey  <tom@tromey.com>
6657
6658         * ser-mingw.c (struct pipe_state_destroyer): New.
6659         (pipe_state_up): New typedef.
6660         (cleanup_pipe_state): Remove.
6661         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
6662
6663 2018-06-18  Tom Tromey  <tom@tromey.com>
6664
6665         * rust-lang.h (rust_yyerror): Don't declare.
6666         * rust-lang.c (rust_language_defn): Update.
6667         * rust-exp.y (yyerror): Now static.
6668         * parse.c (parse_exp_in_context_1): Update.
6669         * p-lang.h (p_yyerror): Don't declare.
6670         * p-lang.c (p_language_defn): Update.
6671         * p-exp.y (yyerror): Now static.
6672         * opencl-lang.c (opencl_language_defn): Update.
6673         * objc-lang.c (objc_language_defn): Update.
6674         * m2-lang.h (m2_yyerror): Don't declare.
6675         * m2-lang.c (m2_language_defn): Update.
6676         * m2-exp.y (yyerror): Now static.
6677         * language.h (struct language_defn) <la_error>: Remove.
6678         * language.c (unk_lang_error): Remove.
6679         (unknown_language_defn, auto_language_defn): Remove.
6680         * go-lang.h (go_yyerror): Don't declare.
6681         * go-lang.c (go_language_defn): Update.
6682         * go-exp.y (yyerror): Now static.
6683         * f-lang.h (f_yyerror): Don't declare.
6684         * f-lang.c (f_language_defn): Update.
6685         * f-exp.y (yyerror): Now static.
6686         * d-lang.h (d_yyerror): Don't declare.
6687         * d-lang.c (d_language_defn): Update.
6688         * d-exp.y (yyerror): Now static.
6689         * c-lang.h (c_yyerror): Don't declare.
6690         * c-lang.c (c_language_defn, cplus_language_defn)
6691         (asm_language_defn, minimal_language_defn): Update.
6692         * c-exp.y (yyerror): Now static.
6693         * ada-lang.h (ada_yyerror): Don't declare.
6694         * ada-lang.c (ada_language_defn): Update.
6695         * ada-exp.y (yyerror): Now static.
6696
6697 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
6698
6699         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
6700         (store_sveregs_to_thread): Likewise.
6701         (aarch64_linux_fetch_inferior_registers): Check for SVE.
6702         (aarch64_linux_store_inferior_registers): Likewise.
6703         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
6704         function.
6705         (aarch64_sve_regs_copy_to_regcache): Likewise.
6706         (aarch64_sve_regs_copy_from_regcache): Likewise.
6707         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
6708         declaration.
6709         (aarch64_sve_regs_copy_to_regcache): Likewise.
6710         (aarch64_sve_regs_copy_from_regcache): Likewise.
6711         (sve_context): Structure from Linux headers.
6712         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
6713         (SVE_SIG_ZREG_SIZE): Likewise.
6714         (SVE_SIG_PREG_SIZE): Likewise.
6715         (SVE_SIG_FFR_SIZE): Likewise.
6716         (SVE_SIG_REGS_OFFSET): Likewise.
6717         (SVE_SIG_ZREGS_OFFSET): Likewise.
6718         (SVE_SIG_ZREG_OFFSET): Likewise.
6719         (SVE_SIG_ZREGS_SIZE): Likewise.
6720         (SVE_SIG_PREGS_OFFSET): Likewise.
6721         (SVE_SIG_PREG_OFFSET): Likewise.
6722         (SVE_SIG_PREGS_SIZE): Likewise.
6723         (SVE_SIG_FFR_OFFSET): Likewise.
6724         (SVE_SIG_REGS_SIZE): Likewise.
6725         (SVE_SIG_CONTEXT_SIZE): Likewise.
6726         (SVE_PT_REGS_MASK): Likewise.
6727         (SVE_PT_REGS_FPSIMD): Likewise.
6728         (SVE_PT_REGS_SVE): Likewise.
6729         (SVE_PT_VL_INHERIT): Likewise.
6730         (SVE_PT_VL_ONEXEC): Likewise.
6731         (SVE_PT_REGS_OFFSET): Likewise.
6732         (SVE_PT_FPSIMD_OFFSET): Likewise.
6733         (SVE_PT_FPSIMD_SIZE): Likewise.
6734         (SVE_PT_SVE_ZREG_SIZE): Likewise.
6735         (SVE_PT_SVE_PREG_SIZE): Likewise.
6736         (SVE_PT_SVE_FFR_SIZE): Likewise.
6737         (SVE_PT_SVE_FPSR_SIZE): Likewise.
6738         (SVE_PT_SVE_FPCR_SIZE): Likewise.
6739         (__SVE_SIG_TO_PT): Likewise.
6740         (SVE_PT_SVE_OFFSET): Likewise.
6741         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
6742         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
6743         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
6744         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
6745         (SVE_PT_SVE_PREG_OFFSET): Likewise.
6746         (SVE_PT_SVE_PREGS_SIZE): Likewise.
6747         (SVE_PT_SVE_FFR_OFFSET): Likewise.
6748         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
6749         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
6750         (SVE_PT_SVE_SIZE): Likewise.
6751         (SVE_PT_SIZE): Likewise.
6752         (HAS_SVE_STATE): New define.
6753
6754 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
6755
6756         * nat/aarch64-sve-linux-sigcontext.h: New file.
6757         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
6758         new files.
6759         (SVE_VQ_MIN): Likewise.
6760         (SVE_VQ_MAX): Likewise.
6761         (SVE_VL_MIN): Likewise.
6762         (SVE_VL_MAX): Likewise.
6763         (SVE_NUM_ZREGS): Likewise.
6764         (SVE_NUM_PREGS): Likewise.
6765         (sve_vl_valid): Likewise.
6766         (struct user_sve_header): Likewise.
6767
6768 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
6769             Richard Bunt <Richard.Bunt@arm.com>
6770
6771         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
6772         was requested by GDB.
6773
6774 2018-06-15  Tom de Vries  <tdevries@suse.de>
6775
6776         * MAINTAINERS (Write After Approval): Add Tom de Vries.
6777
6778 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
6779
6780         * gnulib/update-gnulib.sh: Print expected versions of
6781         autoconf/aclocal.
6782
6783 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
6784
6785         * arch-utils.c (default_type_align): Use type_length_units.
6786         * gdbtypes.c (type_align): Use type_length_units.
6787
6788 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6789
6790         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
6791         of 'define' command.
6792
6793 2018-06-14  Tom de Vries  <tdevries@suse.de>
6794
6795         PR cli/22573
6796         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
6797         get_no_prettyformat_print_options.
6798
6799 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
6800
6801         * sparc-nat.h: Include target.h.
6802         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
6803         <fetch_registers>: Remove this argument in function call.
6804         <store_registers>: Remove this argument in function call, remove
6805         extra semicolon.
6806         <low_forget_process>: Call sparc64_forget_process instead of
6807         sparc_forget_process.
6808
6809 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6810
6811         * procfs.c (_initialize_procfs): Use add_inf_child_target.
6812         (procfs_target::make_corefile_notes): Adjust to new
6813         target_read_alloc return type.
6814
6815 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6816             Stephen Roberts  <stephen.roberts@arm.com>
6817
6818         PR gdb/22882
6819         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
6820         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
6821         Move should_notify_stop local into more inner scope.
6822
6823 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6824             Stephen Roberts  <stephen.roberts@arm.com>
6825
6826         PR gdb/22882
6827         * infrun.c (resume_1): Add call to mark_async_event_handler.
6828
6829 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6830
6831         * infrun.c (do_target_wait): Change old version of $pc printed.
6832
6833 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
6834
6835         * dwarf2read.c (read_index_from_section): Rename to...
6836         (read_gdb_index_from_section): ... this, update all callers.
6837         (dwarf2_read_index): Rename to...
6838         (dwarf2_read_gdb_index): ... this, update all callers.
6839
6840 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
6841
6842         * gdb/hppa-linux-nat.c
6843         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
6844         hppa_linux_nat_target::fetch_registers.
6845
6846 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6847
6848         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
6849         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
6850         (AARCH64_DWARF_SVE_FFR): Likewise.
6851         (AARCH64_DWARF_SVE_P0): Likewise.
6852         (AARCH64_DWARF_SVE_Z0): Likewise.
6853
6854 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6855
6856         * common/common-regcache.h (raw_compare): New function.
6857         * regcache.c (regcache::raw_compare): Likewise.
6858         * regcache.h (regcache::raw_compare): New declaration.
6859
6860 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6861
6862         * common/common-regcache.h (reg_buffer_common): New structure.
6863         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
6864         (reg_buffer::raw_supply): Likewise.
6865         (reg_buffer::raw_supply_integer): Likewise.
6866         (reg_buffer::raw_supply_zeroed): Likewise.
6867         (reg_buffer::raw_collect): Likewise.
6868         (reg_buffer::raw_collect_integer): Likewise.
6869         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
6870         (reg_buffer::raw_supply): Likewise.
6871         (reg_buffer::raw_supply_integer): Likewise.
6872         (reg_buffer::raw_supply_zeroed): Likewise.
6873         (reg_buffer::raw_collect): Likewise.
6874         (reg_buffer::raw_collect_integer): Likewise.
6875
6876 2018-06-10  Tom Tromey  <tom@tromey.com>
6877
6878         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
6879         (class remote_state) <stop_reply_queue>: Now std::vector.
6880         (remote_state::~remote_state)
6881         (remote_target::stop_reply_queue_length): Update.
6882         (struct queue_iter_param, remove_child_of_pending_fork)
6883         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
6884         (check_pending_event_prevents_wildcard_vcont_callback)
6885         (remove_stop_reply_for_inferior)
6886         (remove_stop_reply_of_remote_state)
6887         (remote_notif_remove_once_on_match)
6888         (stop_reply_match_ptid_and_ws)
6889         (remote_kill_child_of_pending_fork): Remove.
6890         (remote_target::remove_new_fork_children)
6891         (remote_target::check_pending_events_prevent_wildcard_vcont)
6892         (remote_target::discard_pending_stop_replies)
6893         (remote_target::discard_pending_stop_replies_in_queue)
6894         (remote_target::remote_notif_remove_queued_reply)
6895         (remote_target::queued_stop_reply)
6896         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
6897         (remote_target::wait, remote_target::kill_new_fork_children)
6898         (remote_target::async): Update.
6899
6900 2018-06-10  Tom Tromey  <tom@tromey.com>
6901
6902         * record-full.c (record_full_arch_list_cleanups): Remove.
6903         (record_full_message): Use try/catch.
6904         (record_full_wait_cleanups): Remove.
6905         (record_full_wait_1): Use try/catch.
6906         (record_full_restore): Likewise.
6907
6908 2018-06-10  Tom Tromey  <tom@tromey.com>
6909
6910         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
6911         declare VEC.  Add constructor.
6912         <in_target_beneath>: Now bool.
6913         (record_full_breakpoints): Now a std::vector, static.
6914         (record_full_sync_record_breakpoints)
6915         (record_full_init_record_breakpoints)
6916         (record_full_target::insert_breakpoint)
6917         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
6918
6919 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
6920
6921         * dwarf2read.c (process_cu_includes): Remove struct keyword.
6922         * serial.c (serial_interface_lookup): Remove struct keyword.
6923
6924 2018-06-10  Tom Tromey  <tom@tromey.com>
6925
6926         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
6927         method.
6928         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
6929         a method.
6930         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
6931         method.
6932         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
6933         "beneath" as a method.
6934         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
6935         Use "beneath" as a method.
6936
6937 2018-06-10  Tom Tromey  <tom@tromey.com>
6938
6939         * tracefile.c (struct trace_file_writer_deleter): New.
6940         <operator()>: Rename from trace_file_writer_xfree.
6941         (trace_file_writer_up): New typedef.
6942         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
6943
6944 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6945
6946         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
6947         <m_registers, m_register_status>: Change type to
6948         std::unique_ptr.
6949         * regcache.c (reg_buffer::reg_buffer): Use new instead of
6950         XCNEWVEC.
6951
6952 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6953
6954         * common/common-regcache.h (enum register_status): Add
6955         underlying type "signed char".
6956         * regcache.h (reg_buffer) <m_register_status>: Change type to
6957         register_status *.
6958         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
6959         register_status instead of signed char.
6960         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
6961         (reg_buffer::get_register_status): Remove cast.
6962         (readable_regcache::raw_read): Remove cast.
6963         (readable_regcache::cooked_read): Remove cast.
6964
6965 2018-06-09  Tom Tromey  <tom@tromey.com>
6966
6967         * source.c (reverse_search_command, forward_search_command): Use
6968         scoped_fd.
6969
6970 2018-06-09  Tom Tromey  <tom@tromey.com>
6971
6972         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
6973         (serial_ops_list): Now static, std::vector.
6974         (serial_interface_lookup, serial_add_interface): Update.
6975
6976 2018-06-09  Tom Tromey  <tom@tromey.com>
6977
6978         * dwarf2read.c (process_cu_includes): Update.
6979         (process_full_comp_unit): Update.
6980         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
6981         std::vector.
6982
6983 2018-06-08  Paul Koning  <paul_koning@dell.com>
6984
6985         PR gdb/23252
6986
6987         * python/python.c (do_start_initialization):
6988         Avoid call to internal Python API.
6989         (init__gdb_module): New function.
6990
6991 2018-06-08  Gary Benson <gbenson@redhat.com>
6992
6993         * linux-thread-db.c (valprint.h): New include.
6994         (struct check_thread_db_info): New structure.
6995         (check_thread_db_on_load, tdb_testinfo): New static globals.
6996         (check_thread_db, check_thread_db_callback): New functions.
6997         (try_thread_db_load_1): Run integrity checks if requested.
6998         (maintenance_check_libthread_db): New function.
6999         (_initialize_thread_db): Register "maint check libthread-db"
7000         and "maint set/show check-libthread-db".
7001         * NEWS: Mention the above new commands.
7002
7003 2018-06-08  Tom Tromey  <tom@tromey.com>
7004
7005         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
7006         now a method.
7007
7008 2018-06-08  Tom Tromey  <tom@tromey.com>
7009
7010         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
7011
7012 2018-06-08  Tom Tromey  <tom@tromey.com>
7013
7014         * common/btrace-common.h (struct btrace_data): Add constructor,
7015         destructor, move assignment operator.
7016         <empty, clear, fini>: New methods.
7017         <format>: Initialize.
7018         (btrace_data_init, btrace_data_fini, btrace_data_clear)
7019         (btrace_data_empty): Don't declare.
7020         * common/btrace-common.c (btrace_data_init): Remove.
7021         (btrace_data::fini): Rename from btrace_data_fini.
7022         (btrace_data::empty): Rename from btrace_data_empty.
7023         (btrace_data::clear): Rename from btrace_data_clear.  Return
7024         bool.
7025         * btrace.h (make_cleanup_btrace_data): Don't declare.
7026         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
7027         (parse_xml_btrace): Update.
7028         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
7029         (maint_btrace_clear_packet_history_cmd): Update.
7030
7031 2018-06-07  Pedro Alves  <palves@redhat.com>
7032
7033         * target.h (target_ops) <beneath>: Now a method.  All references
7034         updated.
7035         (class target_stack): New.
7036         * target.c (g_target_stack): New.
7037         (g_current_top_target): Delete.
7038         (current_top_target): Get the top target out of g_target_stack.
7039         (target_stack::push, target_stack::unpush): New.
7040         (push_target, unpush_target): Reimplement.
7041         (target_is_pushed): Reimplement in terms of g_target_stack.
7042         (target_ops::beneath, target_stack::find_beneath): New.
7043
7044 2018-06-07  Pedro Alves  <palves@redhat.com>
7045
7046         * target.h (find_target_beneath): Delete declaration.
7047         * target.c (find_target_beneath): Delete definition.
7048         * aix-thread.c: All callers of find_target_beneath adjusted to
7049         call target_ops::beneath instead.
7050         * bsd-uthread.c: Likewise.
7051         * linux-thread-db.c: Likewise.
7052         * ravenscar-thread.c: Likewise.
7053         * sol-thread.c: Likewise.
7054         * spu-multiarch.c: Likewise.
7055
7056 2018-06-07  Pedro Alves  <palves@redhat.com>
7057
7058         * target.h (target_ops) <beneath>: Now a method.  All references
7059         updated.
7060         (target_ops) <m_beneath>: New.
7061         * target.c (target_ops::beneath): New.
7062         * corelow.c: Adjust all references to target_ops::beneath.
7063         * linux-thread-db.c: Likewise.
7064         * make-target-delegates: Likewise.
7065         * record-btrace.c: Likewise.
7066         * record-full.c: Likewise.
7067         * remote.c: Likewise.
7068         * target.c: Likewise.
7069         * target-delegates.c: Regenerate.
7070
7071 2018-06-07  Pedro Alves  <palves@redhat.com>
7072
7073         * target.h (target_stack): Delete.
7074         (current_top_target): Declare function.
7075         * target.c (target_stack): Delete.
7076         (g_current_top_target): New.
7077         (current_top_target): New function.
7078         * auxv.c: Use current_top_target instead of target_stack
7079         throughout.
7080         * avr-tdep.c: Likewise.
7081         * breakpoint.c: Likewise.
7082         * corefile.c: Likewise.
7083         * elfread.c: Likewise.
7084         * eval.c: Likewise.
7085         * exceptions.c: Likewise.
7086         * frame.c: Likewise.
7087         * gdbarch-selftests.c: Likewise.
7088         * gnu-v3-abi.c: Likewise.
7089         * ia64-tdep.c: Likewise.
7090         * ia64-vms-tdep.c: Likewise.
7091         * infcall.c: Likewise.
7092         * infcmd.c: Likewise.
7093         * infrun.c: Likewise.
7094         * linespec.c: Likewise.
7095         * linux-tdep.c: Likewise.
7096         * minsyms.c: Likewise.
7097         * ppc-linux-nat.c: Likewise.
7098         * ppc-linux-tdep.c: Likewise.
7099         * procfs.c: Likewise.
7100         * regcache.c: Likewise.
7101         * remote.c: Likewise.
7102         * rs6000-tdep.c: Likewise.
7103         * s390-linux-nat.c: Likewise.
7104         * s390-tdep.c: Likewise.
7105         * solib-aix.c: Likewise.
7106         * solib-darwin.c: Likewise.
7107         * solib-dsbt.c: Likewise.
7108         * solib-spu.c: Likewise.
7109         * solib-svr4.c: Likewise.
7110         * solib-target.c: Likewise.
7111         * sparc-tdep.c: Likewise.
7112         * sparc64-tdep.c: Likewise.
7113         * spu-tdep.c: Likewise.
7114         * symfile.c: Likewise.
7115         * symtab.c: Likewise.
7116         * target-descriptions.c: Likewise.
7117         * target-memory.c: Likewise.
7118         * target.c: Likewise.
7119         * target.h: Likewise.
7120         * tracefile-tfile.c: Likewise.
7121         * tracepoint.c: Likewise.
7122         * valops.c: Likewise.
7123         * valprint.c: Likewise.
7124         * value.c: Likewise.
7125         * windows-tdep.c: Likewise.
7126         * mi/mi-main.c: Likewise.
7127
7128 2018-06-07  Tom Tromey  <tom@tromey.com>
7129
7130         * valprint.h (build_address_symbolic): Declare.
7131         * printcmd.c (print_address_symbolic): Update.
7132         (build_address_symbolic): Change "name" and "filename" to
7133         std::string.
7134         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
7135         Update.
7136         * defs.h (build_address_symbolic): Remove declaration.
7137
7138 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
7139
7140         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
7141         (aarch64_vnv_type): Add function.
7142         (aarch64_pseudo_register_name): Add V regs for SVE.
7143         (aarch64_pseudo_register_type): Likewise.
7144         (aarch64_pseudo_register_reggroup_p): Likewise.
7145         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
7146         (aarch64_pseudo_read_value): Add V regs for SVE.
7147         (aarch64_pseudo_write_2): Use V0 offset for SVE
7148         (aarch64_pseudo_write): Add V regs for SVE.
7149         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
7150
7151 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
7152
7153         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
7154         (sve_vl_from_vq): Likewise.
7155
7156 2018-06-05  Tom Tromey  <tom@tromey.com>
7157
7158         * cli/cli-cmds.c (show_version): Update.
7159         * top.c (print_gdb_version): Add "interactive" parameter.
7160         Update.
7161         * main.c (captured_main_1): Update.
7162         * top.h (print_gdb_version): Add "interactive" parameter and a
7163         comment.
7164
7165 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
7166
7167         * common/enum-flags.h: Add trailing semicolon to example in
7168         comment.
7169
7170 2018-06-05  Tom Tromey  <tom@tromey.com>
7171
7172         PR cli/12326:
7173         * NEWS: Add entry about pager.
7174         * utils.c (pagination_disabled_for_command): New global.
7175         (prompt_for_continue): Allow "c" response to prompt.
7176         (reinitialize_more_filter): Clear
7177         pagination_disabled_for_command.
7178         (fputs_maybe_filtered): Check pagination_disabled_for_command.
7179
7180 2018-06-04  Tom Tromey  <tom@tromey.com>
7181
7182         * ada-lang.h (ada_lookup_symbol_list): Update.
7183         * ada-lang.c (resolve_subexp): Update.
7184         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
7185         parameter.
7186         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
7187         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
7188         results parameter to std::vector.
7189         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
7190         Update.
7191         * ada-exp.y (block_lookup): Update.
7192         (select_possible_type_sym): Change type of syms.  Remove nsyms
7193         parameter.
7194         (write_var_or_type, write_name_assoc): Update.
7195
7196 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
7197
7198         * windows-nat.c (windows_nat_target::xfer_partial): Return
7199         TARGET_XFER_E_IO if we need to delegate to the target beneath
7200         but BENEATH is NULL.
7201
7202 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
7203
7204         * Makefile.in (config.status): Add configure.nat as a
7205         dependency.
7206
7207 2018-06-04  Tom Tromey  <tom@tromey.com>
7208
7209         * cp-name-parser.y (cpname_state): Add method declarations.
7210         (HANDLE_QUAL): Update.
7211         (cpname_state::d_grab, cpname_state::fill_comp)
7212         (cpname_state::make_operator, cpname_state::make_dtor)
7213         (cpname_state::make_builtin_type, cpname_state::make_name)
7214         (cpname_state::d_qualify, cpname_state::d_int_type)
7215         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
7216         (%union): Move earlier.
7217
7218 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
7219
7220         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
7221
7222 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
7223
7224         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
7225         (aarch64_pseudo_write_1): Likewise.
7226         (aarch64_pseudo_read_value): Use helper.
7227         (aarch64_pseudo_write): Likewise.
7228
7229 2018-06-04  Pedro Alves  <palves@redhat.com>
7230
7231         * darwin-nat.c (darwin_ops): Delete.
7232         (darwin_attach_pid): Use get_native_target.
7233
7234 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
7235
7236         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
7237         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
7238
7239 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
7240
7241         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
7242         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
7243         (aarch64_gdbarch_init): Check for SVE.
7244         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
7245
7246 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
7247
7248         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
7249         * aarch64-tdep.h (aarch64_read_description): Likewise.
7250         * arch/aarch64.c (aarch64_create_target_description): Likewise.
7251         * arch/aarch64.h (aarch64_create_target_description): Likewise.
7252         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
7253         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
7254         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
7255
7256 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
7257
7258         * value.c (value_fetch_lazy_bitfield): New.
7259         (value_fetch_lazy_memory): New.
7260         (value_fetch_lazy_register): New.
7261         (value_fetch_lazy): Factor out to smaller functions.
7262
7263 2018-06-01  Tom Tromey  <tom@tromey.com>
7264
7265         * cp-name-parser.y (backslashable, represented): Now const.
7266
7267 2018-06-01  Tom Tromey  <tom@tromey.com>
7268
7269         * cp-name-parser.y: Include parser-defs.h.
7270         (parser_fprintf): Remove declaration.
7271
7272 2018-06-01  Tom Tromey  <tom@tromey.com>
7273
7274         * cp-name-parser.y: Use %pure-parser, %lex-param, and
7275         %parse-param.
7276         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
7277         (global_result): Remove globals.
7278         (struct cpname_state): New.
7279         (yyparse): Don't declare.
7280         (yylex, yyerror): Move declarations after %union.
7281         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
7282         (make_name): Add state parameter.
7283         Update all callers.
7284         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
7285         parameter.
7286         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
7287         Update.
7288         (yylex): Add lvalp, state parameters.
7289         (yyerror): Add state parameter.
7290         (cp_demangled_name_to_comp): Update.
7291
7292 2018-06-01  Tom Tromey  <tom@tromey.com>
7293
7294         * cp-name-parser.y (parser_fprintf): Declare.
7295         (GDB_YY_REMAP_PREFIX): Define.
7296         Include yy-remap.h.  Don't redefine yy* identifiers.
7297
7298 2018-06-01  Tom Tromey  <tom@tromey.com>
7299
7300         * python/py-type.c (typy_legacy_template_argument): Update.
7301         * cp-support.h (cp_demangled_name_to_comp): Update.
7302         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
7303         parameter to be a "std::string *".
7304         (main): Update.
7305
7306 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
7307
7308         * ada-lex.l: Include "diagnostics.h" instead of
7309         "common/diagnostics.h".
7310         * unittests/environ-selftests.c: Likewise.
7311         * common/diagnostics.h: Moved to ../include.
7312
7313 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
7314
7315         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
7316         to language_mode_manual while calling breakpoint_re_set_one.
7317
7318 2018-06-01  Tom Tromey  <tom@tromey.com>
7319
7320         * valops.c (value_cast_structs, destructor_name_p): Update.
7321         * symtab.c (gdb_mangle_name): Update.
7322         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
7323         Update.
7324         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
7325         (pascal_object_print_value_fields, pascal_object_print_value):
7326         Update.
7327         * p-typeprint.c (pascal_type_print_derivation_info): Update.
7328         * linespec.c (find_methods): Update.
7329         * gdbtypes.h (type_name_no_tag): Remove.
7330         (type_name_or_error): Rename from type_name_no_tag_or_error.
7331         * gdbtypes.c (type_name_no_tag): Remove.
7332         (type_name_or_error): Rename from type_name_no_tag_or_error.
7333         (lookup_struct_elt_type, check_typedef): Update.
7334         * expprint.c (print_subexp_standard): Update.
7335         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
7336         * d-namespace.c (d_lookup_nested_symbol): Update.
7337         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
7338         (cp_print_class_member): Update.
7339         * cp-namespace.c (cp_lookup_nested_symbol): Update.
7340         * completer.c (add_struct_fields): Update.
7341         * c-typeprint.c (cp_type_print_derivation_info)
7342         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
7343         Update.
7344         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
7345         (ada_prefer_type, ada_is_exception_sym): Update.
7346
7347 2018-06-01  Tom Tromey  <tom@tromey.com>
7348
7349         * valops.c (enum_constant_from_type, value_namespace_elt)
7350         (value_maybe_namespace_elt): Update.
7351         * valarith.c (find_size_for_pointer_math): Update.
7352         * target-descriptions.c (make_gdb_type): Update.
7353         * symmisc.c (print_symbol): Update.
7354         * stabsread.c (define_symbol, read_type)
7355         (complain_about_struct_wipeout, add_undefined_type)
7356         (cleanup_undefined_types_1): Update.
7357         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
7358         (rust_range_type_p, val_print_struct, rust_print_struct_def)
7359         (rust_internal_print_type, rust_composite_type)
7360         (rust_evaluate_funcall, rust_evaluate_subexp)
7361         (rust_inclusive_range_type_p): Update.
7362         * python/py-type.c (typy_get_tag): Update.
7363         * p-typeprint.c (pascal_type_print_base): Update.
7364         * mdebugread.c (parse_symbol, parse_type): Update.
7365         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
7366         Update.
7367         * guile/scm-type.c (gdbscm_type_tag): Update.
7368         * go-lang.c (sixg_string_p): Update.
7369         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
7370         Update.
7371         * gdbtypes.h (struct main_type) <tag_name>: Remove.
7372         (TYPE_TAG_NAME): Remove.
7373         * gdbtypes.c (type_name_no_tag): Simplify.
7374         (check_typedef, check_types_equal, recursive_dump_type)
7375         (copy_type_recursive, arch_composite_type): Update.
7376         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
7377         in summary mode when needed.
7378         * eval.c (evaluate_funcall): Update.
7379         * dwarf2read.c (fixup_go_packaging, read_structure_type)
7380         (process_structure_scope, read_enumeration_type)
7381         (read_namespace_type, read_module_type, determine_prefix): Update.
7382         * cp-support.c (inspect_type): Update.
7383         * coffread.c (process_coff_symbol, decode_base_type): Update.
7384         * c-varobj.c (c_is_path_expr_parent): Update.
7385         * c-typeprint.c (c_type_print_base_struct_union): Update.
7386         (c_type_print_base_1): Update.  Print struct/class/union/enum in
7387         summary when using C language.
7388         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
7389         (gen_maybe_namespace_elt): Update.
7390         * ada-lang.c (ada_type_name): Simplify.
7391         (empty_record, ada_template_to_fixed_record_type_1)
7392         (template_to_static_fixed_type)
7393         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
7394
7395 2018-06-01  Tom Tromey  <tom@tromey.com>
7396
7397         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
7398         c_print_type.
7399         * c-typeprint.c (c_print_type_1): Add "language" parameter.
7400         (c_print_type): Update.
7401         (c_print_type): New overload.
7402         (c_type_print_varspec_prefix, c_type_print_args)
7403         (c_type_print_varspec_suffix, c_print_type_no_offsets)
7404         (c_type_print_base_struct_union, c_type_print_base_1)
7405         (cp_type_print_method_args): Add "language" parameter.
7406         (c_type_print_base): Update.
7407         * c-lang.h (c_print_type): Add new overload.
7408
7409 2018-06-01  Tom Tromey  <tom@tromey.com>
7410
7411         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
7412         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
7413
7414 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
7415
7416         * aarch64-tdep.c (aarch64_sve_register_names): New const
7417         var.
7418         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
7419         (AARCH64_SVE_Z_REGS_NUM): New define.
7420         (AARCH64_SVE_P_REGS_NUM): Likewise.
7421         (AARCH64_SVE_NUM_REGS): Likewise.
7422
7423 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
7424
7425         * nat/linux-ptrace.h [__alpha__]
7426         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
7427         definitions.
7428
7429 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
7430
7431         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
7432         the endianness selected.
7433         * NEWS: Document `set endian auto' mode operation update.
7434
7435 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
7436
7437         * Makefile.in: Add new header.
7438         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
7439         (sve_vl_from_vg): Likewise.
7440         (sve_vq_from_vl): Likewise.
7441         (sve_vl_from_vq): Likewise.
7442         (sve_vq_from_vg): Likewise.
7443         (sve_vg_from_vq): Likewise.
7444         * configure.nat: Add new c file.
7445         * nat/aarch64-sve-linux-ptrace.c: New file.
7446         * nat/aarch64-sve-linux-ptrace.h: New file.
7447
7448 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
7449
7450         * aarch64-linux-nat.c (aarch64_linux_read_description):
7451         Add parmeter zero.
7452         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
7453         Likewise.
7454         * aarch64-tdep.c (tdesc_aarch64_list): Add.
7455         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
7456         (aarch64_gdbarch_init): Add parmeter zero.
7457         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
7458         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
7459         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
7460         parmeter.
7461         * doc/gdb.texinfo: Describe SVE feature
7462         * features/aarch64-sve.c: New file.
7463
7464 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
7465
7466         PR gdb/23210
7467         * gdbarch.sh (significant_addr_bit): Default to zero when
7468         not set by target architecture.
7469         * gdbarch.c: Re-generated.
7470         * utils.c (address_significant): Update.
7471
7472 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
7473
7474         * stack.c (func_command): Remove trailing newline in call to error.
7475
7476 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7477
7478         * regcache.h (regcache_raw_collect): Remove, update callers to
7479         use regcache::raw_collect.
7480         * regcache.c (regcache_raw_collect): Remove.
7481
7482 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7483
7484         * regcache.h (regcache_raw_supply): Remove, update callers to
7485         use detached_regcache::raw_supply.
7486         * regcache.c (regcache_raw_supply): Remove.
7487
7488 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7489
7490         * regcache.h (regcache_cooked_write_part): Remove, update
7491         callers to use regcache::cooked_write_part.
7492         * regcache.c (regcache_cooked_write_part): Remove.
7493
7494 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7495
7496         * regcache.h (regcache_cooked_read_part): Remove, update callers
7497         to use readable_regcache::cooked_read_part.
7498         * regcache.c (regcache_cooked_read_part): Remove.
7499
7500 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7501
7502         * regcache.h (regcache_cooked_read_value): Remove, update
7503         callers to use readable_regcache::cooked_read_value.
7504         * regcache.c (regcache_cooked_read_value): Remove.
7505
7506 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7507
7508         * regcache.h (regcache_cooked_write): Remove, update callers to
7509         use regcache::cooked_write.
7510         * regcache.c (regcache_cooked_write): Remove.
7511
7512 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7513
7514         * regcache.h (regcache_invalidate): Remove, update callers to
7515         use detached_regcache::invalidate instead.
7516         * regcache.c (regcache_invalidate): Remove.
7517
7518 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7519
7520         * regcache.h (regcache_raw_write_part): Remove, update callers
7521         to use regcache::raw_write_part instead.
7522         * regcache.c (regcache_raw_write_part): Remove.
7523
7524 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7525
7526         * regcache.h (regcache_raw_read_part): Remove, update callers to
7527         use readable_regcache::raw_read_part instead.
7528         * regcache.c (regcache_raw_read_part): Remove.
7529
7530 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7531
7532         * regcache.h (regcache_cooked_read): Remove, update callers to
7533         use readable_regcache::cooked_read instead.
7534         * regcache.c (regcache_cooked_read): Remove.
7535
7536 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7537
7538         * regcache.h (regcache_raw_write): Remove, update callers to use
7539         regcache::raw_write instead.
7540         * regcache.c (regcache_raw_write): Remove.
7541
7542 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7543
7544         * regcache.h (regcache_raw_read): Remove, update callers to use
7545         readable_regcache::raw_read instead.
7546         * regcache.c (regcache_raw_read): Remove.
7547
7548 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7549
7550         * regcache.h (regcache_raw_update): Remove, update callers to
7551         use readable_regcache::raw_update instead.
7552         * regcache.c (regcache_raw_update): Remove.
7553
7554 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7555
7556         * regcache.h (regcache_register_status): Remove, update callers
7557         to use reg_buffer::get_register_status directly instead.
7558         * regcache.c (regcache_register_status): Remove.
7559
7560 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7561
7562         * regcache.h (regcache_get_ptid): Remove, update all callers to
7563         call regcache::ptid instead.
7564         * regcache.c (regcache_get_ptid): Remove.
7565
7566 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
7567
7568         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
7569
7570 2018-05-30  Pedro Alves  <palves@redhat.com>
7571
7572         * common/common-exceptions.h (exception_rethrow): Use
7573         ATTRIBUTE_NORETURN.
7574
7575 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
7576
7577         * breakpoint.c (print_solib_event, check_status_catch_solib):
7578         Remove struct keyword in range-based for loops.
7579         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
7580         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
7581         Likewise.
7582         * linespec.c (find_superclass_methods, search_minsyms_for_name):
7583         Likewise.
7584         * symfile.c (addr_info_make_relative): Likewise.
7585         * thread.c (value_in_thread_stack_temporaries): Likewise.
7586
7587 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
7588
7589         PR gdb/16841
7590         * valops.c (value_struct_elt_for_reference): Call check_typedef on
7591         aggregate type to get its real type before accessing it.
7592
7593 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
7594
7595         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
7596         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
7597         * coff-pe-read.c (add_pe_forwarded_sym): Replace
7598         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
7599         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
7600         * jit.c (jit_breakpoint_re_set_internal): Likewise.
7601         * printcmd.c (info_address_command): Likewise.
7602
7603 2018-05-29  Tom Tromey  <tom@tromey.com>
7604
7605         * windows-nat.c (handle_exception): Update fall-through comment.
7606
7607 2018-05-29  Tom Tromey  <tom@tromey.com>
7608
7609         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
7610         (struct program_space) <added_solibs>: Now a std::vector.
7611         * breakpoint.c (print_solib_event): Update.
7612         (check_status_catch_solib): Update.
7613         * progspace.c (clear_program_space_solib_cache): Update.
7614         * solib.c (update_solib_list): Update.
7615
7616 2018-05-29  Tom Tromey  <tom@tromey.com>
7617
7618         * python/py-type.c (typy_richcompare): Update.
7619         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
7620         * gdbtypes.h (types_deeply_equal): Return bool.
7621         (types_equal): Likewise.
7622         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
7623         declare VEC.
7624         (check_types_equal): Change worklist to std::vector.  Return
7625         bool.
7626         (struct type_equality_entry): Add constructor.
7627         (compare_maybe_null_strings): Return bool.
7628         (check_types_worklist): Return bool.  Change worklist to
7629         std::vector.
7630         (types_deeply_equal): Use std::vector.
7631         (types_equal): Return bool.
7632         (compare_maybe_null_strings): Simplify.
7633
7634 2018-05-29  Tom Tromey  <tom@tromey.com>
7635
7636         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
7637
7638 2018-05-29  Tom Tromey  <tom@tromey.com>
7639
7640         * objc-lang.h: Don't include cp-support.h.
7641         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
7642         declare VEC.
7643
7644 2018-05-27  Tom Tromey  <tom@tromey.com>
7645
7646         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
7647
7648 2018-05-25  Tom Tromey  <tom@tromey.com>
7649
7650         * value.c (value::location): Initialize.
7651
7652 2018-05-25  Tom Tromey  <tom@tromey.com>
7653
7654         * dbxread.c (init_bincl_list): Remove.
7655         (bincl_list): Now a std::vector.
7656         (bincls_allocated, next_bincl): Remove.
7657         (free_bincl_list, do_free_bincl_list_cleanup)
7658         (make_cleanup_free_bincl_list): Remove.
7659         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
7660         unique_xmalloc_ptr.
7661         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
7662         (struct header_file_location): Add constructor.
7663         (add_bincl_to_list): Remove.
7664
7665 2018-05-25  Tom Tromey  <tom@tromey.com>
7666
7667         * tui/tui.c (tui_enable): Update.
7668         * mi/mi-interp.c (mi_interp::init): Update.
7669         * interps.h (class interp) <name>: New method.
7670         <m_name>: Rename from name.
7671         (~scoped_restore_interp): Update.
7672         * interps.c (interp::interp): Update.
7673         (interp_add, interp_set, interp_lookup_existing)
7674         (current_interp_named_p): Update.
7675
7676 2018-05-25  Tom Tromey  <tom@tromey.com>
7677
7678         * interps.c (interp_name): Remove.
7679         * mi/mi-interp.c (mi_interp::init): Update.
7680         * interps.h (interp_name): Remove.
7681         (~scoped_restore_interp): Update.
7682         * tui/tui.c (tui_enable): Update.
7683
7684 2018-05-25  Tom Tromey  <tom@tromey.com>
7685
7686         * utils.c (fputs_maybe_filtered): Update.
7687         * linespec.c (decode_line_full): Update.
7688         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
7689         (mi_print_breakpoint_for_event, mi_solib_loaded)
7690         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7691         (mi_user_selected_context_changed): Update.
7692         * mi/mi-main.c (mi_execute_command): Update.
7693         * cli/cli-script.c (execute_control_command): Update.
7694         * python/python.c (execute_gdb_command): Update.
7695         * solib.c (info_sharedlibrary_command): Update.
7696         * interps.c (interp_ui_out): Remove.
7697         * interps.h (interp_ui_out): Remove.
7698
7699 2018-05-25  Tom Tromey  <tom@tromey.com>
7700
7701         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
7702         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
7703         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
7704
7705 2018-05-25  Tom Tromey  <tom@tromey.com>
7706
7707         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
7708         * interps.c (interp_exec): Use scoped_restore.
7709
7710 2018-05-25  Tom Tromey  <tom@tromey.com>
7711
7712         * remote.c (remote_target::remote_file_get): Use
7713         gdb::byte_vector.
7714         (remote_target::remote_file_put): Likewise.
7715
7716 2018-05-25  Tom Tromey  <tom@tromey.com>
7717
7718         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
7719         a std::string.
7720         (get_pe_section_index, add_pe_exported_sym): Update.
7721         (read_pe_exported_syms): Use gdb::def_vector.
7722
7723 2018-05-25  Tom Tromey  <tom@tromey.com>
7724
7725         * frame.c (remove_prev_frame): Remove.
7726         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
7727
7728 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
7729
7730         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
7731         Remove prototypes.
7732         * mips-linux-nat.c (supply_fpregset): Always call
7733         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
7734         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
7735         `mips_fill_fpregset'.
7736         * mips-linux-tdep.c (mips_supply_fpregset)
7737         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
7738         (mips_fill_fpregset_wrapper): Remove functions.
7739         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
7740         (mips_linux_fpregset): Remove variable.
7741         (mips_linux_iterate_over_regset_sections): Use
7742         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
7743         (mips_linux_o32_sigframe_init): Remove comment.
7744
7745 2018-05-25  Pedro Alves  <palves@redhat.com>
7746
7747         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
7748         (struct readahead_cache, struct packet_reg, struct
7749         remote_arch_state, class remote_state): Move higher up in the
7750         file.
7751         (remote_target::m_remote_state): Now an object instead of a pointer.
7752         (remote_target::get_remote_state): Adjust.
7753
7754 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7755
7756         * stack.c (select_and_print_frame): Delete.
7757         (struct function_bounds): Move struct within function.
7758         (func_command): Most content moved into new function
7759         find_frame_for_function, use new function, print result, add
7760         function comment.
7761         (find_frame_for_function): New function, now returns a result.
7762
7763 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7764
7765         * stack.c (iterate_over_block_arg_vars): Fix comment.
7766         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
7767
7768 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7769
7770         PR gdb/23203
7771         * frame.c
7772         (scoped_restore_selected_frame::scoped_restore_selected_frame):
7773         Define.
7774         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
7775         Define.
7776         * frame.h (class scoped_restore_selected_frame): New class.
7777         * stack.c (print_frame_local_vars): Remove catching and rethrowing
7778         of any exception, use scoped_restore_selected_frame to restore the
7779         frame instead.
7780
7781 2018-05-24  Pedro Alves  <palves@redhat.com>
7782
7783         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
7784         override.
7785
7786 2018-05-23  Tom Tromey  <tom@tromey.com>
7787
7788         * complaints.c (struct complaints): Remove.
7789         (symfile_complaint_book): Remove.
7790         (series): New global.
7791         (complaint_internal): Update.
7792         (clear_complaints): Update.
7793
7794 2018-05-23  Tom Tromey  <tom@tromey.com>
7795
7796         * complaints.c (counters): New global.
7797         (struct complain): Remove.
7798         (struct complaints) <root>: Remove.
7799         (complaint_sentinel): Remove.
7800         (symfile_complaint_book): Update.
7801         (find_complaint) Remove.
7802         (complaint_internal, clear_complaints): Update.
7803
7804 2018-05-23  Tom Tromey  <tom@tromey.com>
7805
7806         * complaints.c (struct complain) <file, line>: Remove.
7807         (find_complaint): Remove file, line parameters.
7808         (complaint_internal): Update.
7809
7810 2018-05-23  Tom Tromey  <tom@tromey.com>
7811
7812         * complaints.c (vcomplaint): Remove.
7813         (complaint_internal) Merge in contents of vcomplaint.
7814
7815 2018-05-23  Tom Tromey  <tom@tromey.com>
7816
7817         * complaints.c (struct complaints) <explanation>: Remove.
7818         (symfile_explanations): Remove.
7819         (symfile_complaint_book): Update.
7820         (vcomplaint): Update.
7821         (struct explanation): Remove.
7822
7823 2018-05-23  Tom Tromey  <tom@tromey.com>
7824
7825         * complaints.c (symfile_complaints): Remove.
7826         (complaint_internal): Remove "complaints" parameter.
7827         (clear_complaints, vcomplaint): Remove "c" parameter.
7828         (get_complaints): Remove.
7829         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
7830         (dwarf2_debug_line_missing_file_complaint)
7831         (dwarf2_debug_line_missing_end_sequence_complaint)
7832         (dwarf2_complex_location_expr_complaint)
7833         (dwarf2_const_value_length_mismatch_complaint)
7834         (dwarf2_section_buffer_overflow_complaint)
7835         (dwarf2_macro_malformed_definition_complaint)
7836         (dwarf2_invalid_attrib_class_complaint)
7837         (create_addrmap_from_index, dw2_symtab_iter_next)
7838         (dw2_expand_marked_cus)
7839         (dw2_debug_names_iterator::find_vec_in_debug_names)
7840         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
7841         (create_debug_type_hash_table, init_cutu_and_read_dies)
7842         (partial_die_parent_scope, add_partial_enumeration)
7843         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
7844         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
7845         (read_import_statement, read_file_scope, create_dwo_cu_reader)
7846         (create_cus_hash_table, create_dwp_hash_table)
7847         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
7848         (dwarf2_rnglists_process, dwarf2_ranges_process)
7849         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
7850         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
7851         (handle_struct_member_die, process_structure_scope)
7852         (read_array_type, read_common_block, read_module_type)
7853         (read_tag_pointer_type, read_typedef, read_base_type)
7854         (read_subrange_type, load_partial_dies, partial_die_info::read)
7855         (partial_die_info::read, partial_die_info::read)
7856         (partial_die_info::read, read_checked_initial_length_and_offset)
7857         (dwarf2_string_attr, read_formatted_entries)
7858         (dwarf_decode_line_header)
7859         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
7860         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
7861         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
7862         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
7863         (get_signatured_type, get_DW_AT_signature_type)
7864         (decode_locdesc, file_file_name, consume_improper_spaces)
7865         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
7866         (dwarf_decode_macro_bytes, dwarf_decode_macros)
7867         (dwarf2_symbol_mark_computed, set_die_type)
7868         (read_attribute_value): Update.
7869         * stap-probe.c (handle_stap_probe, get_stap_base_address):
7870         Update.
7871         * dbxread.c (unknown_symtype_complaint)
7872         (lbrac_mismatch_complaint, repeated_header_complaint)
7873         (set_namestring, function_outside_compilation_unit_complaint)
7874         (read_dbx_symtab, process_one_symbol): Update.
7875         * gdbtypes.c (stub_noname_complaint): Update.
7876         * windows-nat.c (handle_unload_dll): Update.
7877         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
7878         (decode_base_type): Update.
7879         * xcoffread.c (bf_notfound_complaint, ef_complaint)
7880         (eb_complaint, record_include_begin, record_include_end)
7881         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
7882         (process_xcoff_symbol, read_symbol)
7883         (function_outside_compilation_unit_complaint)
7884         (scan_xcoff_symtab): Update.
7885         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
7886         * buildsym.c (finish_block_internal, make_blockvector)
7887         (end_symtab_get_static_block, augment_type_symtab): Update.
7888         * dtrace-probe.c (dtrace_process_dof)
7889         (dtrace_static_probe_ops::get_probes): Update.
7890         * complaints.h (struct complaint): Don't declare.
7891         (symfile_complaints): Remove.
7892         (complaint_internal): Remove "complaints" parameter.
7893         (complaint): Likewise.
7894         (clear_complaints): Likewise.
7895         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7896         (reread_symbols): Update.
7897         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
7898         (dwarf2_frame_cache, decode_frame_entry): Update.
7899         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
7900         * objc-lang.c (lookup_objc_class, lookup_child_selector)
7901         (info_selectors_command): Update.
7902         * macrotab.c (macro_include, check_for_redefinition)
7903         (macro_undef): Update.
7904         * objfiles.c (filter_overlapping_sections): Update.
7905         * stabsread.c (invalid_cpp_abbrev_complaint)
7906         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
7907         (define_symbol, error_type, read_type, rs6000_builtin_type)
7908         (stabs_method_name_from_physname, read_member_functions)
7909         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
7910         (attach_fields_to_type, complain_about_struct_wipeout)
7911         (read_range_type, read_args, common_block_start)
7912         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
7913         Update.
7914         * mdebugread.c (index_complaint, unknown_ext_complaint)
7915         (basic_type_complaint, bad_tag_guess_complaint)
7916         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
7917         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
7918         (parse_procedure, parse_lines)
7919         (function_outside_compilation_unit_complaint)
7920         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
7921         (bad_tag_guess_complaint, reg_value_complaint): Update.
7922         * cp-support.c (demangled_name_complaint): Update.
7923         * macroscope.c (sal_macro_scope): Update.
7924         * dwarf-index-write.c (class debug_names): Update.
7925
7926 2018-05-23  Tom Tromey  <tom@tromey.com>
7927
7928         * complaints.c (clear_complaints): Remove "noisy" parameter.
7929         * complaints.h (clear_complaints): Update.
7930         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7931         (reread_symbols): Update.
7932
7933 2018-05-23  Tom Tromey  <tom@tromey.com>
7934
7935         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
7936         SUBSEQUENT_MESSAGE.
7937         (vcomplaint, clear_complaints): Update.
7938         (symfile_explanations): Remove some messages.
7939
7940 2018-05-23  Tom Tromey  <tom@tromey.com>
7941
7942         * complaints.c (internal_complaint): Remove.
7943         * complaints.h (internal_complaint): Remove.
7944
7945 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7946
7947         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
7948
7949 2018-05-22  Pedro Alves  <palves@redhat.com>
7950
7951         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
7952         (remote_fileio_badfd, remote_fileio_return_errno)
7953         (remote_fileio_return_success, remote_fileio_func_open)
7954         (remote_fileio_func_open, remote_fileio_func_close)
7955         (remote_fileio_func_read, remote_fileio_func_write)
7956         (remote_fileio_func_lseek, remote_fileio_func_rename)
7957         (remote_fileio_func_unlink, remote_fileio_func_stat)
7958         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
7959         (remote_fileio_func_isatty, remote_fileio_func_system): Add
7960         remote_target parameter.
7961         (remote_fio_func_map) <func>: Add remote_target parameter.
7962         (do_remote_fileio_request, remote_fileio_request):
7963         * remote-fileio.h (remote_fileio_request):
7964         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
7965         remote_target parameter.
7966         (remote_notif_process, handle_notification): Adjust to pass down
7967         the remote.
7968         (remote_notif_state_allocate): Add remote_target parameter.  Save
7969         it.
7970         * remote-notif.h (struct remote_target): Forward declare.
7971         (struct notif_client) <parse, ack, can_get_pending_events>: Add
7972         remote_target parameter.
7973         (struct remote_notif_state) <remote>: New field.
7974         (remote_notif_ack, remote_notif_parse): Add remote_target
7975         parameter.
7976         (remote_notif_state_allocate, remote_notif_state_allocate): Add
7977         remote_target parameter.
7978         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
7979         (threads_listing_context, rmt_thread_action, protocol_feature)
7980         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
7981         (packet_result, struct threads_listing_context, remote_state):
7982         Move definitions and declarations higher up.
7983         (remote_target) <~remote_target>: Declare.
7984         (remote_download_command_source, remote_file_put, remote_file_get)
7985         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
7986         (remote_hostio_pread_vFile, remote_hostio_send_command)
7987         (remote_hostio_set_filesystem, remote_hostio_open)
7988         (remote_hostio_close, remote_hostio_unlink, remote_state)
7989         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
7990         (get_memory_write_packet_size, get_memory_read_packet_size)
7991         (append_pending_thread_resumptions, remote_detach_1)
7992         (append_resumption, remote_resume_with_vcont)
7993         (add_current_inferior_and_thread, wait_ns, wait_as)
7994         (process_stop_reply, remote_notice_new_inferior)
7995         (process_initial_stop_replies, remote_add_thread)
7996         (btrace_sync_conf, remote_btrace_maybe_reopen)
7997         (remove_new_fork_children, kill_new_fork_children)
7998         (discard_pending_stop_replies, stop_reply_queue_length)
7999         (check_pending_events_prevent_wildcard_vcont)
8000         (discard_pending_stop_replies_in_queue, stop_reply)
8001         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
8002         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
8003         (remote_interrupt_as, remote_interrupt_ns)
8004         (remote_get_noisy_reply, remote_query_attached)
8005         (remote_add_inferior, remote_current_thread, get_current_thread)
8006         (set_thread, set_general_thread, set_continue_thread)
8007         (set_general_process, write_ptid)
8008         (remote_unpack_thread_info_response, remote_get_threadinfo)
8009         (parse_threadlist_response, remote_get_threadlist)
8010         (remote_threadlist_iterator, remote_get_threads_with_ql)
8011         (remote_get_threads_with_qxfer)
8012         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
8013         (get_offsets, remote_check_symbols, remote_supported_packet)
8014         (remote_query_supported, remote_packet_size)
8015         (remote_serial_quit_handler, remote_detach_pid)
8016         (remote_vcont_probe, remote_resume_with_hc)
8017         (send_interrupt_sequence, interrupt_query)
8018         (remote_notif_get_pending_events, fetch_register_using_p)
8019         (send_g_packet, process_g_packet, fetch_registers_using_g)
8020         (store_register_using_P, store_registers_using_G)
8021         (set_remote_traceframe, check_binary_download)
8022         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
8023         (remote_xfer_live_readonly_partial, remote_read_bytes)
8024         (remote_send_printf, remote_flash_write, readchar)
8025         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
8026         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
8027         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
8028         (extended_remote_disable_randomization, extended_remote_run)
8029         (send_environment_packet, extended_remote_environment_support)
8030         (extended_remote_set_inferior_cwd, remote_write_qxfer)
8031         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
8032         (packet_command): Now methods of ...
8033         (remote_target): ... this class.
8034         (m_remote_state) <remote_target>: New field.
8035         (struct remote_state) <stop_reply_queue,
8036         remote_async_inferior_event_token, wait_forever_enabled_p>: New
8037         fields.
8038         (remote_state::remote_state): Allocate stop_reply_queue.
8039         (remote_state): Delete global.
8040         (get_remote_state_raw): Delete.
8041         (remote_target::get_remote_state): Allocate m_remote_state on
8042         demand.
8043         (get_current_remote_target): New.
8044         (remote_ops, extended_remote_ops): Delete.
8045         (wait_forever_enabled_p, remote_async_inferior_event_token):
8046         Delete, moved to struct remote_state.
8047         (remote_target::close): Delete self.  Destruction bits split to
8048         ...
8049         (remote_target::~remote_target): ... this.
8050         (show_memory_packet_size): Adjust to use
8051         get_current_remote_target.
8052         (struct protocol_feature) <func>: Add remote_target parameter.
8053         All callers adjusted.
8054         (curr_quit_handler_target): New.
8055         (remote_serial_quit_handler): Reimplement.
8056         (remote_target::open_1): Adjust to use get_current_remote_target.
8057         Heap-allocate remote_target/extended_remote_target instances.
8058         (vcont_builder::vcont_builder): Add remote_target parameter, and
8059         save it in m_remote.  All callers adjusted.
8060         (vcont_builder::m_remote): New field.
8061         (vcont_builder::restart, vcont_builder::flush)
8062         (vcont_builder::push_action): Use it.
8063         (remote_target::commit_resume): Use it.
8064         (struct queue_iter_param) <remote>: New field.
8065         (remote_target::remove_new_fork_children): Fill in 'remote' field.
8066         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
8067         (check_pending_event_prevents_wildcard_vcont_callback)
8068         (remote_target::check_pending_events_prevent_wildcard_vcont)
8069         (remote_target::discard_pending_stop_replies)
8070         (remote_target::discard_pending_stop_replies_in_queue)
8071         (remote_target::remote_notif_remove_queued_reply): Fill in
8072         'remote' field.
8073         (remote_notif_get_pending_events): New.
8074         (remote_target::readchar, remote_target::remote_serial_write):
8075         Save/restore curr_quit_handler_target.
8076         (putpkt): New.
8077         (kill_new_fork_children): Fill in 'remote' field.
8078         (packet_command): Use get_current_remote_target, defer to
8079         remote_target method of same name.
8080         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
8081         parameter, and save it in m_remote.  All callers adjusted.
8082         (scoped_remote_fd::release): Use m_remote.
8083         (scoped_remote_fd::m_remote): New field.
8084         (remote_file_put, remote_file_get, remote_file_delete): Use
8085         get_current_remote_target, defer to remote_target method of same
8086         name.
8087         (remote_btrace_reset): Add remote_state paremeter.  Update all
8088         callers.
8089         (remote_async_inferior_event_handler). Pass down 'data'.
8090         (remote_new_objfile): Use get_current_remote_target.
8091         (remote_target::vcont_r_supported): New.
8092         (set_range_stepping): Use get_current_remote_target and
8093         remote_target::vcont_r_supported.
8094         (_initialize_remote): Don't allocate 'remote_state' and
8095         'stop_reply_queue' globals.
8096         * remote.h (struct remote_target): Forward declare.
8097         (getpkt, putpkt, remote_notif_get_pending_events): Add
8098         'remote_target' parameter.
8099
8100 2018-05-22  Pedro Alves  <palves@redhat.com>
8101
8102         * remote.c (vcont_builder): Now a class.  Make all data members
8103         private.
8104         (vcont_builder) <vcont_builder, restart, flush, push_action>:
8105         Declare methods.
8106         (vcont_builder_restart): Rename to ...
8107         (vcont_builder::restart): ... this.
8108         (vcont_builder_flush): Rename to ...
8109         (vcont_builder::flush): ... this.
8110         (vcont_builder_push_action): Rename to ...
8111         (vcont_builder::push_action): ... this.
8112         (remote_target::commit_resume): Adjust.
8113
8114 2018-05-22  Pedro Alves  <palves@redhat.com>
8115
8116         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
8117         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
8118         (get_fixed_memory_packet_size): New.
8119         (get_memory_packet_size): Use it.
8120         (set_memory_packet_size): Don't override the config size with
8121         DEFAULT_MAX_MEMORY_PACKET_SIZE.
8122         (show_memory_packet_size): Use get_fixed_memory_packet_size.
8123         Don't refer to get_memory_packet_size if not connected to a remote
8124         target.  Show "(default)" if configured size is 0.
8125
8126 2018-05-22  Pedro Alves  <palves@redhat.com>
8127
8128         * remote.c (remote_target::mourn_inferior): Move
8129         discard_pending_stop_replies call here from ...
8130         (_initialize_remote): ... here.
8131
8132 2018-05-22  Pedro Alves  <palves@redhat.com>
8133
8134         * remote.c (compare_section_command): Remove set_general_process
8135         call.
8136
8137 2018-05-22  Pedro Alves  <palves@redhat.com>
8138
8139         * remote.c (struct packet_reg, struct remote_arch_state):
8140         Move higher up in the file.
8141         (remote_state) <m_arch_states>: Store remote_arch_state values
8142         instead of remote_arch_state pointers.
8143         (remote_state::get_remote_arch_state): Adjust.
8144
8145 2018-05-22  Pedro Alves  <palves@redhat.com>
8146
8147         * remote.c: Include <unordered_map>.
8148         (remote_state): Now a class.
8149         (remote_state) <get_remote_arch_state>: Declare method.
8150         <get_remote_arch_state>: New field.
8151         (remote_arch_state) <remote_arch_state>: Declare ctor.
8152         <regs>: Now a unique_ptr.
8153         (remote_gdbarch_data_handle): Delete.
8154         (get_remote_arch_state): Delete.
8155         (remote_state::get_remote_arch_state): New.
8156         (get_remote_state): Adjust to call remote_state's
8157         get_remote_arch_state method.
8158         (init_remote_state): Delete, bits factored out to ...
8159         (remote_arch_state::remote_arch_state): ... this new method.
8160         (get_remote_packet_size, get_memory_packet_size)
8161         (process_g_packet, remote_target::fetch_registers)
8162         (remote_target::prepare_to_store, store_registers_using_G)
8163         (remote_target::store_registers, remote_target::get_trace_status):
8164         Adjust to call remote_state's method.
8165         (_initialize_remote): Remove reference to
8166         remote_gdbarch_data_handle.
8167
8168 2018-05-22  Pedro Alves  <palves@redhat.com>
8169
8170         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
8171         pread>: New method declarations.
8172         (remote_target::open_1): Adjust.
8173         (readahead_cache_invalidate): Rename to ...
8174         (readahead_cache::invalidate): ... this, and adjust to be a class
8175         method.
8176         (readahead_cache_invalidate_fd): Rename to ...
8177         (readahead_cache::invalidate_fd): ... this, and adjust to be a
8178         class method.
8179         (remote_hostio_pwrite): Adjust.
8180         (remote_hostio_pread_from_cache): Rename to ...
8181         (readahead_cache::pread): ... this, and adjust to be a class
8182         method.
8183         (remote_hostio_close): Adjust.
8184
8185 2018-05-22  Pedro Alves  <palves@redhat.com>
8186
8187         * remote.c (remote_hostio_close_cleanup): Delete.
8188         (class scoped_remote_fd): New.
8189         (remote_file_put, remote_file_get): Use it.
8190
8191 2018-05-22  Pedro Alves  <palves@redhat.com>
8192
8193         (struct vCont_action_support): Use bool and initialize all fields.
8194         (struct readahead_cache): Initialize all fields.
8195         (remote_state): Use bool and initialize all fields.
8196         (remote_state::remote_state, remote_state::~remote_state): New.
8197         (new_remote_state): Delete.
8198         (_initialize_remote): Use new to allocate remote_state.
8199
8200 2018-05-22  Pedro Alves  <palves@redhat.com>
8201             張俊芝  <zjz@zjz.name>
8202
8203         PR gdb/22973
8204         * c-exp.y: Include "c-support.h".
8205         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
8206         of tolower.  Use c_ident_is_alpha to scan names.
8207         * c-lang.c: Include "c-support.h".
8208         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
8209         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
8210         * c-support.h: New file, with bits factored out from ...
8211         * cp-name-parser.y: ... this file.
8212         Include "c-support.h".
8213         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
8214         c-support.h and renamed.
8215         (symbol_end, yylex): Adjust.
8216
8217 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8218
8219         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
8220         parameter type to CORE_ADDR.
8221         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
8222         parameter type in declaration to CORE_ADDR.
8223         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
8224         target_auxv_search to get AT_HWCAP and use the result to get the
8225         target description.
8226         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
8227         to CORE_ADDR. Remove the cast of the return value to unsigned
8228         long. Fix error predicate of target_auxv_search.
8229         (ppc_linux_nat_target::read_description): Change the type of the
8230         hwcap variable to CORE_ADDR.
8231
8232 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8233
8234         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
8235         if the size of fpscr is larger than 32 bits.
8236
8237 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8238
8239         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
8240         (ppc32_linux_vsxregmap): New global.
8241         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
8242         regcache_supply_regset, and regcache_collect_regset.
8243         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
8244         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
8245         (fetch_vsx_register, store_vsx_register): Remove.
8246         (fetch_vsx_registers): Add regno parameter. Get regset using
8247         ppc_linux_vsxregset. Use regset to supply registers.
8248         (store_vsx_registers): Add regno parameter. Get regset using
8249         ppc_linux_vsxregset. Use regset to collect registers.
8250         (fetch_register): Call fetch_vsx_registers instead of
8251         fetch_vsx_register.
8252         (store_register): Call store_vsx_registers instead of
8253         store_vsx_register.
8254         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
8255         new regno parameter.
8256         (store_ppc_registers): Call store_vsx_registers with -1 for the
8257         new regno parameter.
8258         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
8259         (ppc_collect_vsxregset): Remove.
8260
8261 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8262
8263         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
8264         offset fields.
8265         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
8266         for vector register offset fields.
8267         (ppc64_fbsd_reg_offsets): Likewise.
8268         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
8269         to vector register offset fields.
8270         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
8271         to vector register offset fields.
8272         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
8273         vector register offset fields.
8274         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
8275         initializers for vector register offset fields.
8276         (rs6000_aix64_reg_offsets): Likewise.
8277         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
8278         (ppc_supply_vrregset): Remove.
8279         (ppc_collect_vrregset): Remove.
8280         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
8281         (ppc_linux_vrregset) : New function.
8282         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
8283         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
8284         (ppc32_linux_vrregset): Remove.
8285         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
8286         and use result instead of ppc32_linux_vrregset.
8287         (ppc32_linux_reg_offsets): Remove initializers for vector register
8288         offset fields.
8289         (ppc64_linux_reg_offsets): Likewise.
8290         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
8291         * ppc-linux-nat.c: Include regset.h.
8292         (gdb_vrregset_t): Adjust comment to account for little-endian
8293         mode.
8294         (supply_vrregset, fill_vrregset): Remove.
8295         (fetch_altivec_register, store_altivec_register): Remove.
8296         (fetch_altivec_registers): Add regno parameter. Get regset using
8297         ppc_linux_vrregset. Use regset to supply registers.
8298         (store_altivec_registers): Add regno parameter. Get regset using
8299         ppc_linux_vrregset. Use regset to collect registers.
8300         (fetch_register): Call fetch_altivec_registers instead of
8301         fetch_altivec_register.
8302         (store_register): Call store_altivec_registers instead of
8303         store_altivec_register.
8304         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
8305         the new regno parameter.
8306         (store_ppc_registers): Call store_altivec_registers with -1 for
8307         the new regno parameter.
8308
8309 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8310
8311         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
8312         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
8313         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
8314         (gdb_vrregset_t): Change array type size to
8315         PPC_LINUX_SIZEOF_VRREGSET.
8316         (gdb_vsxregset_t): Change array type size to
8317         PPC_LINUX_SIZEOF_VSXREGSET.
8318         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
8319         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
8320         PPC_LINUX_SIZEOF_VSXREGSET.
8321
8322 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8323
8324         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
8325         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
8326         nat/ppc-linux.c.
8327         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
8328         ppc_linux_target_wordsize with tid.
8329         (ppc_linux_nat_target::read_description): Call ppc_linux_target
8330         wordsize with tid.
8331         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
8332         (ppc64_64bit_inferior_p): Add static and inline specifiers.
8333         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
8334         tid parameter. Remove static specifier.
8335         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
8336         (ppc_linux_target_wordsize): New declaration.
8337
8338 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8339
8340         * arch/ppc-linux-common.c: New file.
8341         * arch/ppc-linux-common.h: New file.
8342         * arch/ppc-linux-tdesc.h: New file.
8343         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
8344         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
8345         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
8346         arch/ppc-linux-tdesc.h.
8347         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
8348         arch/ppc-linux-tdesc.h.
8349         (ppc_linux_nat_target::read_description): Remove target
8350         description matching code. Fill a ppc_linux_features struct and
8351         call ppc_linux_match_description with it. Move comment about ISA
8352         2.05 to ppc-linux-common.c.
8353         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
8354         arch/ppc-linux-tdesc.h.
8355         (ppc_linux_core_read_description): Remove target description
8356         matching code. Fill a ppc_linux_features struct and call
8357         ppc_linux_match_description with it.
8358         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
8359         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
8360         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
8361         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
8362         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
8363         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
8364         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
8365         (tdesc_powerpc_e500l): Remove.
8366
8367 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
8368
8369         * ada-lang.c (catch_assert_command): Pass empty string instead
8370         of NULL for excep_string argument.
8371
8372 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
8373
8374         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
8375         the width of the requested register exceeds the width of the
8376         `ptrace' data type.
8377
8378 2018-05-21  Tom Tromey  <tom@tromey.com>
8379
8380         * printcmd.c (output_command): Remove.
8381         (output_command_const): Rename to output_command.
8382         * valprint.h (output_command): Rename from output_command_const.
8383         * tracepoint.c (trace_dump_actions): Call output_command.
8384
8385 2018-05-21  Tom Tromey  <tom@tromey.com>
8386
8387         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
8388         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
8389         * ada-lang.h (create_ada_exception_catchpoint): Update.
8390         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
8391         std::string.
8392         (create_excep_cond_exprs, ~ada_catchpoint)
8393         (should_stop_exception, print_one_exception)
8394         (print_mention_exception, print_recreate_exception): Update.
8395         (ada_get_next_arg): Remove.
8396         (catch_ada_exception_command_split): Use std::string.  Change type
8397         of "excep_string", "cond_string".
8398         (catch_ada_exception_command): Update.
8399         (create_ada_exception_catchpoint): Change type of excep_string.
8400         (ada_exception_sal): Remove excep_string parameter.
8401         (~ada_catchpoint): Remove.
8402
8403 2018-05-21  Tom Tromey  <tom@tromey.com>
8404
8405         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
8406         cleanup.
8407
8408 2018-05-21  Tom Tromey  <tom@tromey.com>
8409
8410         * ada-lang.c (ada_exception_message_1, ada_exception_message):
8411         Return unique_xmalloc_ptr.
8412         (print_it_exception): Update.
8413
8414 2018-05-21  Tom Tromey  <tom@tromey.com>
8415
8416         * tracepoint.c (trace_dump_actions): Use std::string.
8417
8418 2018-05-21  Tom Tromey  <tom@tromey.com>
8419
8420         * symfile.c (reread_symbols): Use std::string for original_name.
8421
8422 2018-05-21  Tom Tromey  <tom@tromey.com>
8423
8424         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
8425         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
8426         constructor.
8427
8428 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
8429
8430         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
8431         instance to...
8432         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
8433         * objfiles.c (get_objfile_bfd_data): Allocate
8434         objfile_per_bfd_storage with obstack_new when allocating on
8435         obstack.
8436
8437 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
8438
8439         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
8440         OBSTACK_ZALLOC.
8441         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
8442         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
8443         * mdebugread.c (mdebug_build_psymtabs): Likewise.
8444         (add_pending): Likewise.
8445         (parse_symbol): Likewise.
8446         (parse_partial_symbols): Likewise.
8447         (psymtab_to_symtab_1): Likewise.
8448         (new_psymtab): Likewise.
8449         (elfmdebug_build_psymtabs): Likewise.
8450         * minsyms.c (terminate_minimal_symbol_table): Likewise.
8451         * objfiles.c (get_objfile_bfd_data): Likewise.
8452         (objfile_register_static_link): Likewise.
8453         * psymtab.c (allocate_psymtab): Likewise.
8454         * stabsread.c (read_member_functions): Likewise.
8455         * xcoffread.c (xcoff_end_psymtab): Likewise.
8456
8457 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
8458
8459         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
8460         compiler supports std::is_trivially_constructible.
8461         * common/poison.h: Include obstack.h.
8462         (IsMallocable): Define to is_trivially_constructible if the
8463         compiler supports it, define to true_type otherwise.
8464         (xobnew): New.
8465         (XOBNEW): Redefine.
8466         (xobnewvec): New.
8467         (XOBNEWVEC): Redefine.
8468         * gdb_obstack.h (obstack_zalloc): New.
8469         (OBSTACK_ZALLOC): Redefine.
8470         (obstack_calloc): New.
8471         (OBSTACK_CALLOC): Redefine.
8472         (obstack_new): New.
8473         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
8474         (gdbarch_obstack): New declaration in gdbarch.h, definition in
8475         gdbarch.c.
8476         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
8477         obstack_calloc/obstack_zalloc.
8478         (gdbarch_obstack_zalloc): Remove.
8479         * target-descriptions.c (tdesc_data_init): Use obstack_new.
8480
8481 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8482
8483         * stack.c (backtrace_command_1): Remove useless variable int i.
8484
8485 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8486
8487         * stack.c (print_frame_info): Fix comment.
8488
8489 2018-05-18  Tom Tromey  <tom@tromey.com>
8490
8491         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
8492         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
8493         (~dwarf2_per_objfile): Update
8494         (dwarf2_get_dwz_file): Use new.
8495         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
8496         unique_ptr.
8497
8498 2018-05-18  Tom Tromey  <tom@tromey.com>
8499
8500         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
8501         unique_ptr.
8502         * dwarf2read.c (struct dwp_file): Add constructor and
8503         initializers.
8504         (open_and_init_dwp_file): Return a unique_ptr.
8505         (dwarf2_per_objfile, create_dwp_hash_table)
8506         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
8507         (lookup_dwo_unit_in_dwp): Update.
8508         (open_and_init_dwp_file, get_dwp_file): Update.
8509
8510 2018-05-18  Tom Tromey  <tom@tromey.com>
8511
8512         * dwarf2read.c (dwarf2_per_objfile): Update.
8513         (struct mapped_index): Add initializers.
8514         (dwarf2_read_index): Use new.
8515         (dw2_symtab_iter_init): Update.
8516         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
8517         unique_ptr.
8518
8519 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
8520
8521         * dwarf2read.c (mapped_index) <total_size>: Remove.
8522
8523 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
8524
8525         * unittests/format_pieces-selftests.c (test_format_specifier):
8526         Add ARI comments.
8527
8528 2018-05-18  Tom Tromey  <tom@tromey.com>
8529
8530         * c-typeprint.c (maybe_print_hole): New function.
8531         (c_print_type_struct_field_offset): Update.
8532         (c_type_print_base_struct_union): Call maybe_print_hole.
8533
8534 2018-05-17  Keith Seitz  <keiths@redhat.com>
8535
8536         * breakpoint.c (build_bpstat_chain): New function, moved from
8537         bpstat_stop_status.
8538         (bpstat_stop_status): Add optional parameter, `stop_chain'.
8539         If no stop chain is passed, call build_bpstat_chain to build it.
8540         * breakpoint.h (build_bpstat_chain): Declare.
8541         (bpstat_stop_status): Move documentation here from breakpoint.c.
8542         * infrun.c (handle_signal_stop): Before eliding inlined frames,
8543         build the stop chain and pass it to skip_inline_frames.
8544         Pass this stop chain to bpstat_stop_status.
8545         * inline-frame.c: Include breakpoint.h.
8546         (stopped_by_user_bp_inline_frame): New function.
8547         (skip_inline_frames): Add parameter `stop_chain'.
8548         Move documention to inline-frame.h.
8549         If non-NULL, use stopped_by_user_bp_inline_frame to determine
8550         whether the frame should be elided.
8551         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
8552         Add moved documentation and update for new parameter.
8553
8554 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
8555
8556         PR cli/14975
8557         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8558         unittests/format_pieces-selftests.c.
8559         * common/format.h (format_piece) <operator==>: New.
8560         (format_pieces) <operator[]>: Remove.
8561         * common/format.c (format_pieces::format_pieces): Handle \e.
8562         * unittests/format_pieces-selftests.c: New.
8563
8564 2018-05-17  Tom Tromey  <tom@tromey.com>
8565
8566         PR symtab/23010:
8567         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
8568         (dw2_instantiate_symtab): Add skip_partial parameter.
8569         (dw2_find_last_source_symtab, dw2_map_expand_apply)
8570         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
8571         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
8572         (dw2_expand_symtabs_matching_one)
8573         (dw2_find_pc_sect_compunit_symtab)
8574         (dw2_debug_names_lookup_symbol)
8575         (dw2_debug_names_expand_symtabs_for_function): Update.
8576         (init_cutu_and_read_dies): Add skip_partial parameter.
8577         (process_psymtab_comp_unit, build_type_psymtabs_1)
8578         (process_skeletonless_type_unit, load_partial_comp_unit)
8579         (psymtab_to_symtab_1): Update.
8580         (load_full_comp_unit): Add skip_partial parameter.
8581         (process_imported_unit_die, dwarf2_read_addr_index)
8582         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
8583         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
8584         (read_signatured_type): Update.
8585
8586 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
8587
8588         * value.c (release_value): Remove unused variable.
8589         (record_latest_value): Likewise.
8590         (access_value_history): Likewise.
8591         (preserve_values): Likewise.
8592
8593 2018-05-17  Tom Tromey  <tom@tromey.com>
8594
8595         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
8596         Initialize.
8597
8598 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
8599
8600         PR gdb/22286
8601         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
8602         Also handle registers whose width is not a multiple of
8603         PTRACE_TYPE_RET.
8604         (linux_nat_trad_target::store_register): Likewise.
8605
8606 2018-05-16  Tom Tromey  <tom@tromey.com>
8607
8608         * gdbcore.h (core_bfd): Redefine.
8609         * corelow.c (core_target::close): Update.
8610         (core_target_open): Update.
8611         * progspace.h (struct program_space) <cbfd>: Now a
8612         gdb_bfd_ref_ptr.
8613
8614 2018-05-16  Tom Tromey  <tom@tromey.com>
8615
8616         PR cli/19551:
8617         * symfile-add-flags.h (enum symfile_add_flags)
8618         <SYMFILE_NOT_FILENAME>: New constant.
8619         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
8620         objfile name from BFD.
8621         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
8622         * minidebug.c (find_separate_debug_file_in_section): Put
8623         ".gnu_debugdata" into BFD's file name.
8624
8625 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
8626
8627         * regcache.c (regcache_read_ftype, regcache_write_ftype):
8628         Remove.
8629
8630 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
8631
8632         PR binutils/21446
8633         * aarch64-tdep.c (aarch64_analyze_prologue,
8634         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
8635         Indicate not interested in errors.
8636
8637 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
8638
8639         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
8640         Supply the MIPS_ZERO_REGNUM register.
8641
8642 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
8643
8644         * mips-tdep.c (mask_address_var): Make variable static.
8645
8646 2018-05-14  Tom Tromey  <tom@tromey.com>
8647
8648         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
8649
8650 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
8651
8652         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
8653         FXSAVE_ADDR for the mxcsr register.
8654
8655 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
8656
8657         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
8658
8659 2018-05-11  Pedro Alves  <palves@redhat.com>
8660
8661         * corelow.c (core_target) <core_target>: No longer inline.
8662         Initialize m_core_gdbarch, m_core_vec and build the section table
8663         here.
8664         <~core_target>: New.
8665         <core_gdbarch, get_core_register_section>: New methods.
8666         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
8667         factored out from ...
8668         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
8669         (core_ops): Delete.
8670         (sniff_core_bfd): Add gdbarch parameter.
8671         (core_close): Delete, merged into ...
8672         (core_target::close): ... here.  Delete self.
8673         (core_close_cleanup): Delete.
8674         (core_target_open): Allocate a core_target on the heap.  Use a
8675         unique_ptr instead of a cleanup.  Bits moved into the core_target
8676         ctor.  Adjust to use core_target methods instead of globals.
8677         (get_core_register_section): Rename to ...
8678         (core_target::get_core_register_section): ... this and adjust.
8679         (struct get_core_registers_cb_data): New.
8680         (get_core_registers_cb): Use it.  Use bool.
8681         (core_target::fetch_registers, core_target::files_info)
8682         (core_target::xfer_partial, core_target::read_description)
8683         (core_target::pid_to, core_target::thread_name): Adjust to
8684         reference class fields instead of globals.
8685         * target.h (struct target_ops_deleter, target_ops_up): New.
8686
8687 2018-05-11  Pedro Alves  <palves@redhat.com>
8688
8689         * corefile.c (core_file_command): Move to corelow.c.
8690         * corelow.c (the_core_target): Delete.
8691         (core_file_command): Moved from corefile.c.  Check exec_bfd
8692         instead of the_core_target.  Use target_detach instead of calling
8693         into the_core_target directly.
8694         (maybe_say_no_core_file_now): New.
8695         (core_target::detach): Use it.
8696         (_initialize_corelow): Remove references to the_core_target.
8697         * gdbcore.h (the_core_target): Delete.
8698
8699 2018-05-11  Tom Tromey  <tromey@redhat.com>
8700             Pedro Alves  <palves@redhat.com>
8701
8702         * corefile.c (core_bfd): Remove.
8703         * gdbcore.h (core_bfd): Now a macro.
8704         * progspace.h (struct program_space) <cbfd>: New field.
8705
8706 2018-05-11  Tom Tromey  <tom@tromey.com>
8707
8708         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
8709         gdb::def_vector.
8710
8711 2018-05-10  Tom Tromey  <tom@tromey.com>
8712
8713         * configure: Rebuild.
8714         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
8715
8716 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
8717
8718         PR server/23158:
8719         * regformats/regdat.sh: Adjust script, following the addition
8720         of the new expedite_regs parameter to init_target_desc.
8721
8722 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
8723     
8724         PR gdb/23127
8725         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
8726         set_gdbarch_significant_addr_bit.
8727         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
8728         set_gdbarch_significant_addr_bit.
8729         * utils.c (address_significant): Update to sign extend addr.
8730
8731 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
8732
8733         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
8734         (xtensa_linux_init_abi): Limit tdep->num_regs by
8735         tdep->num_nopriv_regs.
8736         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
8737         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
8738         not initialized.
8739
8740 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
8741
8742         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
8743
8744 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
8745
8746         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
8747         (I387_MXCSR_INIT_VAL): New constant.
8748         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
8749         buffer if it was supplied by the inferior.
8750         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
8751         (i387_xsave_get_clear_bv): New function.
8752         (i387_supply_xsave): Only read x87 control registers from the
8753         xsave buffer if the feature is enabled, and the state will have
8754         been written, otherwise, provide a suitable default.
8755         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
8756         including x87 control registers.  Update control registers if they
8757         have changed from the default value, and mark features as enabled
8758         as required.
8759         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
8760
8761 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
8762
8763         * spu-tdep.c (info_spu_event_command): Fix output formatting.
8764
8765 2018-05-07  Tom Tromey  <tom@tromey.com>
8766
8767         * configure: Rebuild.
8768         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
8769
8770 2018-05-07  Tom Tromey  <tom@tromey.com>
8771
8772         PR tdep/20362:
8773         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
8774         bit.  Use correct value for VDIV.
8775
8776 2018-05-04  Tom Tromey  <tom@tromey.com>
8777
8778         * configure: Rebuild.
8779         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
8780
8781 2018-05-04  Tom Tromey  <tom@tromey.com>
8782
8783         * linux-record.c (record_linux_system_call) <case
8784         RECORD_SYS_RECVFROM>: Add "break".
8785
8786 2018-05-04  Tom Tromey  <tom@tromey.com>
8787
8788         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
8789         Add missing "break".
8790         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
8791         Add missing "break".
8792
8793 2018-05-04  Tom Tromey  <tom@tromey.com>
8794
8795         * rs6000-tdep.c (ppc_process_record_op4)
8796         (ppc_process_record_op63): Add fall-through comment.
8797
8798 2018-05-04  Tom Tromey  <tom@tromey.com>
8799
8800         * i386-tdep.c (i386_process_record): Add fall-through comment.
8801
8802 2018-05-04  Tom Tromey  <tom@tromey.com>
8803
8804         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
8805         comment.
8806
8807 2018-05-04  Tom Tromey  <tom@tromey.com>
8808
8809         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
8810         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
8811         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
8812         comment.
8813         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
8814         comment.
8815         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
8816         comment.
8817
8818 2018-05-04  Tom Tromey  <tom@tromey.com>
8819
8820         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
8821
8822 2018-05-04  Tom Tromey  <tom@tromey.com>
8823
8824         * s390-tdep.c (s390_process_record): Fix fall-through comments.
8825         * xcoffread.c (scan_xcoff_symtab): Move comment later.
8826         * symfile.c (section_is_mapped): Fix fall-through comment.
8827         * stabsread.c (define_symbol, read_member_functions): Fix
8828         fall-through comment.
8829         * s390-linux-tdep.c (s390_process_record): Fix fall-through
8830         comment.
8831         * remote.c (remote_wait_as): Fix fall-through comment.
8832         * p-exp.y (yylex): Fix fall-through comment.
8833         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
8834         comment.
8835         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
8836         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
8837         * jv-exp.y (yylex): Fix fall-through comment.
8838         * go-exp.y (lex_one_token): Fix fall-through comment.
8839         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
8840         fall-through comment.
8841         * f-exp.y (yylex): Fix fall-through comment.
8842         * dwarf2read.c (process_die): Fix fall-through comments.
8843         * dbxread.c (process_one_symbol): Fix fall-through comment.
8844         * d-exp.y (lex_one_token): Fix fall-through comment.
8845         * cp-name-parser.y (yylex): Fix fall-through comment.
8846         * coffread.c (coff_symtab_read): Fix fall-through comment.
8847         * c-exp.y (lex_one_token): Fix fall-through comment.
8848         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
8849         comment.
8850         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
8851         comment.
8852
8853 2018-05-04  Tom Tromey  <tom@tromey.com>
8854
8855         PR python/22730:
8856         * NEWS: Mention gdb.execute change.
8857         * gdbcmd.h (execute_control_command): Don't declare.
8858         * python/python.c (execute_gdb_command): Use read_command_lines_1,
8859         execute_control_commands, execute_control_commands_to_string.
8860         * cli/cli-script.h (execute_control_commands)
8861         (execute_control_commands_to_string): Declare.
8862         (execute_control_command): Add from_tty parameter.
8863         * cli/cli-script.c (execute_control_commands)
8864         (execute_control_commands_to_string): New functions.
8865         (execute_user_command): Use execute_control_commands.
8866         (execute_control_command_1): Add "from_tty" parameter.  Update.
8867         (execute_control_command): Likewise.
8868
8869 2018-05-04  Tom Tromey  <tom@tromey.com>
8870
8871         PR python/22731:
8872         * NEWS: Mention that breakpoint commands are writable.
8873         * python/py-breakpoint.c (bppy_set_commands): New function.
8874         (breakpoint_object_getset) <"commands">: Use it.
8875
8876 2018-05-04  Tom Tromey  <tom@tromey.com>
8877
8878         * tracepoint.c (actions_command): Update.
8879         * mi/mi-cmd-break.c (mi_command_line_array)
8880         (mi_command_line_array_cnt, mi_command_line_array_ptr)
8881         (mi_read_next_line): Remove.
8882         (mi_cmd_break_commands): Update.
8883         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
8884         function_view.
8885         * cli/cli-script.c (get_command_line): Update.
8886         (process_next_line): Use function_view.  Constify.
8887         (recurse_read_control_structure, read_command_lines)
8888         (read_command_lines_1): Change argument types to function_view.
8889         (do_define_command, document_command): Update.
8890         * breakpoint.h (check_tracepoint_command): Don't declare.
8891         * breakpoint.c (check_tracepoint_command): Remove.
8892         (commands_command_1, create_tracepoint_from_upload): Update.
8893
8894 2018-05-04  Tom Tromey  <tom@tromey.com>
8895
8896         PR gdb/11750:
8897         * cli/cli-script.h (enum command_control_type) <define_control>:
8898         New constant.
8899         * cli/cli-script.c (multi_line_command_p): Handle define_control.
8900         (build_command_line, execute_control_command_1)
8901         (process_next_line): Likewise.
8902         (do_define_command): New function, extracted from define_command.
8903         (define_command): Use it.
8904
8905 2018-05-04  Tom Tromey  <tom@tromey.com>
8906
8907         * tracepoint.c (actions_command): Update.
8908         * cli/cli-script.h (read_command_lines): Update.
8909         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
8910         (MAX_TMPBUF): Remove define.
8911         (define_command): Use string_printf.
8912         (document_command): Likewise.
8913         * breakpoint.c (commands_command_1): Update.
8914
8915 2018-05-04  Tom Tromey  <tom@tromey.com>
8916
8917         * top.c (execute_command): Update.
8918         * cli/cli-script.h (print_command_lines): Now varargs.
8919         * cli/cli-script.c (print_command_lines): Now varargs.
8920         (execute_control_command_1) <case while_control, case if_control>:
8921         Update.
8922
8923 2018-05-04  Tom Tromey  <tom@tromey.com>
8924
8925         * tracepoint.c (all_tracepoint_actions): Rename from
8926         all_tracepoint_actions_and_cleanup.  Change return type.
8927         (actions_command, encode_actions_1, encode_actions)
8928         (trace_dump_actions, tdump_command): Update.
8929         * remote.c (remote_download_command_source): Update.
8930         * python/python.c (gdbpy_eval_from_control_command)
8931         (python_command, python_interactive_command): Update.
8932         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
8933         * guile/guile.c (guile_command)
8934         (gdbscm_eval_from_control_command, guile_command): Update.
8935         * compile/compile.c (compile_code_command)
8936         (compile_print_command, compile_to_object): Update.
8937         * cli/cli-script.h (struct command_lines_deleter): New.
8938         (counted_command_line): New typedef.
8939         (struct command_line): Add constructor, destructor.
8940         <body_list>: Remove.
8941         <body_list_0, body_list_1>: New members.
8942         (command_line_up): Remove typedef.
8943         (read_command_lines, read_command_lines_1, get_command_line):
8944         Update.
8945         (copy_command_lines): Don't declare.
8946         * cli/cli-script.c (build_command_line): Use "new".
8947         (get_command_line): Return counted_command_line.
8948         (print_command_lines, execute_user_command)
8949         (execute_control_command_1, while_command, if_command): Update.
8950         (realloc_body_list): Remove.
8951         (process_next_line, recurse_read_control_structure): Update.
8952         (read_command_lines, read_command_lines_1): Return counted_command_line.
8953         (free_command_lines): Use "delete".
8954         (copy_command_lines): Remove.
8955         (define_command, document_command, show_user_1): Update.
8956         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
8957         a counted_command_line.
8958         * breakpoint.h (counted_command_line): Remove typedef.
8959         (breakpoint_set_commands): Update.
8960         * breakpoint.c (check_no_tracepoint_commands)
8961         (validate_commands_for_breakpoint): Update.
8962         (breakpoint_set_commands): Change commands to be a
8963         counted_command_line.
8964         (commands_command_1, update_dprintf_command_list)
8965         (create_tracepoint_from_upload): Update.
8966
8967 2018-05-04  Tom Tromey  <tom@tromey.com>
8968
8969         * cli/cli-decode.h (cmd_list_element): New constructor.
8970         (~cmd_list_element): New destructor.
8971         (struct cmd_list_element): Add initializers.
8972         * cli/cli-decode.c (do_add_cmd): Use "new".
8973         (delete_cmd): Use "delete".
8974
8975 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
8976             Pedro Alves <palves@redhat.com>
8977
8978         PR breakpoints/19806 and support for PR external/20207.
8979         * NEWS: Mention Aarch64 watchpoint improvements.
8980         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
8981         watchpoints and PR external/20207 watchpoints.
8982         * nat/aarch64-linux-hw-point.c
8983         (kernel_supports_any_contiguous_range): New.
8984         (aarch64_watchpoint_offset): New.
8985         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
8986         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
8987         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
8988         (aarch64_align_watchpoint): New parameters aligned_offset_p and
8989         next_addr_orig_p.  Support PR external/20207 watchpoints.
8990         (aarch64_downgrade_regs): New.
8991         (aarch64_dr_state_insert_one_point): New parameters offset and
8992         addr_orig.
8993         (aarch64_dr_state_remove_one_point): Likewise.
8994         (aarch64_handle_breakpoint): Update caller.
8995         (aarch64_handle_aligned_watchpoint): Likewise.
8996         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
8997         aligned_offset.
8998         (aarch64_linux_set_debug_regs): Remove const from state.  Call
8999         aarch64_downgrade_regs.
9000         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
9001         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
9002         (DR_CONTROL_MASK): ... this.
9003         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
9004         (unsigned int aarch64_watchpoint_offset): New prototype.
9005         (aarch64_linux_set_debug_regs): Remove const from state.
9006         * utils.c (align_up, align_down): Move to ...
9007         * common/common-utils.c (align_up, align_down): ... here.
9008         * utils.h (align_up, align_down): Move to ...
9009         * common/common-utils.h (align_up, align_down): ... here.
9010
9011 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
9012
9013         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
9014         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
9015         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
9016         Re-implement to match the ABI as summarized in GCC's
9017         gcc/config/sparc/sparc.c.  All callers updated.
9018         (sparc32_store_arguments): Remove assertion.
9019
9020 2018-05-04  Tom Tromey  <tom@tromey.com>
9021
9022         * printcmd.c: Don't include tui.h.
9023         (decode_format): Use skip_spaces.
9024
9025 2018-05-04  Tom Tromey  <tom@tromey.com>
9026
9027         PR gdb/22619:
9028         * printcmd.c (last_count): New global.
9029         (x_command): Use saved count when repeating.
9030
9031 2018-05-04  Tom Tromey  <tom@tromey.com>
9032
9033         * nto-procfs.c (do_closedir_cleanup): Remove.
9034         (procfs_pidlist): Use gdb_dir_up.
9035         * procfs.c (do_closedir_cleanup): Remove.
9036         (proc_update_threads): Use gdb_dir_up.
9037         * common/filestuff.h (struct gdb_dir_deleter): New.
9038         (gdb_dir_up): New typedef.
9039
9040 2018-05-04  Tom Tromey  <tom@tromey.com>
9041
9042         * ada-lang.c (print_mention_exception): Use std::string.
9043
9044 2018-05-04  Tom Tromey  <tom@tromey.com>
9045
9046         * ada-lang.c (create_excep_cond_exprs): Update.
9047         (ada_exception_catchpoint_cond_string): Use std::string.
9048
9049 2018-05-04  Tom Tromey  <tom@tromey.com>
9050
9051         * ada-lang.c (xget_renaming_scope): Return std::string.
9052         (old_renaming_is_invisible): Update.
9053
9054 2018-05-04  Tom Tromey  <tom@tromey.com>
9055
9056         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
9057         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
9058
9059 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
9060
9061         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
9062
9063 2018-05-04  Tom Tromey  <tom@tromey.com>
9064
9065         * remote.c (remote_query_supported_append): Change type.
9066         (remote_check_symbols): Update.
9067
9068 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
9069
9070         PR gdb/11420
9071         * configure.ac: Prepend libpython.
9072         * python/python-config.py: Likewise.
9073         * configure: Regenerate.
9074
9075 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
9076
9077         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
9078
9079 2018-05-03  Pedro Alves  <palves@redhat.com>
9080
9081         * s390-linux-nat.c
9082         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
9083         override.  Write 'true' instead of '1'.
9084         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
9085         declaration.
9086
9087 2018-05-02  Pedro Alves  <palves@redhat.com>
9088
9089         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
9090         add_inf_child_target.
9091         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
9092         add_inf_child_target.
9093         * aix-thread.c (aix_thread_target_info): New.
9094         (aix_thread_target) <shortname, longname, doc>: Delete.
9095         <info>: New.
9096         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
9097         add_inf_child_target.
9098         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
9099         add_inf_child_target.
9100         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
9101         add_inf_child_target.
9102         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
9103         add_inf_child_target.
9104         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
9105         add_inf_child_target.
9106         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
9107         add_inf_child_target.
9108         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
9109         add_inf_child_target.
9110         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
9111         add_inf_child_target.
9112         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
9113         add_inf_child_target.
9114         * bfd-target.c (target_bfd_target_info): New.
9115         (target_bfd) <shortname, longname, doc>: Delete.
9116         <info>: New.
9117         * bsd-kvm.c (bsd_kvm_target_info): New.
9118         (bsd_kvm_target) <shortname, longname, doc>: Delete.
9119         <info>: New.
9120         (bsd_kvm_target::open): Rename to ...
9121         (bsd_kvm_target_open): ... this.  Adjust.
9122         * bsd-uthread.c (bsd_uthread_target_info): New.
9123         (bsd_uthread_target) <shortname, longname, doc>: Delete.
9124         <info>: New.
9125         * corefile.c (core_file_command): Adjust.
9126         * corelow.c (core_target_info): New.
9127         (core_target) <shortname, longname, doc>: Delete.
9128         <info>: New.
9129         (core_target::open): Rename to ...
9130         (core_target_open): ... this.  Adjust.
9131         * ctf.c (ctf_target_info): New.
9132         (ctf_target) <shortname, longname, doc>: Delete.
9133         <info>: New.
9134         (ctf_target::open): Rename to ...
9135         (ctf_target_open): ... this.
9136         (_initialize_ctf): Adjust.
9137         * exec.c (exec_target_info): New.
9138         (exec_target) <shortname, longname, doc>: Delete.
9139         <info>: New.
9140         (exec_target::open): Rename to ...
9141         (exec_target_open): ... this.
9142         * gdbcore.h (core_target_open): Declare.
9143         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
9144         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
9145         add_inf_child_target.
9146         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
9147         add_inf_child_target.
9148         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
9149         add_inf_child_target.
9150         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
9151         add_inf_child_target.
9152         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
9153         add_inf_child_target.
9154         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
9155         add_inf_child_target.
9156         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
9157         add_inf_child_target.
9158         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
9159         add_inf_child_target.
9160         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
9161         add_inf_child_target.
9162         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
9163         add_inf_child_target.
9164         * inf-child.c (inf_child_target_info): New.
9165         (inf_child_target::info): New.
9166         (inf_child_open_target): Remove 'target' parameter.  Use
9167         get_native_target instead.
9168         (inf_child_target::open): Delete.
9169         (add_inf_child_target): New.
9170         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
9171         Delete.
9172         <info>: New.
9173         (add_inf_child_target): Declare.
9174         (inf_child_open_target): Declare.
9175         * linux-thread-db.c (thread_db_target_info): New.
9176         (thread_db_target) <shortname, longname, doc>: Delete.
9177         <info>: New.
9178         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
9179         add_inf_child_target.
9180         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
9181         add_inf_child_target.
9182         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
9183         add_inf_child_target.
9184         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
9185         add_inf_child_target.
9186         * make-target-delegates (print_class): Adjust.
9187         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
9188         add_inf_child_target.
9189         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
9190         add_inf_child_target.
9191         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
9192         add_inf_child_target.
9193         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
9194         add_inf_child_target.
9195         * nto-procfs.c (nto_native_target_info): New.
9196         (nto_procfs_target_native) <shortname, longname, doc>:
9197         Delete.
9198         <info>: New.
9199         (nto_procfs_target_info): New.
9200         (nto_procfs_target_procfs) <shortname, longname, doc>:
9201         Delete.
9202         <info>: New.
9203         (init_procfs_targets): Adjust.
9204         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
9205         add_inf_child_target.
9206         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
9207         add_inf_child_target.
9208         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
9209         add_inf_child_target.
9210         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
9211         add_inf_child_target.
9212         * ravenscar-thread.c (ravenscar_target_info): New.
9213         (ravenscar_thread_target) <shortname, longname, doc>:
9214         Delete.
9215         <info>: New.
9216         * record-btrace.c (record_btrace_target_info):
9217         (record_btrace_target) <shortname, longname, doc>: Delete.
9218         <info>: New.
9219         (record_btrace_target::open): Rename to ...
9220         (record_btrace_target_open): ... this.  Adjust.
9221         * record-full.c (record_longname, record_doc): New.
9222         (record_full_base_target) <shortname, longname, doc>: Delete.
9223         <info>: New.
9224         (record_full_target_info): New.
9225         (record_full_target): <shortname>: Delete.
9226         <info>: New.
9227         (record_full_core_open_1, record_full_open_1): Update comments.
9228         (record_full_base_target::open): Rename to ...
9229         (record_full_open): ... this.
9230         (cmd_record_full_restore): Update.
9231         (_initialize_record_full): Update.
9232         * remote-sim.c (remote_sim_target_info): New.
9233         (gdbsim_target) <shortname, longname, doc>: Delete.
9234         <info>: New.
9235         (gdbsim_target::open): Rename to ...
9236         (gdbsim_target_open): ... this.
9237         (_initialize_remote_sim): Adjust.
9238         * remote.c (remote_doc): New.
9239         (remote_target_info): New.
9240         (remote_target) <shortname, longname, doc>: Delete.
9241         <info>: New.
9242         (extended_remote_target_info): New.
9243         (extended_remote_target) <shortname, longname, doc>: Delete.
9244         <info>: New.
9245         (remote_target::open_1): Make static.  Adjust.
9246         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
9247         * s390-linux-nat.c (_initialize_s390_nat): Use
9248         add_inf_child_target.
9249         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
9250         add_inf_child_target.
9251         * sol-thread.c (thread_db_target_info): New.
9252         (sol_thread_target) <shortname, longname, doc>: Delete.
9253         <info>: New.
9254         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
9255         add_inf_child_target.
9256         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
9257         add_inf_child_target.
9258         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
9259         add_inf_child_target.
9260         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
9261         add_inf_child_target.
9262         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
9263         add_inf_child_target.
9264         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
9265         add_inf_child_target.
9266         * spu-linux-nat.c (_initialize_spu_nat): Use
9267         add_inf_child_target.
9268         * spu-multiarch.c (spu_multiarch_target_info): New.
9269         (spu_multiarch_target) <shortname, longname, doc>: Delete.
9270         <info>: New.
9271         * target-delegates.c: Regenerate.
9272         * target.c: Include <unordered_map>.
9273         (target_ops_p): Delete.
9274         (DEF_VEC_P(target_ops_p)): Delete.
9275         (target_factories): New.
9276         (test_target_info): New.
9277         (test_target_ops::info): New.
9278         (open_target): Adjust to use target_factories.
9279         (add_target_with_completer): Rename to ...
9280         (add_target): ... this.  Change prototype.  Register target_info
9281         and open callback in target_factories.  Register target_info in
9282         command context instead of target_ops.
9283         (add_target): Delete old implementation.
9284         (add_deprecated_target_alias): Change prototype.  Adjust.
9285         (the_native_target): New.
9286         (set_native_target, get_native_target): New.
9287         (find_default_run_target): Use the_native_target.
9288         (find_attach_target, find_run_target): Simplify.
9289         (target_ops::open): Delete.
9290         (dummy_target_info): New.
9291         (dummy_target::shortname, dummy_target::longname)
9292         (dummy_target::doc): Delete.
9293         (dummy_target::info): New.
9294         (debug_target::shortname, debug_target::longname)
9295         (debug_target::doc): Delete.
9296         (debug_target::info): New.
9297         * target.h (struct target_info): New.
9298         (target_ops::~target_ops): Add comment.
9299         (target_ops::info): New.
9300         (target_ops::shortname, target_ops::longname, target_ops::doc): No
9301         longer virtual.  Implement in terms of target_info.
9302         (set_native_target, get_native_target): Declare.
9303         (target_open_ftype): New.
9304         (add_target, add_target_with_completer)
9305         (add_deprecated_target_alias): Change prototype.
9306         (test_target) <shortname, longname, doc>: Delete.
9307         <info>: New.
9308         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
9309         add_inf_child_target.
9310         * tracefile-tfile.c (tfile_target_info): New.
9311         (tfile_target) <shortname, longname, doc>: Delete.
9312         <info>: New.
9313         (tfile_target::open): Rename to ...
9314         (tfile_target_open): ... this.
9315         (_initialize_tracefile_tfile): Adjust.
9316         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
9317         add_inf_child_target.
9318         * windows-nat.c (_initialize_windows_nat): Use
9319         add_inf_child_target.
9320         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
9321         add_inf_child_target.
9322
9323 2018-05-02  Pedro Alves  <palves@redhat.com>
9324
9325         * linux-nat.h (linux_nat_target) <low_new_thread,
9326         low_delete_thread, low_new_fork, low_forget_process,
9327         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
9328         New virtual methods.
9329         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
9330         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
9331         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
9332         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
9333         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
9334         Delete.
9335         * linux-fork.c (delete_fork): Adjust to call low method.
9336         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
9337         (linux_nat_new_fork, linux_nat_forget_process_hook)
9338         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
9339         (linux_nat_status_is_event):
9340         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
9341         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
9342         to call low method.
9343         (sigtrap_is_event): Rename to ...
9344         (linux_nat_target::low_status_is_event): ... this.
9345         (linux_nat_set_status_is_event): Delete.
9346         (save_stop_reason, linux_nat_wait_1)
9347         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
9348         low methods.
9349         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
9350         (linux_nat_set_new_fork, linux_nat_set_forget_process)
9351         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
9352         (linux_nat_set_prepare_to_resume): Delete.
9353         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
9354         low virtual methods.
9355         * amd64-linux-nat.c: Likewise.
9356         * arm-linux-nat.c: Likewise.
9357         * i386-linux-nat.c: Likewise.
9358         * ia64-linux-nat.c: Likewise.
9359         * mips-linux-nat.c: Likewise.
9360         * ppc-linux-nat.c: Likewise.
9361         * s390-linux-nat.c: Likewise.
9362         * sparc64-linux-nat.c: Likewise.
9363         * x86-linux-nat.c: Likewise.
9364         * x86-linux-nat.h: Include "nat/x86-linux.h".
9365         (x86_linux_nat_target) <low_new_fork, low_forget_process,
9366         low_prepare_to_resume, low_new_thread, low_delete_thread>:
9367         Override methods.
9368
9369 2018-05-02  Pedro Alves  <palves@redhat.com>
9370
9371         * target.h (target_ops)
9372         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
9373         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
9374         stopped_by_watchpoint, have_continuable_watchpoint,
9375         stopped_data_address, watchpoint_addr_within_range,
9376         can_accel_watchpoint_condition, can_run, thread_alive,
9377         has_all_memory, has_memory, has_stack, has_registers,
9378         has_execution, can_async_p, is_async_p, supports_non_stop,
9379         always_non_stop_p, can_execute_reverse, supports_multi_process,
9380         supports_enable_disable_tracepoint,
9381         supports_disable_randomization, supports_string_tracing,
9382         supports_evaluation_of_breakpoint_conditions,
9383         can_run_breakpoint_commands, filesystem_is_local,
9384         can_download_tracepoint, get_trace_state_variable_value,
9385         set_trace_notes, get_tib_address, use_agent, can_use_agent,
9386         record_is_replaying, record_will_replay,
9387         augmented_libraries_svr4_read>: Adjust to return bool.
9388         * aarch64-linux-nat.c: All implementations adjusted.
9389         * aix-thread.c: All implementations adjusted.
9390         * arm-linux-nat.c: All implementations adjusted.
9391         * breakpoint.c: All implementations adjusted.
9392         * bsd-kvm.c: All implementations adjusted.
9393         * bsd-uthread.c: All implementations adjusted.
9394         * corelow.c: All implementations adjusted.
9395         * ctf.c: All implementations adjusted.
9396         * darwin-nat.c: All implementations adjusted.
9397         * darwin-nat.h: All implementations adjusted.
9398         * exec.c: All implementations adjusted.
9399         * fbsd-nat.c: All implementations adjusted.
9400         * fbsd-nat.h: All implementations adjusted.
9401         * gnu-nat.c: All implementations adjusted.
9402         * gnu-nat.h: All implementations adjusted.
9403         * go32-nat.c: All implementations adjusted.
9404         * ia64-linux-nat.c: All implementations adjusted.
9405         * inf-child.c: All implementations adjusted.
9406         * inf-child.h: All implementations adjusted.
9407         * inf-ptrace.c: All implementations adjusted.
9408         * inf-ptrace.h: All implementations adjusted.
9409         * linux-nat.c: All implementations adjusted.
9410         * linux-nat.h: All implementations adjusted.
9411         * mips-linux-nat.c: All implementations adjusted.
9412         * nto-procfs.c: All implementations adjusted.
9413         * ppc-linux-nat.c: All implementations adjusted.
9414         * procfs.c: All implementations adjusted.
9415         * ravenscar-thread.c: All implementations adjusted.
9416         * record-btrace.c: All implementations adjusted.
9417         * record-full.c: All implementations adjusted.
9418         * remote-sim.c: All implementations adjusted.
9419         * remote.c: All implementations adjusted.
9420         * s390-linux-nat.c: All implementations adjusted.
9421         * sol-thread.c: All implementations adjusted.
9422         * spu-multiarch.c: All implementations adjusted.
9423         * target-delegates.c: All implementations adjusted.
9424         * target.c: All implementations adjusted.
9425         * target.h: All implementations adjusted.
9426         * tracefile-tfile.c: All implementations adjusted.
9427         * tracefile.c: All implementations adjusted.
9428         * tracefile.h: All implementations adjusted.
9429         * windows-nat.c: All implementations adjusted.
9430         * x86-linux-nat.h: All implementations adjusted.
9431         * x86-nat.h: All implementations adjusted.
9432
9433 2018-05-02  Pedro Alves  <palves@redhat.com>
9434
9435         * make-target-delegates (scan_target_h): Don't trim lines here.
9436         Replace sequences of tabs and/or whitespace with a single
9437         whitespace.
9438         (top level, parsing methods): Trim each line before processing it
9439         here.
9440
9441 2018-05-02  Pedro Alves  <palves@redhat.com>
9442             John Baldwin  <jhb@freebsd.org>
9443
9444         * target.h (enum strata) <debug_stratum>: New.
9445         (struct target_ops) <all delegation methods>: Replace by C++
9446         virtual methods, and drop "to_" prefix.  All references updated
9447         throughout.
9448         <to_shortname, to_longname, to_doc, to_data,
9449         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
9450         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
9451         virtual methods.  All references updated throughout.
9452         <can_attach, supports_terminal_ours, can_create_inferior,
9453         get_thread_control_capabilities, attach_no_wait>: New
9454         virtual methods.
9455         <insert_breakpoint, remove_breakpoint>: Now
9456         TARGET_DEFAULT_NORETURN methods.
9457         <info_proc>: Now returns bool.
9458         <to_magic>: Delete.
9459         (OPS_MAGIC): Delete.
9460         (current_target): Delete.  All references replaced by references
9461         to ...
9462         (target_stack): ... this.  New.
9463         (target_shortname, target_longname): Adjust.
9464         (target_can_run): Now a function declaration.
9465         (default_child_has_all_memory, default_child_has_memory)
9466         (default_child_has_stack, default_child_has_registers)
9467         (default_child_has_execution): Remove target_ops parameter.
9468         (complete_target_initialization): Delete.
9469         (memory_breakpoint_target): New template class.
9470         (test_target_ops): Refactor as a C++ class with virtual methods.
9471         * make-target-delegates (NAME_PART): Tighten.
9472         (POINTER_PART, CP_SYMBOL): New.
9473         (SIMPLE_RETURN_PART): Reimplement.
9474         (VEC_RETURN_PART): Expect less.
9475         (RETURN_PART, VIRTUAL_PART): New.
9476         (METHOD): Adjust to C++ virtual methods.
9477         (scan_target_h): Remove reference to C99.
9478         (dname): Output "target_ops::" prefix.
9479         (write_function_header): Adjust to output a C++ class method.
9480         (write_declaration): New.
9481         (write_delegator): Adjust to output a C++ class method.
9482         (tdname): Output "dummy_target::" prefix.
9483         (write_tdefault, write_debugmethod): Adjust to output a C++ class
9484         method.
9485         (tdefault_names, debug_names): Delete.
9486         (return_types, tdefaults, styles, argtypes_array): New.
9487         (top level): All methods are delegators.
9488         (print_class): New.
9489         (top level): Print dummy_target and debug_target classes.
9490         * target-delegates.c: Regenerate.
9491         * target-debug.h (target_debug_print_enum_info_proc_what)
9492         (target_debug_print_thread_control_capabilities)
9493         (target_debug_print_thread_info_p): New.
9494         * target.c (dummy_target): Delete.
9495         (the_dummy_target, the_debug_target): New.
9496         (target_stack): Now extern.
9497         (set_targetdebug): Push/unpush debug target.
9498         (default_child_has_all_memory, default_child_has_memory)
9499         (default_child_has_stack, default_child_has_registers)
9500         (default_child_has_execution): Remove target_ops parameter.
9501         (complete_target_initialization): Delete.
9502         (add_target_with_completer): No longer call
9503         complete_target_initialization.
9504         (target_supports_terminal_ours): Use regular delegation.
9505         (update_current_target): Delete.
9506         (push_target): No longer check magic number.  Don't call
9507         update_current_target.
9508         (unpush_target): Don't call update_current_target.
9509         (target_is_pushed): No longer check magic number.
9510         (target_require_runnable): Skip for all stratums over
9511         process_stratum.
9512         (target_ops::info_proc): New.
9513         (target_info_proc): Use find_target_at and
9514         find_default_run_target.
9515         (target_supports_disable_randomization): Use regular delegation.
9516         (target_get_osdata): Use find_target_at.
9517         (target_ops::open, target_ops::close, target_ops::can_attach)
9518         (target_ops::attach, target_ops::can_create_inferior)
9519         (target_ops::create_inferior, target_ops::can_run)
9520         (target_can_run): New.
9521         (default_fileio_target): Use regular delegation.
9522         (target_ops::fileio_open, target_ops::fileio_pwrite)
9523         (target_ops::fileio_pread, target_ops::fileio_fstat)
9524         (target_ops::fileio_close, target_ops::fileio_unlink)
9525         (target_ops::fileio_readlink): New.
9526         (target_fileio_open_1, target_fileio_unlink)
9527         (target_fileio_readlink): Always call the target method.  Handle
9528         FILEIO_ENOSYS.
9529         (return_zero, return_zero_has_execution): Delete.
9530         (init_dummy_target): Delete.
9531         (dummy_target::dummy_target, dummy_target::shortname)
9532         (dummy_target::longname, dummy_target::doc)
9533         (debug_target::debug_target, debug_target::shortname)
9534         (debug_target::longname, debug_target::doc): New.
9535         (target_supports_delete_record): Use regular delegation.
9536         (setup_target_debug): Delete.
9537         (maintenance_print_target_stack): Skip debug_stratum.
9538         (initialize_targets): Instantiate the_dummy_target and
9539         the_debug_target.
9540         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
9541         use target_stack.
9542         (target_auxv_search, fprint_target_auxv): Adjust.
9543         (info_auxv_command): Adjust to use target_stack.
9544         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
9545         * exceptions.c (print_flush): Handle a NULL target_stack.
9546         * regcache.c (target_ops_no_register): Refactor as class with
9547         virtual methods.
9548
9549         * exec.c (exec_target): New class.
9550         (exec_ops): Now an exec_target.
9551         (exec_open, exec_close_1, exec_get_section_table)
9552         (exec_xfer_partial, exec_files_info, exec_has_memory)
9553         (exec_make_note_section): Refactor as exec_target methods.
9554         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
9555         Delete.
9556         (exec_target::find_memory_regions): New.
9557         (_initialize_exec): Don't call init_exec_ops.
9558         * gdbcore.h (exec_file_clear): Delete.
9559
9560         * corefile.c (core_target): Delete.
9561         (core_file_command): Adjust.
9562         * corelow.c (core_target): New class.
9563         (the_core_target): New.
9564         (core_close): Remove target_ops parameter.
9565         (core_close_cleanup): Adjust.
9566         (core_target::close): New.
9567         (core_open, core_detach, get_core_registers, core_files_info)
9568         (core_xfer_partial, core_thread_alive, core_read_description)
9569         (core_pid_to_str, core_thread_name, core_has_memory)
9570         (core_has_stack, core_has_registers, core_info_proc): Rework as
9571         core_target methods.
9572         (ignore, core_remove_breakpoint, init_core_ops): Delete.
9573         (_initialize_corelow): Initialize the_core_target.
9574         * gdbcore.h (core_target): Delete.
9575         (the_core_target): New.
9576
9577         * ctf.c: (ctf_target): New class.
9578         (ctf_ops): Now a ctf_target.
9579         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
9580         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
9581         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
9582         methods.
9583         (init_ctf_ops): Delete.
9584         (_initialize_ctf): Don't call it.
9585         * tracefile-tfile.c (tfile_target): New class.
9586         (tfile_ops): Now a tfile_target.
9587         (tfile_open, tfile_close, tfile_files_info)
9588         (tfile_get_tracepoint_status, tfile_trace_find)
9589         (tfile_fetch_registers, tfile_xfer_partial)
9590         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
9591         Refactor as tfile_target methods.
9592         (tfile_xfer_partial_features): Remove target_ops parameter.
9593         (init_tfile_ops): Delete.
9594         (_initialize_tracefile_tfile): Don't call it.
9595         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
9596         (tracefile_has_stack, tracefile_has_registers)
9597         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
9598         tracefile_target methods.
9599         (init_tracefile_ops): Delete.
9600         (tracefile_target::tracefile_target): New.
9601         * tracefile.h: Include "target.h".
9602         (tracefile_target): New class.
9603         (init_tracefile_ops): Delete.
9604
9605         * spu-multiarch.c (spu_multiarch_target): New class.
9606         (spu_ops): Now a spu_multiarch_target.
9607         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
9608         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
9609         (spu_search_memory, spu_mourn_inferior): Refactor as
9610         spu_multiarch_target methods.
9611         (init_spu_ops): Delete.
9612         (_initialize_spu_multiarch): Remove references to init_spu_ops,
9613         complete_target_initialization.
9614
9615         * ravenscar-thread.c (ravenscar_thread_target): New class.
9616         (ravenscar_ops): Now a ravenscar_thread_target.
9617         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
9618         (ravenscar_thread_alive, ravenscar_pid_to_str)
9619         (ravenscar_fetch_registers, ravenscar_store_registers)
9620         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
9621         (ravenscar_stopped_by_hw_breakpoint)
9622         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
9623         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
9624         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
9625         methods.
9626         (init_ravenscar_thread_ops): Delete.
9627         (_initialize_ravenscar): Remove references to
9628         init_ravenscar_thread_ops and complete_target_initialization.
9629
9630         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
9631         (bsd_uthread_target): New class.
9632         (bsd_uthread_ops): Now a bsd_uthread_target.
9633         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
9634         (bsd_uthread_close, bsd_uthread_mourn_inferior)
9635         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
9636         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
9637         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
9638         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
9639         (bsd_uthread_target): Delete function.
9640         (_initialize_bsd_uthread): Remove reference to
9641         complete_target_initialization.
9642
9643         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
9644         (target_bfd): ... this new class.
9645         (target_bfd_xfer_partial, target_bfd_get_section_table)
9646         (target_bfd_close): Refactor as target_bfd methods.
9647         (target_bfd::~target_bfd): New.
9648         (target_bfd_reopen): Adjust.
9649         (target_bfd::close): New.
9650
9651         * record-btrace.c (record_btrace_target): New class.
9652         (record_btrace_ops): Now a record_btrace_target.
9653         (record_btrace_open, record_btrace_stop_recording)
9654         (record_btrace_disconnect, record_btrace_close)
9655         (record_btrace_async, record_btrace_info)
9656         (record_btrace_insn_history, record_btrace_insn_history_range)
9657         (record_btrace_insn_history_from, record_btrace_call_history)
9658         (record_btrace_call_history_range)
9659         (record_btrace_call_history_from, record_btrace_record_method)
9660         (record_btrace_is_replaying, record_btrace_will_replay)
9661         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
9662         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
9663         (record_btrace_store_registers, record_btrace_prepare_to_store)
9664         (record_btrace_to_get_unwinder)
9665         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
9666         (record_btrace_commit_resume, record_btrace_wait)
9667         (record_btrace_stop, record_btrace_can_execute_reverse)
9668         (record_btrace_stopped_by_sw_breakpoint)
9669         (record_btrace_supports_stopped_by_sw_breakpoint)
9670         (record_btrace_stopped_by_hw_breakpoint)
9671         (record_btrace_supports_stopped_by_hw_breakpoint)
9672         (record_btrace_update_thread_list, record_btrace_thread_alive)
9673         (record_btrace_goto_begin, record_btrace_goto_end)
9674         (record_btrace_goto, record_btrace_stop_replaying_all)
9675         (record_btrace_execution_direction)
9676         (record_btrace_prepare_to_generate_core)
9677         (record_btrace_done_generating_core): Refactor as
9678         record_btrace_target methods.
9679         (init_record_btrace_ops): Delete.
9680         (_initialize_record_btrace): Remove reference to
9681         init_record_btrace_ops.
9682         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
9683         the execution_direction global.
9684         (record_full_base_target, record_full_target)
9685         (record_full_core_target): New classes.
9686         (record_full_ops): Now a record_full_target.
9687         (record_full_core_ops): Now a record_full_core_target.
9688         (record_full_target::detach, record_full_target::disconnect)
9689         (record_full_core_target::disconnect)
9690         (record_full_target::mourn_inferior, record_full_target::kill):
9691         New.
9692         (record_full_open, record_full_close, record_full_async): Refactor
9693         as methods of the record_full_base_target class.
9694         (record_full_resume, record_full_commit_resume): Refactor
9695         as methods of the record_full_target class.
9696         (record_full_wait, record_full_stopped_by_watchpoint)
9697         (record_full_stopped_data_address)
9698         (record_full_stopped_by_sw_breakpoint)
9699         (record_full_supports_stopped_by_sw_breakpoint)
9700         (record_full_stopped_by_hw_breakpoint)
9701         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
9702         methods of the record_full_base_target class.
9703         (record_full_store_registers, record_full_xfer_partial)
9704         (record_full_insert_breakpoint, record_full_remove_breakpoint):
9705         Refactor as methods of the record_full_target class.
9706         (record_full_can_execute_reverse, record_full_get_bookmark)
9707         (record_full_goto_bookmark, record_full_execution_direction)
9708         (record_full_record_method, record_full_info, record_full_delete)
9709         (record_full_is_replaying, record_full_will_replay)
9710         (record_full_goto_begin, record_full_goto_end, record_full_goto)
9711         (record_full_stop_replaying): Refactor as methods of the
9712         record_full_base_target class.
9713         (record_full_core_resume, record_full_core_kill)
9714         (record_full_core_fetch_registers)
9715         (record_full_core_prepare_to_store)
9716         (record_full_core_store_registers, record_full_core_xfer_partial)
9717         (record_full_core_insert_breakpoint)
9718         (record_full_core_remove_breakpoint)
9719         (record_full_core_has_execution): Refactor
9720         as methods of the record_full_core_target class.
9721         (record_full_base_target::supports_delete_record): New.
9722         (init_record_full_ops): Delete.
9723         (init_record_full_core_ops): Delete.
9724         (record_full_save): Refactor as method of the
9725         record_full_base_target class.
9726         (_initialize_record_full): Remove references to
9727         init_record_full_ops and init_record_full_core_ops.
9728
9729         * remote.c (remote_target, extended_remote_target): New classes.
9730         (remote_ops): Now a remote_target.
9731         (extended_remote_ops): Now an extended_remote_target.
9732         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
9733         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
9734         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
9735         (remote_pass_signals, remote_set_syscall_catchpoint)
9736         (remote_program_signals, )
9737         (remote_thread_always_alive): Remove target_ops parameter.
9738         (remote_thread_alive, remote_thread_name)
9739         (remote_update_thread_list, remote_threads_extra_info)
9740         (remote_static_tracepoint_marker_at)
9741         (remote_static_tracepoint_markers_by_strid)
9742         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
9743         (remote_open): Refactor as methods of remote_target.
9744         (extended_remote_open, extended_remote_detach)
9745         (extended_remote_attach, extended_remote_post_attach):
9746         (extended_remote_supports_disable_randomization)
9747         (extended_remote_create_inferior): : Refactor as method of
9748         extended_remote_target.
9749         (remote_set_permissions, remote_open_1, remote_detach)
9750         (remote_follow_fork, remote_follow_exec, remote_disconnect)
9751         (remote_resume, remote_commit_resume, remote_stop)
9752         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
9753         (remote_terminal_ours, remote_wait, remote_fetch_registers)
9754         (remote_prepare_to_store, remote_store_registers)
9755         (remote_flash_erase, remote_flash_done, remote_files_info)
9756         (remote_kill, remote_mourn, remote_insert_breakpoint)
9757         (remote_remove_breakpoint, remote_insert_watchpoint)
9758         (remote_watchpoint_addr_within_range)
9759         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
9760         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
9761         (remote_supports_stopped_by_sw_breakpoint)
9762         (remote_stopped_by_hw_breakpoint)
9763         (remote_supports_stopped_by_hw_breakpoint)
9764         (remote_stopped_by_watchpoint, remote_stopped_data_address)
9765         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
9766         (remote_verify_memory): Refactor as methods of remote_target.
9767         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
9768         parameter.
9769         (remote_xfer_partial, remote_get_memory_xfer_limit)
9770         (remote_search_memory, remote_rcmd, remote_memory_map)
9771         (remote_pid_to_str, remote_get_thread_local_address)
9772         (remote_get_tib_address, remote_read_description): Refactor as
9773         methods of remote_target.
9774         (remote_target::fileio_open, remote_target::fileio_pwrite)
9775         (remote_target::fileio_pread, remote_target::fileio_close): New.
9776         (remote_hostio_readlink, remote_hostio_fstat)
9777         (remote_filesystem_is_local, remote_can_execute_reverse)
9778         (remote_supports_non_stop, remote_supports_disable_randomization)
9779         (remote_supports_multi_process, remote_supports_cond_breakpoints)
9780         (remote_supports_enable_disable_tracepoint)
9781         (remote_supports_string_tracing)
9782         (remote_can_run_breakpoint_commands, remote_trace_init)
9783         (remote_download_tracepoint, remote_can_download_tracepoint)
9784         (remote_download_trace_state_variable, remote_enable_tracepoint)
9785         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
9786         (remote_trace_start, remote_get_trace_status)
9787         (remote_get_tracepoint_status, remote_trace_stop)
9788         (remote_trace_find, remote_get_trace_state_variable_value)
9789         (remote_save_trace_data, remote_get_raw_trace_data)
9790         (remote_set_disconnected_tracing, remote_core_of_thread)
9791         (remote_set_circular_trace_buffer, remote_traceframe_info)
9792         (remote_get_min_fast_tracepoint_insn_len)
9793         (remote_set_trace_buffer_size, remote_set_trace_notes)
9794         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
9795         (remote_disable_btrace, remote_teardown_btrace)
9796         (remote_read_btrace, remote_btrace_conf)
9797         (remote_augmented_libraries_svr4_read, remote_load)
9798         (remote_pid_to_exec_file, remote_can_do_single_step)
9799         (remote_execution_direction, remote_thread_handle_to_thread_info):
9800         Refactor as methods of remote_target.
9801         (init_remote_ops, init_extended_remote_ops): Delete.
9802         (remote_can_async_p, remote_is_async_p, remote_async)
9803         (remote_thread_events, remote_upload_tracepoints)
9804         (remote_upload_trace_state_variables): Refactor as methods of
9805         remote_target.
9806         (_initialize_remote): Remove references to init_remote_ops and
9807         init_extended_remote_ops.
9808
9809         * remote-sim.c (gdbsim_target): New class.
9810         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
9811         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
9812         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
9813         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
9814         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
9815         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
9816         Refactor as methods of gdbsim_target.
9817         (gdbsim_ops): Now a gdbsim_target.
9818         (init_gdbsim_ops): Delete.
9819         (gdbsim_cntrl_c): Adjust.
9820         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
9821
9822         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
9823         (the_amd64_linux_nat_target): New.
9824         (amd64_linux_fetch_inferior_registers)
9825         (amd64_linux_store_inferior_registers): Refactor as methods of
9826         amd64_linux_nat_target.
9827         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
9828         * i386-linux-nat.c: Don't include "linux-nat.h".
9829         (i386_linux_nat_target): New class.
9830         (the_i386_linux_nat_target): New.
9831         (i386_linux_fetch_inferior_registers)
9832         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
9833         as methods of i386_linux_nat_target.
9834         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
9835         * inf-child.c (inf_child_ops): Delete.
9836         (inf_child_fetch_inferior_registers)
9837         (inf_child_store_inferior_registers): Delete.
9838         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
9839         methods of inf_child_target.
9840         (inf_child_target::supports_terminal_ours)
9841         (inf_child_target::terminal_init)
9842         (inf_child_target::terminal_inferior)
9843         (inf_child_target::terminal_ours_for_output)
9844         (inf_child_target::terminal_ours, inf_child_target::interrupt)
9845         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
9846         New.
9847         (inf_child_open, inf_child_disconnect, inf_child_close)
9848         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
9849         (inf_child_post_startup_inferior, inf_child_can_run)
9850         (inf_child_pid_to_exec_file): Refactor as methods of
9851         inf_child_target.
9852         (inf_child_follow_fork): Delete.
9853         (inf_child_target::can_create_inferior)
9854         (inf_child_target::can_attach): New.
9855         (inf_child_target::has_all_memory, inf_child_target::has_memory)
9856         (inf_child_target::has_stack, inf_child_target::has_registers)
9857         (inf_child_target::has_execution): New.
9858         (inf_child_fileio_open, inf_child_fileio_pwrite)
9859         (inf_child_fileio_pread, inf_child_fileio_fstat)
9860         (inf_child_fileio_close, inf_child_fileio_unlink)
9861         (inf_child_fileio_readlink, inf_child_use_agent)
9862         (inf_child_can_use_agent): Refactor as methods of
9863         inf_child_target.
9864         (return_zero, inf_child_target): Delete.
9865         (inf_child_target::inf_child_target): New.
9866         * inf-child.h: Include "target.h".
9867         (inf_child_target): Delete function prototype.
9868         (inf_child_target): New class.
9869         (inf_child_open_target, inf_child_mourn_inferior)
9870         (inf_child_maybe_unpush_target): Delete.
9871         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
9872         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
9873         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
9874         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
9875         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
9876         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
9877         (inf_ptrace_wait, inf_ptrace_xfer_partial)
9878         (inf_ptrace_thread_alive, inf_ptrace_files_info)
9879         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
9880         methods of inf_ptrace_target.
9881         (inf_ptrace_target): Delete function.
9882         * inf-ptrace.h: Include "inf-child.h".
9883         (inf_ptrace_target): Delete function declaration.
9884         (inf_ptrace_target): New class.
9885         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
9886         * linux-nat.c (linux_target): New.
9887         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
9888         (linux_nat_target::~linux_nat_target): New.
9889         (linux_child_post_attach, linux_child_post_startup_inferior)
9890         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
9891         (linux_child_remove_fork_catchpoint)
9892         (linux_child_insert_vfork_catchpoint)
9893         (linux_child_remove_vfork_catchpoint)
9894         (linux_child_insert_exec_catchpoint)
9895         (linux_child_remove_exec_catchpoint)
9896         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
9897         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
9898         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
9899         (linux_nat_stopped_data_address)
9900         (linux_nat_stopped_by_sw_breakpoint)
9901         (linux_nat_supports_stopped_by_sw_breakpoint)
9902         (linux_nat_stopped_by_hw_breakpoint)
9903         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
9904         (linux_nat_kill, linux_nat_mourn_inferior)
9905         (linux_nat_xfer_partial, linux_nat_thread_alive)
9906         (linux_nat_update_thread_list, linux_nat_pid_to_str)
9907         (linux_nat_thread_name, linux_child_pid_to_exec_file)
9908         (linux_child_static_tracepoint_markers_by_strid)
9909         (linux_nat_is_async_p, linux_nat_can_async_p)
9910         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
9911         (linux_nat_supports_multi_process)
9912         (linux_nat_supports_disable_randomization, linux_nat_async)
9913         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
9914         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
9915         (linux_nat_fileio_open, linux_nat_fileio_readlink)
9916         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
9917         methods of linux_nat_target.
9918         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
9919         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
9920         parameter.
9921         (check_stopped_by_watchpoint): Adjust.
9922         (linux_xfer_partial): Delete.
9923         (linux_target_install_ops, linux_target, linux_nat_add_target):
9924         Delete.
9925         (linux_nat_target::linux_nat_target): New.
9926         * linux-nat.h: Include "inf-ptrace.h".
9927         (linux_nat_target): New.
9928         (linux_target, linux_target_install_ops, linux_nat_add_target):
9929         Delete function declarations.
9930         (linux_target): Declare global.
9931         * linux-thread-db.c (thread_db_target): New.
9932         (thread_db_target::thread_db_target): New.
9933         (thread_db_ops): Delete.
9934         (the_thread_db_target): New.
9935         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
9936         (thread_db_update_thread_list, thread_db_pid_to_str)
9937         (thread_db_extra_thread_info)
9938         (thread_db_thread_handle_to_thread_info)
9939         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
9940         (thread_db_resume): Refactor as methods of thread_db_target.
9941         (init_thread_db_ops): Delete.
9942         (_initialize_thread_db): Remove reference to init_thread_db_ops.
9943         * x86-linux-nat.c: Don't include "linux-nat.h".
9944         (super_post_startup_inferior): Delete.
9945         (x86_linux_nat_target::~x86_linux_nat_target): New.
9946         (x86_linux_child_post_startup_inferior)
9947         (x86_linux_read_description, x86_linux_enable_btrace)
9948         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
9949         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
9950         methods of x86_linux_nat_target.
9951         (x86_linux_create_target): Delete.  Bits folded ...
9952         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
9953         pointer.
9954         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
9955         (x86_linux_nat_target): New class.
9956         (x86_linux_create_target): Delete.
9957         (x86_linux_add_target): Now takes a linux_nat_target pointer.
9958         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
9959         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
9960         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
9961         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
9962         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
9963         make extern.
9964         (x86_use_watchpoints): Delete.
9965         * x86-nat.h: Include "breakpoint.h" and "target.h".
9966         (x86_use_watchpoints): Delete.
9967         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
9968         (x86_stopped_by_watchpoint, x86_stopped_data_address)
9969         (x86_insert_watchpoint, x86_remove_watchpoint)
9970         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
9971         (x86_stopped_by_hw_breakpoint): New declarations.
9972         (x86_nat_target): New template class.
9973
9974         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
9975         (the_ppc_linux_nat_target): New.
9976         (ppc_linux_fetch_inferior_registers)
9977         (ppc_linux_can_use_hw_breakpoint)
9978         (ppc_linux_region_ok_for_hw_watchpoint)
9979         (ppc_linux_ranged_break_num_registers)
9980         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
9981         (ppc_linux_insert_mask_watchpoint)
9982         (ppc_linux_remove_mask_watchpoint)
9983         (ppc_linux_can_accel_watchpoint_condition)
9984         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
9985         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
9986         (ppc_linux_watchpoint_addr_within_range)
9987         (ppc_linux_masked_watch_num_registers)
9988         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
9989         (ppc_linux_read_description): Refactor as methods of
9990         ppc_linux_nat_target.
9991         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
9992
9993         * procfs.c (procfs_xfer_partial): Delete forward declaration.
9994         (procfs_target): New class.
9995         (the_procfs_target): New.
9996         (procfs_target): Delete function.
9997         (procfs_auxv_parse, procfs_attach, procfs_detach)
9998         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
9999         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
10000         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
10001         (procfs_create_inferior, procfs_update_thread_list)
10002         (procfs_thread_alive, procfs_pid_to_str)
10003         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
10004         (procfs_stopped_data_address, procfs_insert_watchpoint)
10005         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
10006         (proc_find_memory_regions, procfs_info_proc)
10007         (procfs_make_note_section): Refactor as methods of procfs_target.
10008         (_initialize_procfs): Adjust.
10009         * sol-thread.c (sol_thread_target): New class.
10010         (sol_thread_ops): Now a sol_thread_target.
10011         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
10012         (sol_thread_fetch_registers, sol_thread_store_registers)
10013         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
10014         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
10015         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
10016         (init_sol_thread_ops): Delete.
10017         (_initialize_sol_thread): Adjust.  Remove references to
10018         init_sol_thread_ops and complete_target_initialization.
10019
10020         * windows-nat.c (windows_nat_target): New class.
10021         (windows_fetch_inferior_registers)
10022         (windows_store_inferior_registers, windows_resume, windows_wait)
10023         (windows_attach, windows_detach, windows_pid_to_exec_file)
10024         (windows_files_info, windows_create_inferior)
10025         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
10026         (windows_close, windows_pid_to_str, windows_xfer_partial)
10027         (windows_get_tib_address, windows_get_ada_task_ptid)
10028         (windows_thread_name, windows_thread_alive): Refactor as
10029         windows_nat_target methods.
10030         (do_initial_windows_stuff): Adjust.
10031         (windows_target): Delete function.
10032         (_initialize_windows_nat): Adjust.
10033
10034         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
10035         (darwin_mourn_inferior, darwin_kill_inferior)
10036         (darwin_create_inferior, darwin_attach, darwin_detach)
10037         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
10038         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
10039         (darwin_supports_multi_process): Refactor as darwin_nat_target
10040         methods.
10041         (darwin_resume_to, darwin_files_info): Delete.
10042         (_initialize_darwin_inferior): Rename to ...
10043         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
10044         * darwin-nat.h: Include "inf-child.h".
10045         (darwin_nat_target): New class.
10046         (darwin_complete_target): Delete.
10047         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
10048         (darwin_target): New.
10049         (i386_darwin_fetch_inferior_registers)
10050         (i386_darwin_store_inferior_registers): Refactor as methods of
10051         darwin_nat_target.
10052         (darwin_complete_target): Delete, with ...
10053         (_initialize_i386_darwin_nat): ... bits factored out here.
10054
10055         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
10056         (the_alpha_linux_nat_target): New.
10057         (alpha_linux_register_u_offset): Refactor as
10058         alpha_linux_nat_target method.
10059         (_initialize_alpha_linux_nat): Adjust.
10060         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
10061         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
10062         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
10063         methods of linux_nat_trad_target.
10064         (linux_trad_target): Delete.
10065         * linux-nat-trad.h (linux_trad_target): Delete function.
10066         (linux_nat_trad_target): New class.
10067         * mips-linux-nat.c (mips_linux_nat_target): New class.
10068         (super_fetch_registers, super_store_registers, super_close):
10069         Delete.
10070         (the_mips_linux_nat_target): New.
10071         (mips64_linux_regsets_fetch_registers)
10072         (mips64_linux_regsets_store_registers)
10073         (mips64_linux_fetch_registers, mips64_linux_store_registers)
10074         (mips_linux_register_u_offset, mips_linux_read_description)
10075         (mips_linux_can_use_hw_breakpoint)
10076         (mips_linux_stopped_by_watchpoint)
10077         (mips_linux_stopped_data_address)
10078         (mips_linux_region_ok_for_hw_watchpoint)
10079         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
10080         (mips_linux_close): Refactor as methods of mips_linux_nat.
10081         (_initialize_mips_linux_nat): Adjust to C++ification.
10082
10083         * aix-thread.c (aix_thread_target): New class.
10084         (aix_thread_ops): Now an aix_thread_target.
10085         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
10086         (aix_thread_fetch_registers, aix_thread_store_registers)
10087         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
10088         (aix_thread_thread_alive, aix_thread_pid_to_str)
10089         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
10090         Refactor as methods of aix_thread_target.
10091         (init_aix_thread_ops): Delete.
10092         (_initialize_aix_thread): Remove references to init_aix_thread_ops
10093         and complete_target_initialization.
10094         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
10095         (rs6000_nat_target): New class.
10096         (the_rs6000_nat_target): New.
10097         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
10098         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
10099         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
10100         (super_create_inferior): Delete.
10101         (_initialize_rs6000_nat): Adjust to C++ification.
10102
10103         * arm-linux-nat.c (arm_linux_nat_target): New class.
10104         (the_arm_linux_nat_target): New.
10105         (arm_linux_fetch_inferior_registers)
10106         (arm_linux_store_inferior_registers, arm_linux_read_description)
10107         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
10108         (arm_linux_remove_hw_breakpoint)
10109         (arm_linux_region_ok_for_hw_watchpoint)
10110         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
10111         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
10112         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
10113         arm_linux_nat_target.
10114         (_initialize_arm_linux_nat): Adjust to C++ification.
10115
10116         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
10117         (the_aarch64_linux_nat_target): New.
10118         (aarch64_linux_fetch_inferior_registers)
10119         (aarch64_linux_store_inferior_registers)
10120         (aarch64_linux_child_post_startup_inferior)
10121         (aarch64_linux_read_description)
10122         (aarch64_linux_can_use_hw_breakpoint)
10123         (aarch64_linux_insert_hw_breakpoint)
10124         (aarch64_linux_remove_hw_breakpoint)
10125         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
10126         (aarch64_linux_region_ok_for_hw_watchpoint)
10127         (aarch64_linux_stopped_data_address)
10128         (aarch64_linux_stopped_by_watchpoint)
10129         (aarch64_linux_watchpoint_addr_within_range)
10130         (aarch64_linux_can_do_single_step): Refactor as methods of
10131         aarch64_linux_nat_target.
10132         (super_post_startup_inferior): Delete.
10133         (_initialize_aarch64_linux_nat): Adjust to C++ification.
10134
10135         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
10136         (the_hppa_linux_nat_target): New.
10137         (hppa_linux_fetch_inferior_registers)
10138         (hppa_linux_store_inferior_registers): Refactor as methods of
10139         hppa_linux_nat_target.
10140         (_initialize_hppa_linux_nat): Adjust to C++ification.
10141
10142         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
10143         (the_ia64_linux_nat_target): New.
10144         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
10145         (ia64_linux_stopped_data_address)
10146         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
10147         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
10148         ia64_linux_nat_target methods.
10149         (super_xfer_partial): Delete.
10150         (_initialize_ia64_linux_nat): Adjust to C++ification.
10151
10152         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
10153         (the_m32r_linux_nat_target): New.
10154         (m32r_linux_fetch_inferior_registers)
10155         (m32r_linux_store_inferior_registers): Refactor as
10156         m32r_linux_nat_target methods.
10157         (_initialize_m32r_linux_nat): Adjust to C++ification.
10158
10159         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
10160         (the_m68k_linux_nat_target): New.
10161         (m68k_linux_fetch_inferior_registers)
10162         (m68k_linux_store_inferior_registers): Refactor as
10163         m68k_linux_nat_target methods.
10164         (_initialize_m68k_linux_nat): Adjust to C++ification.
10165
10166         * s390-linux-nat.c (s390_linux_nat_target): New class.
10167         (the_s390_linux_nat_target): New.
10168         (s390_linux_fetch_inferior_registers)
10169         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
10170         (s390_insert_watchpoint, s390_remove_watchpoint)
10171         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
10172         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
10173         (s390_auxv_parse, s390_read_description): Refactor as methods of
10174         s390_linux_nat_target.
10175         (_initialize_s390_nat): Adjust to C++ification.
10176
10177         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
10178         (the_sparc_linux_nat_target): New.
10179         (_initialize_sparc_linux_nat): Adjust to C++ification.
10180         * sparc-nat.c (sparc_fetch_inferior_registers)
10181         (sparc_store_inferior_registers): Remove target_ops parameter.
10182         * sparc-nat.h (sparc_fetch_inferior_registers)
10183         (sparc_store_inferior_registers): Remove target_ops parameter.
10184         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
10185         (the_sparc64_linux_nat_target): New.
10186         (_initialize_sparc64_linux_nat): Adjust to C++ification.
10187
10188         * spu-linux-nat.c (spu_linux_nat_target): New class.
10189         (the_spu_linux_nat_target): New.
10190         (spu_child_post_startup_inferior, spu_child_post_attach)
10191         (spu_child_wait, spu_fetch_inferior_registers)
10192         (spu_store_inferior_registers, spu_xfer_partial)
10193         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
10194         methods.
10195         (_initialize_spu_nat): Adjust to C++ification.
10196
10197         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
10198         (the_tilegx_linux_nat_target): New.
10199         (fetch_inferior_registers, store_inferior_registers):
10200         Refactor as methods.
10201         (_initialize_tile_linux_nat): Adjust to C++ification.
10202
10203         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
10204         (the_xtensa_linux_nat_target): New.
10205         (xtensa_linux_fetch_inferior_registers)
10206         (xtensa_linux_store_inferior_registers): Refactor as
10207         xtensa_linux_nat_target methods.
10208         (_initialize_xtensa_linux_nat): Adjust to C++ification.
10209
10210         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
10211         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
10212         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
10213         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
10214         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
10215         (fbsd_stopped_by_sw_breakpoint)
10216         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
10217         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
10218         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
10219         (fbsd_post_startup_inferior, fbsd_post_attach)
10220         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
10221         (fbsd_set_syscall_catchpoint)
10222         (super_xfer_partial, super_resume, super_wait)
10223         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
10224         (fbsd_handle_debug_trap): Remove target_ops parameter.
10225         (fbsd_nat_add_target): Delete.
10226         * fbsd-nat.h: Include "inf-ptrace.h".
10227         (fbsd_nat_add_target): Delete.
10228         (USE_SIGTRAP_SIGINFO): Define.
10229         (fbsd_nat_target): New class.
10230
10231         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
10232         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
10233         (amd64bsd_target): Delete.
10234         * amd64-bsd-nat.h: New file.
10235         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
10236         "x86-bsd-nat.h".
10237         (amd64_fbsd_nat_target): New class.
10238         (the_amd64_fbsd_nat_target): New.
10239         (amd64fbsd_read_description): Refactor as method of
10240         amd64_fbsd_nat_target.
10241         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
10242         (_initialize_amd64fbsd_nat): Adjust to C++ification.
10243         * amd64-nat.h (amd64bsd_target): Delete function declaration.
10244         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
10245         (i386bsd_store_inferior_registers): Remove target_ops parameter.
10246         (i386bsd_target): Delete.
10247         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
10248         (i386bsd_fetch_inferior_registers)
10249         (i386bsd_store_inferior_registers): Declare.
10250         (i386_bsd_nat_target): New class.
10251         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
10252         (the_i386_fbsd_nat_target): New.
10253         (i386fbsd_resume, i386fbsd_read_description): Refactor as
10254         i386_fbsd_nat_target methods.
10255         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
10256         (_initialize_i386fbsd_nat): Adjust to C++ification.
10257         * x86-bsd-nat.c (super_mourn_inferior): Delete.
10258         (x86bsd_mourn_inferior, x86bsd_target): Delete.
10259         (_initialize_x86_bsd_nat): Adjust to C++ification.
10260         * x86-bsd-nat.h: Include "x86-nat.h".
10261         (x86bsd_target): Delete declaration.
10262         (x86bsd_nat_target): New class.
10263
10264         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
10265         (the_aarch64_fbsd_nat_target): New.
10266         (aarch64_fbsd_fetch_inferior_registers)
10267         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
10268         aarch64_fbsd_nat_target.
10269         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
10270         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
10271         (the_alpha_bsd_nat_target): New.
10272         (alphabsd_fetch_inferior_registers)
10273         (alphabsd_store_inferior_registers): Refactor as
10274         alpha_bsd_nat_target methods.
10275         (_initialize_alphabsd_nat): Refactor as methods of
10276         alpha_bsd_nat_target.
10277         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
10278         (the_amd64_nbsd_nat_target): New.
10279         (_initialize_amd64nbsd_nat): Adjust to C++ification.
10280         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
10281         (the_amd64_obsd_nat_target): New.
10282         (_initialize_amd64obsd_nat): Adjust to C++ification.
10283         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
10284         (the_arm_fbsd_nat_target): New.
10285         (arm_fbsd_fetch_inferior_registers)
10286         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
10287         (_initialize_arm_fbsd_nat): Refactor as methods of
10288         arm_fbsd_nat_target.
10289         (_initialize_arm_fbsd_nat): Adjust to C++ification.
10290         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
10291         (the_arm_netbsd_nat_target): New.
10292         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
10293         arm_netbsd_nat_target.
10294         (_initialize_arm_netbsd_nat): Adjust to C++ification.
10295         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
10296         (the_hppa_nbsd_nat_target): New.
10297         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
10298         hppa_nbsd_nat_target methods.
10299         (_initialize_hppanbsd_nat): Adjust to C++ification.
10300         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
10301         (the_hppa_obsd_nat_target): New.
10302         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
10303         methods of hppa_obsd_nat_target.
10304         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
10305         add_target.
10306         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
10307         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
10308         add_target.
10309         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
10310         (_initialize_i386obsd_nat): Use add_target.
10311         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
10312         (the_m68k_bsd_nat_target): New.
10313         (m68kbsd_fetch_inferior_registers)
10314         (m68kbsd_store_inferior_registers): Refactor as methods of
10315         m68k_bsd_nat_target.
10316         (_initialize_m68kbsd_nat): Adjust to C++ification.
10317         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
10318         (the_mips_fbsd_nat_target): New.
10319         (mips_fbsd_fetch_inferior_registers)
10320         (mips_fbsd_store_inferior_registers): Refactor as methods of
10321         mips_fbsd_nat_target.
10322         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
10323         add_target.
10324         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
10325         (the_mips_nbsd_nat_target): New.
10326         (mipsnbsd_fetch_inferior_registers)
10327         (mipsnbsd_store_inferior_registers): Refactor as methods of
10328         mips_nbsd_nat_target.
10329         (_initialize_mipsnbsd_nat): Adjust to C++ification.
10330         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
10331         (the_mips64_obsd_nat_target): New.
10332         (mips64obsd_fetch_inferior_registers)
10333         (mips64obsd_store_inferior_registers): Refactor as methods of
10334         mips64_obsd_nat_target.
10335         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
10336         add_target.
10337         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
10338         nbsd_nat_target.
10339         * nbsd-nat.h: Include "inf-ptrace.h".
10340         (nbsd_nat_target): New class.
10341         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
10342         (obsd_wait): Refactor as methods of obsd_nat_target.
10343         (obsd_add_target): Delete.
10344         * obsd-nat.h: Include "inf-ptrace.h".
10345         (obsd_nat_target): New class.
10346         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
10347         (the_ppc_fbsd_nat_target): New.
10348         (ppcfbsd_fetch_inferior_registers)
10349         (ppcfbsd_store_inferior_registers): Refactor as methods of
10350         ppc_fbsd_nat_target.
10351         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
10352         add_target.
10353         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
10354         (the_ppc_nbsd_nat_target): New.
10355         (ppcnbsd_fetch_inferior_registers)
10356         (ppcnbsd_store_inferior_registers): Refactor as methods of
10357         ppc_nbsd_nat_target.
10358         (_initialize_ppcnbsd_nat): Adjust to C++ification.
10359         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
10360         (the_ppc_obsd_nat_target): New.
10361         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
10362         methods of ppc_obsd_nat_target.
10363         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
10364         add_target.
10365         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
10366         (the_sh_nbsd_nat_target): New.
10367         (shnbsd_fetch_inferior_registers)
10368         (shnbsd_store_inferior_registers): Refactor as methods of
10369         sh_nbsd_nat_target.
10370         (_initialize_shnbsd_nat): Adjust to C++ification.
10371         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
10372         (inf_ptrace_xfer_partial): Delete.
10373         (sparc_xfer_partial, sparc_target): Delete.
10374         * sparc-nat.h (sparc_fetch_inferior_registers)
10375         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
10376         (sparc_target): Delete function declaration.
10377         (sparc_target): New template class.
10378         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
10379         (_initialize_sparcnbsd_nat): Adjust to C++ification.
10380         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
10381         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
10382         add_target.
10383         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
10384         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
10385         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
10386         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
10387         add_target.
10388         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
10389         (the_vax_bsd_nat_target): New.
10390         (vaxbsd_fetch_inferior_registers)
10391         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
10392         methods.
10393         (_initialize_vaxbsd_nat): Adjust to C++ification.
10394
10395         * bsd-kvm.c (bsd_kvm_target): New class.
10396         (bsd_kvm_ops): Now a bsd_kvm_target.
10397         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
10398         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
10399         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
10400         bsd_kvm_target.
10401         (bsd_kvm_return_one): Delete.
10402         (bsd_kvm_add_target): Adjust to C++ification.
10403
10404         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
10405         (nto_procfs_target_procfs): New classes.
10406         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
10407         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
10408         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
10409         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
10410         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
10411         (procfs_remove_hw_breakpoint, procfs_resume)
10412         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
10413         (procfs_kill_inferior, procfs_store_registers)
10414         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
10415         as methods of nto_procfs_target.
10416         (nto_procfs_ops): Now an nto_procfs_target_procfs.
10417         (nto_native_ops): Delete.
10418         (procfs_open, procfs_native_open): Delete.
10419         (nto_native_ops): Now an nto_procfs_target_native.
10420         (init_procfs_targets): Adjust to C++ification.
10421         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
10422         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
10423         Refactor as methods of nto_procfs_target.
10424
10425         * go32-nat.c (go32_nat_target): New class.
10426         (the_go32_nat_target): New.
10427         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
10428         (go32_store_registers, go32_xfer_partial, go32_files_info)
10429         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
10430         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
10431         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
10432         (go32_pid_to_str): Refactor as methods of go32_nat_target.
10433         (go32_target): Delete.
10434         (_initialize_go32_nat): Adjust to C++ification.
10435
10436         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
10437         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
10438         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
10439         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
10440         gnu_nat_target.
10441         (gnu_target): Delete.
10442         * gnu-nat.h (gnu_target): Delete.
10443         (gnu_nat_target): New class.
10444         * i386-gnu-nat.c (gnu_base_target): New.
10445         (i386_gnu_nat_target): New class.
10446         (the_i386_gnu_nat_target): New.
10447         (_initialize_i386gnu_nat): Adjust to C++ification.
10448
10449 2018-05-02  Pedro Alves  <palves@redhat.com>
10450
10451         * bfd-target.c (target_bfd_xclose): Rename to ...
10452         (target_bfd_close): ... this.
10453         (target_bfd_reopen): Adjust.
10454         * target.c (target_close): Remove references to to_xclose.
10455         * target.h (target_ops::to_xclose): Delete.
10456         (target_ops::to_close): Update comments.
10457
10458 2018-05-02  Pedro Alves  <palves@redhat.com>
10459
10460         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
10461         "linux-nat.h".
10462         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
10463         * inf-ptrace.c (inf_ptrace_register_u_offset)
10464         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
10465         (inf_ptrace_store_register, inf_ptrace_store_registers)
10466         (inf_ptrace_trad_target): Move to ...
10467         * linux-nat-trad.c: ... this new file.
10468         * linux-nat-trad.h: New file.
10469         * linux-nat.c (linux_target_install_ops): Make extern.
10470         (linux_trad_target): Delete.
10471         * linux-nat.h (linux_trad_target): Delete declaration.
10472         (linux_target_install_ops): Declare.
10473         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
10474         "linux-nat.h".
10475
10476 2018-05-02  Pedro Alves  <palves@redhat.com>
10477
10478         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
10479         procfs_target/add_target here.
10480         * procfs.c (procfs_target): Make static.
10481         (_initialize_procfs): Call add_target here.
10482         * procfs.h (struct target_ops): Remove forward declaration.
10483         (procfs_target): Remove declaration.
10484         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
10485
10486 2018-05-02  Pedro Alves  <palves@redhat.com>
10487
10488         * procfs.c (procfs_stopped_by_watchpoint)
10489         (procfs_insert_watchpoint, procfs_remove_watchpoint)
10490         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
10491         Forward declare.
10492         (procfs_use_watchpoints): Delete, move contents...
10493         (procfs_target): ... here.
10494         * procfs.h (procfs_use_watchpoints): Delete declaration.
10495         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
10496         procfs_use_watchpoints.
10497         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
10498         procfs_use_watchpoints.
10499
10500 2018-05-02  Tom Tromey  <tom@tromey.com>
10501
10502         PR python/20084:
10503         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
10504         and var_zuinteger_unlimited.
10505         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
10506         and PARAM_ZUINTEGER_UNLIMITED.
10507         (set_parameter_value): Handle var_zuinteger and
10508         var_zuinteger_unlimited.
10509         (add_setshow_generic): Likewise.
10510         (parmpy_init): Likewise.
10511
10512 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
10513
10514         PR rust/23124
10515         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
10516         pointer is not null before dereferencing it.
10517
10518 2018-04-30  Tom Tromey  <tom@tromey.com>
10519
10520         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
10521         is_mi_like_p.
10522
10523 2018-04-30  Tom Tromey  <tom@tromey.com>
10524
10525         * breakpoint.c (mention): Remove use of is_mi_like_p.
10526         (print_mention_ranged_breakpoint): Likewise.
10527         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
10528         of is_mi_like_p.
10529
10530 2018-04-30  Tom Tromey  <tom@tromey.com>
10531
10532         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
10533
10534 2018-04-30  Tom Tromey  <tom@tromey.com>
10535
10536         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
10537         (info_spu_event_command): Remove some uses of is_mi_like_p.
10538
10539 2018-04-30  Tom Tromey  <tom@tromey.com>
10540
10541         * python/py-framefilter.c (py_print_single_arg)
10542         (enumerate_locals, py_print_args, py_print_frame): Remove some
10543         uses of is_mi_like_p.
10544
10545 2018-04-30  Tom Tromey  <tom@tromey.com>
10546
10547         * ui-out.c: Update.
10548         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
10549         * ui-out.h (ui_out::is_mi_like_p): Now const.
10550         (ui_out::do_is_mi_like_p): Now const.
10551         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
10552
10553 2018-04-30  Tom Tromey  <tom@tromey.com>
10554
10555         * varobj.c (varobj_set_visualizer): Use new_reference.
10556         * python/python.c (gdbpy_decode_line): Use new_reference.
10557         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
10558         new_reference.
10559
10560 2018-04-30  Tom Tromey  <tom@tromey.com>
10561
10562         * varobj.c (install_new_value): Use new_reference.
10563         * value.h (value_incref): Return void.  Swap intro comment with
10564         value_decref.
10565         * value.c (set_value_parent): Use new_reference.
10566         (value_incref): Return void.  Update intro comment.
10567         (release_value): Use new_reference.
10568         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
10569
10570 2018-04-30  Tom Tromey  <tom@tromey.com>
10571
10572         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
10573         * gdb_bfd.h (new_bfd_ref): Remove.
10574         (gdb_bfd_open): Update comment.
10575         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
10576         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
10577         (gdb_bfd_fdopenr): Use new_reference.
10578         * exec.c (exec_file_attach): Use new_reference.
10579
10580 2018-04-30  Tom Tromey  <tom@tromey.com>
10581
10582         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
10583         method.
10584
10585 2018-04-30  Tom Tromey  <tom@tromey.com>
10586
10587         * jit.c (jit_read_code_entry): Use type_align.
10588         * i386-tdep.c (i386_gdbarch_init): Don't call
10589         set_gdbarch_long_long_align_bit.
10590         * gdbarch.sh: Remove long_long_align_bit.
10591         * gdbarch.c, gdbarch.h: Rebuild.
10592         * arc-tdep.c (arc_type_align): New function.
10593         (arc_gdbarch_init): Use arc_type_align.  Don't call
10594         set_gdbarch_long_long_align_bit.
10595
10596 2018-04-30  Tom Tromey  <tom@tromey.com>
10597
10598         * rust-lang.c (rust_type_alignment): Remove.
10599         (rust_composite_type): Use type_align.
10600
10601 2018-04-30  Tom Tromey  <tom@tromey.com>
10602
10603         * NEWS: Mention Type.align.
10604         * python/py-type.c (typy_get_alignof): New function.
10605         (type_object_getset): Add "alignof".
10606
10607 2018-04-30  Tom Tromey  <tom@tromey.com>
10608
10609         PR exp/17095:
10610         * NEWS: Update.
10611         * std-operator.def (UNOP_ALIGNOF): New operator.
10612         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
10613         New.
10614         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
10615         * c-lang.c (c_op_print_tab): Add alignof.
10616         * c-exp.y (ALIGNOF): New token.
10617         (exp): Add "ALIGNOF" production.
10618         (ident_tokens): Add _Alignof and alignof.
10619
10620 2018-04-30  Tom Tromey  <tom@tromey.com>
10621
10622         * i386-tdep.c (i386_type_align): New function.
10623         (i386_gdbarch_init): Update.
10624         * gdbarch.sh (type_align): New method.
10625         * gdbarch.c, gdbarch.h: Rebuild.
10626         * arch-utils.h (default_type_align): Declare.
10627         * arch-utils.c (default_type_align): New function.
10628         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
10629         (struct type) <align_log2>: New field.
10630         <instance_flags>: Now a bitfield.
10631         (TYPE_RAW_ALIGN): New macro.
10632         (type_align, type_raw_align, set_type_align): Declare.
10633         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
10634         functions.
10635         * dwarf2read.c (quirk_rust_enum): Set type alignment.
10636         (get_alignment, maybe_set_alignment): New functions.
10637         (read_structure_type, read_enumeration_type, read_array_type)
10638         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
10639         (read_subrange_type, read_base_type): Set type alignment.
10640
10641 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
10642
10643         * dwarf2read.c (read_index_from_section): Use bool.
10644
10645 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
10646
10647         PR gdb/22950
10648         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
10649         with #ifdef.
10650
10651 2018-04-29  John Reiser  <jreiser@BitWagon.com>
10652
10653         PR build/22873
10654         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
10655         last step, and do it atomically.
10656
10657 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
10658
10659         * compile/compile-c-types.c (convert_int, convert_float):
10660         Update for C FE v1.
10661
10662 2018-04-27  Tom Tromey  <tom@tromey.com>
10663
10664         PR rust/22545:
10665         * rust-lang.c (rust_inclusive_range_type_p): New function.
10666         (rust_range): Handle inclusive ranges.
10667         (rust_compute_range): Likewise.
10668         * rust-exp.y (struct rust_op) <inclusive>: New field.
10669         (DOTDOTEQ): New constant.
10670         (range_expr): Add "..=" productions.
10671         (operator_tokens): Add "..=" token.
10672         (ast_range): Add "inclusive" parameter.
10673         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
10674         ranges.
10675         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
10676         bounds values.
10677         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
10678         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
10679         Update comments.
10680         * expprint.c (print_subexp_standard): Handle new bounds values.
10681         (dump_subexp_body_standard): Likewise.
10682
10683 2018-04-27  Tom Tromey  <tom@tromey.com>
10684
10685         * configure: Rebuild.
10686         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
10687         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
10688         "OVERRIDE".
10689         (class symbol_needs_eval_context): Likewise.
10690         * dwarf2read.c (mock_mapped_index::symbol_name_count)
10691         (mock_mapped_index::symbol_name_at): Use "override".  Remove
10692         "virtual".
10693         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
10694         "override".
10695         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
10696         * aarch64-tdep.c (instruction_reader::read): Use "override".
10697         (instruction_reader_test::read): Likewise.
10698         * arm-tdep.c (instruction_reader::read): Use "override".
10699         (instruction_reader_thumb::read): Likewise.
10700
10701 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
10702
10703         PR remote/9665
10704         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
10705         instead of remote_send.
10706         (remote_send): Remove.
10707
10708 2018-04-26  Pedro Alves  <palves@redhat.com>
10709
10710         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
10711         find_function_start_sal instead of find_pc_line.
10712
10713 2018-04-26  Pedro Alves  <palves@redhat.com>
10714
10715         * breakpoint.c (set_breakpoint_location_function): Handle
10716         mst_data_gnu_ifunc.
10717         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
10718         * elfread.c (elf_symtab_read): Give data symbols with
10719         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
10720         (elf_rel_plt_read): Update comment.
10721         * linespec.c (convert_linespec_to_sals): Handle
10722         mst_data_gnu_ifunc.
10723         (minsym_found): Handle mst_data_gnu_ifunc.
10724         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
10725         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
10726         * parse.c (find_minsym_type_and_address): Handle
10727         mst_data_gnu_ifunc.
10728         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
10729         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
10730         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
10731         comment.
10732         <mst_data_gnu_ifunc>: New enumerator.
10733
10734 2018-04-26  Pedro Alves  <palves@redhat.com>
10735
10736         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
10737         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
10738         'want_trampoline' parameter by a lookup_msym_prefer parameter.
10739         Handle it.
10740         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
10741         (lookup_minimal_symbol_by_pc): Adjust.
10742         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
10743         (lookup_solib_trampoline_symbol_by_pc): Adjust.
10744         * minsyms.h (lookup_msym_prefer): New enum.
10745         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10746         parameter by a lookup_msym_prefer parameter.
10747
10748 2018-04-26  Pedro Alves  <palves@redhat.com>
10749
10750         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
10751         ends in "@plt" instead of looking at the symbol's section.
10752
10753 2018-04-26  Pedro Alves  <palves@redhat.com>
10754
10755         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
10756         all references.
10757         (find_pc_partial_function_gnu_ifunc): Rename to ...
10758         (find_pc_partial_function): ... this, and remove references to
10759         'is_gnu_ifunc_p'.
10760         (find_pc_partial_function): Delete old implementation.
10761         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
10762
10763 2018-04-26  Pedro Alves  <palves@redhat.com>
10764
10765         * linespec.c (struct bound_minimal_symbol_search_key): New.
10766         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
10767         skip first line if we found a GNU ifunc minimal symbol by name.
10768         (compare_msymbols): Change parameters to work with a destructured
10769         lhs minsym.
10770         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
10771         functions.
10772
10773 2018-04-26  Pedro Alves  <palves@redhat.com>
10774
10775         * breakpoint.c (set_breakpoint_location_function): Don't resolve
10776         ifunc targets here.  Instead, if we have an ifunc minsym, use its
10777         address/name.
10778         (add_location_to_breakpoint): Store the minsym and the objfile in
10779         the breakpoint location.
10780         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
10781         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
10782         Record the minsym in the sal.
10783         * symtab.h (symtab_and_line) <msymbol>: New field.
10784
10785 2018-04-26  Pedro Alves  <palves@redhat.com>
10786
10787         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
10788         unless we actually resolved the ifunc.
10789
10790 2018-04-26  Pedro Alves  <palves@redhat.com>
10791
10792         * c-exp.y (variable production): Prefer ifunc minsyms over
10793         regular function symbols.
10794         * symtab.c (find_gnu_ifunc): New function.
10795         * minsyms.h (lookup_msym_prefer): New enum.
10796         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10797         parameter by a lookup_msym_prefer parameter.
10798         * symtab.h (find_gnu_ifunc): New declaration.
10799
10800 2018-04-26  Pedro Alves  <palves@redhat.com>
10801
10802         * blockframe.c (find_gnu_ifunc_target_type): New function.
10803         (find_function_type): New.
10804         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
10805         return a value with a memory address.
10806         (eval_call): For calls to GNU ifunc functions, try to find the
10807         type of the target function from the type that the resolver
10808         returns.
10809         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
10810         symbols.
10811         * infcall.c (find_function_return_type): Delete.
10812         (find_function_addr): Add 'function_type' parameter.  For calls to
10813         GNU ifunc functions, try to find the type of the target function
10814         from the type that the resolver returns, and return it via
10815         FUNCTION_TYPE.
10816         (call_function_by_hand_dummy): Adjust to use the function type
10817         returned by find_function_addr.
10818         (find_function_addr): Add 'function_type' parameter and move
10819         description here.
10820         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
10821         declarations.
10822
10823 2018-04-26  Pedro Alves  <palves@redhat.com>
10824
10825         * c-exp.y (variable production): Skip finding an alias for ifunc
10826         symbols.
10827
10828 2018-04-26  Pedro Alves  <palves@redhat.com>
10829
10830         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
10831
10832 2018-04-25  Pedro Alves  <palves@redhat.com>
10833
10834         * infcmd.c (kill_command): Print the pid as string, not the whole
10835         thread's ptid.  Add comment.  s/has been killed/killed/ in output
10836         message.
10837         * remote.c (remote_detach_1): Print the pid as string, not the
10838         whole thread's ptid.
10839
10840 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
10841             Sergio Durigan Junior  <sergiodj@redhat.com>
10842             Pedro Alves  <palves@redhat.com>
10843
10844         * infcmd.c (kill_command): Print message when inferior has
10845         been killed.
10846         * inferior.c (print_inferior_events): Remove 'static'.  Set as
10847         '1'.
10848         (add_inferior): Improve message printed when
10849         'print_inferior_events' is on.
10850         (exit_inferior): Remove message printed when
10851         'print_inferior_events' is on.
10852         (detach_inferior): Improve message printed when
10853         'print_inferior_events' is on.
10854         (initialize_inferiors): Use 'add_inferior_silent' to set
10855         'current_inferior_'.
10856         * inferior.h (print_inferior_events): Declare here as
10857         'extern'.
10858         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
10859         '[Detaching...]' messages when 'print_inferior_events' is on.
10860         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
10861         as prefix/suffix for messages.  Remove periods.  Fix erroneous
10862         'Detaching after fork from child...', replace it by '... from
10863         parent...'.
10864         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
10865         prefix/suffix when printing 'Detaching...' messages.  Print
10866         them when 'print_inferior_events' is on.
10867         * remote.c (remote_detach_1): Print message when detaching
10868         from inferior and '!is_fork_parent'.
10869
10870 2018-04-24  Tom Tromey  <tom@tromey.com>
10871
10872         * cli-out.h: Reindent.
10873
10874 2018-04-24  Tom Tromey  <tom@tromey.com>
10875
10876         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
10877         (cli_ui_out::do_field_string): Use fputs_filtered.
10878         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
10879
10880 2018-04-23  Tom Tromey  <tom@tromey.com>
10881
10882         * guile/scm-frame.c (gdbscm_frame_read_var): Use
10883         gdb::unique_xmalloc_ptr.
10884
10885 2018-04-23  Tom Tromey  <tom@tromey.com>
10886
10887         * configure: Rebuild.
10888
10889 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
10890
10891         PR gdb/23095
10892         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
10893         prepare_for_testing.  Set normal_bp to r_debug_state if target
10894         is bsd.
10895
10896 2018-04-21  Pedro Alves  <palves@redhat.com>
10897             Rajendra SY  <rajendra.sy@gmail.com>
10898
10899         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
10900         * remote.c (extended_remote_attach): In all-stop mode, mark the
10901         thread as executing.
10902
10903 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
10904
10905         * thread.c (thread_apply_all_command): Fix comment.
10906         (thread_command): Fix comment.
10907
10908 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
10909
10910         * common/tdesc.h (tdesc_create_feature): Remove xml filename
10911         parameter.
10912         * features/aarch64-core.c (create_feature_aarch64_core):
10913         Regenerate.
10914         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
10915         Likewise.
10916         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
10917         Likewise.
10918         * features/i386/32bit-avx512.c
10919         (create_feature_i386_32bit_avx512): Likewise.
10920         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
10921         Likewise.
10922         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
10923         Likewise.
10924         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
10925         Likewise.
10926         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
10927         Likewise.
10928         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
10929         Likewise.
10930         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
10931         Likewise.
10932         * features/i386/64bit-avx512.c
10933         (create_feature_i386_64bit_avx512): Likewise.
10934         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
10935         Likewise.
10936         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
10937         Likewise.
10938         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
10939         Likewise.
10940         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
10941         Likewise.
10942         * features/i386/64bit-segments.c
10943         (create_feature_i386_64bit_segments): Likewise.
10944         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
10945         Likewise.
10946         * features/i386/x32-core.c
10947         (create_feature_i386_x32_core): Likewise.
10948         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
10949         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
10950         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
10951         * target-descriptions.c: In generated code, don't pass xml
10952         filename.
10953
10954 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10955
10956         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
10957         (print_xml_feature::visit_post): Likewise.
10958         (print_xml_feature::visit): Likewise.
10959         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
10960         (print_xml_feature): Add new class.
10961         * regformats/regdat.sh: Null xmltarget on feature targets.
10962         * target-descriptions.c (struct target_desc): Add xmltarget.
10963         (maintenance_check_tdesc_xml_convert): Add unittest function.
10964         (tdesc_get_features_xml): Add function to get xml.
10965         (maintenance_check_xml_descriptions): Test xml generation.
10966         * xml-tdesc.c (string_read_description_xml): Add function.
10967         * xml-tdesc.h (string_read_description_xml): Add declaration.
10968
10969 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10970
10971         * features/Makefile: Add feature marker to targets with new style
10972         target descriptions.
10973         * regformats/aarch64.dat: Regenerate.
10974         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
10975         * regformats/i386/amd64-avx-linux.dat: Likewise.
10976         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
10977         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
10978         * regformats/i386/amd64-linux.dat: Likewise.
10979         * regformats/i386/amd64-mpx-linux.dat: Likewise.
10980         * regformats/i386/amd64.dat: Likewise.
10981         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
10982         * regformats/i386/i386-avx-linux.dat: Likewise.
10983         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
10984         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
10985         * regformats/i386/i386-linux.dat: Likewise.
10986         * regformats/i386/i386-mmx-linux.dat: Likewise.
10987         * regformats/i386/i386-mpx-linux.dat: Likewise.
10988         * regformats/i386/i386.dat: Likewise.
10989         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
10990         * regformats/i386/x32-avx-linux.dat: Likewise.
10991         * regformats/i386/x32-linux.dat: Likewise.
10992         * regformats/tic6x-c62x-linux.dat: Likewise.
10993         * regformats/tic6x-c64x-linux.dat: Likewise.
10994         * regformats/tic6x-c64xp-linux.dat: Likewise.
10995         * regformats/regdat.sh: Parse feature marker.
10996
10997 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10998
10999         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
11000         (tdesc_osabi_name): Likewise.
11001         * target-descriptions.c (tdesc_architecture_name): Add new
11002         function.
11003         (tdesc_osabi_name): Likewise.
11004
11005 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
11006
11007         * common/tdesc.c (tdesc_predefined_type): Move to here.
11008         (tdesc_named_type): Likewise.
11009         (tdesc_create_vector): Likewise.
11010         (tdesc_create_struct): Likewise.
11011         (tdesc_set_struct_size): Likewise.
11012         (tdesc_create_union): Likewise.
11013         (tdesc_create_flags): Likewise.
11014         (tdesc_create_enum): Likewise.
11015         (tdesc_add_field): Likewise.
11016         (tdesc_add_typed_bitfield): Likewise.
11017         (tdesc_add_bitfield): Likewise.
11018         (tdesc_add_flag): Likewise.
11019         (tdesc_add_enum_value): Likewise.
11020         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
11021         (struct tdesc_type_vector): Likewise.
11022         (struct tdesc_type_field): Likewise.
11023         (struct tdesc_type_with_fields): Likewise.
11024         (tdesc_create_enum): Add declaration.
11025         (tdesc_add_typed_bitfield): Likewise.
11026         (tdesc_add_enum_value): Likewise.
11027         * target-descriptions.c (tdesc_type_field): Move from here.
11028         (tdesc_type_builtin): Likewise.
11029         (tdesc_type_vector): Likewise.
11030         (tdesc_type_with_fields): Likewise.
11031         (tdesc_predefined_types): Likewise.
11032         (tdesc_named_type): Likewise.
11033         (tdesc_create_vector): Likewise.
11034         (tdesc_create_struct): Likewise.
11035         (tdesc_set_struct_size): Likewise.
11036         (tdesc_create_union): Likewise.
11037         (tdesc_create_flags): Likewise.
11038         (tdesc_create_enum): Likewise.
11039         (tdesc_add_field): Likewise.
11040         (tdesc_add_typed_bitfield): Likewise.
11041         (tdesc_add_bitfield): Likewise.
11042         (tdesc_add_flag): Likewise.
11043         (tdesc_add_enum_value): Likewise.
11044         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
11045         (tdesc_add_typed_bitfield): Likewise.
11046         (tdesc_add_enum_value): Likewise.
11047
11048 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
11049
11050         * common/tdesc.c (tdesc_feature::accept): Move to here.
11051         (tdesc_feature::operator==): Likewise.
11052         (tdesc_create_reg): Likewise.
11053         * common/tdesc.h (tdesc_type_kind): Likewise.
11054         (struct tdesc_type): Likewise.
11055         (struct tdesc_feature): Likewise.
11056         * regformats/regdat.sh: Create a feature.
11057         * target-descriptions.c (tdesc_type_kind): Move from here.
11058         (tdesc_type): Likewise.
11059         (tdesc_type_up): Likewise.
11060         (tdesc_feature): Likewise.
11061         (tdesc_create_reg): Likewise.
11062
11063 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
11064
11065         * Makefile.in: Add arch/tdesc.c
11066         * common/tdesc.c: New file.
11067         * common/tdesc.h (tdesc_element_visitor): Move to here.
11068         (tdesc_element): Likewise.
11069         (tdesc_reg): Likewise.
11070         (tdesc_reg_up): Likewise.
11071         * regformats/regdef.h (reg): Add offset to constructors.
11072         * target-descriptions.c (tdesc_element_visitor): Move from here.
11073         (tdesc_element): Likewise.
11074         (tdesc_reg): Likewise.
11075         (tdesc_reg_up): Likewise.
11076
11077 2018-04-17  Tom Tromey  <tom@tromey.com>
11078
11079         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
11080         discriminant field.
11081
11082 2018-04-17  Tom Tromey  <tom@tromey.com>
11083
11084         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
11085
11086 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11087
11088         * symtab.c (print_symbol_info): Skip printing filename and line
11089         number when `last' is NULL.
11090         (symtab_symbol_info): Use empty string instead of NULL for first
11091         invocation of print_symbol_info.
11092         (rbreak_command): Pass NULL to `last' parameter of
11093         print_symbol_info.
11094
11095 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
11096
11097         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
11098         instead of nullptr.
11099
11100 2018-04-16  Pedro Alves  <palves@redhat.com>
11101
11102         * MAINTAINERS (sh): Remove.
11103         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
11104         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
11105         (ALLDEPFILES): Remove sh64-tdep.c.
11106         * NEWS: Mentions that support for SH-5/SH64 is removed.
11107         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
11108         (sh*-*-openbsd*): Ditto.
11109         (sh64-*-elf*): Remove.
11110         (sh*): Remove.
11111         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
11112         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
11113         * sh-tdep.c: No longer include "sh64-tdep.h".
11114         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
11115         * sh64-tdep.c, sh64-tdep.h: Remove files.
11116
11117 2018-04-16  Pedro Alves  <palves@redhat.com>
11118
11119         * MAINTAINERS: Remove m88k.
11120         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
11121         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
11122         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
11123         * NEWS: Mention that support for m88k was removed.
11124         * configure.host (m88*-*-*): Remove support.
11125         * configure.nat (m88k-*-*): Remove support.
11126         * configure.tgt (m88*-*-openbsd*): Remove.
11127         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
11128
11129 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
11130
11131         * configure.tgt (x86_tobjs): New variable.
11132         (amd64_tobjs, i386_tobjs): Use it.
11133
11134 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11135
11136         * symtab.c (print_symbol_info): Precede the symbol definition by
11137         the line number when available.
11138         * NEWS: Advertise this enhancement.
11139
11140 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
11141
11142         * NEWS (New options): announce set/show record btrace cpu.
11143         * btrace.c: Include record-btrace.h.
11144         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
11145         the vendor is unknown.
11146         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
11147         Maybe overwrite the btrace configuration's cpu.
11148         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
11149         (btrace_fetch): Add cpu parameter.  Update callers.
11150         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
11151         Maybe overwrite the btrace configuration's cpu.  Skip enabling
11152         errata workarounds if the vendor is unknown.
11153         * python/py-record-btrace.c: Include record-btrace.h.
11154         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
11155         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
11156         * record-btrace.c (record_btrace_cpu_state_kind): New.
11157         (record_btrace_cpu): New.
11158         (set_record_btrace_cpu_cmdlist): New.
11159         (record_btrace_get_cpu): New.
11160         (require_btrace_thread, record_btrace_info)
11161         (record_btrace_resume_thread): Call record_btrace_get_cpu.
11162         (cmd_set_record_btrace_cpu_none): New.
11163         (cmd_set_record_btrace_cpu_auto): New.
11164         (cmd_set_record_btrace_cpu): New.
11165         (cmd_show_record_btrace_cpu): New.
11166         (_initialize_record_btrace): Initialize set/show record btrace cpu
11167         commands.
11168         * record-btrace.h (record_btrace_get_cpu): New.
11169
11170 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
11171
11172         * record.c (set_record_command): Fix typo in message.
11173
11174 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
11175
11176         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
11177
11178 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
11179
11180         * infrun.c (process_event_stop_test): Call
11181         gdbarch_in_indirect_branch_thunk.
11182         * gdbarch.sh (in_indirect_branch_thunk): New.
11183         * gdbarch.c: Regenerated.
11184         * gdbarch.h: Regenerated.
11185         * x86-tdep.h: New.
11186         * x86-tdep.c: New.
11187         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
11188         (HFILES_NO_SRCDIR): Add x86-tdep.h.
11189         (ALLDEPFILES): Add x86-tdep.c.
11190         * arch-utils.h (default_in_indirect_branch_thunk): New.
11191         * arch-utils.c (default_in_indirect_branch_thunk): New.
11192         * i386-tdep: Include x86-tdep.h.
11193         (i386_in_indirect_branch_thunk): New.
11194         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
11195         function.
11196         * amd64-tdep: Include x86-tdep.h.
11197         (amd64_in_indirect_branch_thunk): New.
11198         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
11199
11200 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11201
11202         PR gdb/23053
11203         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
11204         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
11205         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
11206         regression.
11207
11208 2018-04-12  Tom Tromey  <tom@tromey.com>
11209
11210         * rust-lang.c (rust_print_struct_def): Remove univariant code.
11211         (rust_evaluate_subexp): Likewise.
11212
11213 2018-04-12  Pedro Alves  <palves@redhat.com>
11214
11215         * procfs.c (procfs_detach): Make forward declaration's prototype
11216         match definition's protototype.
11217         (proc_get_LDT_entry): Remove stale do_cleanups call.
11218
11219 2018-04-12  Pedro Alves  <palves@redhat.com>
11220
11221         * target.h (target_ops::to_has_exited): Delete.
11222         (target_has_exited): Delete.
11223         * target-delegates.c: Regenerate.
11224
11225 2018-04-11  Pedro Alves  <palves@redhat.com>
11226
11227         * target.c (fileio_fh_t::t): Add comment.
11228         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
11229         (target_fileio_close): Handle a NULL target.
11230         (invalidate_fileio_fh): New.
11231         (target_close): Call it.
11232         * remote.c (remote_hostio_send_command): No longer check whether
11233         remote_desc is open.
11234
11235 2018-04-11  Pedro Alves  <palves@redhat.com>
11236
11237         * target.c (fileio_fh_t): Make it a named struct instead of a
11238         typedef.
11239         (fileio_fh_t::is_closed): New method.
11240         (DEF_VEC_O (fileio_fh_t)): Remove.
11241         (fileio_fhandles): Now a std::vector.
11242         (is_closed_fileio_fh): Delete.
11243         (acquire_fileio_fd): Adjust.  Rename parameters.
11244         (release_fileio_fd): Adjust.
11245         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
11246         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
11247         (target_fileio_close): Adjust.
11248
11249 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
11250
11251         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
11252         index.
11253
11254 2018-04-10  Pedro Alves  <palves@redhat.com>
11255
11256         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
11257         (scoped_finish_thread_state): New class.
11258         * infcmd.c (run_command_1): Use it instead of finish_thread_state
11259         cleanup.
11260         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
11261         (fetch_inferior_event, normal_stop): Likewise.
11262         * thread.c (finish_thread_state_cleanup): Delete.
11263
11264 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11265             Pedro Alves  <palves@redhat.com>
11266
11267         * value.c: Include "selftest.h" and "common/array-view.h".
11268         (struct range) <operator ==>: New.
11269         (test_ranges_contain): New.
11270         (check_ranges_vector): New.
11271         (test_insert_into_bit_range_vector): New.
11272         (_initialize_values): Register selftests.
11273         * common/array-view.h (operator==, operator!=): New.
11274
11275 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11276
11277         * common/gdb_vecs.h (unordered_remove): Add overload that takes
11278         an iterator.
11279         * inline-frame.c: Include <algorithm>.
11280         (struct inline_state): Add constructor.
11281         (inline_state_s): Remove.
11282         (DEF_VEC_O(inline_state_s)): Remove.
11283         (inline_states): Change type to std::vector.
11284         (find_inline_frame_state): Adjust to std::vector.
11285         (allocate_inline_frame_state): Remove.
11286         (clear_inline_frame_state): Adjust to std::vector.
11287         (skip_inline_frames): Adjust to std::vector.
11288
11289 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11290
11291         * tracepoint.h (struct trace_state_variable): Add constructor.
11292         <name>: Change type to std::string.
11293         * tracepoint.c (tsv_s): Remove.
11294         (DEF_VEC_O(tsv_s)): Remove.
11295         (tvariables): Change to std::vector.
11296         (create_trace_state_variable): Adjust to std::vector.
11297         (find_trace_state_variable): Likewise.
11298         (find_trace_state_variable_by_number): Likewise.
11299         (delete_trace_state_variable): Likewise.
11300         (trace_variable_command): Adjust to std::string.
11301         (delete_trace_variable_command): Likewise.
11302         (tvariables_info_1): Adjust to std::vector.
11303         (save_trace_state_variables): Likewise.
11304         (start_tracing): Likewise.
11305         (merge_uploaded_trace_state_variables): Adjust to std::vector
11306         and std::string.
11307         * target.h (struct target_ops)
11308         <to_download_trace_state_variable>: Pass reference to
11309         trace_state_variable.
11310         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
11311         * target-delegates.c: Re-generate.
11312         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
11313         (mi_tsv_deleted): Likewise.
11314         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
11315         * remote.c (remote_download_trace_state_variable): Change
11316         pointer to reference and adjust.
11317         * make-target-delegates (parse_argtypes): Handle references.
11318         (write_function_header): Likewise.
11319         (munge_type): Likewise.
11320
11321 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11322
11323         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11324         string_view-selftests.c.
11325         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
11326         testsuite.
11327         * unittests/basic_string_view/cons/char/1.cc: Likewise.
11328         * unittests/basic_string_view/cons/char/2.cc: Likewise.
11329         * unittests/basic_string_view/cons/char/3.cc: Likewise.
11330         * unittests/basic_string_view/element_access/char/1.cc:
11331         Likewise.
11332         * unittests/basic_string_view/element_access/char/empty.cc:
11333         Likewise.
11334         * unittests/basic_string_view/element_access/char/front_back.cc:
11335         Likewise.
11336         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
11337         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
11338         Likewise.
11339         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
11340         Likewise.
11341         * unittests/basic_string_view/modifiers/swap/char/1.cc:
11342         Likewise.
11343         * unittests/basic_string_view/operations/compare/char/1.cc:
11344         Likewise.
11345         * unittests/basic_string_view/operations/compare/char/13650.cc:
11346         Likewise.
11347         * unittests/basic_string_view/operations/copy/char/1.cc:
11348         Likewise.
11349         * unittests/basic_string_view/operations/data/char/1.cc:
11350         Likewise.
11351         * unittests/basic_string_view/operations/find/char/1.cc:
11352         Likewise.
11353         * unittests/basic_string_view/operations/find/char/2.cc:
11354         Likewise.
11355         * unittests/basic_string_view/operations/find/char/3.cc:
11356         Likewise.
11357         * unittests/basic_string_view/operations/find/char/4.cc:
11358         Likewise.
11359         * unittests/basic_string_view/operations/rfind/char/1.cc:
11360         Likewise.
11361         * unittests/basic_string_view/operations/rfind/char/2.cc:
11362         Likewise.
11363         * unittests/basic_string_view/operations/rfind/char/3.cc:
11364         Likewise.
11365         * unittests/basic_string_view/operations/substr/char/1.cc:
11366         Likewise.
11367         * unittests/basic_string_view/operators/char/2.cc: Likewise.
11368         * unittests/string_view-selftests.c: New file.
11369
11370 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11371
11372         * unittests/basic_string_view/capacity/1.cc: New file.
11373         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
11374         * unittests/basic_string_view/cons/char/1.cc: New file.
11375         * unittests/basic_string_view/cons/char/2.cc: New file.
11376         * unittests/basic_string_view/cons/char/3.cc: New file.
11377         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
11378         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
11379         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
11380         * unittests/basic_string_view/element_access/char/1.cc: New file.
11381         * unittests/basic_string_view/element_access/char/2.cc: New file.
11382         * unittests/basic_string_view/element_access/char/empty.cc: New file.
11383         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
11384         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
11385         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
11386         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
11387         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
11388         * unittests/basic_string_view/include.cc: New file.
11389         * unittests/basic_string_view/inserters/char/1.cc: New file.
11390         * unittests/basic_string_view/inserters/char/2.cc: New file.
11391         * unittests/basic_string_view/inserters/char/3.cc: New file.
11392         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
11393         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
11394         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
11395         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
11396         * unittests/basic_string_view/literals/types.cc: New file.
11397         * unittests/basic_string_view/literals/values.cc: New file.
11398         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
11399         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
11400         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
11401         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
11402         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
11403         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
11404         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
11405         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
11406         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
11407         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
11408         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
11409         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
11410         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
11411         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
11412         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
11413         * unittests/basic_string_view/operations/data/char/1.cc: New file.
11414         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
11415         * unittests/basic_string_view/operations/find/char/1.cc: New file.
11416         * unittests/basic_string_view/operations/find/char/2.cc: New file.
11417         * unittests/basic_string_view/operations/find/char/3.cc: New file.
11418         * unittests/basic_string_view/operations/find/char/4.cc: New file.
11419         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
11420         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
11421         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
11422         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
11423         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
11424         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
11425         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
11426         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
11427         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
11428         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
11429         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
11430         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
11431         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
11432         * unittests/basic_string_view/operators/char/2.cc: New file.
11433         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
11434         * unittests/basic_string_view/range_access/char/1.cc: New file.
11435         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
11436         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
11437         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
11438         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
11439         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
11440         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
11441         * unittests/basic_string_view/requirements/typedefs.cc: New file.
11442         * unittests/basic_string_view/typedefs.cc: New file.
11443         * unittests/basic_string_view/types/1.cc: New file.
11444
11445 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11446
11447         * common/gdb_string_view.h: Remove libstdc++ implementation
11448         details, adjust to gdb reality.
11449         * common/gdb_string_view.tcc: Likewise.
11450         * cli/cli-script.c (struct string_view): Remove.
11451         (user_args) <m_args>: Change element type to gdb::string_view.
11452         (user_args::insert_args): Adjust.
11453
11454 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11455
11456         * common/gdb_string_view.h: New file.
11457         * common/gdb_string_view.tcc: New file.
11458
11459 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
11460
11461         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
11462         * configure: Re-generate.
11463
11464 2018-04-09  Pedro Alves  <palves@redhat.com>
11465
11466         * gdbarch.sh: Include "observable.h" instead of "observer.h".
11467         (set_target_gdbarch): Call
11468         gdb::observers::architecture_changed.notify instead of
11469         observer_notify_architecture_changed.
11470
11471 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11472
11473         * tracepoint.c (struct current_traceframe_cleanup): Remove.
11474         (do_restore_current_traceframe_cleanup): Remove.
11475         (restore_current_traceframe_cleanup_dtor): Remove.
11476         (make_cleanup_restore_current_traceframe): Remove.
11477         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
11478         New.
11479         * tracepoint.h (struct scoped_restore_current_traceframe): New.
11480         * infrun.c (fetch_inferior_event): Use
11481         scoped_restore_current_traceframe.
11482
11483 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11484
11485         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
11486         Remove.
11487         <n_allocated_type_units>: Remove.
11488         <all_type_units>: Change to std::vector.
11489         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
11490         to std::vector change.
11491         (dwarf2_per_objfile::get_cutu): Likewise.
11492         (dwarf2_per_objfile::get_tu): Likewise.
11493         (create_signatured_type_table_from_index): Likewise.
11494         (create_signatured_type_table_from_debug_names): Likewise.
11495         (dw2_symtab_iter_next): Likewise.
11496         (dw2_print_stats): Likewise.
11497         (dw2_expand_all_symtabs): Likewise.
11498         (dw2_expand_marked_cus): Likewise.
11499         (dw2_debug_names_iterator::next): Likewise.
11500         (dwarf2_initialize_objfile): Likewise.
11501         (add_signatured_type_cu_to_table): Likewise.
11502         (create_all_type_units): Likewise.
11503         (add_type_unit): Likewise.
11504         (struct tu_abbrev_offset): Add constructor.
11505         (build_type_psymtabs_1): Adjust to std::vector change.
11506         (print_tu_stats): Likewise.
11507         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
11508         (write_debug_names): Likewise.
11509
11510 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11511
11512         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
11513         Make an std::vector.
11514         <n_comp_units>: Remove.
11515         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
11516         to std::vector change.
11517         (dwarf2_per_objfile::get_cutu): Likewise.
11518         (dwarf2_per_objfile::get_cu): Likewise.
11519         (create_cus_from_index): Likewise.
11520         (create_addrmap_from_index): Likewise.
11521         (create_addrmap_from_aranges): Likewise.
11522         (dwarf2_read_index): Likewise.
11523         (dw2_find_last_source_symtab): Likewise.
11524         (dw2_map_symtabs_matching_filename): Likewise.
11525         (dw2_symtab_iter_next): Likewise.
11526         (dw2_print_stats): Likewise.
11527         (dw2_expand_all_symtabs): Likewise.
11528         (dw2_expand_symtabs_with_fullname): Likewise.
11529         (dw2_expand_marked_cus): Likewise.
11530         (dw2_map_symbol_filenames): Likewise.
11531         (create_cus_from_debug_names): Likewise.
11532         (dwarf2_read_debug_names): Likewise.
11533         (dw2_debug_names_iterator::next): Likewise.
11534         (dwarf2_initialize_objfile): Likewise.
11535         (set_partial_user): Likewise.
11536         (dwarf2_build_psymtabs_hard): Likewise.
11537         (read_comp_units_from_section): Remove arguments, adjust to
11538         std::vector change.
11539         (create_all_comp_units): Adjust to std::vector and
11540         read_comp_units_from_section changes.
11541         (dwarf2_find_containing_comp_unit): Adjust to std::vector
11542         change.
11543         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
11544         (psyms_seen_size): Likewise.
11545         (write_gdbindex): Likewise.
11546         (write_debug_names): Likewise.
11547
11548 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11549
11550         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
11551         with dwarf2_per_objfile.
11552         (create_cus_from_index): Likewise.
11553         (create_signatured_type_table_from_index): Likewise.
11554         (dwarf2_read_index): Likewise.
11555         (dwarf2_initialize_objfile): Likewise.
11556         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
11557         per_cu rather than get_dwarf2_per_objfile.
11558
11559 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11560
11561         * dwarf2read.h (struct signatured_type): Forward declare.
11562         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
11563         New methods.
11564         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
11565         (dw2_get_cutu): ...this.
11566         (dwarf2_per_objfile::get_cu): Rename from...
11567         (dw2_get_cu): ...this.
11568         (dwarf2_per_objfile::get_tu): New.
11569         (create_addrmap_from_index): Adjust.
11570         (create_addrmap_from_aranges): Adjust.
11571         (dw2_find_last_source_symtab): Adjust.
11572         (dw2_map_symtabs_matching_filename): Adjust.
11573         (dw2_symtab_iter_next): Adjust.
11574         (dw2_print_stats): Adjust.
11575         (dw2_expand_all_symtabs): Adjust.
11576         (dw2_expand_symtabs_with_fullname): Adjust.
11577         (dw2_expand_marked_cus): Adjust.
11578         (dw_expand_symtabs_matching_file_matcher): Adjust.
11579         (dw2_map_symbol_filenames): Adjust.
11580         (dw2_debug_names_iterator::next): Adjust.
11581         (dwarf2_initialize_objfile): Adjust.
11582         (set_partial_user): Adjust.
11583         (dwarf2_build_psymtabs_hard): Adjust.
11584
11585 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11586
11587         * dwarf2read.c (create_signatured_type_table_from_debug_names):
11588         Remove unused variables.
11589         (dw2_map_symtabs_matching_filename): Likewise.
11590         (dwarf2_record_block_ranges): Likewise.
11591         (dwarf2_read_addr_index): Likewise.
11592         (follow_die_offset): Likewise.
11593
11594 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11595
11596         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
11597         to symbol_file_add_main.
11598
11599 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11600
11601         PR mi/22299
11602         * mi/mi-console.c (do_fputc_async_safe): New.
11603         (mi_console_file::write_async_safe): New.
11604         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
11605         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
11606         New.
11607         * ui-file.c (ui_file::putstrn): Adjust call to
11608         fputstrn_unfiltered.
11609         * utils.c (printchar): Replace do_fputs and do_fprintf
11610         parameters by do_fputc.
11611         (fputstr_filtered): Adjust call to printchar.
11612         (fputstr_unfiltered): Likewise.
11613         (fputstrn_filtered): Likewise.
11614         (fputstrn_unfiltered): Add do_fputc parameter, pass to
11615         printchar.
11616         * utils.h (do_fputc_ftype): New typedef.
11617         (fputstrn_unfiltered): Add do_fputc parameter.
11618
11619 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
11620
11621         * regformats/i386/i386-avx.dat: Remove.
11622
11623 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
11624
11625         PR gdb/22979
11626         * amd64-tdep.c (amd64_none_init_abi): New function.
11627         (amd64_x32_none_init_abi): New function.
11628         (_initialize_amd64_tdep): Register handlers for x86-64 and
11629         x64_32 with GDB_OSABI_NONE.
11630         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
11631         GDB_OSABI_NONE osabi.
11632
11633 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
11634
11635         PR gdb/22980
11636         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
11637         GDB_OSABI_NONE.
11638         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
11639         * osabi.c (gdb_osabi_names): Add "unknown" entry.
11640
11641 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
11642
11643         * common/byte-vector.h (char_vector): New type.
11644         * target.h (target_read_alloc): Return
11645         gdb::optional<byte_vector>.
11646         (target_read_stralloc): Return gdb::optional<char_vector>.
11647         (target_get_osdata): Return gdb::optional<char_vector>.
11648         * target.c (target_read_alloc_1): Templatize.  Replacement
11649         manual memory management with vector.
11650         (target_read_alloc): Change return type, adjust.
11651         (target_read_stralloc): Change return type, adjust.
11652         (target_get_osdata): Change return type, adjust.
11653         * auxv.c (struct auxv_info) <length>: Remove.
11654         <data>: Change type to gdb::optional<byte_vector>.
11655         (auxv_inferior_data_cleanup): Free auxv_info with delete.
11656         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
11657         (target_auxv_search): Adjust.
11658         (fprint_target_auxv): Adjust.
11659         * avr-tdep.c (avr_io_reg_read_command): Adjust.
11660         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
11661         (linux_make_corefile_notes): Adjust.
11662         * osdata.c (get_osdata): Adjust.
11663         * remote.c (remote_get_threads_with_qxfer): Adjust.
11664         (remote_memory_map): Adjust.
11665         (remote_traceframe_info): Adjust.
11666         (btrace_read_config): Adjust.
11667         (remote_read_btrace): Adjust.
11668         (remote_pid_to_exec_file): Adjust.
11669         * solib-aix.c (solib_aix_get_library_list): Adjust.
11670         * solib-dsbt.c (decode_loadmap): Don't free buf.
11671         (dsbt_get_initial_loadmaps): Adjust.
11672         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
11673         * solib-target.c (solib_target_current_sos): Adjust.
11674         * tracepoint.c (sdata_make_value): Adjust.
11675         * xml-support.c (xinclude_start_include): Adjust.
11676         (xml_fetch_content_from_file): Adjust.
11677         * xml-support.h (xml_fetch_another): Change return type.
11678         (xml_fetch_content_from_file): Change return type.
11679         * xml-syscall.c (xml_init_syscalls_info): Adjust.
11680         * xml-tdesc.c (file_read_description_xml): Adjust.
11681         (fetch_available_features_from_target): Change return type.
11682         (target_fetch_description_xml): Adjust.
11683         (target_read_description_xml): Adjust.
11684
11685 2018-04-06  Tom Tromey  <tom@tromey.com>
11686
11687         * value.c (~value): Update.
11688         (struct value) <contents>: Now unique_xmalloc_ptr.
11689         (value_contents_bits_eq, allocate_value_contents)
11690         (value_contents_raw, value_contents_all_raw)
11691         (value_contents_for_printing, value_contents_for_printing_const)
11692         (set_value_enclosing_type): Update.
11693
11694 2018-04-06  Tom Tromey  <tom@tromey.com>
11695
11696         * value.c (range_s): Remove typedef, VEC.
11697         (struct range): Add operator<.
11698         (range_lessthan): Remove.
11699         (ranges_contain): Change type.
11700         (~value): Update.
11701         (struct value) <unavailable, optimized_out>: Now std::vector.
11702         (value_entirely_available)
11703         (value_entirely_covered_by_range_vector)
11704         (value_entirely_unavailable, value_entirely_optimized_out):
11705         Update.
11706         (insert_into_bit_range_vector): Change argument type.
11707         (find_first_range_overlap): Likewise.
11708         (struct ranges_and_idx, value_contents_bits_eq)
11709         (require_not_optimized_out, require_available): Update.
11710         (ranges_copy_adjusted): Change argument types.
11711         (value_optimized_out, value_copy, value_fetch_lazy): Update.
11712
11713 2018-04-06  Tom Tromey  <tom@tromey.com>
11714
11715         * value.c (~value): Update.
11716         (struct value) <parent>: Now a value_ref_ptr.
11717         (value_parent, set_value_parent, value_address, value_copy):
11718         Update.
11719
11720 2018-04-06  Tom Tromey  <tom@tromey.com>
11721
11722         * value.c (struct value): Add constructor, destructor, and member
11723         initializers.
11724         (allocate_value_lazy, value_decref): Update.
11725
11726 2018-04-06  Tom Tromey  <tom@tromey.com>
11727
11728         * value.c (struct value) <released, next>: Remove.
11729         (all_values): Now a std::vector.
11730         (allocate_value_lazy): Update.
11731         (value_next): Remove.
11732         (value_mark, value_free_to_mark, release_value)
11733         (value_release_to_mark): Update.
11734
11735 2018-04-06  Tom Tromey  <tom@tromey.com>
11736
11737         * value.h (fetch_subexp_value, value_release_to_mark): Update.
11738         (free_value_chain): Remove.
11739         * value.c (free_value_chain): Remove.
11740         (value_release_to_mark): Return a std::vector.
11741         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
11742         std::vector.
11743         (check_condition): Update.
11744         * eval.c (fetch_subexp_value): Change "val_chain" to a
11745         std::vector.
11746         * breakpoint.c (update_watchpoint): Update.
11747         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
11748
11749 2018-04-06  Tom Tromey  <tom@tromey.com>
11750
11751         * value.h (free_all_values): Remove.
11752         * value.c (free_all_values): Remove.
11753
11754 2018-04-06  Tom Tromey  <tom@tromey.com>
11755
11756         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
11757         (value_history_chain, value_history_count): Remove.
11758         (value_history): New global.
11759         (record_latest_value, access_value_history, show_values)
11760         (preserve_values): Update.
11761
11762 2018-04-06  Tom Tromey  <tom@tromey.com>
11763
11764         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
11765         * varobj.c (varobj_set_display_format, varobj_set_value)
11766         (install_default_visualizer, construct_visualizer)
11767         (install_new_value, ~varobj, varobj_get_value_type)
11768         (my_value_of_variable, varobj_editable_p): Update.
11769         * c-varobj.c (c_describe_child, c_value_of_variable)
11770         (cplus_number_of_children, cplus_describe_child): Update.
11771         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
11772         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
11773         (ada_value_of_variable, ada_value_is_changeable_p): Update.
11774
11775 2018-04-06  Tom Tromey  <tom@tromey.com>
11776
11777         * printcmd.c (last_examine_address): Change type to
11778         value_ref_ptr.
11779         (do_examine, x_command): Update.
11780
11781 2018-04-06  Tom Tromey  <tom@tromey.com>
11782
11783         * value.c (release_value): Update.
11784         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
11785         (struct bpstats) <val>: Now a value_ref_ptr.
11786         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11787         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11788         (~watchpoint, print_it_watchpoint, watch_command_1)
11789         (invalidate_bp_value_on_memory_change): Update.
11790
11791 2018-04-06  Tom Tromey  <tom@tromey.com>
11792
11793         * varobj.c (varobj_clear_saved_item)
11794         (update_dynamic_varobj_children, install_new_value, ~varobj):
11795         Update.
11796         * value.h (value_incref): Move declaration earlier.
11797         (value_decref): Rename from value_free.
11798         (struct value_ref_policy): New.
11799         (value_ref_ptr): New typedef.
11800         (struct value_deleter): Remove.
11801         (gdb_value_up): Remove typedef.
11802         (release_value): Change return type.
11803         (release_value_or_incref): Remove.
11804         * value.c (set_value_parent): Update.
11805         (value_incref): Change return type.
11806         (value_decref): Rename from value_free.
11807         (value_free_to_mark, free_all_values, free_value_chain): Update.
11808         (release_value): Return value_ref_ptr.
11809         (release_value_or_incref): Remove.
11810         (record_latest_value, set_internalvar, clear_internalvar):
11811         Update.
11812         * stack.c (info_frame_command): Don't call value_free.
11813         * python/py-value.c (valpy_dealloc, valpy_new)
11814         (value_to_value_object): Update.
11815         * printcmd.c (do_examine): Update.
11816         * opencl-lang.c (lval_func_free_closure): Update.
11817         * mi/mi-main.c (register_changed_p): Don't call value_free.
11818         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
11819         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
11820         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
11821         value_free.
11822         * guile/scm-value.c (vlscm_free_value_smob)
11823         (vlscm_scm_from_value): Update.
11824         * frame.c (frame_register_unwind, frame_unwind_register_signed)
11825         (frame_unwind_register_unsigned, get_frame_register_bytes)
11826         (put_frame_register_bytes): Don't call value_free.
11827         * findvar.c (address_from_register): Don't call value_free.
11828         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
11829         * dwarf2loc.c (entry_data_value_free_closure)
11830         (value_of_dwarf_reg_entry, free_pieced_value_closure)
11831         (dwarf2_evaluate_loc_desc_full): Update.
11832         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11833         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11834         (~watchpoint, watch_command_1)
11835         (invalidate_bp_value_on_memory_change): Update.
11836         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
11837
11838 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
11839
11840         PR gdb/23022
11841         * warning.m4: Add -Wno-error=deprecated-register.
11842         * configure: Re-generate.
11843
11844 2018-04-05  Tom Tromey  <tom@tromey.com>
11845
11846         * linespec.h: Remove include of "vec.h".
11847
11848 2018-04-05  Tom Tromey  <tom@tromey.com>
11849
11850         * linespec.c (typep): Remove typedef.
11851         (find_methods, find_superclass_methods): Take a std::vector.
11852         (find_method): Use std::vector.
11853
11854 2018-04-05  Tom Tromey  <tom@tromey.com>
11855
11856         * utils.c (compare_strings): Remove.
11857         * utils.h (compare_strings): Remove.
11858         * objc-lang.h (find_imps): Update.
11859         * objc-lang.c (find_methods): Take a std::vector.
11860         (uniquify_strings, find_imps): Likewise.
11861         * linespec.c (find_methods): Take a std::vector.
11862         (decode_objc): Use std::vector.
11863         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
11864         a std::vector.
11865         (find_method, find_function_symbols): Use std::vector.
11866
11867 2018-04-05  Tom Tromey  <tom@tromey.com>
11868
11869         * completer.c (completion_tracker::completion_tracker): Remove
11870         cast.
11871         (completion_tracker::discard_completions): Likewise.
11872         * breakpoint.c (ambiguous_names_p): Remove cast.
11873         * ada-lang.c (_initialize_ada_language): Remove cast.
11874         * utils.h (streq): Update.
11875         (streq_hash): Add new declaration.
11876         * utils.c (streq): Return bool.
11877         (streq_hash): New function.
11878
11879 2018-04-05  Tom Tromey  <tom@tromey.com>
11880
11881         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
11882         Remove a string copy.
11883
11884 2018-04-05  Tom Tromey  <tom@tromey.com>
11885
11886         * linespec.c (filter_results): Use std::vector.
11887         (decode_line_2, decode_line_full): Update.
11888
11889 2018-04-05  Tom Tromey  <tom@tromey.com>
11890
11891         * linespec.c (canonical_to_fullform): Return std::string.
11892         (filter_results): Update.
11893         (struct decode_line_2_item): Add constructor.
11894         <fullform, displayform>: Now std::string.
11895         (decode_line_2_compare_items): Now a std::sort comparator.
11896         (decode_line_2): Update.
11897
11898 2018-04-05  Tom Tromey  <tom@tromey.com>
11899
11900         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
11901         (unexpected_linespec_error): Update.
11902         (linespec_parse_basic, parse_linespec): Update.
11903
11904 2018-04-05  Tom Tromey  <tom@tromey.com>
11905
11906         * linespec.c (linespec_parse_basic): Reindent.
11907
11908 2018-04-05  Tom Tromey  <tom@tromey.com>
11909
11910         * minsyms.h (iterate_over_minimal_symbols): Update.
11911         * minsyms.c (iterate_over_minimal_symbols): Take a
11912         gdb::function_view.
11913         * linespec.c (struct collect_minsyms): Remove.
11914         (compare_msyms): Now a std::sort comparator.
11915         (add_minsym): Add parameters.
11916         (search_minsyms_for_name): Update.  Use std::vector.
11917
11918 2018-04-03  Tom Tromey  <tom@tromey.com>
11919
11920         * mipsread.c (read_alphacoff_dynamic_symtab): Use
11921         gdb::byte_vector.
11922
11923 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11924
11925         * MAINTAINERS (Write After Approval): Add Weimin Pan.
11926
11927 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11928
11929         PR gdb/16959
11930         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
11931         printing static type.
11932
11933 2018-04-01  Tom Tromey  <tom@tromey.com>
11934
11935         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
11936         (rs6000_xfer_shared_libraries): Update.
11937
11938 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
11939
11940         * common/gdb_vecs.h (char_ptr): Remove.
11941         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
11942
11943 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11944
11945         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
11946         with std::vector.
11947         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
11948
11949 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11950
11951         * tracepoint.h (struct uploaded_tp): Initialize fields.
11952         <actions, step_actions, cmd_strings>: Change type to
11953         std::vector<char *>.
11954         * tracepoint.c (get_uploaded_tp): Allocate with new.
11955         (free_uploaded_tps): Free with delete.
11956         (parse_tracepoint_definition): Adjust to std::vector change.
11957         * breakpoint.c (read_uploaded_action): Likewise.
11958         (create_tracepoint_from_upload): Likewise.
11959         * ctf.c (ctf_write_uploaded_tp): Likewise.
11960         (SET_ARRAY_FIELD): Likewise.
11961         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
11962
11963 2018-03-30  Tom Tromey  <tom@tromey.com>
11964
11965         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
11966         std::unique_ptr.
11967         (svr4_keep_data_in_core): Update.
11968         (svr4_read_so_list): Update.
11969
11970 2018-03-30  Tom Tromey  <tom@tromey.com>
11971
11972         * windows-nat.c (handle_output_debug_string, handle_exception):
11973         Update.
11974         * target.h (target_read_string): Update.
11975         * target.c (target_read_string): Change "string" to
11976         unique_xmalloc_ptr.
11977         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
11978         Update.
11979         * solib-frv.c (frv_current_sos): Update.
11980         * solib-dsbt.c (dsbt_current_sos): Update.
11981         * solib-darwin.c (darwin_current_sos): Update.
11982         * linux-thread-db.c (inferior_has_bug): Update.
11983         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
11984         Update.  Remove alloca.
11985         * ada-lang.c (ada_main_name): Update.
11986
11987 2018-03-30  Tom Tromey  <tom@tromey.com>
11988
11989         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
11990         (struct dwo_file_deleter): New.
11991         (dwo_file_up): New typedef.
11992         (open_and_init_dwo_file): Use dwo_file_up.
11993         (free_dwo_file_cleanup): Remove.
11994
11995 2018-03-30  Tom Tromey  <tom@tromey.com>
11996
11997         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
11998         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
11999
12000 2018-03-30  Tom Tromey  <tom@tromey.com>
12001
12002         * dwarf2read.c (class free_cached_comp_units): New class.
12003         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
12004         (free_cached_comp_units): Remove function.
12005
12006 2018-03-30  Tom Tromey  <tom@tromey.com>
12007
12008         * utils.h (make_cleanup_unpush_target): Remove.
12009         * inf-ptrace.c (struct target_unpusher): New.
12010         (target_unpush_up) New typedef.
12011         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
12012         target_unpush_up.
12013         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
12014
12015 2018-03-27  Tom Tromey  <tom@tromey.com>
12016
12017         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
12018
12019 2018-03-27  Pedro Alves  <palves@redhat.com>
12020             Tom Tromey  <tom@tromey.com>
12021
12022         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
12023         destructor.  Now a class.
12024         (gdb_readline_wrapper_cleanup): Remove function.
12025         (gdb_readline_wrapper): Remove cleanups.
12026
12027 2018-03-27  Tom Tromey  <tom@tromey.com>
12028
12029         * typeprint.h (struct type_print_options) <local_typedefs,
12030         global_typedefs>: Remove "struct" keyword.
12031         (class typedef_hash_table): New class.
12032         (recursively_update_typedef_hash, add_template_parameters)
12033         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
12034         (find_typedef_in_hash): Don't declare.
12035         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
12036         (typedef_hash_table::recursively_update): Rename from
12037         recursively_update_typedef_hash.  Now a member.
12038         (typedef_hash_table::add_template_parameters): Rename from
12039         add_template_parameters.  Now a member.
12040         (typedef_hash_table::typedef_hash_table): Now a constructor;
12041         rename from create_typedef_hash.
12042         (typedef_hash_table::~typedef_hash_table): Now a destructor;
12043         rename from free_typedef_hash.
12044         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
12045         (do_free_global_table): Remove.
12046         (typedef_hash_table::typedef_hash_table): New constructor; renamed
12047         from copy_type_recursive.
12048         (create_global_typedef_table): Remove.
12049         (typedef_hash_table::find_global_typedef): Now a member of
12050         typedef_hash_table.
12051         (typedef_hash_table::find_typedef): Rename from
12052         find_typedef_in_hash; now a member.
12053         (whatis_exp): Update.
12054         * extension.h (struct ext_lang_type_printers): Add constructor and
12055         destructor.
12056         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
12057         declare.
12058         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
12059         Now a constructor; rename from start_ext_lang_type_printers.
12060         (ext_lang_type_printers): Now a destructor; rename from
12061         free_ext_lang_type_printers.
12062         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
12063         Update.
12064         (c_type_print_base_struct_union): Update.  Remove cleanups.
12065
12066 2018-03-27  Tom Tromey  <tom@tromey.com>
12067
12068         * dwarf-index-write.c: Include <cmath>.
12069
12070 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
12071
12072         * NEWS: Add entry describing new "set|show varsize-limit" command.
12073         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
12074         command.
12075         * printcmd.c (_initialize_printcmd): Add "set var" alias of
12076         "set variable".
12077
12078 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
12079
12080         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
12081         dwarf-index-write.c
12082         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
12083         * dwarf-index-common.c: New file.
12084         * dwarf-index-common.h: New file.
12085         * dwarf-index-write.c: New file.
12086         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
12087         (struct dwarf2_section_info): Move from here.
12088         (dwarf2_section_info_def): Likewise.
12089         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
12090         (offset_type): Likewise.
12091         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
12092         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
12093         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
12094         (byte_swap): Likewise.
12095         (MAYBE_SWAP): Likewise.
12096         (dwarf2_per_cu_ptr): Likewise.
12097         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
12098         (struct tu_stats): Likewise.
12099         (struct dwarf2_per_objfile): Likewise.
12100         (struct dwarf2_per_cu_data): Likewise.
12101         (struct signatured_type): Likewise.
12102         (sig_type_ptr): Likewise.
12103         (DEF_VEC_P (sig_type_ptr)): Likewise.
12104         (INDEX4_SUFFIX): Likewise.
12105         (INDEX5_SUFFIX): Likewise.
12106         (DEBUG_STR_SUFFIX): Likewise.
12107         (dwarf2_read_section): Make non-static.
12108         (mapped_index_string_hash): Move from here.
12109         (dwarf5_djb_hash): Likewise.
12110         (file_write): Likewise.
12111         (class data_buf): Likewise.
12112         (struct symtab_index_entry): Likewise.
12113         (struct mapped_symtab): Likewise.
12114         (find_slot): Likewise.
12115         (hash_expand): Likewise.
12116         (add_index_entry): Likewise.
12117         (uniquify_cu_indices): Likewise.
12118         (class c_str_view): Likewise.
12119         (class c_str_view_hasher): Likewise.
12120         (class vector_hasher): Likewise.
12121         (write_hash_table): Likewise.
12122         (psym_index_map): Likewise.
12123         (struct addrmap_index_data): Likewise.
12124         (add_address_entry): Likewise.
12125         (add_address_entry_worker): Likewise.
12126         (write_address_map): Likewise.
12127         (symbol_kind): Likewise.
12128         (write_psymbols): Likewise.
12129         (struct signatured_type_index_data): Likewise.
12130         (write_one_signatured_type): Likewise.
12131         (recursively_count_psymbols): Likewise.
12132         (recursively_write_psymbols): Likewise.
12133         (class debug_names): Likewise.
12134         (check_dwarf64_offsets): Likewise.
12135         (psyms_seen_size): Likewise.
12136         (write_gdbindex): Likewise.
12137         (write_debug_names): Likewise.
12138         (assert_file_size): Likewise.
12139         (write_psymtabs_to_index): Likewise.
12140         (save_gdb_index_command): Likewise.
12141         (_initialize_dwarf2_read): Don't register the "save gdb-index"
12142         command.
12143         * dwarf2read.h: New file.
12144
12145 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
12146
12147         PR gdb/22670
12148         * dwarf2read.c (dwarf2_physname): Do not return the demangled
12149         symbol name if the CU's language stores symbol names in linkage
12150         format.
12151         * language.h (struct language_defn)
12152         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
12153         all instances of this struct.
12154
12155 2018-03-26  Tom Tromey  <tom@tromey.com>
12156
12157         * stack.c (backtrace_command_1): Remove verbose code.
12158
12159 2018-03-26  Tom Tromey  <tom@tromey.com>
12160
12161         * python/py-framefilter.c (py_print_type): Don't catch
12162         exceptions.  Return void.
12163         (py_print_value): Likewise.
12164         (py_print_single_arg): Likewise.
12165         (enumerate_args): Don't catch exceptions.
12166         (py_print_args): Likewise.
12167         (py_print_frame): Likewise.
12168         (gdbpy_apply_frame_filter): Catch exceptions here.
12169
12170 2018-03-26  Tom Tromey  <tom@tromey.com>
12171
12172         * stack.c (_initialize_stack): Remove trailing newlines from help
12173         text.  Add "Usage" line to "backtrace" help.
12174
12175 2018-03-26  Tom Tromey  <tom@tromey.com>
12176
12177         PR python/16486:
12178         * python/py-framefilter.c (py_print_args): Call wrap_hint.
12179
12180 2018-03-26  Tom Tromey  <tom@tromey.com>
12181
12182         * python/py-framefilter.c (py_print_single_arg): Return
12183         EXT_LANG_BT_ERROR from catch.
12184
12185 2018-03-26  Tom Tromey  <tom@tromey.com>
12186
12187         PR backtrace/15584:
12188         * stack.c (backtrace_command_1): Move some code into no-filters
12189         "if".
12190
12191 2018-03-26  Tom Tromey  <tom@tromey.com>
12192
12193         * python/py-framefilter.c (throw_quit_or_print_exception): New
12194         function.
12195         (gdbpy_apply_frame_filter): Use it.
12196
12197 2018-03-26  Tom Tromey  <tom@tromey.com>
12198
12199         PR cli/17716:
12200         * python/py-framefilter.c (py_print_type, py_print_value)
12201         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
12202         RETURN_MASK_ERROR.
12203
12204 2018-03-26  Tom Tromey  <tom@tromey.com>
12205
12206         * python/py-framefilter.c (enumerate_args): Use
12207         gdb::unique_xmalloc_ptr.
12208
12209 2018-03-26  Tom Tromey  <tom@tromey.com>
12210
12211         * python/py-framefilter.c (py_print_frame): Return
12212         EXT_LANG_BT_OK.
12213         (gdbpy_apply_frame_filter): Update comment.
12214         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
12215         Remove.
12216         <EXT_LANG_BT_NO_FILTERS>: Change value.
12217
12218 2018-03-26  Tom Tromey  <tom@tromey.com>
12219
12220         PR backtrace/15582:
12221         * stack.c (backtrace_command): Parse "hide" argument.
12222         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
12223         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
12224         constant.
12225
12226 2018-03-26  Tom Tromey  <tom@tromey.com>
12227
12228         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
12229         add "flags".
12230         (backtrace_command): Remove "fulltrace", add "flags".
12231
12232 2018-03-26  Tom Tromey  <tom@tromey.com>
12233
12234         * stack.c (backtrace_command): Rewrite command line parsing.
12235
12236 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
12237
12238         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
12239
12240 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
12241
12242         * filename-seen-cache.h: Add include guard.
12243
12244 2018-03-26  Keith Seitz  <keiths@redhat.com>
12245
12246         * symfile.c (place_section): Remove "struct" from section_addr_info
12247         in comment.
12248         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
12249         "struct" keyword from section_addr_info.
12250
12251 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
12252
12253         * regformats/regdef.h (reg): Add constructors.
12254
12255 2018-03-25  Pedro Alves  <palves@redhat.com>
12256
12257         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
12258         if then/else bodies in var_func_name extraction.
12259
12260 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
12261
12262         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
12263         lookup_minimal_symbol() to find symbol entry.
12264         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
12265
12266 2018-03-23  Keith Seitz  <keiths@redhat.com>
12267
12268         PR c++/22968
12269         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
12270         nested type definitions for C++, too.
12271
12272 2018-03-23  Tom Tromey  <tom@tromey.com>
12273
12274         * machoread.c (struct oso_el): Add a constructor.  Don't define as
12275         a typedef.
12276         (macho_register_oso): Remove.
12277         (macho_symtab_read): Take a std::vector.
12278         (oso_el_compare_name): Now a std::sort comparator.
12279         (macho_symfile_read_all_oso): Take a std::vector.
12280         (macho_symfile_read): Use std::vector.  Remove cleanups.
12281
12282 2018-03-22  Tom Tromey  <tom@tromey.com>
12283
12284         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
12285         (record_full_goto_bookmark): Use std::string.
12286
12287 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
12288
12289         PR tdep/18295
12290         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
12291         a single mask.
12292
12293 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
12294
12295         * rs6000-tdep.c (store_insn_p): New function.
12296         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
12297         and cr_reg to their unshifted values. Use store_insn_p to
12298         match LR saves using either R1 or fdata->alloca_reg. Use
12299         store_insn_p to match CR saves. Set alloca_reg_offset
12300         when alloca_reg and framep are set. Remove lr_reg shift
12301         when assigning to fdata->lr_register.
12302
12303 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12304
12305         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
12306         command line args instead of emitting a warning.
12307
12308 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
12309
12310         * tracepoint.h (struct static_tracepoint_marker): Initialize
12311         fields, define default constructor, move constructor and move
12312         assignment, disable the rest.
12313         <str_id, extra>: Make std::string.
12314         (release_static_tracepoint_marker): Remove.
12315         (free_current_marker): Remove.
12316         * tracepoint.c (free_current_marker): Remove.
12317         (parse_static_tracepoint_marker_definition): Adjust to
12318         std::string, use new hex2str overload.
12319         (release_static_tracepoint_marker): Remove.
12320         (print_one_static_tracepoint_marker): Get marker by reference
12321         and adjust to std::string.
12322         (info_static_tracepoint_markers_command): Adjust to std::vector
12323         changes
12324         * target.h (static_tracepoint_marker_p): Remove typedef.
12325         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
12326         (struct target_ops) <to_static_tracepoint_marker_at>: Return
12327         bool.
12328         <to_static_tracepoint_markers_by_strid>: Return std::vector.
12329         * target-debug.h
12330         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
12331         (target_debug_print_std_vector_static_tracepoint_marker): New.
12332         (target_debug_print_struct_static_tracepoint_marker_p): Rename
12333         to...
12334         (target_debug_print_static_tracepoint_marker_p): ... this.
12335         * target-delegates.c: Re-generate.
12336         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
12337         Make std::string.
12338         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
12339         (decode_static_tracepoint_spec): Adjust to std::vector.
12340         (tracepoint_print_one_detail): Adjust to std::string.
12341         (strace_marker_decode_location): Adjust to std::string.
12342         (update_static_tracepoint): Adjust to std::string, remove call
12343         to release_static_tracepoint_marker.
12344         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
12345         Adjust to std::vector.
12346         * remote.c (remote_static_tracepoint_marker_at): Return bool.
12347         (remote_static_tracepoint_markers_by_strid): Adjust to
12348         std::vector.
12349         * common/rsp-low.h (hex2str): New overload with explicit count
12350         of bytes.
12351         * common/rsp-low.c (hex2str): New overload with explicit count
12352         of bytes.
12353         * unittests/rsp-low-selftests.c (test_hex2str): New function.
12354         (_initialize_rsp_low_selftests): Add test_hex2str test.
12355         * unittests/tracepoint-selftests.c
12356         (test_parse_static_tracepoint_marker_definition): Adjust to
12357         std::string.
12358
12359 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
12360
12361         * tracepoint.c (parse_static_tracepoint_marker_definition):
12362         Consider case where the definition is followed by more
12363         definitions.
12364         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12365         tracepoint-selftests.c.
12366         * unittests/tracepoint-selftests.c: New.
12367
12368 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
12369
12370         * MAINTAINERS (Write After Approval): Add Pedro Franco de
12371         Carvalho.
12372
12373 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
12374
12375         * symtab.c (find_pc_sect_line): fixed indentation.
12376
12377 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
12378
12379         * symtab.c (find_pc_sect_line): now uses binary search.
12380
12381 2018-03-19  Tom Tromey  <tom@tromey.com>
12382
12383         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
12384         "IDENT" production.
12385
12386 2018-03-19  Pedro Alves  <palves@redhat.com>
12387             Tom Tromey  <tom@tromey.com>
12388
12389         * unittests/observable-selftests.c: New file.
12390         * common/observable.h: New file.
12391         * observable.h: New file.
12392         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
12393         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
12394         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
12395         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
12396         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
12397         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
12398         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
12399         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
12400         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
12401         python/py-breakpoint.c, python/py-finishbreakpoint.c,
12402         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
12403         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
12404         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
12405         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
12406         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
12407         tui/tui-interp.c, valops.c: Update all users.
12408         * tui/tui-hooks.c (tui_bp_created_observer)
12409         (tui_bp_deleted_observer, tui_bp_modified_observer)
12410         (tui_inferior_exit_observer, tui_before_prompt_observer)
12411         (tui_normal_stop_observer, tui_register_changed_observer):
12412         Remove.
12413         (tui_observers_token): New global.
12414         (attach_or_detach, tui_attach_detach_observers): New functions.
12415         (tui_install_hooks, tui_remove_hooks): Use
12416         tui_attach_detach_observers.
12417         * record-btrace.c (record_btrace_thread_observer): Remove.
12418         (record_btrace_thread_observer_token): New global.
12419         * observer.sh: Remove.
12420         * observer.c: Rename to observable.c.
12421         * observable.c (namespace gdb_observers): Define new objects.
12422         (observer_debug): Move into gdb_observers namespace.
12423         (struct observer, struct observer_list, xalloc_observer_list_node)
12424         (xfree_observer_list_node, generic_observer_attach)
12425         (generic_observer_detach, generic_observer_notify): Remove.
12426         (_initialize_observer): Update.
12427         Don't include observer.inc.
12428         * Makefile.in (generated_files): Remove observer.h, observer.inc.
12429         (clean mostlyclean): Likewise.
12430         (observer.h, observer.inc): Remove targets.
12431         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
12432         (COMMON_SFILES): Use observable.c, not observer.c.
12433         * .gitignore: Remove observer.h.
12434
12435 2018-03-18  Tom Tromey  <tom@tromey.com>
12436
12437         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
12438         gdb::def_vector.
12439         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
12440
12441 2018-03-17  Tom Tromey  <tom@tromey.com>
12442
12443         * auto-load.c (auto_load_objfile_script_1): Use std::string.
12444
12445 2018-03-17  Tom Tromey  <tom@tromey.com>
12446
12447         * target.c (class scoped_target_fd): New.
12448         (target_fileio_close_cleanup): Remove.
12449         (target_fileio_read_alloc_1): Use scoped_target_fd.
12450
12451 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
12452
12453         * silent-rules.mk: New.
12454         * Makefile.in: Include silent-rules.mk
12455         (srcdir, VPATH, top_srcdir): Move up.
12456         (COMPILE): Add ECHO_CXX.
12457         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
12458         (init.c): Add ECHO_INIT_C.
12459         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
12460         (version.c): Add ECHO_GEN.
12461         (printcmd.o): Add ECHO_CXX.
12462         (target-float.o): Add ECHO_CXX.
12463         (ada-exp.o): Add ECHO_CXX.
12464         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
12465         (insight$(EXEEXT)): Add ECHO_CXXLD.
12466         * gnulib/configure.ac: Add AM_SILENT_RULES.
12467         * gnulib/aclocal.m4: Re-generate.
12468         * gnulib/configure: Re-generate.
12469         * gnulib/import/Makefile.in: Re-generate.
12470
12471 2018-03-16  Tom Tromey  <tom@tromey.com>
12472
12473         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
12474         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
12475         * utils.c (do_free_section_addr_info)
12476         (make_cleanup_free_section_addr_info): Remove.
12477         * symfile.h (struct other_sections): Add constructor.
12478         (struct section_addr_info): Remove.
12479         (section_addr_info): New typedef.
12480         (struct sym_fns) <sym_offsets>: Change type of parameter.
12481         (build_section_addr_info_from_objfile)
12482         (relative_addr_info_to_section_offsets, addr_info_make_relative)
12483         (default_symfile_offsets, symbol_file_add)
12484         (symbol_file_add_from_bfd)
12485         (build_section_addr_info_from_section_table): Update.
12486         (alloc_section_addr_info, free_section_addr_info): Don't declare.
12487         * symfile.c (alloc_section_addr_info): Remove.
12488         (build_section_addr_info_from_section_table): Change return type.
12489         Update.
12490         (build_section_addr_info_from_bfd)
12491         (build_section_addr_info_from_objfile): Likewise.
12492         (free_section_addr_info): Remove.
12493         (relative_addr_info_to_section_offsets): Change type of "addrs".
12494         (addrs_section_compar): Now a std::sort comparator.
12495         (addrs_section_sort): Change return type.
12496         (addr_info_make_relative): Change type of "addrs".  Update.
12497         (default_symfile_offsets, syms_from_objfile_1)
12498         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
12499         (symbol_file_add_separate): Update.
12500         (symbol_file_add): Change type of "addrs".  Update.
12501         (add_symbol_file_command): Update.  Remove cleanups.
12502         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
12503         cleanups.
12504         * symfile-debug.c (debug_sym_offsets): Change type of "info".
12505         * solib.c (solib_read_symbols): Update.
12506         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
12507         * machoread.c (macho_symfile_offsets): Update.
12508         * jit.c (jit_bfd_try_read_symtab): Update.
12509
12510 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
12511
12512         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12513         unittests/utils-selftests.c.
12514         * unittests/utils-selftests.c: New file.
12515
12516 2018-03-14  Tom Tromey  <tom@tromey.com>
12517
12518         PR cli/14977:
12519         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
12520         for NULL.
12521
12522 2018-03-14  Tom Tromey  <tom@tromey.com>
12523
12524         PR cli/19918:
12525         * printcmd.c (printf_pointer): Allow "-" in format.
12526
12527 2018-03-14  Tom Tromey  <tom@tromey.com>
12528
12529         * printcmd.c (_initialize_printcmd): Add usage to printf.
12530
12531 2018-03-14  Yao Qi  <qiyao@sourceware.org>
12532
12533         * MAINTAINERS: Update my email address.
12534
12535 2018-03-13  Tom Tromey  <tom@tromey.com>
12536
12537         * machoread.c (macho_check_dsym): Change filenamep to a
12538         std::string*.
12539         (macho_symfile_read): Update.
12540         * symfile.c (load_command): Use std::string.
12541
12542 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12543
12544         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
12545         to error message string.
12546         (riscv_register_name): Use xsnprintf instead of sprintf.
12547         (riscv_insn::fetch_instruction): Use gdb_assert instead of
12548         internal_error.
12549         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
12550         error.
12551         (riscv_push_dummy_call): Likewise.
12552
12553 2018-03-12  Tom Tromey  <tom@tromey.com>
12554
12555         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
12556         Use gdb::byte_vector.
12557         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
12558
12559 2018-03-12  Yao Qi  <yao.qi@linaro.org>
12560
12561         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
12562         parameter type to readable_regcache.
12563         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
12564         the declaration.
12565
12566 2018-03-11  Tom Tromey  <tom@tromey.com>
12567
12568         * dwarf2read.c (struct nextfield): Add initializers.
12569         (struct nextfnfield): Remove.
12570         (struct fnfieldlist): Add initializers.  Remove "length" and
12571         "head", use std::vector.
12572         (struct decl_field_list): Remove.
12573         (struct field_info): Add initializers.
12574         <fields, baseclasses>: Now std::vector.
12575         <nbaseclasses, nfnfields, typedef_field_list_count,
12576         nested_types_list_count>: Remove.
12577         (dwarf2_add_field, dwarf2_add_type_defn)
12578         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
12579         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
12580         (process_structure_scope): Update.
12581
12582 2018-03-11  Tom Tromey  <tom@tromey.com>
12583
12584         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
12585         for use by std::sort.
12586         (build_type_psymtabs_1): Use std::vector.
12587
12588 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
12589
12590         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
12591         and LIBMPFR in the printed configuration.
12592
12593 2018-03-08  Tom Tromey  <tom@tromey.com>
12594
12595         * source.c (get_filename_and_charpos): Use scoped_fd.
12596         * nto-procfs.c (procfs_open_1): Use scoped_fd.
12597         (procfs_pidlist): Likewise.
12598         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
12599         (iterate_over_mappings): Likewise.
12600
12601 2018-03-08  Tom Tromey  <tom@tromey.com>
12602
12603         * infcall.c (struct call_return_meta_info)
12604         <stack_temporaries_enabled>: Remove.
12605         (get_call_return_value, call_function_by_hand_dummy): Update.
12606         * thread.c (disable_thread_stack_temporaries): Remove.
12607         (enable_thread_stack_temporaries): Remove.
12608         (thread_stack_temporaries_enabled_p): Return bool.
12609         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
12610         (get_last_thread_stack_temporary): Update.
12611         * eval.c (evaluate_subexp): Update.
12612         * gdbthread.h (class enable_thread_stack_temporaries): Now a
12613         class, not a function.
12614         (value_ptr, value_vec): Remove typedefs.
12615         (class thread_info) <stack_temporaries_enabled>: Now bool.
12616         <stack_temporaries>: Now a std::vector.
12617         (thread_stack_temporaries_enabled_p)
12618         (value_in_thread_stack_temporaries): Return bool.
12619
12620 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
12621
12622         * remote.c (putpkt_binary): Fix omitted bytes reporting.
12623         (getpkt_or_notif_sane_1): Likewise.
12624
12625 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
12626
12627         * build-id.c (build_id_to_debug_bfd): Use std::string.
12628
12629 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
12630
12631         * build-id.c (find_separate_debug_file_by_buildid): Return
12632         std::string.
12633         * build-id.h (find_separate_debug_file_by_buildid): Return
12634         std::string.
12635         * coffread.c (coff_symfile_read): Adjust to std::string.
12636         * elfread.c (elf_symfile_read): Adjust to std::string.
12637         * symfile.c (separate_debug_file_exists): Change parameter to
12638         std::string.
12639         (find_separate_debug_file): Return std::string.
12640         (find_separate_debug_file_by_debuglink): Return std::string.
12641         * symfile.h (find_separate_debug_file_by_debuglink): Return
12642         std::string.
12643
12644 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
12645
12646         * common/xml-utils.c (xml_escape_text): Move code to...
12647         (xml_escape_text_append): ... this new function.
12648         * common/xml-utils.h (xml_escape_text_append): New declaration.
12649         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
12650         New function.
12651         (_initialize_xml_utils): register test_xml_escape_text_append as
12652         a selftest.
12653
12654 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
12655
12656         * defs.h: Remove MAX_REGISTER_SIZE.
12657         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
12658         asserts.
12659         * python/py-unwind.c (pyuw_sniffer): Likewise.
12660
12661 2018-03-07  Tom Tromey  <tom@tromey.com>
12662
12663         * linux-tdep.c (linux_info_proc): Update.
12664         * target.h (struct target_ops) <to_fileio_readlink>: Return
12665         optional<string>.
12666         (target_fileio_readlink): Return optional<string>.
12667         * remote.c (remote_hostio_readlink): Return optional<string>.
12668         * inf-child.c (inf_child_fileio_readlink): Return
12669         optional<string>.
12670         * target.c (target_fileio_readlink): Return optional<string>.
12671
12672 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
12673
12674         * regcache.c (cooked_read_test): Add riscv to the list of
12675         architectures that have a save_reggroup.
12676
12677 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12678
12679         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
12680         value is not a dynamic class object.
12681
12682 2018-03-06  Tom Tromey  <tom@tromey.com>
12683
12684         * rust-exp.y: Formatting fixes.
12685
12686 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12687
12688         * riscv-tdep.c (riscv_register_name): Remove target description
12689         support.
12690         (riscv_gdbarch_init): Remove target description check.
12691
12692 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12693
12694         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
12695         comment.
12696         * riscv-tdep.h: Likewise.
12697
12698 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12699
12700         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
12701         (riscv_pseudo_register_write): Delete.
12702         (riscv_gdbarch_init): Remove all use of pseudo registers.
12703
12704 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12705
12706         * record-btrace.c (btrace_print_lines): Replace cleanup
12707         parameter with RAII equivalents.
12708         (btrace_insn_history): Replace cleanup with RAII equivalents.
12709         * ui-out.h (make_cleanup_ui_out_list_begin_end,
12710         make_cleanup_ui_out_tuple_begin_end): Remove.
12711         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
12712         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
12713         make_cleanup_ui_out_list_begin_end): Remove.
12714
12715 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12716
12717         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
12718         parameter types to std::vector.  Use bool.
12719         (record_btrace_wait): Replace VEC(tp_t) with
12720         std::vector<thread_info *>.
12721         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
12722
12723 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12724
12725         * record-btrace.c (record_btrace_disable_callback): Remove.
12726         (struct scoped_btrace_disable): New.
12727         (record_btrace_open): Use scoped_btrace_disable.
12728
12729 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12730
12731         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
12732         reading values from registers.
12733
12734 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12735
12736         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
12737         where appropriate.
12738
12739 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12740
12741         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
12742         change parameter type.  Use GDB's print functions, and use
12743         core_addr_to_string where appropriate.
12744         (riscv_push_dummy_call): Use core_addr_to_string where
12745         appropriate, update call to riscv_print_arg_location, and reindent
12746         a few lines.
12747         (riscv_return_value): Update call to riscv_print_arg_location.
12748
12749 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12750             Tim Newsome <tim@sifive.com>
12751             Albert Ou <a0u@eecs.berkeley.edu>
12752             Darius Rad <darius@bluespec.com>
12753
12754         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
12755         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
12756         (ALLDEPFILES): Add riscv-tdep.c
12757         * configure.tgt: Add riscv support.
12758         * riscv-tdep.c: New file.
12759         * riscv-tdep.h: New file.
12760         * NEWS: Mention new target.
12761         * MAINTAINERS: Add entry for riscv.
12762
12763 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12764
12765         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
12766         fields within aggregates.
12767
12768 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
12769
12770         * record-btrace.c (btrace_print_lines): Change type of flags to
12771         gdb_disassembly_flags.
12772
12773 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12774
12775         * fbsd-nat.c: Include "inf-ptrace.h".
12776         (USE_SIGTRAP_SIGINFO): Conditionally define.
12777         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
12778         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
12779         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
12780         function.
12781         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
12782         Likewise.
12783         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
12784         Likewise.
12785         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
12786         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
12787         "supports_stopped_by_hw_breakpoint" target methods.
12788
12789 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12790
12791         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
12792         * fbsd-nat.c (debug_fbsd_nat): New variable.
12793         (show_fbsd_nat_debug): New function.
12794         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
12795         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
12796
12797 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12798
12799         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
12800         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
12801         prototype.
12802         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
12803         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
12804         method.
12805
12806 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12807
12808         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
12809         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
12810
12811 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12812
12813         * charset.c (struct charset_vector): New.
12814         (charsets): Change type to charset_vector.
12815         (find_charset_names): Adjust.
12816         (add_one): Adjust.
12817         (_initialize_charset): Adjust.
12818
12819 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12820
12821         * progspace.h (struct program_space) <deleted_solibs>: Change
12822         type to std::vector<std::string>.
12823         * progspace.c (clear_program_space_solib_cache): Adjust.
12824         * breakpoint.c (print_solib_event): Adjust.
12825         (check_status_catch_solib): Adjust.
12826         * solib.c (update_solib_list): Adjust.
12827         * ui-out.h (class ui_out) <field_string>: New overload.
12828         * ui-out.c (ui_out::field_string): New overload.
12829
12830 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12831
12832         * progspace.h (struct program_space): Add constructor and
12833         destructor, initialize fields.
12834         (add_program_space): Remove.
12835         * progspace.c (add_program_space): Rename to...
12836         (program_space::program_space): ... this.
12837         (release_program_space): Rename to...
12838         (program_space::~program_space): ... this.
12839         (delete_program_space): Use delete to delete program_space.
12840         (initialize_progspace): Use new to allocate program_space.
12841         * inferior.c (add_inferior_with_spaces): Likewise.
12842         (clone_inferior_command): Likewise.
12843         * infrun.c (follow_fork_inferior): Likewise.
12844         (handle_vfork_child_exec_or_exit): Likewise.
12845
12846 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12847
12848         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
12849         (delim_string_to_char_ptr_vec): Return std::vector of
12850         gdb::unique_xmalloc_ptr.
12851         (dirnames_to_char_ptr_vec_append): Take std::vector of
12852         gdb::unique_xmalloc_ptr.
12853         (dirnames_to_char_ptr_vec): Return std::vector of
12854         gdb::unique_xmalloc_ptr.
12855         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
12856         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
12857         (delim_string_to_char_ptr_vec): Return an std::vector of
12858         gdb::unique_xmalloc_ptr, adjust the code.
12859         (dirnames_to_char_ptr_vec_append): Take an std::vector of
12860         gdb::unique_xmalloc_ptr, adjust the code.
12861         (dirnames_to_char_ptr_vec): Return an std::vector of
12862         gdb::unique_xmalloc_ptr, adjust the code.
12863         * auto-load.c (auto_load_safe_path_vec): Change type to
12864         std::vector of gdb::unique_xmalloc_ptr.
12865         (auto_load_expand_dir_vars): Return an std::vector of
12866         gdb::unique_xmalloc_ptr, adjust the code.
12867         (auto_load_safe_path_vec_update): Adjust.
12868         (filename_is_in_auto_load_safe_path_vec): Adjust.
12869         (auto_load_objfile_script_1): Adjust.
12870         * build-id.c (build_id_to_debug_bfd): Adjust.
12871         * linux-thread-db.c (thread_db_load_search): Adjust.
12872         * source.c (add_path): Adjust.
12873         (openp): Adjust.
12874         * symfile.c (find_separate_debug_file): Adjust.
12875         * utils.c (do_free_char_ptr_vec): Remove.
12876         (make_cleanup_free_char_ptr_vec): Remove.
12877
12878 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
12879
12880         PR gdb/22907
12881         * common/pathstuff.c: Conditionally include "<windows.h>".
12882
12883 2018-03-01  Georg Sauthoff  <mail@georg.so>
12884
12885         PR gdb/22888
12886         * gcore.in: Quote variables and switch interpreter to bash.
12887
12888 2018-03-01  Tom Tromey  <tom@tromey.com>
12889
12890         * dwarf2read.c (alloc_discriminant_info): Fix default_index
12891         assertion.  Add assertion for discriminant_index.
12892         (quirk_rust_enum): Use correct base type name in univariant case.
12893
12894 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
12895
12896         * record.c (get_call_history_modifiers): Return a
12897         record_print_flags.
12898         (cmd_record_call_history): Adjust.
12899         * record-btrace.c (record_btrace_call_history): Adjust.
12900         (record_btrace_call_history_range): Adjust.
12901         (record_btrace_call_history_from): Adjust.
12902         * target-debug.h (target_debug_print_record_print_flags): New.
12903         * target-delegates.c: Re-generate.
12904         * target.c (target_call_history): Change flags type.
12905         (target_call_history_from): Likewise.
12906         (target_call_history_range): Likewise.
12907         * target.h (struct target_ops) <target_call_history>: Likewise.
12908         (target_call_history_from): Likewise.
12909         (target_call_history_range): Likewise.
12910
12911 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12912             Simon Marchi  <simon.marchi@polymtl.ca>
12913
12914         * common/common-utils.c: Include "sys/stat.h".
12915         (is_regular_file): Move here from "source.c"; change return
12916         type to "bool".
12917         * common/common-utils.h (is_regular_file): New prototype.
12918         * common/pathstuff.c (contains_dir_separator): New function.
12919         * common/pathstuff.h (contains_dir_separator): New prototype.
12920         * source.c: Don't include "sys/stat.h".
12921         (is_regular_file): Move to "common/common-utils.c".
12922
12923 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12924
12925         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
12926         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
12927         * auto-load.c: Include "common/pathstuff.h".
12928         * common/common-def.h (current_directory): Move here.
12929         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
12930         function.
12931         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
12932         prototype.
12933         * common/pathstuff.c: New file.
12934         * common/pathstuff.h: New file.
12935         * compile/compile.c: Include "common/pathstuff.h".
12936         * defs.h (current_directory): Move to "common/common-defs.h".
12937         * dwarf2read.c: Include "common/pathstuff.h".
12938         * exec.c: Likewise.
12939         * guile/scm-safe-call.c: Likewise.
12940         * linux-thread-db.c: Likewise.
12941         * main.c: Likewise.
12942         * nto-tdep.c: Likewise.
12943         * objfiles.c: Likewise.
12944         * source.c: Likewise.
12945         * symtab.c: Likewise.
12946         * utils.c: Include "common/pathstuff.h".
12947         (gdb_realpath): Move to "common/pathstuff.c".
12948         (gdb_realpath_keepfile): Likewise.
12949         (gdb_abspath): Likewise.
12950         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
12951         (gdb_realpath_keepfile): Likewise.
12952         (gdb_abspath): Likewise.
12953
12954 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
12955
12956         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
12957         wildcard process pid for super_resume for kernels with a
12958         specific bug.
12959
12960 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
12961
12962         * compile/compile.c (get_args): Add additional comments
12963         explaining function.
12964
12965 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
12966             Tom Tromey  <tom@tromey.com>
12967
12968         * target.h (memory_write_request_s): Remove typedef.  Don't define
12969         VEC.
12970         (target_write_memory_blocks): Change argument to std::vector.
12971         (struct memory_write_request): Add constructor.
12972         * target-memory.c (compare_block_starting_address): Return bool.
12973         Change argument types.
12974         (claim_memory): Change arguments to use std::vector.
12975         (split_regular_and_flash_blocks, blocks_to_erase)
12976         (compute_garbled_blocks): Likewise.
12977         (cleanup_request_data, cleanup_write_requests_vector): Remove.
12978         (target_write_memory_blocks): Change argument to std::vector.
12979         * symfile.c (struct load_section_data): Add constructor and
12980         destructor.  Use std::vector for "requests".
12981         (struct load_progress_data): Add initializers.
12982         (load_section_callback): Update.  Use "new".
12983         (clear_memory_write_data): Remove.
12984         (generic_load): Update.
12985
12986 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
12987
12988         * arch/aarch64.h: Use common/tdesc.h.
12989
12990 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12991
12992         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
12993         architecture with a 64-bit ABI.
12994
12995 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12996
12997         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
12998         ahead of target description loading.
12999
13000 2018-02-26  Tom Tromey  <tom@tromey.com>
13001
13002         * stack.c (backtrace_command_1): Update.
13003         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
13004         of "flags".
13005         * python/py-framefilter.c (py_print_frame)
13006         (gdbpy_apply_frame_filter): Change type of "flags".
13007         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
13008         of "flags".
13009         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
13010         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
13011         * extension.h (enum frame_filter_flag): Rename from
13012         frame_filter_flags.
13013         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
13014         (apply_ext_lang_frame_filter): Change type of "flags".
13015         * extension.c (apply_ext_lang_frame_filter): Change type of
13016         "flags".
13017         * extension-priv.h (struct extension_language_ops)
13018         <apply_frame_filter>: Change type of "flags".
13019
13020 2018-02-26  Tom Tromey  <tom@tromey.com>
13021
13022         PR python/16497:
13023         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
13024         off-by-one in py_end computation.
13025         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
13026         PRINT_MORE_FRAMES.
13027         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
13028         constant.
13029
13030 2018-02-26  Tom Tromey  <tom@tromey.com>
13031
13032         * dwarf2read.c (struct variant_field): New.
13033         (struct nextfield) <variant>: New field.
13034         (dwarf2_add_field): Handle DW_TAG_variant_part.
13035         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
13036         discriminated union.
13037         (read_structure_type): Handle DW_TAG_variant_part.
13038         (handle_struct_member_die): New function, extracted from
13039         process_structure_scope.  Handle DW_TAG_variant.
13040         (process_structure_scope): Handle discriminated unions.  Call
13041         handle_struct_member_die.
13042
13043 2018-02-26  Tom Tromey  <tom@tromey.com>
13044
13045         * rust-lang.h (rust_last_path_segment): Declare.
13046         * rust-lang.c (rust_last_path_segment): Now public.  Change
13047         contract.
13048         (struct disr_info): Remove.
13049         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
13050         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
13051         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
13052         (rust_enum_p, rust_enum_variant): New function.
13053         (rust_underscore_fields): Remove "offset" parameter.
13054         (rust_print_enum): New function.
13055         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
13056         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
13057         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
13058         enums.
13059         (rust_internal_print_type): New function, from rust_print_type.
13060         Remove enum code.
13061         (rust_print_type): Call rust_internal_print_type.
13062         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
13063         Update enum handling.
13064         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
13065         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
13066         (rust_union_quirks): New functions.
13067         (process_full_comp_unit, process_full_type_unit): Call
13068         rust_union_quirks.
13069         (process_structure_scope): Update rust_unions if necessary.
13070
13071 2018-02-26  Tom Tromey  <tom@tromey.com>
13072
13073         * value.h (value_union_variant): Declare.
13074         * valops.c (value_union_variant): New function.
13075         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
13076         (struct discriminant_info): New.
13077         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
13078         enumerator.
13079         (struct main_type) <flag_discriminated_union>: New field.
13080
13081 2018-02-26  Tom Tromey  <tom@tromey.com>
13082
13083         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13084         unittests/unpack-selftests.c.
13085         * unittests/unpack-selftests.c: New file.
13086         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
13087
13088 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13089
13090         * dwarf2read.c (struct partial_die_info) <read>: New method.
13091         (read_partial_die): Remove the declaration.
13092         (load_partial_dies): Update.
13093         (partial_die_info::partial_die_info):
13094         (read_partial_die): Change it to partial_die_info::read.
13095
13096 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13097
13098         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
13099         (fixup_partial_die): Remove declaration.
13100         (scan_partial_symbols): Update.
13101         (partial_die_parent_scope): Likewise.
13102         (partial_die_full_name): Likewise.
13103         (fixup_partial_die): Change it to partial_die_info::fixup.
13104
13105 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13106
13107         * dwarf2read.c (read_partial_die): Update the declaration.
13108         (load_partial_dies): Caller update.
13109         (read_partial_die): Remove one argument abbrev_len.
13110
13111 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13112
13113         * dwarf2read.c (struct partial_die_info): Add ctor, delete
13114         assignment operator.
13115         (load_partial_dies): Use ctor and copy ctor.
13116         (read_partial_die): Update.
13117         (dwarf2_cu::find_partial_die): Use ctor.
13118
13119 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13120
13121         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
13122         (find_partial_die_in_comp_unit): Change it to
13123         dwarf2_cu::find_partial_die.
13124         (find_partial_die): Update.
13125
13126 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13127
13128         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
13129         is NULL.
13130
13131 2018-02-26  Yao Qi  <yao.qi@linaro.org>
13132
13133         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
13134
13135 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
13136
13137         * arch/amd64.h: Use common/tdesc.h.
13138         * arch/i386.c: Likewise.
13139         * arch/i386.h: Likewise.
13140         * arch/tic6x.c: Likewise.
13141         * arch/tdesc.h: Move file from here...
13142         * common/tdesc.h: ...to here.
13143         * features/aarch64-core.c: Regenerate.
13144         * features/aarch64-fpu.c: Regenerate.
13145         * features/i386/32bit-avx.c: Regenerate.
13146         * features/i386/32bit-avx512.c: Regenerate.
13147         * features/i386/32bit-core.c: Regenerate.
13148         * features/i386/32bit-linux.c: Regenerate.
13149         * features/i386/32bit-mpx.c: Regenerate.
13150         * features/i386/32bit-pkeys.c: Regenerate.
13151         * features/i386/32bit-sse.c: Regenerate.
13152         * features/i386/64bit-avx.c: Regenerate.
13153         * features/i386/64bit-avx512.c: Regenerate.
13154         * features/i386/64bit-core.c: Regenerate.
13155         * features/i386/64bit-linux.c: Regenerate.
13156         * features/i386/64bit-mpx.c: Regenerate.
13157         * features/i386/64bit-pkeys.c: Regenerate.
13158         * features/i386/64bit-segments.c: Regenerate.
13159         * features/i386/64bit-sse.c: Regenerate.
13160         * features/i386/x32-core.c: Regenerate.
13161         * features/tic6x-c6xp.c: Regenerate.
13162         * features/tic6x-core.c: Regenerate.
13163         * features/tic6x-gp.c: Regenerate.
13164         * target-descriptions.c: Use common/tdesc.h.
13165         * target-descriptions.h: Likewise.
13166
13167 2018-02-24  Tom Tromey  <tom@tromey.com>
13168
13169         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
13170         (try_thread_db_load_from_dir, thread_db_load_search): Use
13171         std::string.
13172         (info_auto_load_libthread_db_compare): Return bool.  Change
13173         argument types.
13174         (info_auto_load_libthread_db): Use std::vector, std::string.
13175         Remove cleanups.
13176
13177 2018-02-24  Tom Tromey  <tom@tromey.com>
13178
13179         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
13180         std::string.
13181         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
13182         std::string*.
13183         * gdbarch.c: Rebuild.
13184         * gdbarch.h: Rebuild.
13185         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
13186         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
13187         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
13188         std::string*.
13189
13190 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
13191
13192         * gdbtypes.h (sect_offset): Change type to uint64_t.
13193         (sect_offset_str): New function.
13194         * dwarf2read.c (create_addrmap_from_aranges): Use
13195         sect_offset_str.
13196         (error_check_comp_unit_head): Likewise.
13197         (create_debug_type_hash_table): Likewise.
13198         (read_cutu_die_from_dwo): Likewise.
13199         (init_cutu_and_read_dies): Likewise.
13200         (init_cutu_and_read_dies_no_follow): Likewise.
13201         (process_psymtab_comp_unit_reader): Likewise.
13202         (partial_die_parent_scope): Likewise.
13203         (peek_die_abbrev): Likewise.
13204         (process_queue): Likewise.
13205         (dwarf2_physname): Likewise.
13206         (read_namespace_alias): Likewise.
13207         (read_import_statement): Likewise.
13208         (create_dwo_cu_reader): Likewise.
13209         (create_cus_hash_table): Likewise.
13210         (lookup_dwo_cutu): Likewise.
13211         (inherit_abstract_dies): Likewise.
13212         (read_func_scope): Likewise.
13213         (read_call_site_scope): Likewise.
13214         (dwarf2_add_member_fn): Likewise.
13215         (read_common_block): Likewise.
13216         (read_module_type): Likewise.
13217         (read_typedef): Likewise.
13218         (read_subrange_type): Likewise.
13219         (load_partial_dies): Likewise.
13220         (read_partial_die): Likewise.
13221         (find_partial_die): Likewise.
13222         (read_str_index): Likewise.
13223         (dwarf2_string_attr): Likewise.
13224         (build_error_marker_type): Likewise.
13225         (lookup_die_type): Likewise.
13226         (dump_die_shallow): Likewise.
13227         (follow_die_ref): Likewise.
13228         (dwarf2_fetch_die_loc_sect_off): Likewise.
13229         (dwarf2_fetch_constant_bytes): Likewise.
13230         (follow_die_sig): Likewise.
13231         (get_signatured_type): Likewise.
13232         (get_DW_AT_signature_type): Likewise.
13233         (dwarf2_find_containing_comp_unit): Likewise.
13234         (set_die_type): Likewise.
13235
13236 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
13237
13238         * arch/aarch64.c: Include "common-defs.h".
13239         * arch/amd64.c: Likewise.
13240         * arch/i386.c: Likewise.
13241
13242 2018-02-21  Tom Tromey  <tom@tromey.com>
13243
13244         * value.h: (extract_field_op): Update.
13245         * eval.c (extract_field_op): Return a const char *.
13246         * expression.h (parse_expression_for_completion): Update.
13247         * completer.c (complete_expression): Update.
13248         (add_struct_fields): Make fieldname const.
13249         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
13250         (mark_completion_tag, parse_exp_in_context_1): Update.
13251         (parse_expression_for_completion): Change "name" to
13252         unique_xmalloc_ptr*.
13253
13254 2018-02-21  Tom Tromey  <tom@tromey.com>
13255
13256         * infcall.c (call_function_by_hand_dummy): Use std::vector.
13257
13258 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13259
13260         * avr-tdep.c (avr_read_pc): Change parameter type to
13261         readable_regcache.
13262         * gdbarch.sh (read_pc): Likewise.
13263         * gdbarch.c: Re-generated.
13264         * gdbarch.h: Re-generated.
13265         * hppa-tdep.c (hppa_read_pc): Change parameter type to
13266         readable_regcache.
13267         * ia64-tdep.c (ia64_read_pc): Likewise.
13268         * mips-tdep.c (mips_read_pc): Likewise.
13269         * spu-tdep.c (spu_read_pc): Likewise.
13270
13271 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13272
13273         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
13274         * regcache-dump.c: New file.
13275         * regcache.c: Move register_dump to regcache-dump.c.
13276         (maintenance_print_registers): Likewise.
13277         (maintenance_print_raw_registers): Likewise.
13278         (maintenance_print_cooked_registers): Likewise.
13279         (maintenance_print_register_groups): Likewise.
13280         (maintenance_print_remote_registers): Likewise.
13281         (_initialize_regcache): Likewise.
13282         * regcache.h (register_dump): Moved from regcache.c.
13283
13284 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13285
13286         * regcache.c (regcache::regcache): Update.
13287         (regcache::invalidate): Move it to detached_regcache::invalidate.
13288         (get_thread_arch_aspace_regcache): Update.
13289         (regcache::raw_update): Update.
13290         (regcache::cooked_read): Remove some code.
13291         (regcache::cooked_read_value): Likewise.
13292         (regcache::raw_write): Remove assert on m_readonly_p.
13293         (regcache::raw_supply_integer): Move it to
13294         detached_regcache::raw_supply_integer.
13295         (regcache::raw_supply_zeroed): Likewise.
13296         * regcache.h (detached_regcache) <raw_supply_integer>: New
13297         declaration.
13298         <raw_supply_zeroed, invalidate>: Likewise.
13299         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
13300         <invalidate>: Likewise.
13301         <m_readonly_p>: Removed.
13302
13303 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13304
13305         * infcmd.c (get_return_value): Let stop_regs point to
13306         get_current_regcache.
13307         * regcache.c (regcache::regcache): Remove.
13308         (register_dump_reg_buffer): New class.
13309         (regcache_print): Adjust.
13310         * regcache.h (regcache): Remove constructors.
13311
13312 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13313
13314         * regcache.c (class register_dump): New class.
13315         (register_dump_regcache, register_dump_none): New class.
13316         (register_dump_remote, register_dump_groups): New class.
13317         (regcache_print): Update.
13318         * regcache.h (regcache_dump_what): Move it to regcache.c.
13319         (regcache) <dump>: Remove.
13320
13321 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13322
13323         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
13324          reg_buffer_rw *.
13325         (jit_unwind_reg_set_impl): Call raw_supply.
13326         (jit_frame_sniffer): Use reg_buffer_rw.
13327         * record-full.c (record_full_core_regbuf): Change its type.
13328         (record_full_core_open_1): Use reg_buffer_rw.
13329         (record_full_close): Likewise.
13330         (record_full_core_fetch_registers): Use regcache->raw_supply.
13331         (record_full_core_store_registers): Likewise.
13332         * regcache.c (regcache::get_register_status): Move it to
13333         reg_buffer.
13334         (regcache_raw_set_cached_value): Remove.
13335         (regcache::raw_set_cached_value): Remove.
13336         (regcache::raw_write): Call raw_supply.
13337         (regcache::raw_supply): Move it to reg_buffer_rw.
13338         * regcache.h (regcache_raw_set_cached_value): Remove.
13339         (reg_buffer_rw): New class.
13340
13341 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13342
13343         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
13344         readonly_detached_regcache.
13345         (dummy_frame_prev_register): Use regcache->cooked_read.
13346         * frame.c (frame_save_as_regcache): Change return type.
13347         (frame_pop): Update.
13348         * frame.h (frame_save_as_regcache): Update declaration.
13349         * inferior.h (get_infcall_suspend_state_regcache): Update
13350         declaration.
13351         * infrun.c (infcall_suspend_state) <registers>: use
13352         readonly_detached_regcache.
13353         (save_infcall_suspend_state): Don't use regcache_dup.
13354         (get_infcall_suspend_state_regcache): Change return type.
13355         * linux-fork.c (struct fork_info) <savedregs>: Change to
13356         readonly_detached_regcache.
13357         <pc>: New field.
13358         (fork_save_infrun_state): Don't use regcache_dup.
13359         (info_checkpoints_command): Adjust.
13360         * mi/mi-main.c (register_changed_p): Update declaration.
13361         (mi_cmd_data_list_changed_registers): Use
13362         readonly_detached_regcache.
13363         (register_changed_p): Change parameter type to
13364         readonly_detached_regcache.
13365         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
13366         readonly_detached_regcache.
13367         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
13368         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
13369         New.
13370         (regcache::save): Move it to reg_buffer.
13371         (regcache::restore): Change parameter type.
13372         (regcache_dup): Remove.
13373         * regcache.h (reg_buffer) <save>: New method.
13374         (readonly_detached_regcache): New class.
13375         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
13376         readonly_detached_regcache.
13377         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
13378
13379 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13380
13381         * frame.c (frame_save_as_regcache): Use regcache method save.
13382         (frame_pop): Use regcache method restore.
13383         * infrun.c (restore_infcall_suspend_state): Likewise.
13384         * linux-fork.c (fork_load_infrun_state): Likewise.
13385         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
13386         save.
13387         * regcache.c (regcache_save): Remove.
13388         (regcache::restore): More asserts.
13389         (regcache_cpy): Remove.
13390         * regcache.h (regcache_save): Remove the declaration.
13391         (regcache::restore): Move from private to public.
13392         Remove the friend declaration of regcache_cpy.
13393         (regcache_cpy): Remove declaration.
13394
13395 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13396
13397         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
13398         parameter type to 'readable_regcache *'.
13399         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
13400         * arm-tdep.c (arm_neon_quad_read): Likewise.
13401         (arm_pseudo_read): Likewise.
13402         * avr-tdep.c (avr_pseudo_register_read): Likewise.
13403         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
13404         * frv-tdep.c (frv_pseudo_register_read): Likewise.
13405         * gdbarch.c: Re-generated.
13406         * gdbarch.h: Re-generated.
13407         * gdbarch.sh (pseudo_register_read): Change parameter type to
13408         'readable_regcache *'.
13409         (pseudo_register_read_value): Likewise.
13410         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
13411         (h8300_pseudo_register_read): Likewise.
13412         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
13413         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
13414         (i386_pseudo_register_read_into_value): Likewise.
13415         (i386_pseudo_register_read_value): Likewise.
13416         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
13417         declaration.
13418         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
13419         * m32c-tdep.c (m32c_raw_read): Likewise.
13420         (m32c_read_flg): Likewise.
13421         (m32c_banked_register): Likewise.
13422         (m32c_banked_read): Likewise.
13423         (m32c_sb_read): Likewise.
13424         (m32c_part_read): Likewise.
13425         (m32c_cat_read): Likewise.
13426         (m32c_r3r2r1r0_read): Likewise.
13427         (m32c_pseudo_register_read): Likewise.
13428         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
13429         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
13430         (mep_pseudo_cr64_read): Likewise.
13431         (mep_pseudo_register_read): Likewise.
13432         * mips-tdep.c (mips_pseudo_register_read): Likewise.
13433         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
13434         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
13435         * regcache.c (regcache::raw_read): Move it to readable_regcache.
13436         (regcache::cooked_read): Likewise.
13437         (regcache::cooked_read_value): Likewise.
13438         (regcache_cooked_read_signed):
13439         (regcache::cooked_read): Likewise.
13440         * regcache.h (readable_regcache): New class.
13441         (regcache): Inherit readable_regcache.  Move some methods to
13442         readable_regcache.
13443         * rl78-tdep.c (rl78_pseudo_register_read): Change
13444         parameter type to 'readable_regcache *'.
13445         * rs6000-tdep.c (do_regcache_raw_read): Remove.
13446         (e500_pseudo_register_read): Change parameter type to
13447         'readable_regcache *'.
13448         (dfp_pseudo_register_read): Likewise.
13449         (vsx_pseudo_register_read): Likewise.
13450         (efpr_pseudo_register_read): Likewise.
13451         * s390-tdep.c (s390_pseudo_register_read): Likewise.
13452         * sh-tdep.c (sh_pseudo_register_read): Likewise.
13453         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
13454         (sh64_pseudo_register_read): Likewise.
13455         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
13456         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
13457         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
13458         (spu_pseudo_register_read): Likewise.
13459         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
13460         (xtensa_pseudo_register_read): Likewise.
13461
13462 2018-02-21  Yao Qi  <yao.qi@linaro.org>
13463
13464         * regcache.c (regcache::regcache): Call reg_buffer ctor.
13465         (regcache::arch): Move it to reg_buffer::arch.
13466         (regcache::register_buffer): Likewise.
13467         (regcache::assert_regnum): Likewise.
13468         (regcache::num_raw_registers): Likewise.
13469         * regcache.h (reg_buffer): New class.
13470         (regcache): Inherit reg_buffer.
13471
13472 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
13473
13474         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
13475         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
13476
13477 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
13478
13479         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
13480
13481 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
13482
13483         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
13484         (SFILES): Remove common/*.c files.
13485         (COMMON_OBS): Remove some *.o files built from common/*.c files.
13486         * common/common.host: Add common reference.
13487         * configure.ac: Likewise.
13488         * configure: Regenerate.
13489
13490 2018-02-16  Yao Qi  <yao.qi@linaro.org>
13491
13492         * block.c (block_namespace_info): Inherit allocate_on_obstack.
13493         (block_initialize_namespace): Use new.
13494         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
13495         (dwarf2_free_objfile): Use delete.
13496         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
13497         (copy_type_recursive): Use new.
13498         * gdb_obstack.h (allocate_on_obstack): New.
13499
13500 2018-02-15  Yao Qi  <yao.qi@linaro.org>
13501
13502         PR gdb/22849
13503         * inferior.c (exit_inferior_1): Reset inf->control.
13504
13505 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
13506
13507         * ada-lang.c (ada_to_fixed_value_create): Delete advance
13508         declaration.
13509
13510 2018-02-14  Pedro Alves  <palves@redhat.com>
13511
13512         * frame-unwind.c (frame_unwind_try_unwinder): Always call
13513         frame_cleanup_after_sniffer on exception.
13514
13515 2018-02-14  Tom Tromey  <tom@tromey.com>
13516
13517         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
13518         const.
13519         (solib_bfd_open): Make pathname const.
13520         * solib.c (solib_bfd_open): Make pathname const.
13521         * solib-spu.c (spu_bfd_fopen): Make name const.
13522         (spu_bfd_open): Make pathname const.
13523         * solib-darwin.c (darwin_bfd_open): Make pathname const.
13524         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
13525
13526 2018-02-14  Tom Tromey  <tom@tromey.com>
13527
13528         * symfile.c (symfile_bfd_open): Update.
13529         * source.h (openp, source_full_path_of, find_and_open_source):
13530         Change argument type to unique_xmalloc_ptr.
13531         * source.c (openp): Take a unique_xmalloc_ptr.
13532         (source_full_path_of, find_and_open_source): Likewise.
13533         (open_source_file, symtab_to_fullname): Update.
13534         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
13535         unique_xmalloc_ptr.
13536         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
13537         (exec_file_find): Update.
13538         * psymtab.c (psymtab_to_fullname): Update.
13539         * nto-tdep.h (nto_find_and_open_solib): Update.
13540         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
13541         unique_xmalloc_ptr.
13542         * exec.c (exec_file_attach): Update.
13543         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
13544         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
13545
13546 2018-02-14  Tom Tromey  <tom@tromey.com>
13547
13548         * solib.c: Include source.h.
13549         * nto-tdep.c: Include source.h.
13550         * mi/mi-cmd-env.c: Include source.h.
13551         * infcmd.c: Include source.h.
13552         * exec.c: Include source.h.
13553         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
13554         (add_path, directory_switch, source_path, init_source_path): Move
13555         declarations...
13556         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
13557         (add_path, directory_switch, source_path, init_source_path):
13558         ...here.
13559
13560 2018-02-14  Tom Tromey  <tom@tromey.com>
13561
13562         * solist.h (exec_file_find, solib_find): Return
13563         unique_xmalloc_ptr.
13564         (solib_bfd_fopen): Take a const char *.
13565         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
13566         (exec_file_find, solib_find): Likewise.
13567         (solib_bfd_fopen): Do not take ownership of "pathname".
13568         (solib_bfd_open): Use unique_xmalloc_ptr.
13569         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
13570         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
13571         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
13572         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
13573
13574 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
13575
13576         * ada-lang.c (name_match_type_from_name): Remove reference to
13577         ada_name_for_lookup in function's documentation.
13578         * ada-lang.h (ada_name_for_lookup): Delete declaration.
13579
13580 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
13581
13582         * defs.h (enum openp_flags): New enum.
13583         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
13584         Move to enum openp_flags.
13585         (openp_flags): New enum flags.
13586         (openp): Change parameter type to openp_flags.
13587         * source.c (openp): Change parameter type to openp_flags.
13588         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
13589         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
13590
13591 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
13592
13593         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
13594         per-command.
13595
13596 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
13597
13598         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
13599         into...
13600         (class dwarf2_queue_guard): ...the destructor of this new class.
13601         (dw2_do_instantiate_symtab): Create instance of the new class
13602         dwarf2_queue_guard, remove cleanup.
13603
13604 2018-02-09  Tom Tromey  <tom@tromey.com>
13605
13606         * source.c (find_source_lines): Don't reference past the end of
13607         the vector.
13608
13609 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13610
13611         * remote.c (remote_btrace_maybe_reopen): Change error message.
13612         * btrace.c (btrace_enable): Likewise.
13613         (parse_xml_btrace): Likewise.
13614         (parse_xml_btrace_conf): Likewise.
13615
13616 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13617
13618         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
13619         (linux_enable_pt, linux_enable_bts): Call
13620         diagnose_perf_event_open_fail.
13621
13622 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13623
13624         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
13625         Remove parameter and change return type.  Update callers.  Move it.
13626         (linux_enable_bts, linux_enable_pt): Improve error message.
13627         (linux_enable_pt): Remove zero buffer size check.
13628         (linux_enable_btrace): Improve error messages.  Remove NULL return
13629         check.
13630
13631 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13632
13633         * btrace.c (btrace_enable): Remove target_supports_btrace call.
13634         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
13635         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
13636         (linux_supports_pt, linux_supports_btrace): Remove.
13637         (linux_enable_bts): Call cpu_supports_bts.
13638         * nat/linux-btrace.h (linux_supports_btrace): Remove.
13639         * remote.c (remote_supports_btrace): Remove.
13640         (init_remote_ops): Remove remote_supports_btrace.
13641         * target-delegates.c: Regenerated.
13642         * target.c (target_supports_btrace): Remove.
13643         * target.h (target_ops) <to_supports_btrace>: Remove
13644         (target_supports_btrace): Remove.
13645         * x86-linux-nat.c (x86_linux_create_target): Remove
13646         linux_supports_btrace.
13647
13648 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13649
13650         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
13651         btrace failed.
13652         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
13653         exception and use message in own exception.
13654
13655 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13656
13657         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
13658         (perf_event_pt_event_type): Use gdb_file_up.
13659         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
13660         scoped_fd, and scoped_mmap.
13661
13662 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13663
13664         * common/scoped_mmap.h: New.
13665         * unittests/scoped_mmap-selftest.c: New.
13666         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13667         unittests/scoped_mmap-selftest.c.
13668
13669 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13670
13671         * common/scoped_fd.h: New.
13672         * unittests/scoped_fd-selftest.c: New.
13673         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13674         unittests/scoped_fd-selftest.c.
13675
13676 2018-02-09  Tom Tromey  <tom@tromey.com>
13677
13678         * auto-load.c (auto_load_section_scripts): Use
13679         gdb::unique_xmalloc_ptr.
13680
13681 2018-02-09  Tom Tromey  <tom@tromey.com>
13682
13683         * auto-load.c (execute_script_contents): Use std::string.
13684
13685 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
13686
13687         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
13688         Python function, rather than a new command.
13689
13690 2018-02-08  Tom Tromey  <tom@tromey.com>
13691
13692         * solib.c (solib_find_1): Use std::string.
13693         (solib_bfd_fopen): Use unique_xmalloc_ptr.
13694
13695 2018-02-08  Tom Tromey  <tom@tromey.com>
13696
13697         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
13698
13699 2018-02-08  Tom Tromey  <tom@tromey.com>
13700
13701         * source.c (find_source_lines): Use gdb::def_vector.
13702
13703 2018-02-08  Tom Tromey  <tom@tromey.com>
13704
13705         * macrocmd.c (struct temporary_macro_definition): New.
13706         (macro_define_command): Use temporary_macro_definition.  Remove
13707         cleanups.
13708         (free_macro_definition_ptr): Remove.
13709
13710 2018-02-08  Tom Tromey  <tom@tromey.com>
13711
13712         * macroexp.c (maybe_expand): Use std::string.
13713
13714 2018-02-08  Tom Tromey  <tom@tromey.com>
13715
13716         * macroexp.c (struct macro_buffer): Add initializers for some
13717         members.
13718         (init_buffer, init_shared_buffer, free_buffer)
13719         (free_buffer_return_text): Remove.
13720         (macro_buffer): New constructors.
13721         (~macro_buffer): New destructor.
13722         (macro_buffer::set_shared): New method.
13723         (macro_buffer::resize_buffer, macro_buffer::appendc)
13724         (macro_buffer::appendmem): Now methods, not free functions.
13725         (set_token, append_tokens_without_splicing, stringify)
13726         (macro_stringify): Update.
13727         (gather_arguments): Change return type.  Remove argc_p argument,
13728         add args_ptr argument.  Use std::vector.
13729         (substitute_args): Remove argc argument.  Accept std::vector.
13730         (expand): Update.  Use std::vector.
13731         (scan, macro_expand, macro_expand_next): Update.
13732
13733 2018-02-08  Tom Tromey  <tom@tromey.com>
13734
13735         * symtab.c (default_collect_symbol_completion_matches_break_on):
13736         Use unique_xmalloc_ptr.
13737         * macroscope.h: (sal_macro_scope, user_macro_scope)
13738         (default_macro_scope): Return unique_xmalloc_ptr.
13739         * macroscope.c (sal_macro_scope, user_macro_scope)
13740         (default_macro_scope): Return unique_xmalloc_ptr.
13741         * macroexp.h (macro_expand, macro_expand_once): Return
13742         unique_xmalloc_ptr.
13743         * macroexp.c (macro_expand, macro_expand_once): Return
13744         unique_xmalloc_ptr.
13745         * macrocmd.c (macro_expand_command, macro_expand_once_command)
13746         (info_macro_command, info_macros_command): Use
13747         unique_xmalloc_ptr.
13748         * compile/compile-c-support.c (write_macro_definitions): Use
13749         unique_xmalloc_ptr.
13750         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
13751
13752 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
13753
13754         * value.c (value_static_field): Assign field type instead of
13755         containing type when returning an optimized out value.
13756
13757 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13758
13759         * ft32-tdep.c (ft32_read_pc): Remove.
13760         (ft32_write_pc): Remove.
13761         (ft32_gdbarch_init): Update.
13762         * m32r-tdep.c (m32r_read_pc): Remove.
13763         (m32r_gdbarch_init): Update.
13764         * mep-tdep.c (mep_read_pc): Remove.
13765         (mep_gdbarch_init): Update.
13766         * microblaze-tdep.c (microblaze_write_pc): Remove.
13767         (microblaze_gdbarch_init): Update.
13768         * mn10300-tdep.c (mn10300_read_pc): Remove.
13769         (mn10300_write_pc): Remove.
13770         (mn10300_gdbarch_init): Update.
13771         * moxie-tdep.c (moxie_read_pc): Remove.
13772         (moxie_write_pc): Remove.
13773         (moxie_gdbarch_init): Update.
13774
13775 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13776
13777         * expprint.c (print_subexp_standard): Handle
13778         OP_F77_UNDETERMINED_ARGLIST.
13779         (dump_subexp_body_standard): Likewise.
13780
13781 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
13782
13783         * target-descriptions.c (tdesc_element_visitor) Add empty
13784         implementations.
13785         (tdesc_type): Move make_gdb_type from here.
13786         (tdesc_type_builtin): Likewise.
13787         (tdesc_type_vector): Likewise.
13788         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
13789         (make_gdb_type_struct): Move from tdesc_type_with_fields.
13790         (make_gdb_type_union): Likewise.
13791         (make_gdb_type_flags): Likewise.
13792         (make_gdb_type_enum): Likewise.
13793         (make_gdb_type): New function.
13794         (tdesc_register_type): Use static make_gdb_type.
13795
13796 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
13797
13798         * infcmd.c (default_print_one_register_info): Align natural-format
13799         column values consistently one under another.
13800         (pad_to_column): New function.
13801
13802 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
13803
13804         * dwarf2read.c (dwarf2_physname): Move commment.
13805
13806 2018-02-01  Leszek Swirski  <leszeks@google.com>
13807
13808         * varobj.c (varobj_formatted_print_options): Allow recursive
13809         pretty printing if pretty printing is enabled.
13810
13811 2018-02-01  Leszek Swirski  <leszeks@google.com>
13812
13813         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
13814         names after a structop as a filename.
13815
13816 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13817
13818         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
13819         (arm_record_coproc_data_proc): Likewise.
13820
13821 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13822
13823         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
13824
13825 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
13826
13827         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
13828         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
13829
13830 2018-01-31  Pedro Alves  <palves@redhat.com>
13831
13832         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
13833         * inflow.c (child_terminal_save_inferior): Wrap reference to
13834         tcgetpgrp in HAVE_TERMIOS_H.
13835         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
13836         _WIN32.
13837         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
13838         always iterate over all inferiors.
13839         (gdbsim_cntrl_c): Adjust.
13840         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
13841
13842 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13843
13844         * gdbtypes.c (lookup_array_range_type): Make sure the array's
13845         index type is objfile-owned if the element type is as well.
13846
13847 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13848
13849         GDB 8.1 released.
13850
13851 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13852
13853         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
13854         "features/s390x-linux64.c".
13855         (_initialize_s390_linux_tdep): Remove initialization of tdescs
13856         s390_linux32 and s390x_linux64.
13857         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
13858         default tdesc.
13859         * s390-tdep.c: Include "features/s390-linux32.c" and
13860         "features/s390x-linux64.c".
13861         (s390_tdesc_valid): Add check for tdesc_has_registers.
13862         (s390_gdbarch_init): Make sure there is always a valid tdesc.
13863         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
13864         tdesc_s390x_linux64.
13865         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
13866         tdesc_s390x_linux64 to...
13867         * s390-tdep.h: ...here.
13868
13869 2018-01-30  Pedro Alves  <palves@redhat.com>
13870
13871         PR gdb/13211
13872         * config.in, configure: Regenerate.
13873         * configure.ac: Check for getpgid.
13874         * go32-nat.c (go32_pass_ctrlc): New.
13875         (go32_target): Install it.
13876         * inf-child.c (inf_child_target): Install
13877         child_terminal_save_inferior, child_pass_ctrlc and
13878         child_interrupt.
13879         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
13880         (inf_ptrace_target): No longer install it.
13881         * infcmd.c (interrupt_target_1): Adjust.
13882         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
13883         (child_interrupt): Declare.
13884         (inferior::terminal_state): New.
13885         * inflow.c (struct terminal_info): Update comments.
13886         (inferior_process_group): Delete.
13887         (terminal_is_ours): Delete.
13888         (gdb_tty_state): New.
13889         (child_terminal_init): Adjust.
13890         (is_gdb_terminal, sharing_input_terminal_1)
13891         (sharing_input_terminal): New functions.
13892         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
13893         Set the process's actual process group in the foreground if
13894         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
13895         mark terminal as the inferior's if not sharing GDB's terminal.
13896         Don't check attach_flag.
13897         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
13898         pass down a target_terminal_state.
13899         (child_terminal_save_inferior): New, factored out from ...
13900         (child_terminal_ours_1): ... this.  Handle
13901         target_terminal_state::is_ours_for_output.
13902         (child_interrupt, child_pass_ctrlc): New.
13903         (inflow_inferior_exit): Clear the inferior's terminal_state.
13904         (copy_terminal_info): Copy the inferior's terminal state.
13905         (_initialize_inflow): Remove reference to terminal_is_ours.
13906         * inflow.h (inferior_process_group): Delete.
13907         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
13908         * procfs.c (procfs_target): Don't install procfs_interrupt.
13909         (procfs_interrupt): Delete.
13910         * remote.c (remote_serial_quit_handler): Adjust.
13911         (remote_interrupt): Remove ptid parameter.  Adjust.
13912         * target-delegates.c: Regenerate.
13913         * target.c: Include "terminal.h".
13914         (target_terminal::terminal_state): Rename to ...
13915         (target_terminal::m_terminal_state): ... this.
13916         (target_terminal::init): Adjust.
13917         (target_terminal::inferior): Adjust to per-inferior
13918         terminal_state.
13919         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
13920         (target_terminal::ours, target_terminal::ours_for_output): Use
13921         target_terminal_is_ours_kind.
13922         (target_interrupt): Remove ptid parameter.  Adjust.
13923         (default_target_pass_ctrlc): Adjust.
13924         * target.h (target_ops::to_terminal_save_inferior): New field.
13925         (target_ops::to_interrupt): Remove ptid_t parameter.
13926         (target_interrupt): Remove ptid_t parameter.  Update comment.
13927         (target_pass_ctrlc): Update comment.
13928         * target/target.h (target_terminal_state): New scoped enum,
13929         factored out of ...
13930         (target_terminal::terminal_state): ... here.
13931         (target_terminal::inferior): Update comments.
13932         (target_terminal::restore_inferior): New.
13933         (target_terminal::is_inferior, target_terminal::is_ours)
13934         (target_terminal::is_ours_for_output): Adjust.
13935         (target_terminal::scoped_restore_terminal_state): Adjust to
13936         rename, and call restore_inferior() instead of inferior().
13937         (target_terminal::scoped_restore_terminal_state::m_state): Change
13938         type.
13939         (target_terminal::terminal_state): Rename to ...
13940         (target_terminal::m_terminal_state): ... this and change type.
13941
13942 2018-01-30  Pedro Alves  <palves@redhat.com>
13943
13944         * linux-nat.c (wait_for_signal): New function.
13945         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
13946         directly.
13947         (async_terminal_is_ours)
13948         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
13949         (linux_nat_add_target): Don't override
13950         to_terminal_inferior/to_terminal_ours.
13951
13952 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
13953
13954         * remote.c (remote_follow_fork): Don't call "detach_inferior".
13955
13956 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
13957
13958         * dwarf2read.c (free_dwo_files): Add forward-declaration.
13959         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
13960         dwarf2_per_objfile_free here.
13961         (dwarf2_per_objfile_free): Remove.
13962         (_initialize_dwarf2_read): Don't register
13963         dwarf2_per_objfile_free as a registry cleanup.
13964
13965 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
13966
13967         Avoid compilation errors in MinGW native builds
13968
13969         The error is triggered by including python-internal.h, and the
13970         error message is:
13971
13972              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
13973                       from build-gnulib/import/math.h:27,
13974                       from d:/usr/Python26/include/pyport.h:235,
13975                       from d:/usr/Python26/include/Python.h:58,
13976                       from python/python-internal.h:94,
13977                       from python/py-arch.c:24:
13978              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
13979         using ::hypot;
13980                 ^~~~~
13981
13982         This happens because Python headers define 'hypot' to expand t
13983         '_hypot' in the Windows builds.
13984         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
13985         'hypoth'.  This avoids a compilation error.
13986
13987 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13988
13989         * MAINTAINERS (Write After Approval): Fix ordering.
13990
13991 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13992
13993         * MAINTAINERS (Write After Approval): Add Alan Hayward.
13994
13995 2018-01-26  Alan Modra  <amodra@gmail.com>
13996
13997         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
13998         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
13999         Remove nop.  Make const.  Comment.
14000         (powerpc32_plt_stub_so_2): New.
14001         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
14002         Correct count.  Update uses.
14003         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
14004         Move common code reading PLT entry word.  Correct
14005         powerpc32_plt_stub PLT address calculation.
14006         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
14007         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
14008         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
14009         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
14010         (ppc64_standard_linkage8): Likewise.
14011         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
14012         Correct insns description.
14013         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
14014
14015 2018-01-24  Pedro Alves  <palves@redhat.com>
14016
14017         GCC PR libstdc++/83906
14018         * gdbtypes.c (operator==(const dynamic_prop &,
14019         const dynamic_prop &)): New.
14020         (operator==(const range_bounds &, const range_bounds &)): New.
14021         (check_types_equal): Use them instead of memcmp.
14022         * gdbtypes.h (operator==(const dynamic_prop &,
14023         const dynamic_prop &)): Declare.
14024         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
14025         (operator==(const range_bounds &, const range_bounds &)): Declare.
14026         (operator!=(const range_bounds &, const range_bounds &)): Declare.
14027
14028 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14029
14030         * s390-linux-tdep.c (s390_record_address_mask)
14031         (s390_record_calc_disp_common, s390_record_calc_disp)
14032         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
14033         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
14034         (s390_process_record): Move to s390-tdep.c.
14035         (s390_linux_init_abi_any): Adjust.
14036         * s390-tdep.c (s390_record_address_mask)
14037         (s390_record_calc_disp_common, s390_record_calc_disp)
14038         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
14039         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
14040         (s390_process_record): Moved from s390-linux-tdep.c
14041         (s390_gdbarch_init): Adjust.
14042
14043 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14044
14045         * s390-linux-nat.c (s390-tdep.h): New include.
14046         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
14047         (HFILES_NO_SRCDIR): Add s390-tdep.h.
14048         (ALLDEPFILES): Add s390-tdep.c.
14049         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
14050         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
14051         * s390-tdep.h: ...this.  New file.
14052         * s390-linux-tdep.c (s390-tdep.h): New include.
14053         (_initialize_s390_tdep): Rename to...
14054         (_initialize_s390_linux_tdep): ...this and adjust.
14055         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
14056         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
14057         s390-tdep.h.
14058         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
14059         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
14060         (s390_is_partial_instruction, s390_software_single_step)
14061         (is_non_branch_ril, s390_displaced_step_copy_insn)
14062         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
14063         (s390_prologue_data, s390_addr, s390_store, s390_load)
14064         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
14065         (s390_register_call_saved, s390_guess_tracepoint_registers)
14066         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
14067         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
14068         (s390_pseudo_register_name, s390_pseudo_register_type)
14069         (s390_pseudo_register_read, s390_pseudo_register_write)
14070         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
14071         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
14072         (s390_addr_bits_remove, s390_address_class_type_flags)
14073         (s390_address_class_type_flags_to_name)
14074         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
14075         (s390_function_arg_float, s390_function_arg_vector)
14076         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
14077         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
14078         (s390_frame_align, s390_register_return_value, s390_return_value)
14079         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
14080         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
14081         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
14082         (s390_trad_frame_prev_register, s390_unwind_cache)
14083         (s390_prologue_frame_unwind_cache)
14084         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
14085         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
14086         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
14087         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
14088         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
14089         (s390_frame_base_address, s390_local_base_address)
14090         (s390_frame_base, s390_gcc_target_options)
14091         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
14092         (s390_validate_reg_range, s390_tdesc_valid)
14093         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
14094         * s390-tdep.c: ...this.  New file.
14095
14096 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14097
14098         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
14099         (s390_process_record, s390_gdbarch_tdep_alloc)
14100         (s390_linux_init_abi_any): Use/set new hook.
14101
14102 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14103
14104         * s390-linux-tdep.c (osabi.h): New include.
14105         (s390_linux_init_abi_31, s390_linux_init_abi_64)
14106         (s390_linux_init_abi_any): New functions.
14107         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
14108
14109 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14110
14111         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
14112         tdesc_has_registers check
14113
14114 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14115
14116         * s390-linux-tdep.c (s390_tdesc_valid): New function.
14117         (s390_validate_reg_range): New macro.
14118         (s390_gdbarch_init): Adjust.
14119
14120 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14121
14122         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
14123         (s390_gdbarch_tdep_alloc): Adjust.
14124         (s390_gdbarch_init): Adjust.
14125
14126 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14127
14128         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
14129         <have_tdb>: Change type to bool.
14130         (s390_gdbarch_tdep_alloc): Adjust.
14131         (s390_gdbarch_init): Adjust.
14132
14133 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14134
14135         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
14136         (gdbarch_tdep) <have_upper, have_vx>: New fields.
14137         (s390_gdbarch_tdep_alloc): New function.
14138         (s390_gdbarch_init): Allocate tdep at start and use its fields
14139         instead of separate variables.
14140
14141 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14142
14143         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
14144         when looking for cached gdbarch and add comment for remaining.
14145
14146 2018-01-22  Pedro Alves  <palves@redhat.com>
14147             Sergio Durigan Junior  <sergiodj@redhat.com>
14148
14149         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
14150         case.
14151
14152 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
14153
14154         * MAINTAINERS: Update my company e-mail address.
14155
14156 2018-01-22  Yao Qi  <yao.qi@linaro.org>
14157
14158         * regcache.c (cooked_write_test): New function.
14159         (_initialize_regcache): Register the test.
14160
14161 2018-01-22  Yao Qi  <yao.qi@linaro.org>
14162
14163         * ia64-tdep.c (ia64_pseudo_register_read): Call
14164         regcache->cooked_read instead of regcache_cooked_read_unsigned.
14165         * m32c-tdep.c (m32c_cat_read): Likewise.
14166         (m32c_r3r2r1r0_read): Likewise.
14167         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
14168         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
14169
14170 2018-01-22  Yao Qi  <yao.qi@linaro.org>
14171
14172         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
14173         method raw_read instead of regcache_raw_read.
14174         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
14175         * arm-tdep.c (arm_neon_quad_read): Likewise.
14176         * avr-tdep.c (avr_pseudo_register_read): Likewise.
14177         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
14178         * frv-tdep.c (frv_pseudo_register_read): Likewise.
14179         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
14180         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
14181         (i386_pseudo_register_read_into_value): Likewise.
14182         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
14183         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
14184         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
14185         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
14186         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
14187         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
14188         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
14189         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
14190         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
14191
14192 2018-01-22  Yao Qi  <yao.qi@linaro.org>
14193
14194         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
14195         * configure.tgt: Remove target mt.
14196         * mt-tdep.c: Remove.
14197         * regcache.c (cooked_read_test): Remove the check for mt.
14198
14199 2018-01-22  Yao Qi  <yao.qi@linaro.org>
14200
14201         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
14202         instead of gdbarch_pseudo_register_read_value.
14203
14204 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
14205
14206         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
14207         language is Ada.
14208
14209 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
14210
14211         * linespec.c (create_sals_line_offset): Remove code that preserved
14212         the symtab_and_line's line number.
14213
14214 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
14215
14216         * varobj.c (varobj_create): Don't set valid_block when creating a
14217         floating varobj.
14218
14219 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
14220
14221         * varobj.c (varobj_create): Remove out of date comment.
14222
14223 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
14224
14225         PR mi/20395
14226         * ada-exp.y (write_var_from_sym): Pass extra parameter when
14227         updating innermost block.
14228         * parse.c (innermost_block_tracker::update): Take extra type
14229         parameter, and check types match before updating innermost block.
14230         (write_dollar_variable): Update innermost block for registers.
14231         * parser-defs.h (enum innermost_block_tracker_type): New enum.
14232         (innermost_block_tracker::innermost_block_tracker): Initialise
14233         m_types member.
14234         (innermost_block_tracker::reset): Take type parameter.
14235         (innermost_block_tracker::update): Take type parameter, and pass
14236         type through as needed.
14237         (innermost_block_tracker::m_types): New member.
14238         * varobj.c (varobj_create): Pass type when reseting innermost
14239         block.
14240
14241 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
14242
14243         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
14244         * ada-lang.c (resolve_subexp): Likewise.
14245         * breakpoint.c (set_breakpoint_condition) Likewise.
14246         (watch_command_1) Likewise.
14247         * c-exp.y (variable): Likewise.
14248         * d-exp.y (PrimaryExpression): Likewise.
14249         * f-exp.y (variable): Likewise.
14250         * go-exp.y (variable): Likewise.
14251         * m2-exp.y (variable): Likewise.
14252         * objfiles.c (objfile::~objfile): Likewise.
14253         * p-exp.y (variable): Likewise.
14254         * parse.c (innermost_block): Change type.
14255         * parser-defs.h (class innermost_block_tracker): New.
14256         (innermost_block): Change to innermost_block_tracker.
14257         * printcmd.c (display_command): Switch to innermost_block API.
14258         (do_one_display): Likewise.
14259         * rust-exp.y (do_one_display): Likewise.
14260         * symfile.c (clear_symtab_users): Likewise.
14261         * varobj.c (varobj_create): Switch to innermost_block API, replace
14262         use of innermost_block with block stored on varobj object.
14263
14264 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
14265
14266         * expression.h (innermost_block): Remove declaration.
14267         * varobj.c: Add 'parser-defs.h' include.
14268
14269 2018-01-19  Tom Tromey  <tom@tromey.com>
14270
14271         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
14272         symbols in the static and global blocks.
14273
14274 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
14275
14276         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
14277         gdb_ptrace.h, and move including gdb_wait.h ...
14278         * nat/linux-ptrace.h: ... to here.
14279
14280 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
14281
14282         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
14283         inf_ptrace_detach_success.
14284         (inf_ptrace_detach_success): Add inferior parameter, use it
14285         instead of inferior_ptid, pass it to detach_inferior.
14286         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
14287         parameter.
14288         * inferior.c (detach_inferior): Add overload that takes an
14289         inferior object.
14290         * inferior.h (detach_inferior): Likewise.
14291         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
14292         use inferior_ptid, adjust call to inf_ptrace_detach_success.
14293         * linux-thread-db.c (thread_db_detach): Use inf parameter.
14294
14295 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
14296
14297         * target.h (struct target_ops) <to_detach>: Add inferior
14298         parameter.
14299         (target_detach): Likewise.
14300         * target.c (dispose_inferior): Pass inferior down.
14301         (target_detach): Pass inferior down.  Assert that it is equal to
14302         the current inferior.
14303         * aix-thread.c (aix_thread_detach): Pass inferior down.
14304         * corefile.c (core_file_command): Pass current_inferior() down.
14305         * corelow.c (core_detach): Add inferior parameter.
14306         * darwin-nat.c (darwin_detach): Likewise.
14307         * gnu-nat.c (gnu_detach): Likewise.
14308         * inf-ptrace.c (inf_ptrace_detach): Likewise.
14309         * infcmd.c (detach_command): Pass current_inferior() down to
14310         target_detach.
14311         * infrun.c (follow_fork_inferior): Pass parent_inf to
14312         target_detach.
14313         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
14314         target_detach.
14315         * linux-nat.c (linux_nat_detach): Add inferior parameter.
14316         * linux-thread-db.c (thread_db_detach): Likewise.
14317         * nto-procfs.c (procfs_detach): Likewise.
14318         * procfs.c (procfs_detach): Likewise.
14319         * record.c (record_detach): Likewise.
14320         * record.h (struct inferior): Forward-declare.
14321         (record_detach): Add inferior parameter.
14322         * remote-sim.c (gdbsim_detach): Likewise.
14323         * remote.c (remote_detach_1): Likewise.
14324         (remote_detach): Likewise.
14325         (extended_remote_detach): Likewise.
14326         * sol-thread.c (sol_thread_detach): Likewise.
14327         * target-debug.h (target_debug_print_inferior_p): New macro.
14328         * target-delegates.c: Re-generate.
14329         * top.c (kill_or_detach): Pass inferior down to target_detach.
14330         * windows-nat.c (windows_detach): Add inferior parameter.
14331
14332 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
14333
14334         * target.h (struct target_ops) <to_detach>: Remove args
14335         parameter.
14336         (target_detach): Likewise.
14337         * target.c (dispose_inferior): Adjust.
14338         (target_detach): Remove args parameter, adjust.
14339         * aix-thread.c (aix_thread_detach): Adjust.
14340         * corefile.c (core_file_command): Adjust.
14341         * corelow.c (core_detach): Adjust.
14342         * darwin-nat.c (darwin_detach): Adjust.
14343         * gnu-nat.c (gnu_detach): Adjust.
14344         * inf-ptrace.c (inf_ptrace_detach): Adjust.
14345         * infcmd.c (detach_command): Adjust
14346         * infrun.c (follow_fork_inferior): Adjust.
14347         (handle_vfork_child_exec_or_exit): Adjust.
14348         * linux-fork.c (linux_fork_detach): Remove args parameter.
14349         * linux-fork.h (linux_fork_detach): Likewise.
14350         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
14351         * linux-thread-db.c (thread_db_detach): Likewise.
14352         * nto-procfs.c (procfs_detach): Likewise.
14353         * procfs.c (procfs_detach): Likewise.
14354         (do_detach): Remove signo parameter.
14355         * record.c (record_detach): Remove args parameter.
14356         * record.h (record_detach): Likewise.
14357         * remote-sim.c (gdbsim_detach): Likewise.
14358         * remote.c (remote_detach_1): Likewise.
14359         (remote_detach): Likewise.
14360         (extended_remote_detach): Likewise.
14361         * sol-thread.c (sol_thread_detach): Likewise.
14362         * target-delegates.c: Re-generate.
14363         * top.c (struct qt_args) <args>: Remove field.
14364         (kill_or_detach): Don't pass args.
14365         (quit_force): Don't set args.
14366         * windows-nat.c (windows_detach): Remove args parameter.
14367
14368 2018-01-19  Yao Qi  <yao.qi@linaro.org>
14369
14370         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
14371         (arm_linux_init_abi): Install it.
14372
14373 2018-01-19  Yao Qi  <yao.qi@linaro.org>
14374
14375         * osabi.c (gdb_osabi_names): Extend the regexp for
14376         arm-linux-gnueabihf.
14377
14378 2018-01-18  Yao Qi  <yao.qi@linaro.org>
14379
14380         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
14381         m_abbrevs.
14382         (abbrev_table::add_abbrev): Update.
14383         (abbrev_table::lookup_abbrev): Update.
14384
14385 2018-01-18  Yao Qi  <yao.qi@linaro.org>
14386
14387         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
14388
14389 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
14390
14391         * compile/compile.c (compile_to_object): Convert "triplet_rx"
14392         to "std::string".
14393
14394 2018-01-17  Tom Tromey  <tom@tromey.com>
14395
14396         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
14397
14398 2018-01-17  Tom Tromey  <tom@tromey.com>
14399
14400         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
14401         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
14402         (create_array_type_with_stride): Update.
14403         * dwarf2read.c (set_die_type): Update.
14404
14405 2018-01-17  Tom Tromey  <tom@tromey.com>
14406
14407         * dwarf2read.c (delayed_method_info): Remove typedef.
14408         (dwarf2_cu::method_info): Now a std::vector.
14409         (add_to_method_list): Update.
14410         (free_delayed_list): Remove.
14411         (compute_delayed_physnames): Update.
14412         (process_full_comp_unit, process_full_type_unit): Clear the method
14413         list.  Remove cleanups.
14414         (psymtab_include_file_name): Add name_holder parameter.  Use
14415         unique_xmalloc_ptr.
14416         (dwarf_decode_lines): Update.
14417
14418 2018-01-17  Tom Tromey  <tom@tromey.com>
14419             Simon Marchi  <simon.marchi@ericsson.com>
14420
14421         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
14422         (dwarf2_per_objfile::free_cached_comp_units)
14423         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
14424         (init_cutu_and_read_dies_no_follow): Update.
14425         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
14426         (dwarf2_cu::~dwarf2_cu): New.
14427         (free_heap_comp_unit, free_stack_comp_unit): Remove.
14428         (age_cached_comp_units, free_one_cached_comp_unit): Update.
14429
14430 2018-01-17  Tom Tromey  <tom@tromey.com>
14431             Simon Marchi  <simon.marchi@ericsson.com>
14432
14433         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
14434         (struct die_reader_specs) <abbrev_table>: New member.
14435         (struct abbrev_table): Add constructor.
14436         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
14437         <abbrev_obstack>: Now an auto_obstack.
14438         (abbrev_table_up): New typedef.
14439         (init_cu_die_reader): Add abbrev_table parameter.
14440         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
14441         Add result_dwo_abbrev_table.
14442         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
14443         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
14444         Update.
14445         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
14446         parameter.
14447         (skip_children): Update.
14448         (abbrev_table::alloc_abbrev): Rename from
14449         abbrev_table_alloc_abbrev.
14450         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
14451         (abbrev_table::lookup_abbrev): Rename from
14452         abbrev_table_lookup_abbrev.
14453         (abbrev_table_read_table): Return abbrev_table_up.
14454         (abbrev_table_free, abbrev_table_free_cleanup)
14455         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
14456         (load_partial_dies): Update.
14457
14458 2018-01-17  Tom Tromey  <tom@tromey.com>
14459
14460         * dwarf2read.c (dwarf2_compute_name): Update comment.
14461         (read_func_scope, read_variable): Update.
14462         (new_symbol): Remove.
14463         (new_symbol_full): Rename to new_symbol.
14464
14465 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
14466
14467         PR gdb/16577
14468         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
14469         a warning instead of throwing an error, set section size to 0 and return
14470         NULL.
14471         * gdb_bfd.h (gdb_bfd_map_section): Update description.
14472
14473 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
14474
14475         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
14476         std::string.
14477         (linux_ptrace_attach_fail_reason_string): Likewise.
14478         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
14479         Likewise.
14480         (linux_ptrace_attach_fail_reason_string): Likewise.
14481         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
14482
14483 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
14484
14485         * linux-nat.c (linux_nat_attach): Remove xstrdup.
14486
14487 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
14488
14489         PR gdb/21559
14490         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
14491         checking for fs_base/gs_base fields in struct user_regs_struct.
14492         * configure: Regenerate.
14493
14494 2018-01-17  Yao Qi  <yao.qi@linaro.org>
14495
14496         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
14497         function.
14498         (aarch64_linux_init_abi): Install it to gdbarch hook
14499         gcc_target_options.
14500
14501 2018-01-15  Pedro Alves  <palves@redhat.com>
14502
14503         * common/signals-state-save-restore.c
14504         (save_original_signals_state): Fix typos.
14505
14506 2017-01-12  Tom Tromey  <tom@tromey.com>
14507             Sergio Durigan Junior  <sergiodj@redhat.com>
14508
14509         * Makefile.in (install-only): Install gdb-add-index.
14510
14511 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
14512
14513         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
14514
14515 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
14516
14517         * infrun.c (keep_going_pass_signal): Clear step-over info when
14518         insert_breakpoints fails.
14519
14520 2018-01-11  Pedro Alves  <palves@redhat.com>
14521
14522         PR gdb/22583
14523         * infrun.c (resume): Rename to ...
14524         (resume_1): ... this.
14525         (resume): Reimplement as wrapper around resume_1.
14526
14527 2018-01-11  Pedro Alves  <palves@redhat.com>
14528
14529         PR remote/22597
14530         * remote.c (remote_parse_stop_reply): Default to the last-set
14531         general thread instead of to 'magic_null_ptid'.
14532
14533 2018-01-10  Pedro Alves  <palves@redhat.com>
14534
14535         * language.h (language_get_symbol_name_matcher): Rename ...
14536         (get_symbol_name_matcher): ... this.
14537         * language.c (language_get_symbol_name_matcher): Ditto.
14538         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
14539         callers adjusted.
14540
14541 2018-01-10  Pedro Alves  <palves@redhat.com>
14542
14543         PR gdb/22670
14544         * dwarf2read.c
14545         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
14546         Adjust to use language_get_symbol_name_matcher instead of
14547         language_defn::la_get_symbol_name_matcher.
14548         * language.c (language_get_symbol_name_matcher): If in Ada mode
14549         and the lookup name is a verbatim match, return Ada's matcher.
14550         * language.h (language_get_symbol_name_matcher): Adjust comment.
14551         (ada_lookup_name_info::verbatim_p):: New method.
14552
14553 2018-01-10  Pedro Alves  <palves@redhat.com>
14554
14555         PR gdb/22670
14556         * ada-lang.c (ada_collect_symbol_completion_matches): If the
14557         minsym's language is language_auto or language_cplus, pass down
14558         language_ada instead.
14559         * symtab.c (compare_symbol_name): Don't frob symbol language here.
14560
14561 2018-01-10  Pedro Alves  <palves@redhat.com>
14562
14563         PR gdb/22670
14564         * minsyms.c (linkage_name_str): New function.
14565         (iterate_over_minimal_symbols): Use it.
14566
14567 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
14568
14569         * NEWS: Document that 'info proc' now works on FreeBSD.
14570
14571 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
14572
14573         * configure.ac: Check for kinfo_getfile in libutil.
14574         * configure: Regenerate.
14575         * config.in: Regenerate.
14576         * fbsd-nat.c: Include "fbsd-tdep.h".
14577         (fbsd_fetch_cmdline): New.
14578         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
14579         rather than calling error.
14580         (fbsd_info_proc): New.
14581         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
14582         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
14583         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
14584
14585 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
14586
14587         * fbsd-nat.c (struct free_deleter): Remove.
14588         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
14589
14590 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
14591
14592         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
14593         NULL for an empty pathname.
14594
14595 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
14596
14597         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
14598         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
14599         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
14600         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
14601         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
14602         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
14603         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
14604         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
14605         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
14606         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
14607         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
14608         (fbsd_core_fetch_timeval, fbsd_print_sigset)
14609         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
14610         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
14611         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
14612
14613 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
14614
14615         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
14616         (gnu_xfer_auxv): New function.
14617         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
14618         TARGET_OBJECT_AUXV.
14619
14620 2018-01-08  Yao Qi  <yao.qi@linaro.org>
14621             Simon Marchi  <simon.marchi@ericsson.com>
14622
14623         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
14624         common/selftest.c.
14625         (COMMON_OBS): Remove selftest.o.
14626         * configure.ac: Append selftest-arch.c and common/selftest.c to
14627         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
14628         * configure: Re-generated.
14629         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
14630         GDB_SELF_TEST.
14631         (maintenance_info_selftests): Likewise.
14632
14633 2018-01-08  Xavier Roirand  <roirand@adacore.com>
14634
14635         * ada-valprint.c (val_print_packed_array_elements): Use
14636         proper number of elements when printing an array indexed
14637         by an enumeration type.
14638
14639 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14640
14641         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
14642         (dw2_get_file_names_reader): Adjust.
14643         (lookup_dwo_signatured_type): Adjust.
14644         (lookup_dwp_signatured_type): Adjust.
14645         (lookup_signatured_type): Adjust.
14646         (create_type_unit_group): Adjust.
14647         (get_type_unit_group): Adjust.
14648         (process_psymtab_comp_unit_reader): Adjust.
14649         (build_type_psymtabs_reader): Adjust.
14650         (scan_partial_symbols): Adjust.
14651         (add_partial_symbol): Adjust.
14652         (add_partial_subprogram): Adjust.
14653         (peek_die_abbrev): Adjust.
14654         (fixup_go_packaging): Adjust.
14655         (process_imported_unit_die): Adjust.
14656         (dwarf2_compute_name): Adjust.
14657         (dwarf2_physname): Adjust.
14658         (read_import_statement): Adjust.
14659         (handle_DW_AT_stmt_list): Adjust.
14660         (read_file_scope): Adjust.
14661         (read_func_scope): Adjust.
14662         (read_lexical_block_scope): Adjust.
14663         (read_call_site_scope): Adjust.
14664         (read_variable): Adjust.
14665         (dwarf2_rnglists_process): Adjust.
14666         (dwarf2_ranges_process): Adjust.
14667         (dwarf2_ranges_read): Adjust.
14668         (dwarf2_get_pc_bounds): Adjust.
14669         (dwarf2_record_block_ranges): Adjust.
14670         (dwarf2_add_field): Adjust.
14671         (dwarf2_add_member_fn): Adjust.
14672         (read_structure_type): Adjust.
14673         (process_structure_scope): Adjust.
14674         (read_enumeration_type): Adjust.
14675         (read_array_type): Adjust.
14676         (mark_common_block_symbol_computed): Adjust.
14677         (read_common_block): Adjust.
14678         (read_namespace_type): Adjust.
14679         (read_namespace): Adjust.
14680         (read_module_type): Adjust.
14681         (read_tag_pointer_type): Adjust.
14682         (read_tag_ptr_to_member_type): Adjust.
14683         (read_tag_string_type): Adjust.
14684         (read_subroutine_type): Adjust.
14685         (read_typedef): Adjust.
14686         (read_base_type): Adjust.
14687         (attr_to_dynamic_prop): Adjust.
14688         (read_subrange_type): Adjust.
14689         (read_unspecified_type): Adjust.
14690         (dwarf2_read_abbrevs): Adjust.
14691         (load_partial_dies): Adjust.
14692         (read_partial_die): Adjust.
14693         (find_partial_die): Adjust.
14694         (guess_partial_die_structure_name): Adjust.
14695         (fixup_partial_die): Adjust.
14696         (read_attribute_value): Adjust.
14697         (read_addr_index): Adjust.
14698         (read_addr_index_from_leb128): Adjust.
14699         (read_str_index): Adjust.
14700         (dwarf2_string_attr): Adjust.
14701         (get_debug_line_section): Adjust.
14702         (dwarf_decode_line_header): Adjust.
14703         (lnp_state_machine::check_line_address): Adjust.
14704         (dwarf_decode_lines_1): Adjust.
14705         (dwarf_decode_lines): Adjust.
14706         (dwarf2_start_symtab): Adjust.
14707         (var_decode_location): Adjust.
14708         (new_symbol_full): Adjust.
14709         (dwarf2_const_value_data): Adjust.
14710         (dwarf2_const_value_attr): Adjust.
14711         (dwarf2_const_value): Adjust.
14712         (die_type): Adjust.
14713         (die_containing_type): Adjust.
14714         (build_error_marker_type): Adjust.
14715         (lookup_die_type): Adjust.
14716         (guess_full_die_structure_name): Adjust.
14717         (anonymous_struct_prefix): Adjust.
14718         (determine_prefix): Adjust.
14719         (dwarf2_name): Adjust.
14720         (follow_die_ref_or_sig): Adjust.
14721         (follow_die_offset): Adjust.
14722         (follow_die_ref): Adjust.
14723         (follow_die_sig_1): Adjust.
14724         (follow_die_sig): Adjust.
14725         (get_signatured_type): Adjust.
14726         (get_DW_AT_signature_type): Adjust.
14727         (decode_locdesc): Adjust.
14728         (dwarf_decode_macros): Adjust.
14729         (cu_debug_loc_section): Adjust.
14730         (fill_in_loclist_baton): Adjust.
14731         (dwarf2_symbol_mark_computed): Adjust.
14732         (init_one_comp_unit): Don't assign
14733         dwarf2_cu::dwarf2_per_objfile.
14734         (set_die_type): Adjust.
14735
14736 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14737
14738         * dwarf2read.c (struct mapped_debug_names): Add constructor.
14739         <dwarf2_per_objfile>: New field.
14740         (dwarf2_per_objfile): Remove global.
14741         (get_dwarf2_per_objfile): New function.
14742         (set_dwarf2_per_objfile): New function.
14743         (dwarf2_build_psymtabs_hard): Change objfile parameter to
14744         dwarf2_per_objfile.
14745         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14746         (read_abbrev_offset): Likewise.
14747         (read_indirect_string): Likewise.
14748         (read_indirect_line_string): Likewise.
14749         (read_indirect_string_at_offset): Likewise.
14750         (read_indirect_string_from_dwz): Likewise.
14751         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14752         dwarf2_per_objfile.
14753         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14754         (create_all_comp_units): Change objfile parameter to
14755         dwarf2_per_objfile.
14756         (create_all_type_units): Likewise.
14757         (process_queue): Add dwarf2_per_objfile parameter.
14758         (read_and_check_comp_unit_head): Likewise.
14759         (lookup_dwo_unit_in_dwp): Likewise.
14760         (get_dwp_file): Likewise.
14761         (process_cu_includes): Likewise.
14762         (struct free_dwo_file_cleanup_data): New struct.
14763         (dwarf2_has_info): Use get_dwarf2_per_objfile and
14764         set_dwarf2_per_objfile.
14765         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
14766         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
14767         context, adjust calls.
14768         (dw2_instantiate_symtab): Likewise.
14769         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
14770         (dw2_get_cu): Likewise.
14771         (create_cu_from_index_list): Change objfile parameter to
14772         dwarf2_per_objfile.
14773         (create_cus_from_index_list): Get dwarf2_per_objfile from
14774         context, adjust calls.
14775         (create_cus_from_index): Likewise.
14776         (create_signatured_type_table_from_index): Change objfile
14777         parameter to dwarf2_per_objfile.
14778         (create_signatured_type_table_from_debug_names): Change objfile
14779         parameter to dwarf2_per_objfile.
14780         (create_addrmap_from_index): Likewise.
14781         (create_addrmap_from_aranges): Likewise.
14782         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
14783         (dw2_setup): Remove.
14784         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
14785         context.
14786         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
14787         get_dwarf2_per_objfile.
14788         (dw2_forget_cached_source_info): Likewise.
14789         (dw2_map_symtabs_matching_filename): Likewise.
14790         (struct dw2_symtab_iterator) <index>: Remove.
14791         <dwarf2_per_objfile>: New field.
14792         (dw2_symtab_iter_init): Replace index parameter with
14793         dwarf2_per_objfile.
14794         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
14795         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
14796         (dw2_print_stats): Likewise.
14797         (dw2_dump): Likewise.
14798         (dw2_expand_symtabs_for_function): Likewise.
14799         (dw2_expand_all_symtabs): Likewise.
14800         (dw2_expand_symtabs_with_fullname): Likewise.
14801         (dw2_expand_marked_cus): Replace index and objfile parameters
14802         with dwarf2_per_objfile.
14803         (dw_expand_symtabs_matching_file_matcher): Add
14804         dwarf2_per_objfile parameter and adjust calls.
14805         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
14806         adjust calls.
14807         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
14808         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
14809         adjust calls.
14810         (create_cus_from_debug_names_list): Replace objfile parameter
14811         with dwarf2_per_objfile and adjust calls.
14812         (create_cus_from_debug_names): Likewise.
14813         (dwarf2_read_debug_names): Likewise.
14814         (mapped_debug_names::namei_to_name): Adjust call.
14815         (dw2_debug_names_iterator::next): Likewise.
14816         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
14817         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
14818         (dw2_debug_names_dump): Likewise.
14819         (dw2_debug_names_expand_symtabs_for_function): Likewise.
14820         (dw2_debug_names_expand_symtabs_matching): Likewise.
14821         (dwarf2_initialize_objfile): Likewise.
14822         (dwarf2_build_psymtabs): Likewise.
14823         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
14824         this_cu.
14825         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
14826         (read_and_check_comp_unit_head): Likewise.
14827         (read_abbrev_offset): Likewise.
14828         (create_debug_type_hash_table): Likewise.
14829         (create_debug_types_hash_table): Likewise.
14830         (create_all_type_units): Replace objfile parameter with
14831         dwarf2_per_objfile.
14832         (add_type_unit): Add dwarf2_per_objfile parameter.
14833         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
14834         with dwarf2_per_objfile.
14835         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
14836         (lookup_dwp_signatured_type): Likewise.
14837         (lookup_signatured_type): Likewise.
14838         (read_cutu_die_from_dwo): Likewise.
14839         (init_tu_and_read_dwo_dies): Likewise.
14840         (init_cutu_and_read_dies): Likewise.
14841         (init_cutu_and_read_dies_no_follow): Likewise.
14842         (allocate_type_unit_groups_table): Add objfile parameter.
14843         (create_type_unit_group): Use dwarf2_per_objfile from cu.
14844         (get_type_unit_group): Likewise.
14845         (process_psymtab_comp_unit): Update call.
14846         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
14847         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
14848         (print_tu_stats): Likewise.
14849         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
14850         in void* parameter.
14851         (build_type_psymtabs): Change objfile parameter to
14852         dwarf2_per_objfile.
14853         (process_skeletonless_type_unit): Use dwarf2_per_objfile
14854         passed in void* parameter.
14855         (process_skeletonless_type_units): Change objfile parameter to
14856         dwarf2_per_objfile.
14857         (set_partial_user): Likewise.
14858         (dwarf2_build_psymtabs_hard): Likewise.
14859         (read_comp_units_from_section): Likewise.
14860         (create_all_comp_units): Likewise.
14861         (scan_partial_symbols): Update calls.
14862         (add_partial_symbol): Likewise.
14863         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
14864         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
14865         (process_queue): Add dwarf2_per_objfile parameter.
14866         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
14867         (compute_compunit_symtab_includes): Likewise.
14868         (process_cu_includes): Add dwarf2_per_objfile parameter.
14869         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
14870         (process_full_type_unit): Likewise.
14871         (process_imported_unit_die): Update call.
14872         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
14873         (read_file_scope): Likewise.
14874         (allocate_dwo_file_hash_table): Add objfile parameter.
14875         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
14876         (create_cus_hash_table): Likewise.
14877         (create_dwp_hash_table): Likewise.
14878         (create_dwo_unit_in_dwp_v1): Likewise.
14879         (create_dwp_v2_section): Likewise.
14880         (create_dwo_unit_in_dwp_v2): Likewise.
14881         (lookup_dwo_unit_in_dwp): Likewise.
14882         (try_open_dwop_file): Likewise.
14883         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
14884         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
14885         cleanup to include a reference to dwarf2_per_objfile.
14886         (open_dwp_file): Add dwarf2_per_objfile parameter.
14887         (open_and_init_dwp_file): Likewise.
14888         (get_dwp_file): Likewise.
14889         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
14890         (queue_and_load_all_dwo_tus): Update call.
14891         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
14892         data.
14893         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
14894         (dwarf2_ranges_process): Likewise.
14895         (dwarf2_get_pc_bounds): Likewise.
14896         (mark_common_block_symbol_computed): Likewise.
14897         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14898         (dwarf2_read_abbrevs): Update call.
14899         (read_partial_die): Use dwarf2_per_objfile from cu.
14900         (find_partial_die): Likewise.
14901         (fixup_partial_die): Likewise.
14902         (read_attribute_value): Likewise.
14903         (read_indirect_string_at_offset_from): Add objfile parameter.
14904         (read_indirect_string_at_offset): Add dwarf2_per_objfile
14905         parameter.
14906         (read_indirect_string_from_dwz): Add objfile parameter.
14907         (read_indirect_string): Add objfile parameter.
14908         (read_addr_index_1): Add dwarf2_per_objfile parameter.
14909         (read_addr_index): Use dwarf2_per_objfile from cu.
14910         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
14911         call dw2_setup.
14912         (read_str_index): Use dwarf2_per_objfile from cu.
14913         (get_debug_line_section): Likewise.
14914         (read_formatted_entries): Add dwarf2_per_objfile parameter.
14915         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
14916         (new_symbol_full): Use dwarf2_per_objfile from cu.
14917         (build_error_marker_type): Likewise.
14918         (lookup_die_type): Likewise.
14919         (determine_prefix): Likewise.
14920         (follow_die_offset): Likewise.
14921         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
14922         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
14923         (dwarf2_fetch_die_type_sect_off): Likewise.
14924         (dwarf2_get_die_type): Likewise.
14925         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
14926         (get_signatured_type): Likewise.
14927         (get_DW_AT_signature_type): Likewise.
14928         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
14929         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
14930         (cu_debug_loc_section): Likewise.
14931         (fill_in_loclist_baton): Likewise.
14932         (dwarf2_symbol_mark_computed): Likewise.
14933         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14934         dwarf2_per_objfile.
14935         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
14936         parameter.
14937         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14938         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
14939         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
14940         (set_die_type): Use dwarf2_free_objfile from cu.
14941         (get_die_type_at_offset): Likewise.
14942         (dwarf2_per_objfile_free): Don't assign global variable.
14943         (debug_names) <constructor>: Add dwarf2_per_objfile
14944         parameter, update m_debugstrlookup construction.
14945         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
14946         parameter.
14947         <m_dwarf2_per_objfile>: New field.
14948         <lookup>: Use m_dwarf2_per_objfile.
14949         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
14950         (psyms_seen_size): Likewise.
14951         (write_gdbindex): Replace objfile parameter with
14952         dwarf2_per_objfile.
14953         (write_debug_names): Likewise.
14954         (write_psymtabs_to_index): Likewise.
14955         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
14956         calls.
14957
14958 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14959
14960         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
14961         <dwarf2_per_objfile>: New field.
14962         (struct dwarf2_per_cu_data) <objfile>: Remove.
14963         <dwarf2_per_objfile>: New field.
14964         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
14965         of objfile.
14966         (create_signatured_type_table_from_index): Likewise.
14967         (create_debug_type_hash_table): Likewise.
14968         (fill_in_sig_entry_from_dwo_entry): Likewise.
14969         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
14970         (create_type_unit_group): Assign dwarf2_per_objfile instead of
14971         objfile.
14972         (create_partial_symtab): Access objfile through
14973         dwarf2_per_objfile.
14974         (process_psymtab_comp_unit_reader): Likewise.
14975         (read_comp_units_from_section): Likewise.
14976         (scan_partial_symbols): Likewise.
14977         (add_partial_symbol): Likewise.
14978         (add_partial_subprogram): Likewise.
14979         (peek_die_abbrev): Likewise.
14980         (fixup_go_packaging): Likewise.
14981         (process_full_comp_unit): Likewise.
14982         (process_full_type_unit): Likewise.
14983         (process_imported_unit_die): Likewise.
14984         (dwarf2_compute_name): Likewise.
14985         (dwarf2_physname): Likewise.
14986         (read_import_statement): Likewise.
14987         (create_cus_hash_table): Assign dwarf2_physname instead of
14988         objfile.
14989         (read_func_scope): Access objfile through dwarf2_per_objfile.
14990         (read_lexical_block_scope): Likewise.
14991         (read_call_site_scope): Likewise.
14992         (read_variable): Likewise.
14993         (dwarf2_rnglists_process): Likewise.
14994         (dwarf2_ranges_process): Likewise.
14995         (dwarf2_ranges_read): Likewise.
14996         (dwarf2_record_block_ranges): Likewise.
14997         (dwarf2_add_field): Likewise.
14998         (dwarf2_add_member_fn): Likewise.
14999         (read_structure_type): Likewise.
15000         (process_structure_scope): Likewise.
15001         (read_enumeration_type): Likewise.
15002         (read_array_type): Likewise.
15003         (read_common_block): Likewise.
15004         (read_namespace_type): Likewise.
15005         (read_namespace): Likewise.
15006         (read_module_type): Likewise.
15007         (read_tag_pointer_type): Likewise.
15008         (read_tag_ptr_to_member_type): Likewise.
15009         (read_tag_string_type): Likewise.
15010         (read_subroutine_type): Likewise.
15011         (read_typedef): Likewise.
15012         (read_base_type): Likewise.
15013         (attr_to_dynamic_prop): Likewise.
15014         (read_subrange_type): Likewise.
15015         (read_unspecified_type): Likewise.
15016         (load_partial_dies): Likewise.
15017         (read_partial_die): Likewise.
15018         (find_partial_die): Likewise.
15019         (guess_partial_die_structure_name): Likewise.
15020         (fixup_partial_die): Likewise.
15021         (read_attribute_value): Likewise.
15022         (read_addr_index_from_leb128): Likewise.
15023         (dwarf2_read_addr_index): Likewise.
15024         (dwarf2_string_attr): Likewise.
15025         (lnp_state_machine::check_line_address): Likewise.
15026         (dwarf_decode_lines_1): Likewise.
15027         (dwarf_decode_lines): Likewise.
15028         (dwarf2_start_symtab): Likewise.
15029         (var_decode_location): Likewise.
15030         (new_symbol_full): Likewise.
15031         (dwarf2_const_value_data): Likewise.
15032         (dwarf2_const_value_attr): Likewise.
15033         (dwarf2_const_value): Likewise.
15034         (die_type): Likewise.
15035         (die_containing_type): Likewise.
15036         (lookup_die_type): Likewise.
15037         (guess_full_die_structure_name): Likewise.
15038         (anonymous_struct_prefix): Likewise.
15039         (dwarf2_name): Likewise.
15040         (follow_die_ref_or_sig): Likewise.
15041         (follow_die_offset): Likewise.
15042         (follow_die_ref): Likewise.
15043         (dwarf2_fetch_die_loc_sect_off): Likewise.
15044         (dwarf2_fetch_constant_bytes): Likewise.
15045         (dwarf2_fetch_die_type_sect_off): Likewise.
15046         (dwarf2_get_die_type): Likewise.
15047         (follow_die_sig): Likewise.
15048         (decode_locdesc): Likewise.
15049         (dwarf2_per_cu_objfile): Likewise.
15050         (dwarf2_per_cu_text_offset): Likewise.
15051         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
15052         objfile.
15053         (set_die_type): Access objfile through
15054         dwarf2_per_objfile.
15055
15056 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
15057
15058         * valprint.c (converted_character_d): Remove typedef.
15059         (DEF_VEC_O (converted_character_d)): Remove.
15060         (count_next_character): Use std::vector.
15061         (print_converted_chars_to_obstack): Likewise.
15062         (generic_printstr): Likewise.
15063
15064 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
15065
15066         * xml-support.h (struct gdb_xml_value): Add constructor.
15067         <value>: Change type to unique_xmalloc_ptr.
15068         (gdb_xml_value_s): Remove typedef.
15069         (DEF_VEC_O (gdb_xml_value_s)): Remove.
15070         (gdb_xml_element_start_handler): Change parameter type to
15071         std::vector.
15072         (xml_find_attribute): Likewise.
15073         * xml-support.c (xml_find_attribute): Change parameter type to
15074         std::vector and adjust.
15075         (gdb_xml_values_cleanup): Remove.
15076         (gdb_xml_parser::start_element): Adjust to std::vector.
15077         (xinclude_start_include): Change paraeter type to std::vector
15078         and adjust.
15079         * btrace.c (check_xml_btrace_version): Likewise.
15080         (parse_xml_btrace_block): Likewise.
15081         (parse_xml_btrace_pt_config_cpu): Likewise.
15082         (parse_xml_btrace_pt): Likewise.
15083         (parse_xml_btrace_conf_bts): Likewise.
15084         (parse_xml_btrace_conf_pt): Likewise.
15085         * memory-map.c (memory_map_start_memory): Likewise.
15086         (memory_map_start_property): Likewise.
15087         * osdata.c (osdata_start_osdata): Likewise.
15088         (osdata_start_item): Likewise.
15089         (osdata_start_column): Likewise.
15090         * remote.c (start_thread): Likewise.
15091         * solib-aix.c (library_list_start_library): Likewise.
15092         (library_list_start_list): Likewise.
15093         * solib-svr4.c (library_list_start_library): Likewise.
15094         (svr4_library_list_start_list): Likewise.
15095         * solib-target.c (library_list_start_segment): Likewise.
15096         (library_list_start_section): Likewise.
15097         (library_list_start_library): Likewise.
15098         (library_list_start_list): Likewise.
15099         * tracepoint.c (traceframe_info_start_memory): Likewise.
15100         (traceframe_info_start_tvar): Likewise.
15101         * xml-syscall.c (syscall_start_syscall): Likewise.
15102         * xml-tdesc.c (tdesc_start_target): Likewise.
15103         (tdesc_start_feature): Likewise.
15104         (tdesc_start_reg): Likewise.
15105         (tdesc_start_union): Likewise.
15106         (tdesc_start_struct): Likewise.
15107         (tdesc_start_flags): Likewise.
15108         (tdesc_start_enum): Likewise.
15109         (tdesc_start_field): Likewise.
15110         (tdesc_start_enum_value): Likewise.
15111         (tdesc_start_vector): Likewise.
15112
15113 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
15114
15115         * extension.h (struct xmethod_worker) <clone>: Remove.
15116         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
15117         Remove.
15118         (python_xmethod_worker::clone): Remove.
15119         * valops.c (find_overload_match): Use std::move instead of
15120         clone.
15121
15122 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
15123
15124         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
15125         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
15126         <free_xmethod_worker_data>: Remove.
15127         <get_matching_xmethod_workers>: Chance VEC to std::vector.
15128         <get_xmethod_arg_types>: Remove.
15129         <get_xmethod_result_type>: Remove.
15130         <invoke_xmethod>: Remove.
15131         * extension.c (new_xmethod_worker): Remove.
15132         (clone_xmethod_worker): Remove.
15133         (get_matching_xmethod_workers): Return void, pass std::vector by
15134         pointer.
15135         (get_xmethod_arg_types): Rename to...
15136         (xmethod_worker::get_arg_types): ... this, and adjust.
15137         (get_xmethod_result_type): Rename to...
15138         (xmethod_worker::get_result_type): ... this, and adjust.
15139         (invoke_xmethod): Remove.
15140         (free_xmethod_worker): Remove.
15141         (free_xmethod_worker_vec): Remove.
15142         * extension.h (enum ext_lang_rc): Move here from
15143         extension-priv.h.
15144         (struct xmethod_worker): Add constructor and destructor.
15145         <data>: Remove.
15146         <value>: Remove.
15147         <invoke, clone, do_get_result_type, do_get_arg_types>: New
15148         virtual pure methods.
15149         <get_arg_types, get_result_type>: New methods.
15150         (xmethod_worker_ptr): Remove typedef.
15151         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
15152         (xmethod_worker_vec): Remove typedef.
15153         (xmethod_worker_up): New typedef.
15154         (invoke_xmethod): Remove.
15155         (clone_xmethod_worker): Remove.
15156         (free_xmethod_worker): Remove.
15157         (free_xmethod_worker_vec): Remove.
15158         (get_xmethod_arg_types): Remove.
15159         (get_xmethod_result_type): Remove.
15160         * valops.c (find_method_list): Use std::vector, don't use
15161         intermediate vector.
15162         (value_find_oload_method_list): Use std::vector.
15163         (find_overload_match): Use std::vector.
15164         (find_oload_champ): Use std::vector.
15165         * value.c (value_free): Use operator delete.
15166         (value_of_xmethod): Rename to...
15167         (value_from_xmethod): ... this.  Don't assign
15168         xmethod_worker::value, take rvalue-reference.
15169         (result_type_of_xmethod): Adjust.
15170         (call_xmethod): Adjust.
15171         * value.h: Include extension.h.
15172         (struct xmethod_worker): Don't forward-declare.
15173         (value_of_xmethod): Rename to...
15174         (value_from_xmethod): ... this, take rvalue-reference.
15175         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
15176         (struct python_xmethod_worker): ... this, add constructor and
15177         destructor.
15178         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
15179         (gdbpy_free_xmethod_worker_data): Rename to...
15180         (python_xmethod_worker::~python_xmethod_worker): ... this and
15181         adjust.
15182         (gdbpy_clone_xmethod_worker_data): Rename to...
15183         (python_xmethod_worker::clone): ... this and adjust.
15184         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
15185         temporary vector.
15186         (gdbpy_get_xmethod_arg_types): Rename to...
15187         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
15188         (gdbpy_get_xmethod_result_type): Rename to...
15189         (python_xmethod_worker::do_get_result_type): ... this and
15190         adjust.
15191         (gdbpy_invoke_xmethod): Rename to...
15192         (python_xmethod_worker::invoke): ... this and adjust.
15193         (new_python_xmethod_worker): Rename to...
15194         (python_xmethod_worker::python_xmethod_worker): ... this and
15195         adjust.
15196         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
15197         Remove.
15198         (gdbpy_free_xmethod_worker_data): Remove.
15199         (gdbpy_get_matching_xmethod_workers): Use std::vector.
15200         (gdbpy_get_xmethod_arg_types): Remove.
15201         (gdbpy_get_xmethod_result_type): Remove.
15202         (gdbpy_invoke_xmethod): Remove.
15203         * python/python.c (python_extension_ops): Remove obsolete
15204         callbacks.
15205
15206 2018-01-05  Pedro Alves  <palves@redhat.com>
15207
15208         PR gdb/18653
15209         * common/signals-state-save-restore.c
15210         (save_original_signals_state): New parameter 'quiet'.  Warn if we
15211         find a custom handler preinstalled, instead of internal erroring.
15212         But only warn if !quiet.
15213         * common/signals-state-save-restore.h
15214         (save_original_signals_state): New parameter 'quiet'.
15215         * main.c (captured_main_1): Move save_original_signals_state call
15216         after option handling, and pass QUIET.
15217
15218 2018-01-05  Pedro Alves  <palves@redhat.com>
15219
15220         * spu-tdep.c (spu_catch_start): Pass
15221         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
15222
15223 2018-01-05  Pedro Alves  <palves@redhat.com>
15224
15225         PR gdb/22670
15226         * ada-lang.c (literal_symbol_name_matcher): New function.
15227         (ada_get_symbol_name_matcher): Use it for
15228         symbol_name_match_type::SEARCH_NAME.
15229         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
15230         it down instead of assuming symbol_name_match_type::FULL.
15231         * block.h (block_lookup_symbol): New parameter 'match_type'.
15232         * c-valprint.c (print_unpacked_pointer): Use
15233         lookup_symbol_search_name instead of lookup_symbol.
15234         * compile/compile-object-load.c (get_out_value_type): Pass down
15235         symbol_name_match_type::SEARCH_NAME.
15236         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
15237         symbol_name_match_type::FULL.
15238         * cp-support.c (cp_get_symbol_name_matcher): Handle
15239         symbol_name_match_type::SEARCH_NAME.
15240         * infrun.c (insert_exception_resume_breakpoint): Use
15241         lookup_symbol_search_name.
15242         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
15243         * psymtab.c (maintenance_check_psymtabs): Use
15244         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
15245         * stack.c (print_frame_args): Use lookup_symbol_search_name and
15246         SYMBOL_SEARCH_NAME.
15247         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
15248         if symbol_name_match_type::SEARCH_NAME.
15249         (lookup_symbol_in_language): Pass down
15250         symbol_name_match_type::FULL.
15251         (lookup_symbol_search_name): New.
15252         (lookup_language_this): Pass down
15253         symbol_name_match_type::SEARCH_NAME.
15254         (lookup_symbol_aux, lookup_local_symbol): New parameter
15255         'match_type'.  Pass it down.
15256         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
15257         (lookup_symbol_search_name): New declaration.
15258         (lookup_symbol_in_block): New 'match_type' parameter.
15259
15260 2018-01-05  Pedro Alves  <palves@redhat.com>
15261
15262         PR gdb/22670
15263         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
15264         ada_lookup_symbol.
15265         (ada_lookup_symbol): Reimplement in terms of
15266         ada_lookup_symbol_list, bits factored out from
15267         ada_lookup_encoded_symbol.
15268
15269 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
15270
15271         * ada-exp.y (write_object_renaming): When subscripting an array
15272         using a symbol as the index, pass the block in call to
15273         ada_lookup_encoded_symbol when looking that symbol up.
15274
15275 2018-01-05  Jerome Guitton  <guitton@adacore.com>
15276
15277         * ada-lang.c (ada_array_length): Use ada_index_type instead of
15278         TYPE_INDEX_TYPE.
15279
15280 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
15281
15282         * ada-lang.c (ada_to_fixed_value_create): Add handling of
15283         the case where VALUE_LVAL (val0) is not lval_memory.
15284
15285 2018-01-05  Xavier Roirand  <roirand@adacore.com>
15286
15287         * ada-valprint.c (print_optional_low_bound): Handle
15288         character-indexed array printing like boolean-indexed array
15289         printing.
15290
15291 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
15292
15293         * NEWS: Create a new section for the next release branch.
15294         Rename the section of the current branch, now that it has
15295         been cut.
15296
15297 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
15298
15299         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
15300         * version.in: Bump version to 8.1.50.DATE-git.
15301
15302 2018-01-03  Xavier Roirand  <roirand@adacore.com>
15303
15304         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
15305         Add field.
15306         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
15307         Add field.
15308         (default_exception_support_info) <catch_handlers_sym>: Add field.
15309         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
15310         (ada_exception_name_addr_1): Add "catch handlers" handling.
15311         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
15312         Update all callers.
15313         (create_excep_cond_exprs) <ex>: Add parameter.
15314         (re_set_exception): Update create_excep_cond_exprs call.
15315         (print_it_exception, print_one_exception, print_mention_exception)
15316         (print_recreate_exception): Add "catch handler" handling.
15317         (allocate_location_catch_handlers, re_set_catch_handlers)
15318         (check_status_catch_handlers, print_it_catch_handlers)
15319         (print_one_catch_handlers, print_mention_catch_handlers)
15320         (print_recreate_catch_handlers): New function.
15321         (catch_handlers_breakpoint_ops): New variable.
15322         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
15323         Add parameter.  Add "catch handler" handling.
15324         (ada_exception_sym_name, ada_exception_breakpoint_ops):
15325         Add "catch handler" handling.
15326         (ada_exception_catchpoint_cond_string): Add "catch handler"
15327         handling.
15328         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
15329         call.
15330         (catch_ada_handlers_command): New function.
15331         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
15332         operations structure.
15333         (_initialize_ada_language): Add "catch handlers" command entry.
15334         * NEWS: Document "catch handlers" feature.
15335
15336 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
15337
15338         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
15339         account when creating the array type of the slice.
15340         (ada_value_slice): Likewise.
15341
15342 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
15343
15344         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
15345         New enum value.
15346         (create_array_type_with_stride): Add byte_stride_prop parameter.
15347         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
15348         New parameter.  Update all callers in this file.
15349         (array_type_has_dynamic_stride): New function.
15350         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
15351         of arrays with dynamic byte strides.
15352         * dwarf2read.c (read_array_type): Add support for dynamic
15353         DW_AT_byte_stride attributes.
15354
15355 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
15356
15357         * dwarf2read.c (read_unspecified_type): Treat
15358         DW_TAG_enumeration_type DIEs from Ada units as stubs.
15359
15360 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
15361
15362         Update copyright year range in all GDB files.
15363
15364 2018-01-01, 18  Joel Brobecker  <brobecker@adacore.com>
15365
15366         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
15367         and gdb/testsuite/gdb.base/step-line.c.
15368
15369 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
15370
15371         * copyright.py (main): Dump the contents of
15372         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
15373         even if BY_HAND is empty.
15374
15375 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
15376
15377         * top.c (print_gdb_version): Update Copyright year in version
15378         message.
15379
15380 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
15381
15382         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
15383
15384 For older changes see ChangeLog-2017.
15385 \f
15386 Local Variables:
15387 mode: change-log
15388 left-margin: 8
15389 fill-column: 74
15390 version-control: never
15391 coding: utf-8
15392 End: