Disable -Wformat-nonliteral in parts of printcmd.c
[external/binutils.git] / gdb / ChangeLog
1 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
2
3         * printcmd.c (printf_c_string): Use
4         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
5         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
6
7 2018-09-05  Tom Tromey  <tom@tromey.com>
8
9         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
10
11 2018-09-05  Tom de Vries  <tdevries@suse.de>
12
13         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
14         with resolve_abstract_p == true.
15         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
16         defaulting to false. Propagate resolve_abstract_p to
17         dwarf2_fetch_die_loc_sect_off.
18         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
19         parameter, defaulting to false.
20         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
21         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
22         parameter.
23         * dwarf2read.h (struct die_info): Forward-declare.
24         (die_info_ptr): New typedef.
25         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
26
27 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
28
29         GDB 8.2 released.
30
31 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
32             Pedro Alves  <palves@redhat.com>
33
34         * gnulib/Makefile.in (aclocal_m4_deps): Move to
35         "aclocal-m4-deps.mk".  Include file here.
36         $(srcdir)/aclocal.m4: Add "configure.ac".
37         * gnulib/aclocal-m4-deps.mk: New file.
38         * gnulib/update-gnulib.sh: Automatically update
39         "aclocal-m4-deps.mk".
40
41 2018-09-04  Tom Tromey  <tom@tromey.com>
42
43         * configure: Rebuild.
44         * configure.ac: Remove multi-ice code.
45
46 2018-09-04  Tom Tromey  <tom@tromey.com>
47
48         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
49         (ada-exp.o): Update.
50
51 2018-09-04  Tom Tromey  <tom@tromey.com>
52
53         * Makefile.in (printcmd.o, target-float.o): Remove.
54         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
55
56 2018-09-04  Tom Tromey  <tom@tromey.com>
57
58         * gnulib/Makefile.in: Remove obsolete comment.
59         * Makefile.in: Remove obsolete comment.
60
61 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
62
63         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
64         line with '+'.
65
66 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
67
68         * riscv-tdep.c: Add 'prologue-value.h' include.
69         (struct riscv_unwind_cache): New struct.
70         (riscv_debug_unwinder): New global.
71         (riscv_scan_prologue): Update arguments, capture register details
72         from prologue scan.
73         (riscv_skip_prologue): Reformat arguments line, move end of
74         prologue calculation into riscv_scan_prologue.
75         (riscv_frame_cache): Update return type, create
76         riscv_unwind_cache, scan the prologue, and fill in remaining cache
77         details.
78         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
79         (riscv_frame_prev_register): Use the trad_frame within the
80         riscv_unwind_cache.
81         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
82         flag.
83
84 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
85
86         * trad-frame.h (trad_frame_set_realreg): Declare.
87         (trad_frame_set_addr): Declare.
88         * trad-frame.c (trad_frame_set_realreg): Define new function.
89         (trad_frame_set_addr): Define new function.
90         (trad_frame_set_reg_realreg): Use new function.
91         (trad_frame_set_reg_addr): Use new function.
92
93 2018-09-01  Keith Seitz  <keiths@redhat.com>
94
95         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
96         pulongest instead of "%lld".
97         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
98         ATTRIBUTE_UNUSED.
99
100 2018-08-31  Tom Tromey  <tom@tromey.com>
101
102         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
103         variant part type.
104
105 2018-08-31  Pedro Alves  <palves@redhat.com>
106
107         * gdbarch.h: Regenerate.
108
109 2018-08-31  Pedro Alves  <palves@redhat.com>
110
111         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
112         * target.h (Hardware watchpoint interfaces): Describe
113         continuable/steppable/non-steppable watchpoints.
114         * gdbarch.h, gdbarch.c: Regenerate.
115
116 2018-08-31  Pedro Alves  <palves@redhat.com>
117
118         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
119         Delete.
120         * s390-linux-nat.c
121         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
122         * target.h (target_ops::have_continuable_watchpoint): Delete.
123         (target_have_continuable_watchpoint): Delete.
124         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
125         * target-delegates.c: Regenerate.
126
127 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
128
129         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
130         the files present in "gnulib/import/m4/".
131
132 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
133
134         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
135         c.sw, c.swsp, and c.sdsp.
136
137 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
138
139         * riscv-tdep.c (struct riscv_inferior_data): Delete.
140         (riscv_read_misa_reg): Don't cache value read into inferior data.
141         (riscv_new_inferior_data): Delete.
142         (riscv_inferior_data_cleanup): Delete.
143         (riscv_inferior_data): Delete.
144         (riscv_invalidate_inferior_data): Delete.
145         (_initialize_riscv_tdep): Remove initialisation of inferior data.
146
147 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
148
149         * compile/compile-cplus-types.c
150         (compile_cplus_instance::leave_scope): Take the address of scope
151         object.
152         (compile_cplus_instance::convert_qualified_base): Compare quals
153         to 0.
154
155 2018-08-30  Keith Seitz  <keiths@redhat.com>
156
157         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
158         Use "%s" and host_address_to_string instead of "%p" in printf.
159
160 2018-08-29  Keith Seitz  <keiths@redhat.com>
161
162         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
163         and compile-cplus-types.c.
164         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
165         * c-lang.c (cplus_language_defn): Set C++ compile functions.
166         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
167         Declare.
168         * compile/compile-c-support.c: Include compile-cplus.h.
169         (load_libcompile): Templatize.
170         (get_compile_context): "New" function.
171         (c_get_compile_context): Use get_compile_context.
172         (cplus_get_compile_context): New function.
173         (cplus_push_user_expression, cplus_pop_user_expression)
174         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
175         (cplus_compute_program): Define new structs/functions.
176         * compile/compile-cplus-symmbols.c: New file.
177         * compile/compile-cplus-types.c: New file.
178         * compile/compile-cplus.h: New file.
179         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
180         Declare.
181         * compile/compile-object-load.c (get_out_value_type): Use
182         strncmp_iw when comparing symbol names.
183         (compile_object_load): Add mst_bss and mst_data.
184         * compile/compile.c (_initialize_compile): Remove
185         -Wno-implicit-function-declaration from `compile_args'.
186         * compile/gcc-cp-plugin.h: New file.
187         * NEWS: Mention C++ compile support and new debug options.
188
189 2018-08-29  Keith Seitz  <keiths@redhat.com>
190
191         * linespec.c (collect_info::add_symbol): Make virtual.
192         (struct symbol_searcher_collect_info): New struct.
193         (symbol_searcher::find_all_symbols): New method.
194         * symtab.h (class symbol_searcher): New class.
195
196 2018-08-29  Keith Seitz  <keiths@redhat.com>
197
198         * linespec.c (struct linespec) <function_symbols, label_symbols>:
199         Change to vector of block_symbol.  Update all users.
200         (struct collect_info) <symbols>: Likewise.
201         (collect_info::add_symbol): Take block_symbol as argument.
202         Update all callers.
203         (decode_compound_collector) <m_symbols>: Change type to vector
204         of block_symbol.  Update all users.
205         (decode_compound_collector::operator ()): Change parameter type
206         to block_symbol.
207         (find_method, find_function_symbols, find_linespec_symbols)
208         (find_label_symbols_in_block, find_label_symbols): Change symbol
209         vectors to block_symbol vectors.
210         * symtab.h (symbol_found_callback_ftype): Change parameter type to
211         block_symbol.
212
213 2018-08-29  Keith Seitz  <keiths@redhat.com>
214
215         * linespec.c (symbolp): Remove typedef and VEC definitions.
216         (bound_minimal_symbol_d): Likewise.
217
218 2018-08-29  Keith Seitz  <keiths@redhat.com>
219
220         * linespec.c (decode_compound_collector::decode_compound_collector):
221         Remove initialization for `m_symtabs'.
222         (decode_compound_collector::release_symbols): Change return type
223         to std::vector.  Update all callers.
224         (class decode_compound_collector) <m_symbols>: Change type to
225         std::vector.
226         (lookup_prefix_sym): Change return type to std::vector.  Update all
227         callers.
228         (compare_symbols): Remove.
229         (std_compare_symbols): Rename to `compare_symbols'.
230         (find_method): Change `sym_classes' parameter to std::vector.
231         Update all callers.  Use std::sort to sort sym_classes.
232         (find_linespec_symbols): Remove cleanup.
233
234 2018-08-29  Keith Seitz  <keiths@redhat.com>
235
236         * linespec.c (struct linespec) <minimal_symbols>: Change type to
237         std::vector.  Update all users.
238         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
239         (struct collect_info) <minimal_symbols>: Likewise.
240         (compare_msymbols): Return bool.  Change parameters to const
241         bound_minimal_symbol references.
242         (find_method, find_function_symbols, find_linespec_symbols): Change
243         `minsyms' parameter to std::vector.  Update all callers.
244
245 2018-08-29  Keith Seitz  <keiths@redhat.com>
246
247         * linespec.c (struct linespec) <label_symbols>: Change type to
248         std::vector.  Update all users.
249         (find_label_symbols_in_block): Change `result' parameter to
250         std::vector.  Update all callers.
251         (find_label_symbols): Return std::vector.  Update all callers.
252
253 2018-08-29  Keith Seitz  <keiths@redhat.com>
254
255         * linespec.c (struct linespec) <function_symbols>: Change type to
256         std::vector.  Update all users.
257         (struct collect_info) <function_symbols>: Likewise.
258         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
259         (std_compare_symbols): New function.
260         (find_method, find_function_symbols, find_linespec_symbols)
261         (find_label_symbols_in_block): Change `symbols' parameter to
262         std::vector.  Update all callers.
263         (find_label_symbols): Likewise for `function_symbols' and
264         `label_funcs_ret'.
265
266 2018-08-29  Keith Seitz  <keiths@redhat.com>
267
268         * linespec.c (symtab_vector_up): Define.
269         (struct linespec) <file_symtabs>: Change type to std::vector *.
270         Update all uses.
271         (struct collect_info) <file_symtabs>: Likewise.
272         (collect_symtabs_from_filename): Return symtab_vector_up.
273         Update all callers.
274         (decode_objc): Remove cleanup.
275         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
276         (symtab_collector::release_symtabs): Return symtab_vector_up.
277         Update all callers.
278         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
279         Update all users.
280         (collect_symtabs_from_filename, symtabs_from_filename): Return
281         symtab_vector_up.  Update all callers.
282
283 2018-08-29  Tom Tromey  <tom@tromey.com>
284
285         * csky-tdep.c (csky_analyze_prologue): Use
286         core_addr_to_string_nz.
287
288 2018-08-29  Tom Tromey  <tom@tromey.com>
289
290         * windows-nat.c (struct xlate_exception) <them>: Change type to
291         DWORD.
292         (xlate): Fix formatting.  Remove last entry.
293         (struct xlate_exception, xlate): Comment out.
294         (windows_nat_target::resume): Use ranged for.
295
296 2018-08-29  Jim Wilson  <jimw@sifive.com>
297
298         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
299         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
300         of NT_PRFPREG.
301         (riscv_linux_nat_target::store_registers): Likewise.
302
303 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
304
305         PR gdb/23555
306         PR gdb/23558
307         * gnulib/aclocal.m4: Regenerate.
308         * gnulib/config.in: Regenerate.
309         * gnulib/configure: Regenerate.
310         * gnulib/import/Makefile.am: Update.
311         * gnulib/import/Makefile.in: Update.
312         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
313         * gnulib/import/_Noreturn.h: ... this.
314         * gnulib/import/alloca.in.h: Update.
315         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
316         * gnulib/import/arg-nonnull.h: ... this.
317         * gnulib/import/assure.h: Update.
318         * gnulib/import/at-func.c: Update.
319         * gnulib/import/basename-lgpl.c: Update.
320         * gnulib/import/extra/snippet/c++defs.h: Rename to...
321         * gnulib/import/c++defs.h: ... this.
322         * gnulib/import/canonicalize-lgpl.c: Update.
323         * gnulib/import/cdefs.h: Update.
324         * gnulib/import/chdir-long.c: Update.
325         * gnulib/import/chdir-long.h: Update.
326         * gnulib/import/cloexec.c: Update.
327         * gnulib/import/cloexec.h: Update.
328         * gnulib/import/close.c: Update.
329         * gnulib/import/closedir.c: Update.
330         * gnulib/import/config.charset: Update.
331         * gnulib/import/dirent-private.h: Update.
332         * gnulib/import/dirent.in.h: Update.
333         * gnulib/import/dirfd.c: Update.
334         * gnulib/import/dirname-lgpl.c: Update.
335         * gnulib/import/dirname.h: Update.
336         * gnulib/import/dosname.h: Update.
337         * gnulib/import/dup-safer-flag.c: Update.
338         * gnulib/import/dup-safer.c: Update.
339         * gnulib/import/dup.c: Update.
340         * gnulib/import/dup2.c: Update.
341         * gnulib/import/errno.in.h: Update.
342         * gnulib/import/error.c: Update.
343         * gnulib/import/error.h: Update.
344         * gnulib/import/exitfail.c: Update.
345         * gnulib/import/exitfail.h: Update.
346         * gnulib/import/extra/update-copyright: Update.
347         * gnulib/import/fchdir.c: Update.
348         * gnulib/import/fcntl.c: Update.
349         * gnulib/import/fcntl.in.h: Update.
350         * gnulib/import/fd-hook.c: Update.
351         * gnulib/import/fd-hook.h: Update.
352         * gnulib/import/fd-safer-flag.c: Update.
353         * gnulib/import/fd-safer.c: Update.
354         * gnulib/import/fdopendir.c: Update.
355         * gnulib/import/filename.h: Update.
356         * gnulib/import/filenamecat-lgpl.c: Update.
357         * gnulib/import/filenamecat.h: Update.
358         * gnulib/import/flexmember.h: Update.
359         * gnulib/import/float+.h: Update.
360         * gnulib/import/float.c: Update.
361         * gnulib/import/float.in.h: Update.
362         * gnulib/import/fnmatch.c: Update.
363         * gnulib/import/fnmatch.in.h: Update.
364         * gnulib/import/fnmatch_loop.c: Update.
365         * gnulib/import/fpucw.h: Update.
366         * gnulib/import/frexp.c: Update.
367         * gnulib/import/frexpl.c: Update.
368         * gnulib/import/fstat.c: Update.
369         * gnulib/import/fstatat.c: Update.
370         * gnulib/import/getcwd-lgpl.c: Update.
371         * gnulib/import/getcwd.c: Update.
372         * gnulib/import/getdtablesize.c: Update.
373         * gnulib/import/getlogin_r.c: Update.
374         * gnulib/import/getprogname.c: Update.
375         * gnulib/import/getprogname.h: Update.
376         * gnulib/import/gettext.h: Update.
377         * gnulib/import/gettimeofday.c: Update.
378         * gnulib/import/glob-libc.h: Update.
379         * gnulib/import/glob.c: Update.
380         * gnulib/import/glob.in.h: Update.
381         * gnulib/import/glob_internal.h: Update.
382         * gnulib/import/glob_pattern_p.c: Update.
383         * gnulib/import/globfree.c: Update.
384         * gnulib/import/hard-locale.c: Update.
385         * gnulib/import/hard-locale.h: Update.
386         * gnulib/import/intprops.h: Update.
387         * gnulib/import/inttypes.in.h: Update.
388         * gnulib/import/isnan.c: Update.
389         * gnulib/import/isnand-nolibm.h: Update.
390         * gnulib/import/isnand.c: Update.
391         * gnulib/import/isnanl-nolibm.h: Update.
392         * gnulib/import/isnanl.c: Update.
393         * gnulib/import/itold.c: Update.
394         * gnulib/import/libc-config.h: Update.
395         * gnulib/import/limits.in.h: Update.
396         * gnulib/import/localcharset.c: Update.
397         * gnulib/import/localcharset.h: Update.
398         * gnulib/import/localtime-buffer.c: Update.
399         * gnulib/import/localtime-buffer.h: Update.
400         * gnulib/import/lstat.c: Update.
401         * gnulib/import/m4/00gnulib.m4: Update.
402         * gnulib/import/m4/__inline.m4: Update.
403         * gnulib/import/m4/absolute-header.m4: Update.
404         * gnulib/import/m4/alloca.m4: Update.
405         * gnulib/import/m4/builtin-expect.m4: Update.
406         * gnulib/import/m4/canonicalize.m4: Update.
407         * gnulib/import/m4/chdir-long.m4: Update.
408         * gnulib/import/m4/close.m4: Update.
409         * gnulib/import/m4/closedir.m4: Update.
410         * gnulib/import/m4/configmake.m4: Update.
411         * gnulib/import/m4/d-ino.m4: Update.
412         * gnulib/import/m4/d-type.m4: Update.
413         * gnulib/import/m4/dirent_h.m4: Update.
414         * gnulib/import/m4/dirfd.m4: Update.
415         * gnulib/import/m4/dirname.m4: Update.
416         * gnulib/import/m4/double-slash-root.m4: Update.
417         * gnulib/import/m4/dup.m4: Update.
418         * gnulib/import/m4/dup2.m4: Update.
419         * gnulib/import/m4/eealloc.m4: Update.
420         * gnulib/import/m4/environ.m4: Update.
421         * gnulib/import/m4/errno_h.m4: Update.
422         * gnulib/import/m4/error.m4: Update.
423         * gnulib/import/m4/exponentd.m4: Update.
424         * gnulib/import/m4/exponentl.m4: Update.
425         * gnulib/import/m4/extensions.m4: Update.
426         * gnulib/import/m4/extern-inline.m4: Update.
427         * gnulib/import/m4/fchdir.m4: Update.
428         * gnulib/import/m4/fcntl-o.m4: Update.
429         * gnulib/import/m4/fcntl.m4: Update.
430         * gnulib/import/m4/fcntl_h.m4: Update.
431         * gnulib/import/m4/fdopendir.m4: Update.
432         * gnulib/import/m4/filenamecat.m4: Update.
433         * gnulib/import/m4/flexmember.m4: Update.
434         * gnulib/import/m4/float_h.m4: Update.
435         * gnulib/import/m4/fnmatch.m4: Update.
436         * gnulib/import/m4/fnmatch_h.m4: Update.
437         * gnulib/import/m4/fpieee.m4: Update.
438         * gnulib/import/m4/frexp.m4: Update.
439         * gnulib/import/m4/frexpl.m4: Update.
440         * gnulib/import/m4/fstat.m4: Update.
441         * gnulib/import/m4/fstatat.m4: Update.
442         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
443         * gnulib/import/m4/getcwd-path-max.m4: Update.
444         * gnulib/import/m4/getcwd.m4: Update.
445         * gnulib/import/m4/getdtablesize.m4: Update.
446         * gnulib/import/m4/getlogin.m4: Update.
447         * gnulib/import/m4/getlogin_r.m4: Update.
448         * gnulib/import/m4/getpagesize.m4: Update.
449         * gnulib/import/m4/getprogname.m4: Update.
450         * gnulib/import/m4/gettimeofday.m4: Update.
451         * gnulib/import/m4/glibc21.m4: Update.
452         * gnulib/import/m4/glob.m4: Update.
453         * gnulib/import/m4/glob_h.m4: Update.
454         * gnulib/import/m4/gnulib-cache.m4: Update.
455         * gnulib/import/m4/gnulib-common.m4: Update.
456         * gnulib/import/m4/gnulib-comp.m4: Update.
457         * gnulib/import/m4/gnulib-tool.m4: Update.
458         * gnulib/import/m4/hard-locale.m4: Update.
459         * gnulib/import/m4/include_next.m4: Update.
460         * gnulib/import/m4/inttypes-pri.m4: Update.
461         * gnulib/import/m4/inttypes.m4: Update.
462         * gnulib/import/m4/isnand.m4: Update.
463         * gnulib/import/m4/isnanl.m4: Update.
464         * gnulib/import/m4/largefile.m4: Update.
465         * gnulib/import/m4/limits-h.m4: Update.
466         * gnulib/import/m4/localcharset.m4: Update.
467         * gnulib/import/m4/locale-fr.m4: Update.
468         * gnulib/import/m4/locale-ja.m4: Update.
469         * gnulib/import/m4/locale-zh.m4: Update.
470         * gnulib/import/m4/localtime-buffer.m4: Update.
471         * gnulib/import/m4/longlong.m4: Update.
472         * gnulib/import/m4/lstat.m4: Update.
473         * gnulib/import/m4/malloc.m4: Update.
474         * gnulib/import/m4/malloca.m4: Update.
475         * gnulib/import/m4/math_h.m4: Update.
476         * gnulib/import/m4/mbrtowc.m4: Update.
477         * gnulib/import/m4/mbsinit.m4: Update.
478         * gnulib/import/m4/mbsrtowcs.m4: Update.
479         * gnulib/import/m4/mbstate_t.m4: Update.
480         * gnulib/import/m4/memchr.m4: Update.
481         * gnulib/import/m4/memmem.m4: Update.
482         * gnulib/import/m4/mempcpy.m4: Update.
483         * gnulib/import/m4/memrchr.m4: Update.
484         * gnulib/import/m4/mkdir.m4: Update.
485         * gnulib/import/m4/mkstemp.m4: Update.
486         * gnulib/import/m4/mmap-anon.m4: Update.
487         * gnulib/import/m4/mode_t.m4: Update.
488         * gnulib/import/m4/msvc-inval.m4: Update.
489         * gnulib/import/m4/msvc-nothrow.m4: Update.
490         * gnulib/import/m4/multiarch.m4: Update.
491         * gnulib/import/m4/nocrash.m4: Update.
492         * gnulib/import/m4/off_t.m4: Update.
493         * gnulib/import/m4/onceonly.m4: Update.
494         * gnulib/import/m4/open-cloexec.m4: Update.
495         * gnulib/import/m4/open.m4: Update.
496         * gnulib/import/m4/openat.m4: Update.
497         * gnulib/import/m4/opendir.m4: Update.
498         * gnulib/import/m4/pathmax.m4: Update.
499         * gnulib/import/m4/rawmemchr.m4: Update.
500         * gnulib/import/m4/readdir.m4: Update.
501         * gnulib/import/m4/readlink.m4: Update.
502         * gnulib/import/m4/realloc.m4: Update.
503         * gnulib/import/m4/rename.m4: Update.
504         * gnulib/import/m4/rewinddir.m4: Update.
505         * gnulib/import/m4/rmdir.m4: Update.
506         * gnulib/import/m4/save-cwd.m4: Update.
507         * gnulib/import/m4/secure_getenv.m4: Update.
508         * gnulib/import/m4/setenv.m4: Update.
509         * gnulib/import/m4/signal_h.m4: Update.
510         * gnulib/import/m4/ssize_t.m4: Update.
511         * gnulib/import/m4/stat-time.m4: Update.
512         * gnulib/import/m4/stat.m4: Update.
513         * gnulib/import/m4/std-gnu11.m4: Update.
514         * gnulib/import/m4/stdbool.m4: Update.
515         * gnulib/import/m4/stddef_h.m4: Update.
516         * gnulib/import/m4/stdint.m4: Update.
517         * gnulib/import/m4/stdio_h.m4: Update.
518         * gnulib/import/m4/stdlib_h.m4: Update.
519         * gnulib/import/m4/strchrnul.m4: Update.
520         * gnulib/import/m4/strdup.m4: Update.
521         * gnulib/import/m4/strerror.m4: Update.
522         * gnulib/import/m4/string_h.m4: Update.
523         * gnulib/import/m4/strstr.m4: Update.
524         * gnulib/import/m4/strtok_r.m4: Update.
525         * gnulib/import/m4/sys_socket_h.m4: Update.
526         * gnulib/import/m4/sys_stat_h.m4: Update.
527         * gnulib/import/m4/sys_time_h.m4: Update.
528         * gnulib/import/m4/sys_types_h.m4: Update.
529         * gnulib/import/m4/tempname.m4: Update.
530         * gnulib/import/m4/time_h.m4: Update.
531         * gnulib/import/m4/unistd-safer.m4: Update.
532         * gnulib/import/m4/unistd_h.m4: Update.
533         * gnulib/import/m4/warn-on-use.m4: Update.
534         * gnulib/import/m4/wchar_h.m4: Update.
535         * gnulib/import/m4/wchar_t.m4: Update.
536         * gnulib/import/m4/wctype_h.m4: Update.
537         * gnulib/import/m4/wint_t.m4: Update.
538         * gnulib/import/malloc.c: Update.
539         * gnulib/import/malloc/scratch_buffer.h: Update.
540         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
541         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
542         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
543         * gnulib/import/malloca.c: Update.
544         * gnulib/import/malloca.h: Update.
545         * gnulib/import/malloca.valgrind: Update.
546         * gnulib/import/math.in.h: Update.
547         * gnulib/import/mbrtowc.c: Update.
548         * gnulib/import/mbsinit.c: Update.
549         * gnulib/import/mbsrtowcs-impl.h: Update.
550         * gnulib/import/mbsrtowcs-state.c: Update.
551         * gnulib/import/mbsrtowcs.c: Update.
552         * gnulib/import/memchr.c: Update.
553         * gnulib/import/memmem.c: Update.
554         * gnulib/import/mempcpy.c: Update.
555         * gnulib/import/memrchr.c: Update.
556         * gnulib/import/mkdir.c: Update.
557         * gnulib/import/mkstemp.c: Update.
558         * gnulib/import/msvc-inval.c: Update.
559         * gnulib/import/msvc-inval.h: Update.
560         * gnulib/import/msvc-nothrow.c: Update.
561         * gnulib/import/msvc-nothrow.h: Update.
562         * gnulib/import/open.c: Update.
563         * gnulib/import/openat-die.c: Update.
564         * gnulib/import/openat-priv.h: Update.
565         * gnulib/import/openat-proc.c: Update.
566         * gnulib/import/openat.c: Update.
567         * gnulib/import/openat.h: Update.
568         * gnulib/import/opendir.c: Update.
569         * gnulib/import/pathmax.h: Update.
570         * gnulib/import/pipe-safer.c: Update.
571         * gnulib/import/rawmemchr.c: Update.
572         * gnulib/import/readdir.c: Update.
573         * gnulib/import/readlink.c: Update.
574         * gnulib/import/realloc.c: Update.
575         * gnulib/import/ref-add.sin: Update.
576         * gnulib/import/ref-del.sin: Update.
577         * gnulib/import/rename.c: Update.
578         * gnulib/import/rewinddir.c: Update.
579         * gnulib/import/rmdir.c: Update.
580         * gnulib/import/same-inode.h: Update.
581         * gnulib/import/save-cwd.c: Update.
582         * gnulib/import/save-cwd.h: Update.
583         * gnulib/import/scratch_buffer.h: Update.
584         * gnulib/import/secure_getenv.c: Update.
585         * gnulib/import/setenv.c: Update.
586         * gnulib/import/signal.in.h: Update.
587         * gnulib/import/stat-time.c: Update.
588         * gnulib/import/stat-time.h: Update.
589         * gnulib/import/stat-w32.c: Update.
590         * gnulib/import/stat-w32.h: Update.
591         * gnulib/import/stat.c: Update.
592         * gnulib/import/stdbool.in.h: Update.
593         * gnulib/import/stddef.in.h: Update.
594         * gnulib/import/stdint.in.h: Update.
595         * gnulib/import/stdio.in.h: Update.
596         * gnulib/import/stdlib.in.h: Update.
597         * gnulib/import/str-two-way.h: Update.
598         * gnulib/import/strchrnul.c: Update.
599         * gnulib/import/strdup.c: Update.
600         * gnulib/import/streq.h: Update.
601         * gnulib/import/strerror-override.c: Update.
602         * gnulib/import/strerror-override.h: Update.
603         * gnulib/import/strerror.c: Update.
604         * gnulib/import/string.in.h: Update.
605         * gnulib/import/stripslash.c: Update.
606         * gnulib/import/strnlen1.c: Update.
607         * gnulib/import/strnlen1.h: Update.
608         * gnulib/import/strstr.c: Update.
609         * gnulib/import/strtok_r.c: Update.
610         * gnulib/import/sys_stat.in.h: Update.
611         * gnulib/import/sys_time.in.h: Update.
612         * gnulib/import/sys_types.in.h: Update.
613         * gnulib/import/tempname.c: Update.
614         * gnulib/import/tempname.h: Update.
615         * gnulib/import/time.in.h: Update.
616         * gnulib/import/unistd--.h: Update.
617         * gnulib/import/unistd-safer.h: Update.
618         * gnulib/import/unistd.in.h: Update.
619         * gnulib/import/unsetenv.c: Update.
620         * gnulib/import/verify.h: Update.
621         * gnulib/import/extra/snippet/warn-on-use.h: Update.
622         * gnulib/import/wchar.in.h: Update.
623         * gnulib/import/wctype.in.h: Update.
624         * gnulib/import/xalloc-oversized.h: Update.
625         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
626         "53e2c179f26a890fa6685af4b6c1397ee370433b".
627
628 2018-08-16  Gary Benson <gbenson@redhat.com>
629
630         PR gdb/13000:
631         * gdb/main.c (captured_main_1): Exit with nonzero status
632         in batch mode if the last command to be executed failed.
633         * NEWS: Mention the above.
634
635 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
636
637         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
638         end of warning message.
639
640 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
641
642         PR gdb/22943:
643         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
644         (aarch64_extract_return_value): Use
645         aapcs_is_vfp_call_or_return_candidate.
646         (aarch64_return_in_memory): Likewise.
647         (aarch64_store_return_value): Likewise.
648
649 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
650
651         * aarch64-tdep.c
652         (aapcs_is_vfp_call_or_return_candidate): Make static
653         (pass_in_v_or_stack): Remove function.
654         (pass_in_v_vfp_candidate): New function.
655         (aarch64_push_dummy_call): Check for float register candidates.
656
657 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
658
659         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
660         (aapcs_is_vfp_call_or_return_candidate_1): New function.
661         (aapcs_is_vfp_call_or_return_candidate): Likewise.
662
663 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
664
665         PR build/23399
666         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
667         (struct ipa_sym_addresses): Rename to...
668         (struct ipa_sym_addresses_common): ... this.
669         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
670
671 2018-08-28  Tom Tromey  <tom@tromey.com>
672
673         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
674         (token_fifo): Now a std::vector.
675         (yylex, c_parse): Update.
676         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
677         (token_fifo): Now a std::vector.
678         (yylex, d_parse): Update.
679         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
680         (token_fifo): Now a std::vector.
681         (yylex, go_parse): Update.
682
683 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
684
685         * parser-defs.h (struct type_stack) <elements>: Change type to
686         std::vector<union type_stack_elt>.
687         <depth, size>: Remove.
688         * parse.c (parse_exp_in_context_1): Adjust.
689         (type_stack_reserve): Remove.
690         (check_type_stack_depth): Remove.
691         (insert_into_type_stack): Adjust to std::vector.
692         (insert_type): Likewise.
693         (push_type): Likewise.
694         (push_type_int): Likewise.
695         (insert_type_address_space): Likewise.
696         (pop_type): Likewise.
697         (pop_type_int): Likewise.
698         (pop_typelist): Likewise.
699         (pop_type_stack): Likewise.
700         (append_type_stack): Likewise.
701         (push_type_stack): Likewise.
702         (get_type_stack): Likewise.
703         (type_stack_cleanup): Likewise.
704         (push_typelist): Likewise.
705         (follow_types): Likewise.
706         (_initialize_parse): Likewise.
707
708 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
709
710         * NEWS: Mention csky target.
711
712 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
713             Hafiz Abid Qadeer  <abidh@codesourcery.com>
714             Don Breazeal  <donb@codesourcery.com>
715
716         * csky-linux-tdep.c: New file.
717         * csky-tdep.c: Likewise.
718         * csky-tdep.h: Likewise.
719         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
720         csky-tdep.o.
721         (HFILES_NO_SRCDIR): Add csky-tdep.h.
722         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
723         * configure.tgt: Add csky support.
724
725 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
726
727         * python/py-framefilter.c (py_print_frame): Print frame architecture
728         when printing on an MI output.
729
730 2018-08-27  Tom Tromey  <tom@tromey.com>
731
732         PR build/23087:
733         * configure: Rebuild.
734         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
735
736 2018-08-27  Tom Tromey  <tom@tromey.com>
737
738         * aarch64-linux-tdep.c
739         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
740         casts to int.
741
742 2018-08-27  Tom Tromey  <tom@tromey.com>
743
744         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
745         unsigned.
746         (ppc64_standard_linkage1, ppc64_standard_linkage2)
747         (ppc64_standard_linkage3, ppc64_standard_linkage4)
748         (ppc64_standard_linkage5, ppc64_standard_linkage6)
749         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
750         unsigned.
751
752 2018-08-27  Tom Tromey  <tom@tromey.com>
753
754         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
755         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
756
757 2018-08-27  Tom Tromey  <tom@tromey.com>
758
759         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
760         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
761         ULONGEST_MAX.
762         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
763         ULONGEST_MAX.
764         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
765         ULONGEST_MAX.
766         * sparc-linux-tdep.c (sparc32_linux_sigframe)
767         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
768         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
769         ULONGEST_MAX.
770         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
771         (ppc64_linux_sigaction_tramp_frame)
772         (ppc32_linux_sighandler_tramp_frame)
773         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
774         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
775         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
776         * mn10300-linux-tdep.c (am33_linux_sigframe)
777         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
778         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
779         * mips-linux-tdep.c (mips_linux_o32_sigframe)
780         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
781         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
782         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
783         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
784         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
785         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
786         * microblaze-linux-tdep.c
787         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
788         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
789         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
790         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
791         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
792         * common/common-types.h (ULONGEST_MAX): New define.
793         (CORE_ADDR_MAX): Fix formatting.
794         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
795         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
796         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
797         (arm_linux_rt_sigreturn_tramp_frame)
798         (arm_eabi_linux_sigreturn_tramp_frame)
799         (arm_eabi_linux_rt_sigreturn_tramp_frame)
800         (thumb2_eabi_linux_sigreturn_tramp_frame)
801         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
802         (arm_linux_restart_syscall_tramp_frame)
803         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
804         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
805         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
806         ULONGEST_MAX.
807         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
808
809 2018-08-27  Tom Tromey  <tom@tromey.com>
810
811         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
812         CORE_ADDR_MAX.
813         * mips-tdep.c (mips_deal_with_atomic_sequence)
814         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
815         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
816         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
817         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
818         CORE_ADDR_MAX.
819         * aarch64-tdep.c (aarch64_software_single_step): Use
820         CORE_ADDR_MAX.
821
822 2018-08-27  Tom Tromey  <tom@tromey.com>
823
824         * linespec.c (complete_linespec_component): Add cast to "char".
825         * completer.c (completion_tracker::build_completion_result): Add
826         cast to "char".
827
828 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
829
830         * solist.h (struct solist, struct target_so_ops): Fix
831         indentation.
832
833 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
834
835         * ada-tasks.c (ada_task_info_s): Remove typedef.
836         (DEF_VEC_O(ada_task_info_s)): Remove.
837         (struct ada_tasks_inferior_data): Initialize fields.
838         <task_list>: Make an std::vector.
839         (get_ada_tasks_inferior_data): Allocate with new.
840         (ada_get_task_number): Adjust.
841         (get_task_number_from_id): Likewise.
842         (valid_task_id): Likewise.
843         (ada_get_task_info_from_ptid): Likewise.
844         (iterate_over_live_ada_tasks): Likewise.
845         (add_ada_task): Likewise.
846         (read_known_tasks): Likewise.
847         (ada_build_task_list): Likewise.
848         (print_ada_task_info): Likewise.
849         (info_task): Likewise.
850         (task_command_1): Likewise.
851
852 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
853
854         * ada-lang.c (add_angle_brackets): Return std::string.
855
856 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
857
858         * python/py-threadevent.c (py_get_event_thread): Initialize
859         pythread.
860
861 2018-08-24  Pedro Alves  <palves@redhat.com>
862
863         * python/py-bpevent.c (create_breakpoint_event_object): Use
864         copy-initialization.
865         * python/py-continueevent.c (emit_continue_event): Use
866         copy-initialization.
867         * python/py-exitedevent.c (create_exited_event_object): Return a
868         gdbpy_ref<>.
869         (emit_exited_event): Use copy-initialization.
870         * python/py-inferior.c (python_new_inferior)
871         (python_inferior_deleted, add_thread_object): Use
872         copy-initialization.
873         * python/py-infevents.c (create_inferior_call_event_object)
874         (create_register_changed_event_object)
875         (create_memory_changed_event_object): Return a gdbpy_ref<>.
876         (emit_inferior_call_event, emit_memory_changed_event)
877         (emit_register_changed_event): Use copy-initialization.
878         * python/py-newobjfileevent.c (create_new_objfile_event_object):
879         Return a gdbpy_ref<>.
880         (emit_new_objfile_event): Use copy-initialization.
881         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
882         (emit_clear_objfiles_event): Use copy-initialization.
883         * python/py-signalevent.c (create_signal_event_object): Use
884         copy-initialization.
885         * python/py-threadevent.c (create_thread_event_object): Use
886         copy-initialization.
887
888 2018-08-24  Pedro Alves  <palves@redhat.com>
889             Simon Marchi  <simon.marchi@ericsson.com>
890
891         PR gdb/23379
892         * python/py-continueevent.c: Include "gdbthread.h".
893         (create_continue_event_object): Add intro comment.  Add 'ptid'
894         parameter.  Use it to find thread to pass to
895         create_thread_event_object.
896         (emit_continue_event): Pass PTID down to
897         create_continue_event_object.
898         * python/py-event.h (py_get_event_thread): Declare.
899         (create_thread_event_object): Remove default from 'thread'
900         parameter.
901         * python/py-stopevent.c (create_stop_event_object): Use
902         py_get_event_thread.
903         * python/py-threadevent.c (get_event_thread): Rename to ...
904         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
905         and use it to find the thread.
906         (create_thread_event_object): Assert that THREAD isn't null.
907         Don't find the event thread here.
908
909 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
910
911         * block.h (blockrange, blockranges): New struct declarations.
912         (struct block): Add new field named `ranges'.
913         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
914         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
915         macros for accessing ranges in struct block.
916         (make_blockranges): New declaration.
917         block.c (make_blockranges): New function.
918         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
919         for block.
920         * symtab.h (find_pc_partial_function): Add new parameter `block'.
921         * blockframe.c (cache_pc_function_block): New static global.
922         (clear_pc_function_cache): Clear cache_pc_function_block.
923         (find_pc_partial_function): Move comment to symtab.h.  Add
924         support for non-contiguous blocks.
925         * cli/cli-cmds.c (block.h): Include.
926         (print_disassembly): Handle printing of non-contiguous blocks.
927         (disassemble_current_function): Likewise.
928         (disassemble_command): Likewise.
929
930         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
931         BLOCK_START.
932         * blockframe.c (get_pc_function_start): Likewise.
933         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
934         (gcc_symbol_address): Likewise.
935         * compile/compile-object-run.c (compile_object_run): Likewise.
936         * compile/compile.c (get_expr_block_and_pc): Likewise.
937         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
938         (func_addr_to_tail_call_list): Likewise.
939         * findvar.c (default_read_var_value): Likewise.
940         * inline-frame.c (inline_frame_this_id): Likewise.
941         (skip-inline_frames): Likewise.
942         * infcmd.c (until_next_command): Likewise.
943         * linespec.c (convert_linespec_to_sals): Likewise.
944         * parse.c (parse_exp_in_context_1): Likewise.
945         * printcmd.c (build_address_symbolic): likewise.
946         (info_address_command): Likewise.
947         symtab.c (find_function_start_sal): Likewise.
948         (skip_prologue_sal): Likewise.
949         (find_function_alias_target): Likewise.
950         (find_gnu_ifunc): Likewise.
951         * stack.c (find_frame_funname): Likewise.
952         * symtab.c (fixup_symbol_section): Likewise.
953         (find_function_start_sal): Likewise.
954         (skip_prologue_sal): Likewsie.
955         (find_function_alias_target): Likewise.
956         (find_gnu_ifunc): Likewise.
957         * tracepoint.c (info_scope_command): Likewise.
958         * value.c (value_fn_field): Likewise.
959
960         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
961         in place of find_pc_partial_function.
962         * blockframe.c (find_function_entry_range_from_pc): New function.
963         * symtab.h (find_function_entry_range_from_pc): Declare and document.
964         * objfiles.c (objfile_relocate1): Relocate start and end addresses
965         for each range in a block.
966
967
968 2018-08-23  Xavier Roirand  <roirand@adacore.com>
969
970         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
971         incrementation.
972
973 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
974
975         * solib-svr4.c (read_program_headers_from_bfd): Return
976         gdb::optional<gdb::byte_vector>.
977         (svr4_exec_displacement): Adjust.
978
979 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
980
981         * solib-svr4.c (read_program_header): Return
982         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
983         (find_program_interpreter): Return
984         gdb::optional<gdb::byte_vector>.
985         (scan_dyntag_auxv): Adjust.
986         (enable_break): Adjust.
987         (svr4_exec_displacement): Adjust.
988
989 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
990
991         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
992         * inf-child.c (inf_child_target::terminal_save_inferior): New.
993
994 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
995
996         * guile/scm-string.c (gdbscm_scm_from_printf): Use
997         string_vprintf.
998         * guile/scm-utils.c (gdbscm_printf): Likewise.
999         * serial.c (serial_printf): Likewise.
1000         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
1001
1002 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
1003
1004         * stack.c (print_frame): Print frame architecture when printing on
1005         an MI output.
1006         * NEWS: Mention new "arch" attribute in frame output.
1007
1008 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1009
1010         * arch/aarch64.h (aarch64_regnum): Update comment.
1011
1012 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1013
1014         * NEWS: Add SVE to 8.2 section.
1015
1016 2018-08-21  Pedro Alves  <palves@redhat.com>
1017
1018         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
1019         out from gdbscm_parse_function_args.
1020         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
1021         gdbscm_parse_function_args_1.
1022
1023 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
1024
1025         PR gdb/17816
1026         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
1027         operator.
1028
1029 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
1030
1031         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
1032
1033 2018-08-19  Michael Spang  <spang@google.com>
1034
1035         PR gdb/11786
1036         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
1037         for PT_TLS segments.
1038
1039 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
1040
1041         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
1042         dwarf_variable_value.
1043         * dwarf2-frame.c (class dwarf_expr_executor):
1044         Add override for dwarf_variable_value.
1045         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1046         (class symbol_needs_eval_context): Likewise.
1047         (indirect_synthetic_pointer): Add forward declaration.
1048         (sect_variable_value): New function.
1049         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1050         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1051         for DW_OP_GNU_variable_value.
1052
1053 2018-08-16  Tom Tromey  <tom@tromey.com>
1054
1055         * top.c (read_command_file): Update.
1056         (command_line_input): Remove "repeat" argument.
1057         * ada-lang.c (get_selections): Update.
1058         * linespec.c (decode_line_2): Update.
1059         * defs.h (command_line_input): Remove argument.
1060         * cli/cli-script.c (read_next_line): Update.
1061         * python/py-gdb-readline.c: Update.
1062
1063 2018-08-17  Tom Tromey  <tom@tromey.com>
1064
1065         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1066         command_line_input.
1067
1068 2018-08-15  Tom Tromey  <tom@tromey.com>
1069
1070         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1071
1072 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1073
1074         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1075         If used, use find_pc_partial_function to find address range
1076         to disassemble.
1077         * mi/mi-main.c (mi_cmd_list_features): Report
1078         "data-disassemble-a-option" feature.
1079         * NEWS: Mention new -data-disassemble option -a.
1080
1081 2018-08-13  Tom Tromey  <tom@tromey.com>
1082
1083         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1084
1085 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1086
1087         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1088         (aarch64_linux_collect_sve_regset): Likewise.
1089         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1090         * regcache.h (regcache_map_entry_size): New function.
1091
1092 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1093
1094         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1095         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1096         (SVE_HEADER_VL_LENGTH): Likewise.
1097         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1098         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1099         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1100         (SVE_HEADER_SIZE_OFFSET): Likewise.
1101         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1102         (SVE_HEADER_VL_OFFSET): Likewise.
1103         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1104         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1105         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1106         (SVE_HEADER_SIZE): Likewise.
1107         (aarch64_linux_core_read_vq): Add function.
1108         (aarch64_linux_core_read_description): Check for SVE section.
1109
1110 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1111
1112         * aarch64-fbsd-tdep.c
1113         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1114         collect_size.
1115         * aarch64-linux-tdep.c
1116         (aarch64_linux_iterate_over_regset_sections): Likewise.
1117         * alpha-linux-tdep.c
1118         (alpha_linux_iterate_over_regset_sections):
1119         * alpha-nbsd-tdep.c
1120         (alphanbsd_iterate_over_regset_sections): Likewise.
1121         * amd64-fbsd-tdep.c
1122         (amd64fbsd_iterate_over_regset_sections): Likewise.
1123         * amd64-linux-tdep.c
1124         (amd64_linux_iterate_over_regset_sections): Likewise.
1125         * arm-bsd-tdep.c
1126         (armbsd_iterate_over_regset_sections): Likewise.
1127         * arm-fbsd-tdep.c
1128         (arm_fbsd_iterate_over_regset_sections): Likewise.
1129         * arm-linux-tdep.c
1130         (arm_linux_iterate_over_regset_sections): Likewise.
1131         * corelow.c (get_core_registers_cb): Likewise.
1132         (core_target::fetch_registers): Likewise.
1133         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1134         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1135         * gdbarch.h (void): Regenerate.
1136         * gdbarch.sh: Add supply_size and collect_size.
1137         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1138         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1139         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1140         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1141         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1142         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1143         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1144         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1145         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1146         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1147         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1148         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1149         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1150         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1151         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1152         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1153         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1154         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1155         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1156         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1157         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1158         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1159         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1160         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1161         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1162         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1163         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1164         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1165         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1166         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1167
1168 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1169
1170         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1171         with string_printf.
1172
1173 2018-08-10  Keith Seitz  <keiths@redhat.com>
1174
1175         * compile/compile-c-support.c (add_code_header, add_code_footer):
1176         Move into policy class.
1177         (c_push_user_expression, pop_user_expression_nop)
1178         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1179         (compile_program): New host class.
1180         (c_compile_program): New typedef.
1181         (c_compute_porgram): Use c_compile_program.
1182
1183 2018-08-10  Keith Seitz  <keiths@redhat.com>
1184
1185         * compile/compile-internal.h (compile_instance::~compile_instance):
1186         Remove calls to htab_delete.
1187         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1188         * compile.c (compile_instance::compile_instance): Initialize
1189         htab unique pointers.
1190         (compile_instance::get_cached_type, compile_instance::insert_type)
1191         (compile_instance::error_symbol_once): Update for unique_ptr.
1192
1193 2018-08-10  Keith Seitz  <keiths@redhat.com>
1194
1195         * compile/compile-c-symbols.c (struct symbol_error)
1196         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1197         (compile_instance::insert_symbol_error)
1198         (compile_instance::error_symbol_once): Move to ...
1199         * compile/compile.c: ... here.
1200
1201 2018-08-10  Keith Seitz  <keiths@redhat.com>
1202
1203         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1204         instead of `new_compile_instance'.
1205         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1206         Update description.
1207         If the symbol error map is not initialized, create it.
1208         (generate_c_for_for_one_symbol): Do not check/initialize
1209         the symbol error map.
1210         * compile/compile-c-types.c (compile_c_instance): Make a class.
1211         Update all callers.
1212         (compile_instance::compile_instance): Initialize the type cache.
1213         (get_cached_type): New function.
1214         (insert_type): Update description.
1215         (compile_c_instance::m_default_cflags): Define.
1216         (convert_type): Update description.  Use get_cached_type.
1217         (delete_instance): Moved to destructor.
1218         (new_compile_instance): Moved to constructor.
1219         * compile/compile-c.h (compile_c_instance): Make class inheriting
1220         from compile_instance.
1221         <base>: Remove field.
1222         <type_map, symbol_err_map>: Move to base class.
1223         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1224         * compile/compile-internal.h (compile_instance): Make class.
1225         <type_map_t, symbol_err_map_t>: Define.
1226         <fe>: Rename to `m_gcc_fe'.
1227         <scope, block, gcc_target_options>: Add `m_' prefix.
1228         <m_type_map, m_symbol_err_map>: New fields, moved from
1229         compile_c_instance.
1230         <destroy>: Remove.
1231         (convert_type, new_compile_instance): Remove.
1232         * compile/compile.c (cleanup_compile_instance): Remove.
1233         (compile_to_object): Use unique_ptr to eliminate cleanups.
1234         (compile_instance::set_print_callback, compile_instance::version)
1235         (compile_instance::set_verbose)
1236         (compile_instance::set_driver_filename)
1237         (compile_instance::set_triplet_regexp)
1238         (compile_instance::set_arguments)
1239         (compile_instance::set_source_file)
1240         (compile_instance::compile): Define.
1241
1242 2018-08-10  Keith Seitz  <keiths@redhat.com>
1243
1244         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1245         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1246         gcc-c-fe.def to define C plugin.
1247         (delete_instance): Delete `c_plugin'.
1248         (new_compile_instance): Initialize `c_plugin'.
1249         * compile/compile-c.h: Include gcc_c_plugin.h.
1250         (struct compile_c_instance) <c_plugin>: New member.
1251         * gcc-c-plugin.h: New file.
1252         Update all callers with API change.
1253
1254 2018-08-10  Keith Seitz  <keiths@redhat.com>
1255
1256         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1257         (HFILES_NO_SRCDIR): ... to here.
1258         Add compile-internal.h and compile-c.h.
1259         * compile/compile-c-support.c: Include compile-c.h.
1260         * compile/compile-c-symbols.c: Include compile-c.h.
1261         (generate_c_for_variable_locations): Update comment.
1262         * compile/compile-c-types.c: Include compile-c.h.
1263         * compile/compile-c.h: New file -- moved C language declarations
1264         from other files here.
1265         * compile/compile-internal.h: Do not include hashtab.h or
1266         common/enum-flags.h.
1267         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1268         (gcc_convert_symbol, gcc_symbol_address)
1269         (generate_c_for_variable_locations, c_get_mode_for_size)
1270         (c_get_range_decl_name): Definitions moved to compile-c.h.
1271         * compile/compile-loc2c.c: Include compile-c.h.
1272
1273 2018-08-10  Keith Seitz  <keiths@redhat.com>
1274
1275         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1276         (c_symbol_substitution_name): ... this.
1277         Update all callers.
1278
1279 2018-08-10  Keith Seitz  <keiths@redhat.com>
1280
1281         * compile/compile-c-support.c (c_compute_program): Use
1282         unique_xmalloc_ptr to eliminate cleanup.
1283         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1284         Return a unique_xmalloc_ptr and eliminate cleanup.
1285         * compile/compile-internal.h (generate_c_for_variable_locations):
1286         Return unique_xmalloc_ptr and update description.
1287
1288 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1289
1290         * corelow.c (core_target::get_core_register_section): Rename
1291         min_size to section_min_size.
1292
1293 2018-08-09  Jim Wilson  <jimw@sifive.com>
1294
1295         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1296         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1297         * NEWS: Mention new GNU/Linux RISC-V target.
1298         * configure.host: Add riscv*-*-linux*.
1299         * configure.nat: Add riscv*.
1300         * configure.tgt: Add riscv*-*-linux*.
1301         * riscv-linux-nat.c: New file.
1302         * riscv-linux-tdep.c: New file.
1303
1304 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1305
1306         * infrun.c (resume): Make static, add forward declaration.
1307         (proceed): Update header comment.
1308         * infrun.h (resume): Delete declaration.
1309
1310 2018-08-09  Tom Tromey  <tom@tromey.com>
1311
1312         * riscv-tdep.h: Minor formatting fixes.
1313
1314 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1315
1316         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1317         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1318         (test_mkdir_recursive): Likewise.
1319         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1320
1321 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1322
1323         * valarith.c (value_subscripted_rvalue): If an array is not in
1324         memory, and we don't know the upper bound, then we can't know that
1325         the requested element exists or not.
1326
1327 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1328
1329         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1330         (target_options_to_string): Add comment.
1331
1332 2018-08-08  Tom Tromey  <tom@tromey.com>
1333
1334         * unittests/scoped_mmap-selftests.c: Check result of "write".
1335
1336 2018-08-08  Jim Wilson  <jimw@sifive.com>
1337
1338         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1339         (decode_register_index_short): New.
1340         (decode_j_type_insn, decode_cj_type_insn): New.
1341         (decode_b_type_insn, decode_cb_type_insn): New.
1342         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1343         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1344         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1345         is_c_sw_insn instead of is_sw_insn.
1346         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1347         (riscv_software_single_step): New.
1348         * riscv-tdep.h (riscv_software_single_step): Declare.
1349
1350         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1351         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1352
1353 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1354
1355         PR gdb/18050:
1356         * target.c (dispose_inferior): Don't dispose of inferiors that are
1357         already killed.
1358
1359 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1360
1361         * remote.c (remote_target::download_tracepoint): Change char* to
1362         const char*.
1363
1364 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1365
1366         * target.h (target_options_to_string): Return an std::string.
1367         * target.c (str_comma_list_concat_elem): Return void, use
1368         std::string.
1369         (do_option): Likewise.
1370         (target_options_to_string): Return an std::string.
1371         * linux-nat.c (linux_nat_target::wait): Adjust.
1372         * target-debug.h (target_debug_print_options): Adjust.
1373
1374 2018-08-07  Tom Tromey  <tom@tromey.com>
1375
1376         * Makefile.in (CPPFLAGS): New variable.
1377         (INTERNAL_CPPFLAGS): Use it.
1378
1379 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1380
1381         * NEWS: Mention the index cache.
1382
1383 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1384
1385         * common/pathstuff.h (get_standard_cache_dir): New.
1386         * common/pathstuff.c (get_standard_cache_dir): New.
1387         * build-id.h (build_id_to_string): New.
1388         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1389         DEBUG_STR_SUFFIX): Move to here.
1390         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1391         DEBUG_STR_SUFFIX): Move from there.
1392         (write_psymtabs_to_index): Make non-static, add basename
1393         parameter.  Write to temporary files, rename when done.
1394         (save_gdb_index_command): Adjust call to
1395         write_psymtabs_to_index.
1396         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1397         field.
1398         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1399         (get_gdb_index_contents_from_cache): New.
1400         (get_gdb_index_contents_from_cache_dwz): New.
1401         (dwarf2_initialize_objfile): Read index from cache.
1402         (dwarf2_build_psymtabs): Save to index.
1403         * dwarf-index-cache.h: New file.
1404         * dwarf-index-cache.c: New file.
1405         * dwarf-index-write.h: New file.
1406
1407 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1408
1409         * gnulib/aclocal.m4: Re-generate.
1410         * gnulib/config.in: Re-generate.
1411         * gnulib/configure: Re-generate.
1412         * gnulib/import/Makefile.am: Re-generate.
1413         * gnulib/import/Makefile.in: Re-generate.
1414         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1415         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1416         * gnulib/import/m4/mkdir.m4: New file.
1417         * gnulib/import/mkdir.c: New file.
1418         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1419         module.
1420
1421 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1422
1423         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1424         * common/scoped_mmap.c: New file.
1425         * common/scoped_mmap.h (destroy): New method.
1426         (~scoped_mmap, reset): Use destroy.
1427         (scoped_mmap): New move constructor.
1428         (mmap_file): New declaration.
1429         * unittests/scoped_mmap-selftests.c (test_normal,
1430         test_invalid_filename, run_tests): New functions.
1431         (_initialize_scoped_mmap_selftests): Register selftest.
1432
1433 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1434
1435         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1436         (read_gdb_index_from_buffer): ... this.  Remove section
1437         parameter, add buffer parameter.
1438         (get_gdb_index_contents_ftype,
1439         get_gdb_index_contents_dwz_ftype): New typedefs.
1440         (dwarf2_read_gdb_index): Add callback parameters to get the
1441         index contents.
1442         (get_gdb_index_contents_from_section): New.
1443         (dwarf2_initialize_objfile): Update call to
1444         dwarf2_read_gdb_index.
1445
1446 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1447
1448         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1449         (gdb_open_cloexec): Likewise.
1450         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1451         (commandline_from_pid): Likewise.
1452         (linux_xfer_osdata_threads): Likewise.
1453         (linux_xfer_osdata_fds): Likewise.
1454         * ada-lang.c (is_package_name): Likewise.
1455         * auxv.c (procfs_xfer_auxv): Likewise.
1456         * breakpoint.c (print_one_breakpoint_location): Use
1457         uiout::field_fmt.
1458         (print_one_catch_solib): Use string_printf.
1459         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1460         (add_pe_forwarded_sym): Likewise.
1461         * dwarf2read.c (create_type_unit_group): Likewise.
1462         (build_error_marker_type): Likewise.
1463         * infcall.c (get_function_name): Likewise.
1464         * valprint.c (print_converted_chars_to_obstack): Likewise.
1465         * xtensa-tdep.c (xtensa_register_type): Likewise.
1466
1467 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1468
1469         * remote.c (remote_target::download_tracepoint): Fix format
1470         string errors.
1471
1472 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1473
1474         * tracefile.c: Include common/byte-vector.h.
1475         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1476         with trace_regblock_size if needed.  Update uses of buf.
1477
1478 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1479
1480         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1481         std::vector<unsigned char>.
1482         * tracepoint.c (collection_list::collection_list): Remove
1483         m_regs_mask initializer from initializer list.  Resize
1484         m_regs_mask using the largest remote register number.
1485         (collection_list::add_remote_register): Remove size check on
1486         m_regs_mask.  Use at to access element.
1487         (collection_list::stringify): Change type of temp_buf to
1488         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1489         stringify the register mask.  Use pack_hex_byte for the register
1490         mask.
1491
1492 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1493
1494         * tracepoint.h (class collection_list) <add_register>: Remove.
1495         <add_remote_register, add_ax_registers, add_local_register>:
1496         Declare.
1497         <add_memrange>: Add scope parameter.
1498         * tracepoint.c (encode_actions_1): Likewise.
1499         (collection_list::add_register): Rename to ...
1500         (collection_list::add_remote_register): ... this.  Update
1501         comment.
1502         (collection_list::add_ax_registers, add_local_register): New
1503         methods.
1504         (collection_list::add_memrange): Add scope parameter.  Call
1505         add_local_register instead of add_register.
1506         (finalize_tracepoint_aexpr): New function.
1507         (collection_list::collect_symbol): Update calls to add_memrange.
1508         Call add_local_register instead of add_register.  Call
1509         add_ax_registers.  Call finalize_tracepoint_aexpr.
1510         (encode_actions_1): Get remote regnos for $reg action.  Call
1511         add_remote_register, add_ax_registers, and add_local_register.
1512         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1513         (validate_actionline): Call finalize_tracepoint_aexpr.
1514
1515 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1516
1517         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1518         Replace array buf with gdb::char_vector buf, of size
1519         get_remote_packet_size ().  Replace references to buf and
1520         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1521         and xsnprintf with snprintf.  Raise errors if the buffer is too
1522         small.
1523
1524 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1525
1526         * remote.c (remote_target::download_tracepoint): Fix the has_more
1527         predicate in the QTDP action list iteration.
1528
1529 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1530
1531         * remote.c (remote_target::download_tracepoint): Fix indentation
1532         in for block.
1533
1534 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1535
1536         * proc-api.c (_initialize_proc_api): Remove c, unused.
1537         * procfs.c (procfs_init_inferior): Remove signals, unused.
1538         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1539         unused.
1540
1541 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1542             Andrew Burgess  <andrew.burgess@embecosm.com>
1543
1544         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1545         'W_STOPCODE (0)' as this could be ambiguous.
1546
1547 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1548
1549         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1550         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1551         "ai_socktype").
1552
1553 2018-08-02  Tom Tromey  <tom@tromey.com>
1554
1555         PR symtab/16842.
1556         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1557         symbols.
1558         (process_structure_scope): Likewise.
1559
1560 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1561
1562         PR gdb/22629:
1563         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1564         kill inferior.
1565
1566 2018-08-02  Tom Tromey  <tom@tromey.com>
1567
1568         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1569         (darwin_suspend_inferior, darwin_resume_inferior)
1570         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1571         (darwin_check_new_threads): Check result of get_darwin_inferior.
1572
1573 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1574
1575         GDB 8.1.1 released.
1576
1577 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1578
1579         * varobj.c (varobj_get_path_expr_parent): Report an error if
1580         parent is a dynamic varobj.
1581
1582 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1583
1584         * gnulib/aclocal.m4: Re-generate.
1585         * gnulib/config.in: Re-generate.
1586         * gnulib/configure: Re-generate.
1587         * gnulib/import/Makefile.in: Re-generate.
1588         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1589         * gnulib/import/m4/onceonly.m4: Re-generate.
1590
1591 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1592
1593         * target-descriptions.c (struct xml_test_tdesc): New.
1594         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1595         (record_xml_tdesc): Update.
1596         (maintenance_check_xml_descriptions): Update.
1597         * target-descriptions.h (record_xml_tdesc): Update comment.
1598
1599 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1600
1601         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1602         checking array bounds are defined.
1603
1604 2018-07-30  Tom Tromey  <tom@tromey.com>
1605
1606         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1607         irreflexivity violation.
1608
1609 2018-07-30  Tom Tromey  <tom@tromey.com>
1610
1611         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1612         * value.c (unpack_long): Remove lint code.
1613         * valops.c (value_ind): Remove lint code.
1614         * valarith.c (value_x_binop, value_x_unop, value_equal)
1615         (value_pos): Remove lint code.
1616
1617 2018-07-28  Tom de Vries  <tdevries@suse.de>
1618
1619         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1620         with undefined upper bound as <optimized out>.
1621
1622 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1623
1624         * gcore.in: Rename variable "name" to "prefix".  Expand
1625         "usage" text.
1626
1627 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1628
1629         * windows-nat.c (windows_nat_target::create_inferior): Update to
1630         call close() in global namespace.
1631
1632 2018-07-26  Tom Tromey  <tom@tromey.com>
1633
1634         * dwarf-index-write.c (add_address_entry): Don't add objfile
1635         offsets.
1636         * dbxread.c (find_stab_function): Rename from
1637         find_stab_function_addr.  Return a bound_minimal_symbol.
1638         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1639         Don't add objfile offsets.
1640         (end_psymtab): Use raw_text_low, raw_text_high,
1641         MSYMBOL_VALUE_RAW_ADDRESS.
1642         (read_ofile_symtab): Update.
1643         (process_one_symbol): Update.
1644         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1645         offsets.
1646         (dw2_relocate): Remove.
1647         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1648         searching addrmap.
1649         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1650         Update.
1651         (process_psymtab_comp_unit_reader, add_partial_symbol)
1652         (add_partial_subprogram, dwarf2_ranges_read): Update.
1653         (load_partial_dies): Update.
1654         (add_address_entry): Don't add objfile offsets.
1655         (dwarf2_build_include_psymtabs): Update.
1656         (create_addrmap_from_aranges): Don't add objfile offsets.
1657         (dw2_find_pc_sect_compunit_symtab): Update.
1658         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1659         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1660         Update.
1661         (parse_partial_symbols): Don't add objfile offsets.  Use
1662         raw_text_low, raw_text_high.  Update.
1663         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1664         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1665         or call 'relocate' quick function.  Clear psymbol_map.
1666         * psympriv.h (struct partial_symbol) <address>: Add section
1667         offset.
1668         <set_unrelocated_address>: Rename from set_address.
1669         <raw_text_low, raw_text_high>: New methods.
1670         <text_low, text_high>: Add objfile parameter.
1671         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1672         set_unrelocated_address.
1673         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1674         (find_pc_psymbol): Update.
1675         (fixup_psymbol_section, relocate_psymtabs): Remove.
1676         (dump_psymtab, psym_functions): Update.
1677         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1678         parameter.
1679         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1680         (start_psymtab_common): Update.
1681         * symfile-debug.c (debug_qf_relocate): Remove.
1682         (debug_sym_quick_functions): Update.
1683         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1684         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1685         Update.
1686
1687 2018-07-26  Tom Tromey  <tromey@redhat.com>
1688
1689         * dbxread.c (end_psymtab): Use text_high_valid and
1690         text_low_valid.
1691         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1692         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1693         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1694         Update comment.
1695         <text_low_valid, text_high_valid>: New fields.
1696         <set_text_low, set_text_high>: Update.
1697         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1698
1699 2018-07-26  Tom Tromey  <tom@tromey.com>
1700
1701         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1702         Update.
1703         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1704         textlow and texthigh fields.
1705         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1706         Update.
1707         * mdebugread.c (parse_lines, parse_partial_symbols)
1708         (psymtab_to_symtab_1): Update.
1709         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1710         Rename fields.  Update comment.  Now private.
1711         <text_low, text_high, set_text_low, set_text_high>: New methods.
1712         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1713         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1714         (start_psymtab_common, maintenance_info_psymtabs)
1715         (maintenance_check_psymtabs): Update.
1716         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1717         texthigh fields.
1718         (scan_xcoff_symtab): Update.
1719
1720 2018-07-26  Tom Tromey  <tromey@redhat.com>
1721
1722         * psympriv.h (struct partial_symbol) <unrelocated_address,
1723         address, set_address>: New methods.
1724         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1725         (fixup_psymbol_section, relocate_psymtabs): Update.
1726         (print_partial_symbols): Add 'objfile' parameter.  Update.
1727         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1728         Update.
1729
1730 2018-07-26  Tom Tromey  <tom@tromey.com>
1731
1732         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1733         (debug_names::write_psymbols): Update.
1734         * psympriv.h (struct partial_symbol): Derive from
1735         general_symbol_info.
1736         <obj_section>: New method.
1737         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1738         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1739         (find_pc_sect_psymbol, fixup_psymbol_section)
1740         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1741         (print_partial_symbols, recursively_search_psymtabs)
1742         (compare_psymbols, psymbol_hash, psymbol_compare)
1743         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1744         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1745
1746 2018-07-26  Tom Tromey  <tromey@redhat.com>
1747
1748         * dbxread.c (end_psymtab): Remove dead code.
1749
1750 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1751
1752         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1753         DWARF unwinders are disabled.
1754         * dwarf2-frame.c: Add dwarf2read.h include.
1755         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1756         disabled.
1757         (dwarf2_frame_unwinders_enabled_p): Define.
1758         (show_dwarf_unwinders_enabled_p): New function.
1759         (_initialize_dwarf2_frame): Register switch to control DWARF
1760         unwinder use.
1761         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1762         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1763         (show_dwarf_cmdlist): Remove static keyword.
1764         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1765         (show_dwarf_cmdlist): Declare.
1766         * NEWS: Document new feature.
1767
1768 2018-07-26  Tom de Vries  <tdevries@suse.de>
1769
1770         PR breakpoints/23366
1771         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1772
1773 2018-07-26  Tom de Vries  <tdevries@suse.de>
1774
1775         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1776         DW_AT_count can't be translated to a dynamic prop.
1777
1778 2018-07-25  Tom de Vries  <tdevries@suse.de>
1779
1780         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1781         try/catch.
1782
1783 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1784
1785         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1786
1787 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1788
1789         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1790
1791 2018-07-24  Keith Seitz  <keiths@redhat.comt
1792
1793         PR symtab/23010
1794         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1795         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1796         instead of add_symbol_to_list.
1797         (read_file_scope): Call prepare_one_comp_unit before reading
1798         any other DIEs.
1799
1800 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1801
1802         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1803
1804 2018-07-24  Tom Tromey  <tom@tromey.com>
1805
1806         * utils.c (malloc, realloc, free): Don't declare.
1807         * configure, config.in: Rebuild.
1808         * configure.ac: Don't check for declarations of free, malloc, or
1809         realloc.
1810
1811 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1812
1813         * aarch64-linux-nat.c
1814         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1815         variable.
1816         * arm-linux-nat.c (fetch_regs): Likewise.
1817         (store_regs): Likewise.
1818         (fetch_vfp_regs): Likewise.
1819         (store_vfp_regs): Likewise.
1820         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1821         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1822         (arm_linux_nat_target::insert_watchpoint): Likewise.
1823         (arm_linux_nat_target::remove_watchpoint): Likewise.
1824         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1825         Likewise.
1826         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1827         Likewise.
1828         * ppc-linux-nat.c (fetch_register): Likewise.
1829         (fetch_all_gp_regs): Likewise.
1830         (fetch_ppc_registers): Likewise.
1831         (store_all_gp_regs): Likewise.
1832         (store_ppc_registers): Likewise.
1833         (hwdebug_insert_point): Likewise.
1834         (can_use_watchpoint_cond_accel): Likewise.
1835         * remote-sim.c (gdb_os_write_stdout): Likewise.
1836
1837 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1838             Tom Tromey  <tom@tromey.com>
1839
1840         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1841         test for it.
1842         * configure: Rebuild.
1843
1844 2018-07-22  Tom Tromey  <tom@tromey.com>
1845
1846         * regformats/regdat.sh: Define xmltarget_${name} inside
1847         #ifndef IN_PROCESS_AGENT.
1848
1849 2018-07-22  Tom Tromey  <tom@tromey.com>
1850
1851         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1852
1853 2018-07-22  Tom Tromey  <tom@tromey.com>
1854
1855         * symfile.c (reread_symbols): Notify iter, not objfile.
1856
1857 2018-07-22  Tom Tromey  <tom@tromey.com>
1858
1859         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1860         Use arch_ops.
1861         (ravenscar_thread_target::prepare_to_store): Likewise.
1862
1863 2018-07-22  Tom Tromey  <tom@tromey.com>
1864
1865         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1866         unused variable.  Call value_fetch_lazy when needed.
1867         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1868         Remove unused variable.  Call value_fetch_lazy when needed.
1869
1870 2018-07-22  Tom Tromey  <tom@tromey.com>
1871
1872         * m32c-tdep.c (mark_dma): Return void.
1873         (make_regs): Remove unused declarations.
1874
1875 2018-07-22  Tom Tromey  <tom@tromey.com>
1876
1877         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1878         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1879         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1880         bkscm_get_valid_block_smob_arg_unsafe for effect.
1881
1882 2018-07-22  Tom Tromey  <tom@tromey.com>
1883
1884         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1885         value_type.
1886
1887 2018-07-22  Tom Tromey  <tom@tromey.com>
1888
1889         * windows-nat.c (saved_context): Conditionally define.
1890         * remote.c (remote_target::remote_btrace_maybe_reopen):
1891         Conditionally declare "warned".
1892         * inflow.c (sigquit_ours): Conditionally define.
1893         (new_tty): Move "tty" declaration inside #if.
1894         * guile/guile.c (guile_datadir): Conditionally define.
1895         * charset.c (set_be_le_names): Move some declarations inside #if.
1896         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1897         #if.
1898         (parse_xml_btrace_conf): Likewise.
1899
1900 2018-07-22  Tom Tromey  <tom@tromey.com>
1901
1902         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1903
1904 2018-07-22  Tom Tromey  <tom@tromey.com>
1905
1906         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1907         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1908         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1909         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1910         * stack.c (frame_apply_level_command): Remove unused variable.
1911         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1912         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1913         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1914         unused variable.
1915         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
1916         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
1917         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
1918         variable.
1919         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
1920         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
1921         variable.
1922         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
1923         Remove unused variable.
1924         * cli/cli-script.c (recurse_read_control_structure): Remove unused
1925         variable.
1926         * common/tdesc.c (print_xml_feature::visit): Remove unused
1927         variable.
1928         * compile/compile-object-load.c (store_regs): Remove unused
1929         variables.
1930         * complaints.c (clear_complaints): Remove unused variable.
1931         * corelow.c (core_target_open): Remove unused variable.
1932         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
1933         variable.
1934         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
1935         variable.
1936         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
1937         variable.
1938         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
1939         variable.
1940         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
1941         variable.
1942         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
1943         variable.
1944         * ia64-tdep.c (examine_prologue): Remove unused variable.
1945         * infcall.c (run_inferior_call): Remove unused variable.
1946         * inferior.c (exit_inferior): Remove unused variable.
1947         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
1948         * linespec.c (decode_line_2): Remove unused variable.
1949         * linux-nat.c (super_close): Remove.
1950         * linux-tdep.c (linux_info_proc): Remove unused variable.
1951         * mi/mi-main.c (mi_execute_command): Remove unused variable.
1952         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
1953         Remove unused variable.
1954         * parse.c (find_minsym_type_and_address): Remove unused variable.
1955         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1956         variable.
1957         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1958         variable.
1959         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1960         variables.
1961         * record-btrace.c (record_btrace_target::store_registers): Remove
1962         unused variable.
1963         (cmd_show_record_btrace_cpu): Remove unused variable.
1964         * riscv-tdep.c (riscv_register_reggroup_p)
1965         (riscv_push_dummy_call, riscv_return_value): Remove unused
1966         variable.
1967         * rust-exp.y (literal): Remove unused variable.
1968         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1969         unused variable.
1970         <STRUCTOP_ANONYMOUS>: Likewise.
1971         * s390-linux-tdep.c (s390_linux_init_abi_31)
1972         (s390_linux_init_abi_64): Remove unused variable.
1973         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1974         (file_select_thread, net_windows_open, _initialize_ser_windows):
1975         Remove unused variables.
1976         * symtab.c (find_pc_sect_line): Remove unused variable.
1977         * target-memory.c (compute_garbled_blocks): Remove unused
1978         variable.
1979         (target_write_memory_blocks): Remove unused variable.
1980         * target.c (target_stack::unpush): Remove unused variables.
1981         * tracepoint.c (start_tracing, all_tracepoint_actions)
1982         (merge_uploaded_trace_state_variables)
1983         (print_one_static_tracepoint_marker): Remove unused variable.
1984         * unittests/basic_string_view/element_access/char/1.cc (test01):
1985         Remove unused variable.
1986         * windows-nat.c (windows_continue, windows_add_all_dlls)
1987         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1988         Remove unused variables.
1989
1990 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1991
1992         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1993         attr_profile in HAVE_ELF.
1994         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1995         HAVE_ELF.
1996
1997 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1998
1999         * frame.c (frame_register_unwind): Change parameter name.
2000         (frame_unwind_register): Likewise.
2001         (frame_unwind_register_value): Likewise.
2002         (frame_unwind_register_signed): Likewise.
2003         (frame_unwind_register_unsigned): Likewise.
2004         * frame.h (frame_register_unwind): Likewise.
2005         (frame_unwind_register): Likewise.
2006         (frame_unwind_register_value): Likewise.
2007         (frame_unwind_register_signed): Likewise.
2008         (frame_unwind_register_unsigned): Likewise.
2009         (frame_unwind_arch): Likewise.
2010
2011 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2012
2013         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
2014         ISA maintenance.
2015
2016 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2017
2018         * mips-linux-nat.c (mips_linux_nat_target::read_description):
2019         Call `get_ptrace_pid' rather than extracting the ptrace PID by
2020         hand.
2021
2022 2018-07-20  Keith Seitz  <keiths@redhat.com>
2023
2024         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
2025         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
2026         m_compunit_symtab, m_language>: Add "m_" prefix.
2027         Update all uses.
2028         * buildsym.c: Update all uses.
2029
2030 2018-07-20  Tom Tromey  <tom@tromey.com>
2031
2032         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
2033         * buildsym.h (record_line_ftype): Remove typedef.
2034
2035 2018-07-20  Tom Tromey  <tom@tromey.com>
2036
2037         * buildsym-legacy.h (augment_type_symtab): Don't declare.
2038         (end_expandable_symtab): Likewise.
2039         (end_symtab_get_static_block): Likewise.
2040         (end_symtab_from_static_block): Likewise.
2041         * buildsym-legacy.c (augment_type_symtab): Remove.
2042         (end_expandable_symtab): Remove.
2043         (end_symtab_get_static_block): Remove.
2044         (end_symtab_from_static_block): Remove.
2045
2046 2018-07-20  Tom Tromey  <tom@tromey.com>
2047
2048         * dwarf2read.c: Include buildsym.h.
2049         (struct dwarf2_cu) <builder>: New method.
2050         (fixup_go_packaging): Update.
2051         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2052         use scoped_free_pendings.
2053         (using_directives): Add "cu" parameter, remove "language".
2054         (read_import_statement, setup_type_unit_groups, )
2055         (read_func_scope, read_lexical_block_scope)
2056         (dwarf2_record_block_ranges, read_namespace): Update.
2057         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2058         (lnp_state_machine::handle_end_sequence): Update.
2059         (class lnp_state_machine) <m_cu>: New member.
2060         <m_record_line_callback>: Remove.
2061         <m_currently_recording_lines>: New member.
2062         (lnp_state_machine::handle_set_file): Update.
2063         (noop_record_line): Remove.
2064         (dwarf_record_line_p): Add cu parameter.
2065         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2066         (lnp_state_machine::record_line)
2067         (lnp_state_machine::lnp_state_machine)
2068         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2069         (dwarf_decode_lines): Update.
2070         (dwarf2_start_subfile): Add cu parameter.
2071         (dwarf2_start_symtab, new_symbol): Update.
2072         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2073         Remove dwarf2_per_objfile parameter.
2074         (dwarf_decode_macros): Update.
2075
2076 2018-07-20  Tom Tromey  <tom@tromey.com>
2077
2078         * stabsread.c (define_symbol): Update.
2079         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2080         * dwarf2read.c (new_symbol): Update.
2081         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2082         * cp-namespace.c: Include buildsym.h.
2083         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2084         * buildsym-legacy.c (get_buildsym_compunit): New function.
2085
2086 2018-07-20  Tom Tromey  <tom@tromey.com>
2087
2088         * xcoffread.c: Include buildsym-legacy.h.
2089         * windows-nat.c: Include buildsym-legacy.h.
2090         * stabsread.c: Include buildsym-legacy.h.
2091         * mdebugread.c: Include buildsym-legacy.h.
2092         * buildsym-legacy.h: New file.
2093         * buildsym-legacy.c: New file, from buildsym.c.
2094         * go32-nat.c: Include buildsym-legacy.h.
2095         * dwarf2read.c: Include buildsym-legacy.h.
2096         * dbxread.c: Include buildsym-legacy.h.
2097         * cp-namespace.c: Include buildsym-legacy.h.
2098         * coffread.c: Include buildsym-legacy.h.
2099         * buildsym.h: Move some contents to buildsym-legacy.h.
2100         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2101         buildsym-legacy.c.
2102         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2103
2104 2018-07-20  Tom Tromey  <tom@tromey.com>
2105
2106         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2107         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2108         (buildsym_compunit::buildsym_compunit)
2109         (buildsym_compunit::~buildsym_compunit)
2110         (buildsym_compunit::get_macro_table): Define.
2111
2112 2018-07-20  Tom Tromey  <tom@tromey.com>
2113
2114         * buildsym.c (reset_symtab_globals): Remove.
2115         (buildsym_compunit::end_symtab_from_static_block): Update.
2116         (buildsym_compunit::augment_type_symtab): Update.
2117         (end_symtab_from_static_block): Call free_buildsym_compunit.
2118         (augment_type_symtab, end_symtab, end_expandable_symtab):
2119         Likewise.
2120
2121 2018-07-20  Tom Tromey  <tom@tromey.com>
2122
2123         * arch-utils.c: Do not include buildsym.h.
2124         * mipsread.c: Do not include buildsym.h.
2125         * machoread.c: Do not include buildsym.h.
2126         * elfread.c: Do not include buildsym.h.
2127
2128 2018-07-20  Tom Tromey  <tom@tromey.com>
2129
2130         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2131         initialization.
2132         (buildsym_compunit): Add new constructor.
2133         (struct buildsym_compunit) <get_last_source_file, finish_block,
2134         record_block_range, start_subfile, patch_subfile_names,
2135         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2136         set_last_source_start_addr, get_last_source_start_addr,
2137         get_local_using_directives, set_local_using_directives,
2138         get_global_using_directives, outermost_context_p,
2139         get_current_context_stack, get_context_stack_depth,
2140         get_current_subfile, get_local_symbols, get_file_symbols,
2141         get_global_symbols, record_debugformat, record_producer,
2142         push_context, pop_context, end_symtab_get_static_block,
2143         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2144         New public methods.
2145         <record_pending_block, finish_block_internal, make_blockvector,
2146         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2147         private methods.
2148         Update all users.
2149
2150 2018-05-22  Tom Tromey  <tom@tromey.com>
2151
2152         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2153         parameter.
2154         (finish_block_internal): Update.
2155
2156 2018-07-20  Tom Tromey  <tom@tromey.com>
2157
2158         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2159         parameter.
2160         (finish_block_internal): Update.
2161
2162 2018-07-20  Tom Tromey  <tom@tromey.com>
2163
2164         * buildsym.h (EXTERN): Don't define or undef.
2165         * buildsym.c (EXTERN): Don't define.
2166
2167 2018-07-20  Tom Tromey  <tom@tromey.com>
2168
2169         * buildsym.c: Remove TODO comment.
2170
2171 2018-07-20  Tom Tromey  <tom@tromey.com>
2172
2173         * coffread.c (coff_symtab_read): Update.
2174         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2175         (xcoff_new_init): Update.
2176         * mipsread.c (mipscoff_new_init): Update.
2177         * mdebugread.c (mdebug_build_psymtabs): Update.
2178         * elfread.c (elf_new_init): Update.
2179         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2180         Update.
2181         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2182         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2183         (stabsect_build_psymtabs): Update.
2184         * buildsym.h (buildsym_init): Don't declare.
2185         * buildsym.c: Update comment.
2186         (prepare_for_building): Remove.
2187         (start_symtab, restart_symtab): Update.
2188         (reset_symtab_globals): Update comment.
2189         (buildsym_init): Remove.
2190
2191 2018-07-20  Tom Tromey  <tom@tromey.com>
2192
2193         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2194         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2195         (read_enum_type, common_block_start, common_block_end)
2196         (cleanup_undefined_types_1, finish_global_stabs): Update.
2197         * mdebugread.c (psymtab_to_symtab_1): Update.
2198         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2199         (read_lexical_block_scope, new_symbol): Update.
2200         * dbxread.c (process_one_symbol): Update.
2201         * coffread.c (coff_symtab_read, process_coff_symbol)
2202         (coff_read_enum_type): Update.
2203         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2204         declare.
2205         (get_local_symbols, get_file_symbols, get_global_symbols): New
2206         functions.
2207         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2208         m_global_symbols.
2209         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2210         (~scoped_free_pendings): Update.
2211         (finish_block, prepare_for_building, reset_symtab_globals)
2212         (end_symtab_get_static_block, end_symtab_with_blockvector)
2213         (augment_type_symtab, push_context): Update.
2214         (get_local_symbols, get_file_symbols, get_global_symbols): New
2215         functions.
2216         (buildsym_init): Update.
2217
2218 2018-07-20  Tom Tromey  <tom@tromey.com>
2219
2220         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2221         (process_full_type_unit): Likewise.
2222         (dwarf2_start_symtab): Set list_in_scope.
2223
2224 2018-07-20  Tom Tromey  <tom@tromey.com>
2225
2226         * dwarf2read.c (process_psymtab_comp_unit_reader)
2227         (build_type_psymtabs_reader): Do not set list_in_scope.
2228
2229 2018-07-20  Tom Tromey  <tom@tromey.com>
2230
2231         * buildsym.c (free_pendings): Remove.
2232         (add_symbol_to_list, scoped_free_pendings)
2233         (finish_block_internal, buildsym_init): Update.
2234
2235 2018-07-20  Tom Tromey  <tom@tromey.com>
2236
2237         * xcoffread.c (read_xcoff_symtab): Update.
2238         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2239         Update.
2240         * dbxread.c (process_one_symbol): Update.
2241         * coffread.c (coff_symtab_read): Update.
2242         * buildsym.h (finish_block): Update.
2243         * buildsym.c (finish_block): Remove "listhead" argument.
2244         (end_symtab_get_static_block): Update.
2245
2246 2018-07-20  Tom Tromey  <tom@tromey.com>
2247
2248         * buildsym.h (class scoped_free_pendings): Remove constructor.
2249         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2250         method.
2251         <m_pending_block_obstack, m_pending_blocks>: New members.
2252         (pending_block_obstack, pending_blocks): Remove.
2253         (scoped_free_pendings::scoped_free_pendings): Default.
2254         (~scoped_free_pendings): Update.
2255         (free_pending_blocks): Remove.
2256         (finish_block_internal, record_pending_block, make_blockvector)
2257         (end_symtab_get_static_block, augment_type_symtab, push_context)
2258         (buildsym_init): Update.
2259
2260 2018-07-20  Tom Tromey  <tom@tromey.com>
2261
2262         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2263         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2264         members.
2265         (pending_addrmap, pending_addrmap_obstack)
2266         (pending_addrmap_interesting): Remove.
2267         (scoped_free_pendings, record_block_range, make_blockvector)
2268         (prepare_for_building, reset_symtab_globals, buildsym_init):
2269         Update.
2270
2271 2018-07-20  Tom Tromey  <tom@tromey.com>
2272
2273         * xcoffread.c (process_linenos): Update.
2274         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2275         * mdebugread.c (psymtab_to_symtab_1): Update.
2276         * dwarf2read.c (setup_type_unit_groups)
2277         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2278         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2279         * dbxread.c (process_one_symbol): Update.
2280         * coffread.c (coff_symtab_read, enter_linenos)
2281         (process_coff_symbol): Update.
2282         * buildsym.h (current_subfile): Don't declare.
2283         (get_current_subfile): Declare.
2284         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2285         member.
2286         (start_subfile, free_buildsym_compunit, push_subfile)
2287         (prepare_for_building, start_symtab): Update.
2288         (get_current_subfile): New function.
2289
2290 2018-07-20  Tom Tromey  <tom@tromey.com>
2291
2292         * coffread.c (coff_symtab_read): Update.
2293         * xcoffread.c (read_xcoff_symtab): Update.
2294         * dwarf2read.c (new_symbol): Update.
2295         (read_func_scope, read_lexical_block_scope): Update.
2296         * dbxread.c (process_one_symbol): Update.
2297         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2298         (outermost_context_p): Remove macro.
2299         (outermost_context_p, get_current_context_stack)
2300         (get_context_stack_depth): Declare.
2301         (pop_context): Return struct context_stack.
2302         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2303         member.
2304         (context_stack_size): Remove.
2305         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2306         (prepare_for_building, end_symtab_get_static_block)
2307         (augment_type_symtab, push_context): Update.
2308         (pop_context): Return struct context_stack.
2309         (outermost_context_p, get_current_context_stack)
2310         (get_context_stack_depth): New functions.
2311         (buildsym_init): Update.
2312
2313 2018-07-20  Tom Tromey  <tom@tromey.com>
2314
2315         * rust-exp.y: Now a pure parser.  Update all rules.
2316         (%union): Move earlier.
2317         (current_parser, work_obstack): Remove globals.
2318         (rust_parser, ~rust_parser): Update.
2319         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2320         lex_character, lex_number, lex_string, lex_identifier,
2321         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2322         convert_name, convert_params_to_expression,
2323         convert_ast_to_expression, ast_basic_type, ast_operation,
2324         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2325         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2326         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2327         ast_array_type, ast_slice_type, ast_reference_type,
2328         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2329         (rust_parse): Update.
2330         (rustyyerror, rustyylex): Add parser parameter.
2331         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2332         (rust_lex_stringish_test, rust_lex_test_sequence)
2333         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2334         (rust_lex_test_push_back, rust_lex_tests): Update.
2335
2336 2018-07-19  Pedro Alves  <palves@redhat.com>
2337
2338         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2339         gdb::unique_xmalloc_ptr.
2340         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2341         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2342         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2343         copy-initialization.
2344         * guile/scm-pretty-print.c (ppscm_print_children): Use
2345         gdb::unique_xmalloc_ptr instead of cleanups.
2346         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2347         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2348         gdb::unique_xmalloc_ptr.
2349         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2350         Adjust to use gdb::unique_xmalloc_ptr.
2351         * guile/scm-utils.c (extract_arg): Adjust.
2352         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2353         gdb::unique_xmalloc_ptr instead of a cleanup.
2354
2355 2018-07-19  Tom Tromey  <tom@tromey.com>
2356
2357         * utils.c (do_value_free_to_mark)
2358         (make_cleanup_value_free_to_mark): Remove.
2359         * utils.h (make_cleanup_value_free_to_mark): Remove.
2360
2361 2018-07-19  Pedro Alves  <palves@redhat.com>
2362
2363         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2364         forwarding reference.
2365
2366 2018-07-18  Pedro Alves  <palves@redhat.com>
2367
2368         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2369         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2370         cleanup.
2371
2372 2018-07-18  Pedro Alves  <palves@redhat.com>
2373
2374         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2375         exceptions.
2376         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2377         (gdbscm_wrap): New.
2378         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2379         directly instead of a cleanup.
2380         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2381         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2382         (vlscm_binop_gdbthrow): New, factored out from ...
2383         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2384         (vlscm_rich_compare): Use gdbscm_wrap.
2385         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2386         instead of a cleanup.
2387         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2388         cleanup.
2389         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2390         Use xfree directly instead of a cleanup.
2391         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2392         Adjust to use gdbscm_wrap and scoped_value_mark.
2393         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2394         (gdbscm_value_address, gdbscm_value_dereference)
2395         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2396         scoped_value_mark.
2397         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2398         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2399         scoped_value_mark.
2400         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2401         gdbscm_wrap and scoped_value_mark.
2402         (gdbscm_value_to_string): Use xfree directly instead of a
2403         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2404         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2405         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2406         scoped_value_mark.
2407         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2408         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2409         scoped_value_mark.
2410         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2411         gdbscm_wrap.
2412
2413 2018-07-18  Tom de Vries  <tdevries@suse.de>
2414
2415         * findvar.c (default_read_var_value): Also resolve dynamic type for
2416         LOC_OPTIMIZED_OUT vars.
2417
2418 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2419
2420         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2421         decoding.
2422
2423 2018-07-17  Tom Tromey  <tom@tromey.com>
2424
2425         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2426         (compute_enum_list, pascm_set_param_value_x)
2427         (gdbscm_parameter_value): Update.
2428         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2429         (gdbscm_scm_to_host_string): Update.
2430         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2431         Update.
2432         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2433         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2434         * guile/scm-string.c (gdbscm_scm_to_string): Return
2435         unique_xmalloc_ptr.
2436         (gdbscm_scm_to_host_string): Likewise.
2437
2438 2018-07-17  Tom Tromey  <tom@tromey.com>
2439
2440         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2441         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2442         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2443         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2444         unique_xmalloc_ptr.
2445
2446 2018-07-17  Tom Tromey  <tom@tromey.com>
2447
2448         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2449         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2450         Update.
2451         * guile/scm-cmd.c (cmdscm_function): Update.
2452         * guile/scm-pretty-print.c
2453         (ppscm_print_exception_unless_memory_error): Update.
2454         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2455         Return unique_xmalloc_ptr.
2456
2457 2018-07-17  Tom Tromey  <tom@tromey.com>
2458
2459         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2460         Use string_printf.
2461
2462 2018-07-17  Jim Wilson  <jimw@sifive.com>
2463
2464         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2465         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2466         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2467         unecessary braces after EF_RISCV_RVC test.  Delete call to
2468         set_gdbarch_decr_pc_after_break.
2469
2470         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2471         RISCV_LAST_FP_REGNUM + 1.
2472         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2473
2474 2018-07-17  Tom Tromey  <tom@tromey.com>
2475
2476         * configure.ac: Remove --disable-gdbcli.
2477         * configure: Rebuild.
2478         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2479         (SUBDIR_CLI_CFLAGS): Remove.
2480         (SFILES): Use SUBDIR_CLI_SRCS.
2481         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2482
2483 2018-07-17  Tom Tromey  <tom@tromey.com>
2484
2485         PR gdb/18624:
2486         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2487
2488 2018-07-16  Jim Wilson  <jimw@sifive.com>
2489
2490         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2491
2492 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2493
2494         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2495         variable.
2496         (libunwind_frame_sniffer): Likewise.
2497         (libunwind_frame_prev_register): Likewise.
2498         (libunwind_sigtramp_frame_sniffer): Likewise.
2499         * ia64-tdep.c (ia64_access_reg): Likewise.
2500         (ia64_access_rse_reg): Likewise.
2501         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2502         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2503
2504 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2505
2506         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2507
2508 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2509
2510         * remote-sim.c (gdbsim_target::close,
2511         gdbsim_target::mourn_inferior): Remove unused variables.
2512
2513 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2514
2515         * ia64-tdep.c (ktab_buf): New global.
2516         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2517         (get_kernel_table): Adjust.
2518
2519 2018-07-16  Tom Tromey  <tom@tromey.com>
2520
2521         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2522         * dwarf2read.c (using_directives, new_symbol): Use
2523         outermost_context_p.
2524         * dbxread.c (process_one_symbol): Use outermost_context_p.
2525         * coffread.c (coff_symtab_read): Use outermost_context_p.
2526
2527 2018-07-16  Tom Tromey  <tom@tromey.com>
2528
2529         * dwarf2read.c (using_directives, read_func_scope)
2530         (read_lexical_block_scope): Update.
2531         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2532         * buildsym.h (local_using_directives, global_using_directives):
2533         Don't declare.
2534         (get_local_using_directives, set_local_using_directives)
2535         (get_global_using_directives): Declare.
2536         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2537         m_global_using_directives>: New members.
2538         (finish_block_internal, prepare_for_building)
2539         (reset_symtab_globals, end_symtab_get_static_block)
2540         (push_context): Update.
2541         (get_local_using_directives, set_local_using_directives)
2542         (get_global_using_directives): New functions.
2543         (buildsym_init): Update.
2544
2545 2018-07-16  Tom Tromey  <tom@tromey.com>
2546
2547         * xcoffread.c (xcoff_initial_scan): Don't call
2548         free_pending_blocks.
2549         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2550         * buildsym.h (class scoped_free_pendings): Add constructor.
2551         (free_pending_blocks): Don't declare.
2552         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2553         (free_pending_blocks): Now static.
2554
2555 2018-07-16  Tom Tromey  <tom@tromey.com>
2556
2557         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2558         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2559         member.
2560         (struct subfile_stack): Remove.
2561         (subfile_stack): Remove.
2562         (push_subfile, pop_subfile, buildsym_init): Update.
2563
2564 2018-07-16  Tom Tromey  <tom@tromey.com>
2565
2566         * buildsym.c (push_subfile): Use gdb_assert.
2567         (pop_subfile): Use gdb_assert.
2568
2569 2018-07-16  Tom Tromey  <tom@tromey.com>
2570
2571         * buildsym.h (merge_symbol_lists): Remove.
2572         * buildsym.c (merge_symbol_lists): Remove.
2573
2574 2018-07-16  Tom Tromey  <tom@tromey.com>
2575
2576         * stabsread.c (scan_file_globals): Update comment.
2577         * stabsread.h (scan_file_globals): Move from buildsym.h.
2578         * buildsym.h (scan_file_globals): Move to stabsread.h.
2579
2580 2018-07-16  Tom Tromey  <tom@tromey.com>
2581
2582         * xcoffread.c (xcoff_new_init): Update.
2583         * mipsread.c (mipscoff_new_init): Update.
2584         * mdebugread.c (mdebug_build_psymtabs): Update.
2585         * elfread.c (elf_new_init): Update.
2586         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2587         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2588         * buildsym.h (buildsym_new_init): Don't declare.
2589         * buildsym.c (buildsym_new_init): Remove.
2590
2591 2018-07-16  Tom Tromey  <tom@tromey.com>
2592
2593         * stabsread.h (within_function): Move from buildsym.h.
2594         * stabsread.c (start_stabs): Clear within_function.
2595         * coffread.c (coff_start_symtab): Clear within_function.
2596         * buildsym.h (within_function): Move to stabsread.h.
2597         * buildsym.c (prepare_for_building): Update.
2598
2599 2018-07-16  Tom Tromey  <tom@tromey.com>
2600
2601         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2602         * dwarf2read.c (dwarf2_start_symtab): Don't set
2603         processing_gcc_compilation.
2604         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2605
2606 2018-07-16  Tom Tromey  <tom@tromey.com>
2607
2608         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2609         (next_symbol_text_func): Move from buildsym.h.
2610         * stabsread.c (hashname): Move from buildsym.c.
2611         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2612         (next_symbol_text_func, hashname): Move to stabsread.h.
2613         * buildsym.c: Don't include bcache.h
2614         (hashname): Move to stasbread.c.
2615
2616 2018-07-16  Tom Tromey  <tom@tromey.com>
2617
2618         * buildsym.h (context_stack_size): Don't declare.
2619         * buildsym.c (context_stack_size): New global.
2620
2621 2018-07-16  Tom Tromey  <tom@tromey.com>
2622
2623         * dbxread.c (processing_acc_compilation): New global.
2624         * buildsym.h (processing_acc_compilation): Don't declare.
2625
2626 2018-07-16  Tom Tromey  <tom@tromey.com>
2627
2628         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2629         * dbxread.c (read_ofile_symtab): Update.
2630         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2631         * buildsym.h (last_source_start_addr): Remove.
2632         (set_last_source_start_addr, get_last_source_start_addr):
2633         Declare.
2634         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2635         parameter.
2636         (struct buildsym_compunit) <m_last_source_start_addr>: New
2637         member.
2638         (prepare_for_building): Remove start_addr parameter.
2639         (start_symtab, restart_symtab, end_symtab_get_static_block)
2640         (end_symtab_with_blockvector): Update.
2641         (set_last_source_start_addr, get_last_source_start_addr): New
2642         functions.
2643
2644 2018-07-16  Tom Tromey  <tom@tromey.com>
2645
2646         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2647         member.
2648         (have_line_numbers): Remove.
2649         (record_line, prepare_for_building, end_symtab_get_static_block)
2650         (augment_type_symtab): Update.
2651
2652 2018-07-16  Tom Tromey  <tom@tromey.com>
2653
2654         * buildsym.c (~buildsym_compunit): Free the macro table.
2655         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2656         methods.
2657         <m_pending_macros>: New member.
2658         (pending_macros): Remove.
2659         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2660         (reset_symtab_globals, end_symtab_get_static_block)
2661         (end_symtab_with_blockvector, augment_type_symtab)
2662         (buildsym_init): Update.
2663
2664 2018-07-16  Tom Tromey  <tom@tromey.com>
2665
2666         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2667         parameter.
2668         (buildsym_compunit::set_last_source_file): New method.
2669         <m_last_source_file>: New member.
2670         (prepare_for_building): Remove "name" parameter.
2671         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2672         (last_source_file): Remove.
2673         (set_last_source_file, get_last_source_file): Update.
2674
2675 2018-07-16  Tom Tromey  <tom@tromey.com>
2676
2677         * buildsym.c (prepare_for_building): Add assert.
2678
2679 2018-07-16  Tom Tromey  <tom@tromey.com>
2680
2681         * buildsym.c (~buildsym_compunit): Update.
2682         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2683         (start_subfile, patch_subfile_names)
2684         (end_symtab_with_blockvector): Update.
2685
2686 2018-07-16  Tom Tromey  <tom@tromey.com>
2687
2688         * buildsym.c (struct buildsym_compunit): Add constructor,
2689         destructor, initializers.
2690         (start_buildsym_compunit): Remove.
2691         (free_buildsym_compunit): Use "delete".
2692         (start_symtab, restart_symtab): Use "new".
2693
2694 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2695
2696         * symfile.c (set_objfile_default_section_offset): Remove struct
2697         keyword.
2698
2699 2018-07-14  Stafford Horne  <shorne@gmail.com>
2700
2701         * (Responsible Maintainers): Add myself as or1k maintainer.
2702
2703 2018-07-13  Tom Tromey  <tom@tromey.com>
2704
2705         * symfile.c (set_objfile_default_section_offset): Use extra braces
2706         around initializer.
2707
2708 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2709
2710         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2711         non-branching basr.
2712
2713 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2714
2715         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2716         unittests/cli-utils-selftests.c
2717         * unittests/cli-utils-selftests.c: New file.
2718
2719 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2720
2721         * NEWS: Mention new commands. Mention change to 'thread apply'.
2722
2723 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2724
2725         * thread.c (thr_try_catch_cmd): New function.
2726         (thread_apply_all_command): Handle qcs flags.
2727         (thread_apply_command): Handle qcs flags.
2728         (taas_command): New function.
2729         (tfaas_command): New function.
2730         (_initialize_thread): Update to setup the new commands 'taas
2731         and 'tfaas'. Change doc string for 'thread apply'.
2732
2733 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2734
2735         * stack.c: (trailing_outermost_frame): New function, mostly
2736         extracted from backtrace_command_1.
2737         (leading_innermost_frame): New function.
2738         (backtrace_command_1): Update to call trailing_outermost_frame.
2739         (frame_apply_command_count): New function.
2740         (frame_apply_level_command): New function.
2741         (frame_apply_all_command): New function.
2742         (frame_apply_command): New function.
2743         (faas_command): New function.
2744         (frame_cmd_list): New variable.
2745         (_initialize_stack): Update to setup the new commands 'frame apply'
2746         and 'faas'.
2747
2748 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2749
2750         * cli-utils.c (number_or_range_parser::get_number): Only handle
2751         numbers or convenience var as numbers.
2752         (parse_flags): New function.
2753         (parse_flags_qcs): New function.
2754         (number_or_range_parser::finished): Ensure parsing end is detected
2755         before end of string.
2756         * cli-utils.h (parse_flags): New function.
2757         (parse_flags_qcs): New function.
2758         (number_or_range_parser): Remove m_finished bool.
2759         (number_or_range_parser::skip_range): Set m_in_range to false.
2760
2761 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2762
2763         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2764         on Windows.
2765
2766 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2767             Jan Kratochvil  <jan.kratochvil@redhat.com>
2768             Paul Fertser  <fercerpav@gmail.com>
2769             Tsutomu Seki  <sekiriki@gmail.com>
2770             Pedro Alves  <palves@redhat.com>
2771
2772         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2773         'unittests/parse-connection-spec-selftests.c'.
2774         (COMMON_SFILES): Add 'common/netstuff.c'.
2775         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2776         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2777         * common/netstuff.c: New file.
2778         * common/netstuff.h: New file.
2779         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2780         (wait_for_connect): Update comment.  New parameter
2781         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2782         Use 'sock' directly instead of 'scb->fd'.
2783         (try_connect): New function, with code from 'net_open'.
2784         (net_open): Rewrite main loop to deal with multiple
2785         sockets/addresses.  Handle IPv6-style hostnames; implement
2786         support for IPv6 connections.
2787         * unittests/parse-connection-spec-selftests.c: New file.
2788
2789 2018-07-11  Pedro Alves  <palves@redhat.com>
2790
2791         PR gdb/23377
2792         * remote.c (remote_target::remote_detach_pid): Call
2793         set_current_process.
2794
2795 2018-07-11  Pedro Alves  <palves@redhat.com>
2796
2797         * h8300-tdep.c (h8300_gdbarch_init): Remove
2798         set_gdbarch_ecoff_reg_to_regnum calls.
2799
2800 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2801
2802         PR c++/23373
2803         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2804         offsets/sizes for static members of a class/struct.
2805
2806 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2807
2808         * target-descriptions.c (tdesc_register_bitsize): Rename.
2809         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2810         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2811         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2812
2813 2018-07-10  Tom Tromey  <tom@tromey.com>
2814
2815         * breakpoint.c (moribund_locations): Now static and a
2816         std::vector.
2817         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2818         (build_bpstat_chain, update_global_location_list)
2819         (breakpoint_retire_moribund): Update.
2820         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2821         VEC.
2822
2823 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2824
2825         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2826         (riscv_register_reggroup_p): Use new function, remove unneeded
2827         parenthesis.
2828         (riscv_push_dummy_call): Extend assert to compare against xlen or
2829         flen based on register type.
2830
2831 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2832
2833         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2834
2835 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2836
2837         * remote.c (show_hardware_watchpoint_limit): New function.
2838         (show_hardware_watchpoint_length_limit): New function.
2839         (show_hardware_breakpoint_limit): New function.
2840         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2841         where appropriate, update help text.
2842
2843 2018-07-09  Tom Tromey  <tom@tromey.com>
2844
2845         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2846         (CLIBS): Don't mention NAT_CLIBS.
2847
2848 2018-07-09  Tom Tromey  <tom@tromey.com>
2849
2850         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2851         (LIBGDB_OBS, clean mostlyclean): Update.
2852         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2853
2854 2018-07-09  Tom Tromey  <tom@tromey.com>
2855
2856         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2857         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2858         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2859
2860 2018-07-09  Tom Tromey  <tom@tromey.com>
2861
2862         * Makefile.in (ALLDEPFILES): Remove exec.c.
2863         (COMMON_OBS): Remove exec.o.
2864         (COMMON_SFILES): Add exec.c.
2865
2866 2018-07-09  Tom Tromey  <tom@tromey.com>
2867
2868         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2869
2870 2018-07-09  Tom Tromey  <tom@tromey.com>
2871
2872         * Makefile.in (clean mostlyclean): Remove stamp-version.
2873         (version.c): Depend on stamp-version.
2874         (stamp-version): New rule, from version.c rule.
2875
2876 2018-07-09  Tom Tromey  <tom@tromey.com>
2877
2878         * Makefile.in (init.c): Depend on stamp-init.
2879         (stamp-init): New rule, from init.c rule.
2880         (clean mostlyclean): Remove stamp-init.
2881
2882 2018-07-09  Tom Tromey  <tom@tromey.com>
2883
2884         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2885         SUBDIR_GCC_COMPILE_SRCS.
2886
2887 2018-07-09  Tom Tromey  <tom@tromey.com>
2888
2889         * Makefile.in (init.c): Remove some unused sed rules.
2890
2891 2018-07-09  Tom Tromey  <tom@tromey.com>
2892
2893         * Makefile.in (TSOBS): Remove.
2894         (INIT_FILES): Update.
2895         (LIBGDB_OBS): Update.
2896         (COMMON_SFILES): Add inflow.c.
2897         (SFILES): Remove inflow.c.
2898
2899 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2900
2901         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2902
2903 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2904
2905         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2906         get_saveloc_name, is_signal_frame_name, step_name,
2907         init_remote_name, create_addr_space_name,
2908         destroy_addr_space_name, search_unwind_table_name,
2909         find_dyn_list_name): Constify.
2910
2911 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2912
2913         * darwin-nat.c (darwin_pthread_kill): New function.
2914         (darwin_resume_thread): Use darwin_pthread_kill.
2915
2916 2018-07-05  Tom de Vries  <tdevries@suse.de>
2917
2918         * macroexp.c (macro_buffer) <operator=>: New member function.
2919
2920 2018-07-04  Tom Tromey  <tom@tromey.com>
2921
2922         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
2923
2924 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
2925
2926         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
2927         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
2928         * maint.c: Likewise.
2929         * top.c: Likewise.
2930
2931 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2932
2933         * NEWS: Create a new section for the next release branch.
2934         Rename the section of the current branch, now that it has
2935         been cut.
2936
2937 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2938
2939         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
2940         * version.in: Bump version to 8.2.50.DATE-git.
2941
2942 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
2943             Pedro Alves  <palves@redhat.com>
2944
2945         * linux-nat.c (linux_init_ptrace): Rename to ...
2946         (linux_init_ptrace_procfs): ... this.  Call
2947         linux_proc_init_warnings.
2948         (linux_nat_target::post_attach)
2949         (linux_nat_target::post_startup_inferior): Adjust.
2950         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
2951         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
2952
2953 2018-07-04  Tom de Vries  <tdevries@suse.de>
2954
2955         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2956         check ...
2957         (read_comp_unit_head): ... here.
2958
2959 2018-07-03  Tom Tromey  <tom@tromey.com>
2960
2961         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2962         (stop_tracing, tstatus_command)
2963         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2964         (print_one_static_tracepoint_marker): Update.
2965         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2966         std::vector.
2967         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2968         VEC.
2969         (all_tracepoints, static_tracepoints_here): Return std::vector.
2970
2971 2018-07-03  Tom Tromey  <tom@tromey.com>
2972
2973         * common/ptid.c (ptid_equal): Remove.
2974         * common/ptid.h (ptid_equal): Don't declare.
2975         * ada-tasks.c: Update.
2976         * breakpoint.c: Update.
2977         * common/agent.c: Update.
2978         * corelow.c: Update.
2979         * darwin-nat-info.c: Update.
2980         * darwin-nat.c: Update.
2981         * dcache.c: Update.
2982         * dtrace-probe.c: Update.
2983         * dummy-frame.c: Update.
2984         * fbsd-nat.c: Update.
2985         * frame.c: Update.
2986         * gdbthread.h: Update.
2987         * gnu-nat.c: Update.
2988         * go32-nat.c: Update.
2989         * inf-loop.c: Update.
2990         * inf-ptrace.c: Update.
2991         * infcall.c: Update.
2992         * infcmd.c: Update.
2993         * inflow.c: Update.
2994         * infrun.c: Update.
2995         * linux-fork.c: Update.
2996         * linux-nat.c: Update.
2997         * linux-thread-db.c: Update.
2998         * mi/mi-cmd-var.c: Update.
2999         * mi/mi-interp.c: Update.
3000         * mi/mi-main.c: Update.
3001         * nto-procfs.c: Update.
3002         * ppc-linux-tdep.c: Update.
3003         * procfs.c: Update.
3004         * python/py-inferior.c: Update.
3005         * python/py-record-btrace.c: Update.
3006         * python/py-record.c: Update.
3007         * ravenscar-thread.c: Update.
3008         * regcache.c: Update.
3009         * remote-sim.c: Update.
3010         * remote.c: Update.
3011         * sol-thread.c: Update.
3012         * solib.c: Update.
3013         * target.c: Update.
3014         * tui/tui-stack.c: Update.
3015         * varobj.c: Update.
3016         * windows-nat.c: Update.
3017         * windows-tdep.c: Update.
3018
3019 2018-07-03  Tom Tromey  <tom@tromey.com>
3020
3021         * common/ptid.c (ptid_match): Remove.
3022         * common/ptid.h (ptid_match): Don't declare.
3023         * fbsd-nat.c: Update.
3024         * infcmd.c: Update.
3025         * infrun.c: Update.
3026         * linux-nat.c: Update.
3027         * record-btrace.c: Update.
3028         * regcache.c: Update.
3029         * remote.c: Update.
3030
3031 2018-07-03  Tom Tromey  <tom@tromey.com>
3032
3033         * common/ptid.c (ptid_tid_p): Remove.
3034         * common/ptid.h (ptid_tid_p): Don't declare.
3035         * sol-thread.c: Update.
3036
3037 2018-07-03  Tom Tromey  <tom@tromey.com>
3038
3039         * common/ptid.c (ptid_lwp_p): Remove.
3040         * common/ptid.h (ptid_lwp_p): Don't declare.
3041         * fbsd-nat.c: Update.
3042         * linux-nat.c: Update.
3043         * nat/linux-procfs.c: Update.
3044         * nat/x86-linux-dregs.c: Update.
3045         * sol-thread.c: Update.
3046
3047 2018-07-03  Tom Tromey  <tom@tromey.com>
3048
3049         * common/ptid.c (ptid_is_pid): Remove.
3050         * common/ptid.h (ptid_is_pid): Don't declare.
3051         * infrun.c: Update.
3052         * linux-nat.c: Update.
3053         * mi/mi-interp.c: Update.
3054         * remote.c: Update.
3055         * thread.c: Update.
3056
3057 2018-07-03  Tom Tromey  <tom@tromey.com>
3058
3059         * common/ptid.c (ptid_get_tid): Remove.
3060         * common/ptid.h (ptid_get_tid): Don't declare.
3061         * ada-tasks.c: Update.
3062         * aix-thread.c: Update.
3063         * bsd-uthread.c: Update.
3064         * darwin-nat.c: Update.
3065         * fbsd-nat.c: Update.
3066         * i386-darwin-nat.c: Update.
3067         * infrun.c: Update.
3068         * linux-tdep.c: Update.
3069         * nto-procfs.c: Update.
3070         * ppc-ravenscar-thread.c: Update.
3071         * python/py-infthread.c: Update.
3072         * ravenscar-thread.c: Update.
3073         * sol-thread.c: Update.
3074         * sparc-ravenscar-thread.c: Update.
3075         * windows-nat.c: Update.
3076
3077 2018-07-03  Tom Tromey  <tom@tromey.com>
3078
3079         * common/ptid.c (ptid_get_lwp): Remove.
3080         * common/ptid.h (ptid_get_lwp): Don't declare.
3081         * aarch64-linux-nat.c: Update.
3082         * ada-tasks.c: Update.
3083         * aix-thread.c: Update.
3084         * amd64-linux-nat.c: Update.
3085         * arm-linux-nat.c: Update.
3086         * corelow.c: Update.
3087         * fbsd-nat.c: Update.
3088         * fbsd-tdep.c: Update.
3089         * gnu-nat.c: Update.
3090         * i386-cygwin-tdep.c: Update.
3091         * i386-gnu-nat.c: Update.
3092         * i386-linux-nat.c: Update.
3093         * ia64-linux-nat.c: Update.
3094         * inf-ptrace.c: Update.
3095         * infrun.c: Update.
3096         * linux-fork.c: Update.
3097         * linux-nat.c: Update.
3098         * linux-tdep.c: Update.
3099         * linux-thread-db.c: Update.
3100         * mips-linux-nat.c: Update.
3101         * nat/aarch64-linux-hw-point.c: Update.
3102         * nat/aarch64-linux.c: Update.
3103         * nat/linux-btrace.c: Update.
3104         * nat/linux-osdata.c: Update.
3105         * nat/linux-procfs.c: Update.
3106         * nat/x86-linux-dregs.c: Update.
3107         * obsd-nat.c: Update.
3108         * ppc-fbsd-nat.c: Update.
3109         * ppc-linux-nat.c: Update.
3110         * procfs.c: Update.
3111         * python/py-infthread.c: Update.
3112         * ravenscar-thread.c: Update.
3113         * remote.c: Update.
3114         * s390-linux-nat.c: Update.
3115         * sol-thread.c: Update.
3116         * sol2-tdep.c: Update.
3117         * spu-linux-nat.c: Update.
3118         * x86-linux-nat.c: Update.
3119         * xtensa-linux-nat.c: Update.
3120
3121 2018-07-03  Tom Tromey  <tom@tromey.com>
3122
3123         * common/ptid.c (ptid_get_pid): Remove.
3124         * common/ptid.h (ptid_get_pid): Don't declare.
3125         * aarch64-linux-nat.c: Update.
3126         * ada-lang.c: Update.
3127         * aix-thread.c: Update.
3128         * alpha-bsd-nat.c: Update.
3129         * amd64-fbsd-nat.c: Update.
3130         * amd64-linux-nat.c: Update.
3131         * arm-linux-nat.c: Update.
3132         * arm-nbsd-nat.c: Update.
3133         * auxv.c: Update.
3134         * break-catch-syscall.c: Update.
3135         * breakpoint.c: Update.
3136         * bsd-uthread.c: Update.
3137         * corelow.c: Update.
3138         * ctf.c: Update.
3139         * darwin-nat.c: Update.
3140         * fbsd-nat.c: Update.
3141         * fbsd-tdep.c: Update.
3142         * gcore.c: Update.
3143         * gnu-nat.c: Update.
3144         * hppa-nbsd-nat.c: Update.
3145         * hppa-obsd-nat.c: Update.
3146         * i386-fbsd-nat.c: Update.
3147         * ia64-linux-nat.c: Update.
3148         * inf-ptrace.c: Update.
3149         * infcmd.c: Update.
3150         * inferior.c: Update.
3151         * inferior.h: Update.
3152         * inflow.c: Update.
3153         * infrun.c: Update.
3154         * linux-fork.c: Update.
3155         * linux-nat.c: Update.
3156         * linux-tdep.c: Update.
3157         * linux-thread-db.c: Update.
3158         * m68k-bsd-nat.c: Update.
3159         * mi/mi-interp.c: Update.
3160         * mi/mi-main.c: Update.
3161         * mips-linux-nat.c: Update.
3162         * mips-nbsd-nat.c: Update.
3163         * mips64-obsd-nat.c: Update.
3164         * nat/aarch64-linux-hw-point.c: Update.
3165         * nat/aarch64-linux.c: Update.
3166         * nat/linux-btrace.c: Update.
3167         * nat/linux-osdata.c: Update.
3168         * nat/linux-procfs.c: Update.
3169         * nat/x86-linux-dregs.c: Update.
3170         * nto-procfs.c: Update.
3171         * obsd-nat.c: Update.
3172         * ppc-linux-nat.c: Update.
3173         * ppc-nbsd-nat.c: Update.
3174         * ppc-obsd-nat.c: Update.
3175         * proc-service.c: Update.
3176         * procfs.c: Update.
3177         * python/py-inferior.c: Update.
3178         * python/py-infthread.c: Update.
3179         * ravenscar-thread.c: Update.
3180         * record.c: Update.
3181         * remote-sim.c: Update.
3182         * remote.c: Update.
3183         * rs6000-nat.c: Update.
3184         * s390-linux-nat.c: Update.
3185         * sh-nbsd-nat.c: Update.
3186         * sol-thread.c: Update.
3187         * sparc-nat.c: Update.
3188         * sparc64-tdep.c: Update.
3189         * spu-linux-nat.c: Update.
3190         * spu-tdep.c: Update.
3191         * target-debug.h: Update.
3192         * target.c: Update.
3193         * thread.c: Update.
3194         * tid-parse.c: Update.
3195         * tracefile-tfile.c: Update.
3196         * vax-bsd-nat.c: Update.
3197         * windows-nat.c: Update.
3198         * x86-linux-nat.c: Update.
3199         * x86-nat.c: Update.
3200
3201 2018-07-03  Tom Tromey  <tom@tromey.com>
3202
3203         * common/ptid.c (pid_to_ptid): Remove.
3204         * common/ptid.h (pid_to_ptid): Don't declare.
3205         * aix-thread.c: Update.
3206         * arm-linux-nat.c: Update.
3207         * common/ptid.c: Update.
3208         * common/ptid.h: Update.
3209         * corelow.c: Update.
3210         * ctf.c: Update.
3211         * darwin-nat.c: Update.
3212         * fbsd-nat.c: Update.
3213         * fork-child.c: Update.
3214         * gnu-nat.c: Update.
3215         * go32-nat.c: Update.
3216         * inf-ptrace.c: Update.
3217         * infcmd.c: Update.
3218         * inferior.c: Update.
3219         * infrun.c: Update.
3220         * linux-fork.c: Update.
3221         * linux-nat.c: Update.
3222         * nat/aarch64-linux-hw-point.c: Update.
3223         * nat/fork-inferior.c: Update.
3224         * nat/x86-linux-dregs.c: Update.
3225         * nto-procfs.c: Update.
3226         * obsd-nat.c: Update.
3227         * procfs.c: Update.
3228         * progspace.c: Update.
3229         * remote.c: Update.
3230         * rs6000-nat.c: Update.
3231         * s390-linux-nat.c: Update.
3232         * sol-thread.c: Update.
3233         * spu-linux-nat.c: Update.
3234         * target.c: Update.
3235         * top.c: Update.
3236         * tracefile-tfile.c: Update.
3237         * windows-nat.c: Update.
3238
3239 2018-07-03  Tom Tromey  <tom@tromey.com>
3240
3241         * common/ptid.h (ptid_build): Don't declare.
3242         * common/ptid.c (ptid_build): Remove.
3243         * aix-thread.c: Update.
3244         * bsd-kvm.c: Update.
3245         * bsd-uthread.c: Update.
3246         * common/agent.c: Update.
3247         * common/ptid.c: Update.
3248         * common/ptid.h: Update.
3249         * corelow.c: Update.
3250         * darwin-nat.c: Update.
3251         * fbsd-nat.c: Update.
3252         * gnu-nat.c: Update.
3253         * linux-fork.c: Update.
3254         * linux-nat.c: Update.
3255         * linux-thread-db.c: Update.
3256         * nat/linux-osdata.c: Update.
3257         * nat/linux-procfs.c: Update.
3258         * nto-procfs.c: Update.
3259         * obsd-nat.c: Update.
3260         * proc-service.c: Update.
3261         * procfs.c: Update.
3262         * ravenscar-thread.c: Update.
3263         * remote-sim.c: Update.
3264         * remote.c: Update.
3265         * sol-thread.c: Update.
3266         * target.c: Update.
3267         * windows-nat.c: Update.
3268
3269 2018-07-03  Tom Tromey  <tom@tromey.com>
3270
3271         * infrun.c (follow_exec): Use exit_inferior_silent.
3272         * inferior.c (exit_inferior_num_silent): Remove.
3273         * inferior.h (exit_inferior_num_silent): Don't declare.
3274
3275 2018-07-03  Tom Tromey  <tom@tromey.com>
3276
3277         PR cli/23340:
3278         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3279         inferior_ptid on error.
3280
3281 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3282             Simon Marchi  <simon.marchi@polymtl.ca>
3283
3284         PR tdep/8282
3285         * disasm.h (gdb_disassembler): Add
3286         `m_disassembler_options_holder'. member
3287         * disasm.c (get_all_disassembler_options): New function.
3288         (gdb_disassembler::gdb_disassembler): Use it.
3289         (gdb_buffered_insn_length_init_dis): Likewise.
3290         (gdb_buffered_insn_length): Adjust accordingly.
3291         (set_disassembler_options): Handle options with arguments.
3292         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3293         line if showing options with descriptions.
3294         (disassembler_options_completer): Adapt to using the
3295         `disasm_options_and_args_t' structure.
3296         * mips-tdep.c (mips_disassembler_options): New variable.
3297         (mips_disassembler_options_o32): Likewise.
3298         (mips_disassembler_options_n32): Likewise.
3299         (mips_disassembler_options_n64): Likewise.
3300         (gdb_print_insn_mips): Don't set `disassembler_options'.
3301         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3302         functions.
3303         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3304         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3305         `gdbarch_disassembler_options_implicit' and
3306         `gdbarch_valid_disassembler_options'.
3307         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3308         `disasm_options_and_args_t' structure.
3309         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3310         method.
3311         (valid_disassembler_options): Switch from `disasm_options_t' to
3312         the `disasm_options_and_args_t' structure.
3313         * NEWS: Document `set disassembler-options' support for the MIPS
3314         target.
3315         * gdbarch.h: Regenerate.
3316         * gdbarch.c: Regenerate.
3317
3318 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3319
3320         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3321
3322 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3323
3324         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3325         parameter in call to amd64_target_description.
3326         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3327         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3328         (amd64fbsd_init_abi): Likewise.
3329         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3330         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3331         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3332         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3333
3334 2018-06-29  Pedro Alves  <palves@redhat.com>
3335
3336         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3337         "segments" parameter.
3338         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3339         (_initialize_amd64_tdep): Update call to
3340         amd64_create_target_description.
3341         (amd64_target_description): Add "segments" parameter.  Adjust
3342         the implementation to use it.
3343         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3344         call to amd64_create_target_description.
3345         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3346         * gdb/arch/amd64.h (amd64_create_target_description): Add
3347         "segments" register.
3348         * gdb/arch/amd64.c (amd64_create_target_description): Add
3349         "segments" parameter.  Call create_feature_i386_64bit_segments
3350         only if SEGMENTS is true.
3351         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3352         call to amd64_create_target_description.
3353
3354 2018-06-29  Pedro Alves  <palves@redhat.com>
3355
3356         * thread.c (thread_target_id_str): New, factored out from ...
3357         (print_thread_info_1): ... here.  Use it to compute the max
3358         "Target Id" column width.
3359
3360 2018-06-29  Pedro Alves  <palves@redhat.com>
3361
3362         * remote.c (remote_target::extra_thread_info): Delete
3363         'display_buf' and 'n' locals.  from the cache, regardless of
3364         packet mechanims is in use.  Use cache for qThreadExtra and qP
3365         methods too.
3366
3367 2018-06-29  Pedro Alves  <palves@redhat.com>
3368
3369         * blockframe.c (find_pc_sect_containing_function): New function.
3370         * breakpoint.c (print_breakpoint_location): Don't call
3371         find_pc_sect_function.
3372         * linespec.c (create_sals_line_offset): Record the location's
3373         symbol in the sal.
3374         * linespec.c (convert_address_location_to_sals): Fill in sal's
3375         symbol with find_pc_sect_containing_function.
3376         * symtab.c (find_function_start_sal): Rename to ...
3377         (find_function_start_sal_1): ... this.
3378         (find_function_start_sal): Reimplement as wrapper around
3379         find_function_start_sal_1, and use
3380         find_pc_sect_containing_function to fill in the sal's symbol.
3381         (find_function_start_sal(symbol*, bool)): Adjust.
3382         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3383         comments.
3384         (find_pc_sect_containing_function): Declare.
3385
3386 2018-06-29  Pedro Alves  <palves@redhat.com>
3387
3388         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3389         true if the the location has no symbol.
3390
3391 2018-06-28  Tom Tromey  <tom@tromey.com>
3392
3393         * NEWS: Mention --enable-codesign.
3394         * silent-rules.mk (ECHO_SIGN): New variable.
3395         * configure.ac: Add --enable-codesign.
3396         * configure: Rebuild.
3397         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3398         (gdb$(EXEEXT)): Optionally invoke codesign.
3399
3400 2018-06-28  Pedro Alves  <palves@redhat.com>
3401
3402         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3403         comments.
3404         (switch_to_thread_no_regs): Adjust comment.
3405         * infcmd.c (stop_pc): Delete.
3406         (post_create_inferior, info_program_command): Replace references
3407         to stop_pc with references to thread_info->suspend.stop_pc.
3408         * inferior.h (stop_pc): Delete declaration.
3409         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3410         (handle_inferior_event_1, handle_signal_stop)
3411         (process_event_stop_test, keep_going_stepped_thread)
3412         (handle_step_into_function, handle_step_into_function_backward)
3413         (print_stop_location): Replace references to stop_pc with
3414         references to thread_info->suspend.stop_pc.
3415         (struct infcall_suspend_state) <stop_pc>: Delete field.
3416         (save_infcall_suspend_state, restore_infcall_suspend_state):
3417         Remove references to inf_stat->stop_pc.
3418         * linux-fork.c (fork_load_infrun_state): Likewise.
3419         * record-btrace.c (record_btrace_set_replay): Likewise.
3420         * record-full.c (record_full_goto_entry): Likewise.
3421         * remote.c (print_one_stopped_thread): Likewise.
3422         * target.c (target_resume): Extend comment.
3423         * thread.c (set_executing_thread): New.
3424         (set_executing): Use it.
3425         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3426         Remove references to stop_pc.
3427
3428 2018-06-28  Pedro Alves  <palves@redhat.com>
3429
3430         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3431         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3432
3433 2018-06-28  Tom Tromey  <tom@tromey.com>
3434
3435         * coffread.c (coff_symfile_finish): Update.
3436         * xcoffread.c (xcoff_symfile_finish): Update.
3437         * elfread.c (elf_symfile_finish): Update.
3438         * symfile.h (dwarf2_free_objfile): Don't declare.
3439         * dwarf2read.c (_initialize_dwarf2_read): Use
3440         register_objfile_data_with_cleanup.
3441         (dwarf2_free_objfile): Now static.  Change signature.
3442
3443 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3444
3445         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3446         option "-o" to add-symbol-file-load to add an offset to each
3447         section's load address.
3448         * symfile.c (set_objfile_default_section_offset): New function.
3449
3450 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3451
3452         * symfile.c (add_symbol_file_command): Make sure that sections
3453         with the same name are sorted in the same order.
3454
3455 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3456
3457         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3458         require the second argument.  If omitted, load sections at the
3459         addresses specified in the file.
3460
3461 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3462
3463         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3464         (_initialize_symfile): Add option "-o" to symbol-file to add an
3465         offset to each section of the symbol file.
3466
3467 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3468
3469         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3470
3471 2018-06-27  Tom Tromey  <tom@tromey.com>
3472
3473         * stack.c (_initialize_stack): Update "func" help text.
3474
3475 2018-06-27  Tom Tromey  <tom@tromey.com>
3476
3477         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3478         std::vector.
3479         (unwind_infopy_str, pyuw_create_unwind_info)
3480         (unwind_infopy_add_saved_register, pyuw_sniffer)
3481         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3482         Update.
3483         (struct saved_reg): Add constructor.
3484         <value>: Now a gdbpy_ref<>.
3485
3486 2018-06-27  Tom Tromey  <tom@tromey.com>
3487
3488         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3489
3490 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3491
3492         * gdb-gdb.py.in: Format using autopep8.
3493
3494 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3495
3496         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3497         (type_lookup_function): Recognize CORE_ADDR values.
3498
3499 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3500
3501         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3502         print tag_name.
3503
3504 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3505
3506         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3507         <__lt__>: Add.
3508
3509 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3510
3511         * gdb-gdb.py: Move to...
3512         * gdb-gdb.py.in: ... here.
3513         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3514         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3515         dependencies.
3516         (distclean): Remove gdb-gdb.py when cleaning.
3517         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3518         * configure: Re-generate.
3519
3520 2018-06-27  Pedro Alves  <palves@redhat.com>
3521
3522         * proc-service.c (get_ps_regcache): New.
3523         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3524         (ps_lsetfpregs): Use it.
3525
3526 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3527
3528         PR gdb/21695
3529         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3530         (dwarf_decode_lines_1): Adjust.
3531
3532 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3533
3534         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3535         override.
3536         <info_proc>: Likewise.
3537
3538 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3539
3540         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3541         to windows_fetch_one_register, and only handle the case of
3542         fetching one register.  Move the code that reloads the context
3543         and iterates over all registers if R is negative to...
3544         (windows_nat_target::fetch_registers): ... here.
3545         (do_windows_store_inferior_registers): Rename to
3546         windows_store_one_register, and only handle the case of storing
3547         one register.  Move the code that handles the case where r is
3548         negative to...
3549         (windows_nat_target::store_registers) ... here.
3550
3551 2018-06-26  Tom Tromey  <tom@tromey.com>
3552
3553         PR rust/22574:
3554         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3555         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3556         Update.
3557         (rust_internal_print_type): Add podata parameter.
3558         (rust_print_type): Update.
3559
3560 2018-06-26  Tom Tromey  <tom@tromey.com>
3561
3562         * typeprint.h (struct print_offset_data) <update, finish,
3563         maybe_print_hole>: New methods.
3564         <indentation>: New constant.
3565         * typeprint.c (print_offset_data::indentation): Define.
3566         (print_offset_data::maybe_print_hole, print_offset_data::update)
3567         (print_offset_data::finish): Move from c-typeprint.c and rename.
3568         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3569         (print_spaces_filtered_with_print_options): Update.
3570         (c_print_type_union_field_offset, maybe_print_hole)
3571         (c_print_type_struct_field_offset): Move to typeprint.c and
3572         rename.
3573         (c_type_print_base_struct_union): Update.
3574
3575 2018-06-25  Pedro Alves  <palves@redhat.com>
3576
3577         * gdbthread.h (thread_info_ref, delete_thread)
3578         (delete_thread_silent, first_thread_of_inferior)
3579         (any_thread_of_inferior, switch_to_thread)
3580         (enable_thread_stack_temporaries)
3581         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3582         (get_last_thread_stack_temporary)
3583         (value_in_thread_stack_temporaries, can_access_registers_thread):
3584         Spell out "struct thread_info" instead of just "thread_info".
3585         * inferior.h (notice_new_inferior): Likewise.
3586
3587 2018-06-25  Pedro Alves  <palves@redhat.com>
3588
3589         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3590         pass thread_info pointer to delete_thread.
3591         (windows_nat_target::detach): Pass inferior pointer to
3592         detach_inferior.
3593         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3594         delete_thread.
3595         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3596         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3597         and pass a thread_info pointer to delete_thread.
3598         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3599         pass thread_info pointer to delete_thread.
3600         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3601         delete_thread_silent call.
3602         * procfs.c (procfs_target::detach): Pass inferior pointer to
3603         detach_inferior.
3604         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3605         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3606         delete_thread_silent call.
3607         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3608         pass thread_info pointer to delete_thread.
3609         (windows_nat_target::detach): Pass inferior pointer to
3610         delete_inferior.
3611
3612 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3613
3614         * regcache.c (readable_regcache::read_part): Fix asserts.
3615         (reg_buffer::raw_collect_part): New function.
3616         (regcache::write_part): Fix asserts.
3617         (reg_buffer::raw_supply_part): New function.
3618         (regcache::transfer_regset_register): New helper function.
3619         (regcache::transfer_regset): Call new functions.
3620         (regcache_supply_regset): Use gdb_byte*.
3621         (regcache::supply_regset): Likewise.
3622         (regcache_collect_regset): Likewise.
3623         (regcache::collect_regset): Likewise.
3624         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3625         (reg_buffer::raw_supply_part): Likewise.
3626         (regcache::transfer_regset_register): Likewise.
3627         (regcache::transfer_regset): Use gdb_byte*.
3628
3629 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3630
3631         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3632
3633 2018-06-21  Pedro Alves  <palves@redhat.com>
3634
3635         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3636         instead of a ptid_t.  All callers adjusted.
3637         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3638         adjusted.
3639         (print_ada_task_info, display_current_task_id, task_command_1):
3640         Adjust.
3641         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3642         inferior_thread.
3643         (breakpoint_kind): Adjust.
3644         (remove_breakpoints_pid): Rename to ...
3645         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3646         pointer.  All callers adjusted.
3647         (bpstat_clear_actions): Use inferior_thread.
3648         (get_bpstat_thread): New.
3649         (bpstat_do_actions): Use it.
3650         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3651         to take a thread_info pointer.  All callers adjusted.
3652         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3653         (breakpoint_re_set_thread): Use inferior_thread.
3654         * breakpoint.h (struct inferior): Forward declare.
3655         (bpstat_stop_status): Update.
3656         (remove_breakpoints_pid): Delete.
3657         (remove_breakpoints_inf): New.
3658         * bsd-uthread.c (bsd_uthread_target::wait)
3659         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3660         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3661         (maint_btrace_packet_history_cmd)
3662         (maint_btrace_clear_packet_history_cmd): Adjust.
3663         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3664         inferior_thread.
3665         * cli/cli-interp.c: Include "inferior.h".
3666         * common/refcounted-object.h (struct
3667         refcounted_object_ref_policy): New.
3668         * compile/compile-object-load.c: Include gdbthread.h.
3669         (store_regs): Use inferior_thread.
3670         * corelow.c (core_target::close): Use current_inferior.
3671         (core_target_open): Adjust to use first_thread_of_inferior and use
3672         the current inferior.
3673         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3674         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3675         <thread>: ... this new field.  All references adjusted.
3676         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3677         Take a thread_info pointer instead of a ptid_t.
3678         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3679         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3680         thread_info pointer instead of a ptid_t.
3681         * elfread.c: Include "inferior.h".
3682         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3683         Use inferior_thread.
3684         * eval.c (evaluate_subexp): Likewise.
3685         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3686         inferior_thread.
3687         * gdb_proc_service.h (struct thread_info): Forward declare.
3688         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3689         <thread>: ... this new field.  All references adjusted.
3690         * gdbarch.h, gdbarch.c: Regenerate.
3691         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3692         'thread' parameter.  All implementations and callers adjusted.
3693         * gdbthread.h (thread_info) <set_running>: New method.
3694         (delete_thread, delete_thread_silent): Take a thread_info pointer
3695         instead of a ptid.
3696         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3697         (first_thread_of_process): Delete, replaced by ...
3698         (first_thread_of_inferior): ... this new function.  All callers
3699         adjusted.
3700         (any_live_thread_of_process): Delete, replaced by ...
3701         (any_live_thread_of_inferior): ... this new function.  All callers
3702         adjusted.
3703         (switch_to_thread, switch_to_no_thread): Declare.
3704         (is_executing): Delete.
3705         (enable_thread_stack_temporaries): Update comment.
3706         <enable_thread_stack_temporaries>: Take a thread_info pointer
3707         instead of a ptid_t.  Incref the thread.
3708         <~enable_thread_stack_temporaries>: Decref the thread.
3709         <m_ptid>: Delete
3710         <m_thr>: New.
3711         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3712         (get_last_thread_stack_temporary)
3713         (value_in_thread_stack_temporaries, can_access_registers_thread):
3714         Take a thread_info pointer instead of a ptid_t.  All callers
3715         adjusted.
3716         * infcall.c (get_call_return_value): Use inferior_thread.
3717         (run_inferior_call): Work with thread pointers instead of ptid_t.
3718         (call_function_by_hand_dummy): Work with thread pointers instead
3719         of ptid_t.  Use thread_info_ref.
3720         * infcmd.c (proceed_thread_callback): Access thread's state
3721         directly.
3722         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3723         access thread's state directly.
3724         (continue_command): Use inferior_thread.
3725         (info_program_command): Use find_thread_ptid and access thread
3726         state directly.
3727         (proceed_after_attach_callback): Use thread state directly.
3728         (notice_new_inferior): Take a thread_info pointer instead of a
3729         ptid_t.  All callers adjusted.
3730         (exit_inferior): Take an inferior pointer instead of a pid.  All
3731         callers adjusted.
3732         (exit_inferior_silent): New.
3733         (detach_inferior): Delete.
3734         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3735         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3736         (detach_inferior_command, kill_inferior_command): Use
3737         find_inferior_id instead of valid_gdb_inferior_id and
3738         gdb_inferior_id_to_pid.
3739         (inferior_command): Use inferior and thread pointers.
3740         * inferior.h (struct thread_info): Forward declare.
3741         (notice_new_inferior): Take a thread_info pointer instead of a
3742         ptid_t.  All callers adjusted.
3743         (detach_inferior): Delete declaration.
3744         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3745         instead of a pid.  All callers adjusted.
3746         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3747         (valid_gdb_inferior_id): Delete.
3748         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3749         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3750         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3751         ...
3752         <inf>: ... this new field.
3753         <step_ptid>: Delete, replaced by ...
3754         <step_thread>: ... this new field.
3755         (get_displaced_stepping_state): Take an inferior pointer instead
3756         of a pid.  All callers adjusted.
3757         (displaced_step_in_progress_any_inferior): Adjust.
3758         (displaced_step_in_progress_thread): Take a thread pointer instead
3759         of a ptid_t.  All callers adjusted.
3760         (displaced_step_in_progress, add_displaced_stepping_state): Take
3761         an inferior pointer instead of a pid.  All callers adjusted.
3762         (get_displaced_step_closure_by_addr): Adjust.
3763         (remove_displaced_stepping_state): Take an inferior pointer
3764         instead of a pid.  All callers adjusted.
3765         (displaced_step_prepare_throw, displaced_step_prepare)
3766         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3767         All callers adjusted.
3768         (start_step_over): Adjust.
3769         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3770         displaced step queue.
3771         (do_target_resume): Adjust.
3772         (fetch_inferior_event): Use inferior_thread.
3773         (context_switch, get_inferior_stop_soon): Take an
3774         execution_control_state pointer instead of a ptid_t.  All callers
3775         adjusted.
3776         (switch_to_thread_cleanup): Delete.
3777         (stop_all_threads): Use scoped_restore_current_thread.
3778         * inline-frame.c: Include "gdbthread.h".
3779         (inline_state) <inline_state>: Take a thread pointer instead of a
3780         ptid_t.  All callers adjusted.
3781         <ptid>: Delete, replaced by ...
3782         <thread>: ... this new field.
3783         (find_inline_frame_state): Take a thread pointer instead of a
3784         ptid_t.  All callers adjusted.
3785         (skip_inline_frames, step_into_inline_frame)
3786         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3787         pointer instead of a ptid_t.  All callers adjusted.
3788         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3789         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3790         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3791         pointers directly.
3792         * linux-nat.c (get_detach_signal): Likewise.
3793         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3794         (thread_db_notice_clone): Adjust.
3795         (thread_db_find_new_threads_silently)
3796         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3797         a thread pointer instead of a ptid_t.  All callers adjusted.
3798         * mi/mi-cmd-var.c: Include "inferior.h".
3799         (mi_cmd_var_update_iter): Update to use thread pointers.
3800         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3801         inferior directly.
3802         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3803         out to ...
3804         (mi_output_running): ... this new function.
3805         (mi_on_resume_1): Adjust to use it.
3806         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3807         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3808         directly.
3809         (interrupt_thread_callback): : Adjust to use thread and inferior
3810         pointers.
3811         * proc-service.c: Include "gdbthread.h".
3812         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3813         * progspace-and-thread.c: Include "inferior.h".
3814         * progspace.c: Include "inferior.h".
3815         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3816         hold a reference to an inferior_object.
3817         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3818         inferior_thread.
3819         * python/py-inferior.c (struct inferior_object): Give the type a
3820         tag name instead of a typedef.
3821         (python_on_normal_stop): No need to check if the current thread is
3822         listed.
3823         (inferior_to_inferior_object): Change return type to
3824         inferior_object.  All callers adjusted.
3825         (find_thread_object): Delete, bits factored out to ...
3826         (thread_to_thread_object): ... this new function.
3827         * python/py-infthread.c (create_thread_object): Use
3828         inferior_to_inferior_object.
3829         (thpy_is_stopped): Use thread pointer directly.
3830         (gdbpy_selected_thread): Use inferior_thread.
3831         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3832         field, replaced with ...
3833         <thread>: ... this new field.  All users adjusted.
3834         (btpy_insn_or_gap_new): Drop const.
3835         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3836         callers adjusted.
3837         * python/py-record.c: Include "gdbthread.h".
3838         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3839         a ptid_t.  All callers adjusted.
3840         (gdbpy_current_recording): Use inferior_thread.
3841         * python/py-record.h (recpy_record_object) <ptid>: Delete
3842         field, replaced with ...
3843         <thread>: ... this new field.  All users adjusted.
3844         (recpy_element_object) <ptid>: Delete
3845         field, replaced with ...
3846         <thread>: ... this new field.  All users adjusted.
3847         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3848         a ptid_t.  All callers adjusted.
3849         * python/py-threadevent.c: Include "gdbthread.h".
3850         (get_event_thread): Use thread_to_thread_object.
3851         * python/python-internal.h (struct inferior_object): Forward
3852         declare.
3853         (find_thread_object, find_inferior_object): Delete declarations.
3854         (thread_to_thread_object, inferior_to_inferior_object): New
3855         declarations.
3856         * record-btrace.c: Include "inferior.h".
3857         (require_btrace_thread): Use inferior_thread.
3858         (record_btrace_frame_sniffer)
3859         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3860         (get_thread_current_frame): Use scoped_restore_current_thread and
3861         switch_to_thread.
3862         (get_thread_current_frame): Use thread pointer directly.
3863         (record_btrace_replay_at_breakpoint): Use thread's inferior
3864         pointer directly.
3865         * record-full.c: Include "inferior.h".
3866         * regcache.c: Include "gdbthread.h".
3867         (get_thread_arch_regcache): Use the inferior's address space
3868         directly.
3869         (get_thread_regcache, registers_changed_thread): New.
3870         * regcache.h (get_thread_regcache(thread_info *thread)): New
3871         overload.
3872         (registers_changed_thread): New.
3873         (remote_target) <remote_detach_1>: Swap order of parameters.
3874         (remote_add_thread): <remote_add_thread>: Return the new thread.
3875         (get_remote_thread_info(ptid_t)): New overload.
3876         (remote_target::remote_notice_new_inferior): Use thread pointers
3877         directly.
3878         (remote_target::process_initial_stop_replies): Use
3879         thread_info::set_running.
3880         (remote_target::remote_detach_1, remote_target::detach)
3881         (extended_remote_target::detach): Adjust.
3882         * stack.c (frame_show_address): Use inferior_thread.
3883         * target-debug.h (target_debug_print_thread_info_pp): New.
3884         * target-delegates.c: Regenerate.
3885         * target.c (default_thread_address_space): Delete.
3886         (memory_xfer_partial_1): Use current_inferior.
3887         (target_detach): Use current_inferior.
3888         (target_thread_address_space): Delete.
3889         (generic_mourn_inferior): Use current_inferior.
3890         * target.h (struct target_ops) <thread_address_space>: Delete.
3891         (target_thread_address_space): Delete.
3892         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3893         pointers directly.
3894         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3895         thread pointer instead of a ptid_t.  Adjust all callers.
3896         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3897         (first_thread_of_process): Delete, replaced by ...
3898         (first_thread_of_inferior): ... this new function.  All callers
3899         adjusted.
3900         (any_thread_of_process): Rename to ...
3901         (any_thread_of_inferior): ... this, and take an inferior pointer.
3902         (any_live_thread_of_process): Rename to ...
3903         (any_live_thread_of_inferior): ... this, and take an inferior
3904         pointer.
3905         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3906         (value_in_thread_stack_temporaries)
3907         (get_last_thread_stack_temporary): Take a thread pointer instead
3908         of a ptid_t.  Adjust all callers.
3909         (thread_info::set_running): New.
3910         (validate_registers_access): Use inferior_thread.
3911         (can_access_registers_ptid): Rename to ...
3912         (can_access_registers_thread): ... this, and take a thread
3913         pointer.
3914         (print_thread_info_1): Adjust to compare thread pointers instead
3915         of ptids.
3916         (switch_to_no_thread, switch_to_thread): Make extern.
3917         (scoped_restore_current_thread::~scoped_restore_current_thread):
3918         Use m_thread pointer directly.
3919         (scoped_restore_current_thread::scoped_restore_current_thread):
3920         Use inferior_thread.
3921         (thread_command): Use thread pointer directly.
3922         (thread_num_make_value_helper): Use inferior_thread.
3923         * top.c (execute_command): Use inferior_thread.
3924         * tui/tui-interp.c: Include "inferior.h".
3925         * varobj.c (varobj_create): Use inferior_thread.
3926         (value_of_root_1): Use find_thread_global_id instead of
3927         global_thread_id_to_ptid.
3928
3929 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
3930
3931         * regcache.c (readable_regcache::read_part): Avoid memcpy when
3932         possible.
3933         (regcache::write_part): Likewise.
3934         (readable_regcache::cooked_read_part): Update comment.
3935         (readable_regcache::cooked_write_part): Likewise.
3936         * regcache.h: (readable_regcache::read_part): Likewise.
3937         (regcache::write_part): Likewise.
3938
3939 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
3940             Dirk Schubert  <dirk.schubert@arm.com>
3941
3942         * aarch64-linux-nat.c (post_attach): New.
3943         (aarch64_linux_nat_target::post_attach): Override post_attach to
3944         record the number of hardware debug registers.
3945
3946 2018-06-20  Tom Tromey  <tom@tromey.com>
3947
3948         * python/py-param.c (add_setshow_generic): Make parameters const.
3949         (parmpy_init): Update.
3950
3951 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3952
3953         * regcache.h (regcache_cooked_read_ftype): Rename to...
3954         (register_read_ftype): ...this, change type to function_view.
3955         (class reg_buffer) <save>: Remove src parameter.
3956         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3957         parameter non-const in first overload.  Remove src parameter in
3958         second overload.
3959         * regcache.c (do_cooked_read): Remove.
3960         (readonly_detached_regcache::readonly_detached_regcache): Make
3961         parameter non-const, adjust call to other constructor.
3962         (reg_buffer::save): Remove src parameter.
3963         * frame.c (do_frame_register_read): Remove.
3964         (frame_save_as_regcache): Use lambda function.
3965         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3966         parameter to ppu2spu_data *.
3967         (ppu2spu_sniffer): Use lambda function.
3968
3969 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3970
3971         * record-full.c (record_full_target::insert_breakpoint): Remove
3972         "struct" keyword, add const.
3973
3974 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3975
3976         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3977         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3978         * configure.ac: Remove AC_PREREQ, add missing quoting.
3979         * gnulib/configure.ac: Modernize usage of
3980         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3981         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3982         (AUTOMAKE_VERSION): Bump to 1.15.1.
3983         * configure: Re-generate.
3984         * config.in: Re-generate.
3985         * aclocal.m4: Re-generate.
3986         * gnulib/aclocal.m4: Re-generate.
3987         * gnulib/config.in: Re-generate.
3988         * gnulib/configure: Re-generate.
3989         * gnulib/import/Makefile.in: Re-generate.
3990
3991 2018-06-19  Pedro Alves  <palves@redhat.com>
3992
3993         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3994         (lookup_minimal_symbol_by_pc_section): ... here with
3995         gdb_assert_not_reached added.
3996
3997 2018-06-19  Pedro Alves  <palves@redhat.com>
3998
3999         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
4000         parameter with a block parameter.  Compare location's block symbol
4001         with the frame's block instead of addresses.
4002         (skip_inline_frames): Pass the current block instead of the
4003         frame's address.  Break out as soon as we determine the frame
4004         should not be skipped.
4005
4006 2018-06-18  Tom Tromey  <tom@tromey.com>
4007
4008         * solib-aix.c (solib_aix_get_section_offsets): Return
4009         unique_xmalloc_ptr.
4010         (solib_aix_solib_create_inferior_hook): Update.
4011
4012 2018-06-18  Tom Tromey  <tom@tromey.com>
4013
4014         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
4015
4016 2018-06-18  Tom Tromey  <tom@tromey.com>
4017
4018         * solib-frv.c (frv_relocate_main_executable): Use
4019         unique_xmalloc_ptr.
4020         * solib-dsbt.c (dsbt_relocate_main_executable): Use
4021         unique_xmalloc_ptr.
4022
4023 2018-06-18  Tom Tromey  <tom@tromey.com>
4024
4025         * objfiles.h (inhibit_section_map_updates): Update.
4026         (resume_section_map_updates, resume_section_map_updates_cleanup):
4027         Remove.
4028         * solib-svr4.c (svr4_handle_solib_event): Update.
4029         * objfiles.c (inhibit_section_map_updates): Return
4030         scoped_restore_tmpl<int>.
4031         (resume_section_map_updates, resume_section_map_updates_cleanup):
4032         Remove.
4033
4034 2018-06-18  Tom Tromey  <tom@tromey.com>
4035
4036         * valprint.h (read_string): Update.
4037         * valprint.c (read_string): Change type of "buffer".
4038         (val_print_string): Update.
4039         * python/py-value.c (valpy_string): Update.
4040         * language.h (struct language_defn) <la_get_string>: Change
4041         type of "buffer".
4042         (default_get_string, c_get_string): Update.
4043         * language.c (default_get_string): Change type of "buffer".
4044         * guile/scm-value.c (gdbscm_value_to_string): Update.
4045         * c-lang.c (c_get_string): Change type of "buffer".
4046
4047 2018-06-18  Tom Tromey  <tom@tromey.com>
4048
4049         * ser-mingw.c (struct pipe_state_destroyer): New.
4050         (pipe_state_up): New typedef.
4051         (cleanup_pipe_state): Remove.
4052         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4053
4054 2018-06-18  Tom Tromey  <tom@tromey.com>
4055
4056         * rust-lang.h (rust_yyerror): Don't declare.
4057         * rust-lang.c (rust_language_defn): Update.
4058         * rust-exp.y (yyerror): Now static.
4059         * parse.c (parse_exp_in_context_1): Update.
4060         * p-lang.h (p_yyerror): Don't declare.
4061         * p-lang.c (p_language_defn): Update.
4062         * p-exp.y (yyerror): Now static.
4063         * opencl-lang.c (opencl_language_defn): Update.
4064         * objc-lang.c (objc_language_defn): Update.
4065         * m2-lang.h (m2_yyerror): Don't declare.
4066         * m2-lang.c (m2_language_defn): Update.
4067         * m2-exp.y (yyerror): Now static.
4068         * language.h (struct language_defn) <la_error>: Remove.
4069         * language.c (unk_lang_error): Remove.
4070         (unknown_language_defn, auto_language_defn): Remove.
4071         * go-lang.h (go_yyerror): Don't declare.
4072         * go-lang.c (go_language_defn): Update.
4073         * go-exp.y (yyerror): Now static.
4074         * f-lang.h (f_yyerror): Don't declare.
4075         * f-lang.c (f_language_defn): Update.
4076         * f-exp.y (yyerror): Now static.
4077         * d-lang.h (d_yyerror): Don't declare.
4078         * d-lang.c (d_language_defn): Update.
4079         * d-exp.y (yyerror): Now static.
4080         * c-lang.h (c_yyerror): Don't declare.
4081         * c-lang.c (c_language_defn, cplus_language_defn)
4082         (asm_language_defn, minimal_language_defn): Update.
4083         * c-exp.y (yyerror): Now static.
4084         * ada-lang.h (ada_yyerror): Don't declare.
4085         * ada-lang.c (ada_language_defn): Update.
4086         * ada-exp.y (yyerror): Now static.
4087
4088 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4089
4090         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4091         (store_sveregs_to_thread): Likewise.
4092         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4093         (aarch64_linux_store_inferior_registers): Likewise.
4094         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4095         function.
4096         (aarch64_sve_regs_copy_to_regcache): Likewise.
4097         (aarch64_sve_regs_copy_from_regcache): Likewise.
4098         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4099         declaration.
4100         (aarch64_sve_regs_copy_to_regcache): Likewise.
4101         (aarch64_sve_regs_copy_from_regcache): Likewise.
4102         (sve_context): Structure from Linux headers.
4103         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4104         (SVE_SIG_ZREG_SIZE): Likewise.
4105         (SVE_SIG_PREG_SIZE): Likewise.
4106         (SVE_SIG_FFR_SIZE): Likewise.
4107         (SVE_SIG_REGS_OFFSET): Likewise.
4108         (SVE_SIG_ZREGS_OFFSET): Likewise.
4109         (SVE_SIG_ZREG_OFFSET): Likewise.
4110         (SVE_SIG_ZREGS_SIZE): Likewise.
4111         (SVE_SIG_PREGS_OFFSET): Likewise.
4112         (SVE_SIG_PREG_OFFSET): Likewise.
4113         (SVE_SIG_PREGS_SIZE): Likewise.
4114         (SVE_SIG_FFR_OFFSET): Likewise.
4115         (SVE_SIG_REGS_SIZE): Likewise.
4116         (SVE_SIG_CONTEXT_SIZE): Likewise.
4117         (SVE_PT_REGS_MASK): Likewise.
4118         (SVE_PT_REGS_FPSIMD): Likewise.
4119         (SVE_PT_REGS_SVE): Likewise.
4120         (SVE_PT_VL_INHERIT): Likewise.
4121         (SVE_PT_VL_ONEXEC): Likewise.
4122         (SVE_PT_REGS_OFFSET): Likewise.
4123         (SVE_PT_FPSIMD_OFFSET): Likewise.
4124         (SVE_PT_FPSIMD_SIZE): Likewise.
4125         (SVE_PT_SVE_ZREG_SIZE): Likewise.
4126         (SVE_PT_SVE_PREG_SIZE): Likewise.
4127         (SVE_PT_SVE_FFR_SIZE): Likewise.
4128         (SVE_PT_SVE_FPSR_SIZE): Likewise.
4129         (SVE_PT_SVE_FPCR_SIZE): Likewise.
4130         (__SVE_SIG_TO_PT): Likewise.
4131         (SVE_PT_SVE_OFFSET): Likewise.
4132         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4133         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4134         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4135         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4136         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4137         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4138         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4139         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4140         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4141         (SVE_PT_SVE_SIZE): Likewise.
4142         (SVE_PT_SIZE): Likewise.
4143         (HAS_SVE_STATE): New define.
4144
4145 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4146
4147         * nat/aarch64-sve-linux-sigcontext.h: New file.
4148         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4149         new files.
4150         (SVE_VQ_MIN): Likewise.
4151         (SVE_VQ_MAX): Likewise.
4152         (SVE_VL_MIN): Likewise.
4153         (SVE_VL_MAX): Likewise.
4154         (SVE_NUM_ZREGS): Likewise.
4155         (SVE_NUM_PREGS): Likewise.
4156         (sve_vl_valid): Likewise.
4157         (struct user_sve_header): Likewise.
4158
4159 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4160             Richard Bunt <Richard.Bunt@arm.com>
4161
4162         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4163         was requested by GDB.
4164
4165 2018-06-15  Tom de Vries  <tdevries@suse.de>
4166
4167         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4168
4169 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4170
4171         * gnulib/update-gnulib.sh: Print expected versions of
4172         autoconf/aclocal.
4173
4174 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4175
4176         * arch-utils.c (default_type_align): Use type_length_units.
4177         * gdbtypes.c (type_align): Use type_length_units.
4178
4179 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4180
4181         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4182         of 'define' command.
4183
4184 2018-06-14  Tom de Vries  <tdevries@suse.de>
4185
4186         PR cli/22573
4187         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4188         get_no_prettyformat_print_options.
4189
4190 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4191
4192         * sparc-nat.h: Include target.h.
4193         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4194         <fetch_registers>: Remove this argument in function call.
4195         <store_registers>: Remove this argument in function call, remove
4196         extra semicolon.
4197         <low_forget_process>: Call sparc64_forget_process instead of
4198         sparc_forget_process.
4199
4200 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4201
4202         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4203         (procfs_target::make_corefile_notes): Adjust to new
4204         target_read_alloc return type.
4205
4206 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4207             Stephen Roberts  <stephen.roberts@arm.com>
4208
4209         PR gdb/22882
4210         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4211         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4212         Move should_notify_stop local into more inner scope.
4213
4214 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4215             Stephen Roberts  <stephen.roberts@arm.com>
4216
4217         PR gdb/22882
4218         * infrun.c (resume_1): Add call to mark_async_event_handler.
4219
4220 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4221
4222         * infrun.c (do_target_wait): Change old version of $pc printed.
4223
4224 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4225
4226         * dwarf2read.c (read_index_from_section): Rename to...
4227         (read_gdb_index_from_section): ... this, update all callers.
4228         (dwarf2_read_index): Rename to...
4229         (dwarf2_read_gdb_index): ... this, update all callers.
4230
4231 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4232
4233         * gdb/hppa-linux-nat.c
4234         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4235         hppa_linux_nat_target::fetch_registers.
4236
4237 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4238
4239         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4240         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4241         (AARCH64_DWARF_SVE_FFR): Likewise.
4242         (AARCH64_DWARF_SVE_P0): Likewise.
4243         (AARCH64_DWARF_SVE_Z0): Likewise.
4244
4245 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4246
4247         * common/common-regcache.h (raw_compare): New function.
4248         * regcache.c (regcache::raw_compare): Likewise.
4249         * regcache.h (regcache::raw_compare): New declaration.
4250
4251 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4252
4253         * common/common-regcache.h (reg_buffer_common): New structure.
4254         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4255         (reg_buffer::raw_supply): Likewise.
4256         (reg_buffer::raw_supply_integer): Likewise.
4257         (reg_buffer::raw_supply_zeroed): Likewise.
4258         (reg_buffer::raw_collect): Likewise.
4259         (reg_buffer::raw_collect_integer): Likewise.
4260         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4261         (reg_buffer::raw_supply): Likewise.
4262         (reg_buffer::raw_supply_integer): Likewise.
4263         (reg_buffer::raw_supply_zeroed): Likewise.
4264         (reg_buffer::raw_collect): Likewise.
4265         (reg_buffer::raw_collect_integer): Likewise.
4266
4267 2018-06-10  Tom Tromey  <tom@tromey.com>
4268
4269         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4270         (class remote_state) <stop_reply_queue>: Now std::vector.
4271         (remote_state::~remote_state)
4272         (remote_target::stop_reply_queue_length): Update.
4273         (struct queue_iter_param, remove_child_of_pending_fork)
4274         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4275         (check_pending_event_prevents_wildcard_vcont_callback)
4276         (remove_stop_reply_for_inferior)
4277         (remove_stop_reply_of_remote_state)
4278         (remote_notif_remove_once_on_match)
4279         (stop_reply_match_ptid_and_ws)
4280         (remote_kill_child_of_pending_fork): Remove.
4281         (remote_target::remove_new_fork_children)
4282         (remote_target::check_pending_events_prevent_wildcard_vcont)
4283         (remote_target::discard_pending_stop_replies)
4284         (remote_target::discard_pending_stop_replies_in_queue)
4285         (remote_target::remote_notif_remove_queued_reply)
4286         (remote_target::queued_stop_reply)
4287         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4288         (remote_target::wait, remote_target::kill_new_fork_children)
4289         (remote_target::async): Update.
4290
4291 2018-06-10  Tom Tromey  <tom@tromey.com>
4292
4293         * record-full.c (record_full_arch_list_cleanups): Remove.
4294         (record_full_message): Use try/catch.
4295         (record_full_wait_cleanups): Remove.
4296         (record_full_wait_1): Use try/catch.
4297         (record_full_restore): Likewise.
4298
4299 2018-06-10  Tom Tromey  <tom@tromey.com>
4300
4301         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4302         declare VEC.  Add constructor.
4303         <in_target_beneath>: Now bool.
4304         (record_full_breakpoints): Now a std::vector, static.
4305         (record_full_sync_record_breakpoints)
4306         (record_full_init_record_breakpoints)
4307         (record_full_target::insert_breakpoint)
4308         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4309
4310 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4311
4312         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4313         * serial.c (serial_interface_lookup): Remove struct keyword.
4314
4315 2018-06-10  Tom Tromey  <tom@tromey.com>
4316
4317         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4318         method.
4319         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4320         a method.
4321         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4322         method.
4323         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4324         "beneath" as a method.
4325         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4326         Use "beneath" as a method.
4327
4328 2018-06-10  Tom Tromey  <tom@tromey.com>
4329
4330         * tracefile.c (struct trace_file_writer_deleter): New.
4331         <operator()>: Rename from trace_file_writer_xfree.
4332         (trace_file_writer_up): New typedef.
4333         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4334
4335 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4336
4337         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4338         <m_registers, m_register_status>: Change type to
4339         std::unique_ptr.
4340         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4341         XCNEWVEC.
4342
4343 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4344
4345         * common/common-regcache.h (enum register_status): Add
4346         underlying type "signed char".
4347         * regcache.h (reg_buffer) <m_register_status>: Change type to
4348         register_status *.
4349         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4350         register_status instead of signed char.
4351         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4352         (reg_buffer::get_register_status): Remove cast.
4353         (readable_regcache::raw_read): Remove cast.
4354         (readable_regcache::cooked_read): Remove cast.
4355
4356 2018-06-09  Tom Tromey  <tom@tromey.com>
4357
4358         * source.c (reverse_search_command, forward_search_command): Use
4359         scoped_fd.
4360
4361 2018-06-09  Tom Tromey  <tom@tromey.com>
4362
4363         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4364         (serial_ops_list): Now static, std::vector.
4365         (serial_interface_lookup, serial_add_interface): Update.
4366
4367 2018-06-09  Tom Tromey  <tom@tromey.com>
4368
4369         * dwarf2read.c (process_cu_includes): Update.
4370         (process_full_comp_unit): Update.
4371         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4372         std::vector.
4373
4374 2018-06-08  Paul Koning  <paul_koning@dell.com>
4375
4376         PR gdb/23252
4377
4378         * python/python.c (do_start_initialization):
4379         Avoid call to internal Python API.
4380         (init__gdb_module): New function.
4381
4382 2018-06-08  Gary Benson <gbenson@redhat.com>
4383
4384         * linux-thread-db.c (valprint.h): New include.
4385         (struct check_thread_db_info): New structure.
4386         (check_thread_db_on_load, tdb_testinfo): New static globals.
4387         (check_thread_db, check_thread_db_callback): New functions.
4388         (try_thread_db_load_1): Run integrity checks if requested.
4389         (maintenance_check_libthread_db): New function.
4390         (_initialize_thread_db): Register "maint check libthread-db"
4391         and "maint set/show check-libthread-db".
4392         * NEWS: Mention the above new commands.
4393
4394 2018-06-08  Tom Tromey  <tom@tromey.com>
4395
4396         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4397         now a method.
4398
4399 2018-06-08  Tom Tromey  <tom@tromey.com>
4400
4401         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4402
4403 2018-06-08  Tom Tromey  <tom@tromey.com>
4404
4405         * common/btrace-common.h (struct btrace_data): Add constructor,
4406         destructor, move assignment operator.
4407         <empty, clear, fini>: New methods.
4408         <format>: Initialize.
4409         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4410         (btrace_data_empty): Don't declare.
4411         * common/btrace-common.c (btrace_data_init): Remove.
4412         (btrace_data::fini): Rename from btrace_data_fini.
4413         (btrace_data::empty): Rename from btrace_data_empty.
4414         (btrace_data::clear): Rename from btrace_data_clear.  Return
4415         bool.
4416         * btrace.h (make_cleanup_btrace_data): Don't declare.
4417         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4418         (parse_xml_btrace): Update.
4419         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4420         (maint_btrace_clear_packet_history_cmd): Update.
4421
4422 2018-06-07  Pedro Alves  <palves@redhat.com>
4423
4424         * target.h (target_ops) <beneath>: Now a method.  All references
4425         updated.
4426         (class target_stack): New.
4427         * target.c (g_target_stack): New.
4428         (g_current_top_target): Delete.
4429         (current_top_target): Get the top target out of g_target_stack.
4430         (target_stack::push, target_stack::unpush): New.
4431         (push_target, unpush_target): Reimplement.
4432         (target_is_pushed): Reimplement in terms of g_target_stack.
4433         (target_ops::beneath, target_stack::find_beneath): New.
4434
4435 2018-06-07  Pedro Alves  <palves@redhat.com>
4436
4437         * target.h (find_target_beneath): Delete declaration.
4438         * target.c (find_target_beneath): Delete definition.
4439         * aix-thread.c: All callers of find_target_beneath adjusted to
4440         call target_ops::beneath instead.
4441         * bsd-uthread.c: Likewise.
4442         * linux-thread-db.c: Likewise.
4443         * ravenscar-thread.c: Likewise.
4444         * sol-thread.c: Likewise.
4445         * spu-multiarch.c: Likewise.
4446
4447 2018-06-07  Pedro Alves  <palves@redhat.com>
4448
4449         * target.h (target_ops) <beneath>: Now a method.  All references
4450         updated.
4451         (target_ops) <m_beneath>: New.
4452         * target.c (target_ops::beneath): New.
4453         * corelow.c: Adjust all references to target_ops::beneath.
4454         * linux-thread-db.c: Likewise.
4455         * make-target-delegates: Likewise.
4456         * record-btrace.c: Likewise.
4457         * record-full.c: Likewise.
4458         * remote.c: Likewise.
4459         * target.c: Likewise.
4460         * target-delegates.c: Regenerate.
4461
4462 2018-06-07  Pedro Alves  <palves@redhat.com>
4463
4464         * target.h (target_stack): Delete.
4465         (current_top_target): Declare function.
4466         * target.c (target_stack): Delete.
4467         (g_current_top_target): New.
4468         (current_top_target): New function.
4469         * auxv.c: Use current_top_target instead of target_stack
4470         throughout.
4471         * avr-tdep.c: Likewise.
4472         * breakpoint.c: Likewise.
4473         * corefile.c: Likewise.
4474         * elfread.c: Likewise.
4475         * eval.c: Likewise.
4476         * exceptions.c: Likewise.
4477         * frame.c: Likewise.
4478         * gdbarch-selftests.c: Likewise.
4479         * gnu-v3-abi.c: Likewise.
4480         * ia64-tdep.c: Likewise.
4481         * ia64-vms-tdep.c: Likewise.
4482         * infcall.c: Likewise.
4483         * infcmd.c: Likewise.
4484         * infrun.c: Likewise.
4485         * linespec.c: Likewise.
4486         * linux-tdep.c: Likewise.
4487         * minsyms.c: Likewise.
4488         * ppc-linux-nat.c: Likewise.
4489         * ppc-linux-tdep.c: Likewise.
4490         * procfs.c: Likewise.
4491         * regcache.c: Likewise.
4492         * remote.c: Likewise.
4493         * rs6000-tdep.c: Likewise.
4494         * s390-linux-nat.c: Likewise.
4495         * s390-tdep.c: Likewise.
4496         * solib-aix.c: Likewise.
4497         * solib-darwin.c: Likewise.
4498         * solib-dsbt.c: Likewise.
4499         * solib-spu.c: Likewise.
4500         * solib-svr4.c: Likewise.
4501         * solib-target.c: Likewise.
4502         * sparc-tdep.c: Likewise.
4503         * sparc64-tdep.c: Likewise.
4504         * spu-tdep.c: Likewise.
4505         * symfile.c: Likewise.
4506         * symtab.c: Likewise.
4507         * target-descriptions.c: Likewise.
4508         * target-memory.c: Likewise.
4509         * target.c: Likewise.
4510         * target.h: Likewise.
4511         * tracefile-tfile.c: Likewise.
4512         * tracepoint.c: Likewise.
4513         * valops.c: Likewise.
4514         * valprint.c: Likewise.
4515         * value.c: Likewise.
4516         * windows-tdep.c: Likewise.
4517         * mi/mi-main.c: Likewise.
4518
4519 2018-06-07  Tom Tromey  <tom@tromey.com>
4520
4521         * valprint.h (build_address_symbolic): Declare.
4522         * printcmd.c (print_address_symbolic): Update.
4523         (build_address_symbolic): Change "name" and "filename" to
4524         std::string.
4525         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4526         Update.
4527         * defs.h (build_address_symbolic): Remove declaration.
4528
4529 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4530
4531         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4532         (aarch64_vnv_type): Add function.
4533         (aarch64_pseudo_register_name): Add V regs for SVE.
4534         (aarch64_pseudo_register_type): Likewise.
4535         (aarch64_pseudo_register_reggroup_p): Likewise.
4536         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4537         (aarch64_pseudo_read_value): Add V regs for SVE.
4538         (aarch64_pseudo_write_2): Use V0 offset for SVE
4539         (aarch64_pseudo_write): Add V regs for SVE.
4540         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4541
4542 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4543
4544         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4545         (sve_vl_from_vq): Likewise.
4546
4547 2018-06-05  Tom Tromey  <tom@tromey.com>
4548
4549         * cli/cli-cmds.c (show_version): Update.
4550         * top.c (print_gdb_version): Add "interactive" parameter.
4551         Update.
4552         * main.c (captured_main_1): Update.
4553         * top.h (print_gdb_version): Add "interactive" parameter and a
4554         comment.
4555
4556 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4557
4558         * common/enum-flags.h: Add trailing semicolon to example in
4559         comment.
4560
4561 2018-06-05  Tom Tromey  <tom@tromey.com>
4562
4563         PR cli/12326:
4564         * NEWS: Add entry about pager.
4565         * utils.c (pagination_disabled_for_command): New global.
4566         (prompt_for_continue): Allow "c" response to prompt.
4567         (reinitialize_more_filter): Clear
4568         pagination_disabled_for_command.
4569         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4570
4571 2018-06-04  Tom Tromey  <tom@tromey.com>
4572
4573         * ada-lang.h (ada_lookup_symbol_list): Update.
4574         * ada-lang.c (resolve_subexp): Update.
4575         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4576         parameter.
4577         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4578         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4579         results parameter to std::vector.
4580         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4581         Update.
4582         * ada-exp.y (block_lookup): Update.
4583         (select_possible_type_sym): Change type of syms.  Remove nsyms
4584         parameter.
4585         (write_var_or_type, write_name_assoc): Update.
4586
4587 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4588
4589         * windows-nat.c (windows_nat_target::xfer_partial): Return
4590         TARGET_XFER_E_IO if we need to delegate to the target beneath
4591         but BENEATH is NULL.
4592
4593 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4594
4595         * Makefile.in (config.status): Add configure.nat as a
4596         dependency.
4597
4598 2018-06-04  Tom Tromey  <tom@tromey.com>
4599
4600         * cp-name-parser.y (cpname_state): Add method declarations.
4601         (HANDLE_QUAL): Update.
4602         (cpname_state::d_grab, cpname_state::fill_comp)
4603         (cpname_state::make_operator, cpname_state::make_dtor)
4604         (cpname_state::make_builtin_type, cpname_state::make_name)
4605         (cpname_state::d_qualify, cpname_state::d_int_type)
4606         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4607         (%union): Move earlier.
4608
4609 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4610
4611         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4612
4613 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4614
4615         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4616         (aarch64_pseudo_write_1): Likewise.
4617         (aarch64_pseudo_read_value): Use helper.
4618         (aarch64_pseudo_write): Likewise.
4619
4620 2018-06-04  Pedro Alves  <palves@redhat.com>
4621
4622         * darwin-nat.c (darwin_ops): Delete.
4623         (darwin_attach_pid): Use get_native_target.
4624
4625 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4626
4627         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4628         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4629
4630 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4631
4632         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4633         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4634         (aarch64_gdbarch_init): Check for SVE.
4635         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4636
4637 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4638
4639         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4640         * aarch64-tdep.h (aarch64_read_description): Likewise.
4641         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4642         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4643         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4644         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4645         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4646
4647 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4648
4649         * value.c (value_fetch_lazy_bitfield): New.
4650         (value_fetch_lazy_memory): New.
4651         (value_fetch_lazy_register): New.
4652         (value_fetch_lazy): Factor out to smaller functions.
4653
4654 2018-06-01  Tom Tromey  <tom@tromey.com>
4655
4656         * cp-name-parser.y (backslashable, represented): Now const.
4657
4658 2018-06-01  Tom Tromey  <tom@tromey.com>
4659
4660         * cp-name-parser.y: Include parser-defs.h.
4661         (parser_fprintf): Remove declaration.
4662
4663 2018-06-01  Tom Tromey  <tom@tromey.com>
4664
4665         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4666         %parse-param.
4667         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4668         (global_result): Remove globals.
4669         (struct cpname_state): New.
4670         (yyparse): Don't declare.
4671         (yylex, yyerror): Move declarations after %union.
4672         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4673         (make_name): Add state parameter.
4674         Update all callers.
4675         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4676         parameter.
4677         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4678         Update.
4679         (yylex): Add lvalp, state parameters.
4680         (yyerror): Add state parameter.
4681         (cp_demangled_name_to_comp): Update.
4682
4683 2018-06-01  Tom Tromey  <tom@tromey.com>
4684
4685         * cp-name-parser.y (parser_fprintf): Declare.
4686         (GDB_YY_REMAP_PREFIX): Define.
4687         Include yy-remap.h.  Don't redefine yy* identifiers.
4688
4689 2018-06-01  Tom Tromey  <tom@tromey.com>
4690
4691         * python/py-type.c (typy_legacy_template_argument): Update.
4692         * cp-support.h (cp_demangled_name_to_comp): Update.
4693         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4694         parameter to be a "std::string *".
4695         (main): Update.
4696
4697 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4698
4699         * ada-lex.l: Include "diagnostics.h" instead of
4700         "common/diagnostics.h".
4701         * unittests/environ-selftests.c: Likewise.
4702         * common/diagnostics.h: Moved to ../include.
4703
4704 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4705
4706         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4707         to language_mode_manual while calling breakpoint_re_set_one.
4708
4709 2018-06-01  Tom Tromey  <tom@tromey.com>
4710
4711         * valops.c (value_cast_structs, destructor_name_p): Update.
4712         * symtab.c (gdb_mangle_name): Update.
4713         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4714         Update.
4715         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4716         (pascal_object_print_value_fields, pascal_object_print_value):
4717         Update.
4718         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4719         * linespec.c (find_methods): Update.
4720         * gdbtypes.h (type_name_no_tag): Remove.
4721         (type_name_or_error): Rename from type_name_no_tag_or_error.
4722         * gdbtypes.c (type_name_no_tag): Remove.
4723         (type_name_or_error): Rename from type_name_no_tag_or_error.
4724         (lookup_struct_elt_type, check_typedef): Update.
4725         * expprint.c (print_subexp_standard): Update.
4726         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4727         * d-namespace.c (d_lookup_nested_symbol): Update.
4728         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4729         (cp_print_class_member): Update.
4730         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4731         * completer.c (add_struct_fields): Update.
4732         * c-typeprint.c (cp_type_print_derivation_info)
4733         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4734         Update.
4735         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4736         (ada_prefer_type, ada_is_exception_sym): Update.
4737
4738 2018-06-01  Tom Tromey  <tom@tromey.com>
4739
4740         * valops.c (enum_constant_from_type, value_namespace_elt)
4741         (value_maybe_namespace_elt): Update.
4742         * valarith.c (find_size_for_pointer_math): Update.
4743         * target-descriptions.c (make_gdb_type): Update.
4744         * symmisc.c (print_symbol): Update.
4745         * stabsread.c (define_symbol, read_type)
4746         (complain_about_struct_wipeout, add_undefined_type)
4747         (cleanup_undefined_types_1): Update.
4748         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4749         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4750         (rust_internal_print_type, rust_composite_type)
4751         (rust_evaluate_funcall, rust_evaluate_subexp)
4752         (rust_inclusive_range_type_p): Update.
4753         * python/py-type.c (typy_get_tag): Update.
4754         * p-typeprint.c (pascal_type_print_base): Update.
4755         * mdebugread.c (parse_symbol, parse_type): Update.
4756         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4757         Update.
4758         * guile/scm-type.c (gdbscm_type_tag): Update.
4759         * go-lang.c (sixg_string_p): Update.
4760         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4761         Update.
4762         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4763         (TYPE_TAG_NAME): Remove.
4764         * gdbtypes.c (type_name_no_tag): Simplify.
4765         (check_typedef, check_types_equal, recursive_dump_type)
4766         (copy_type_recursive, arch_composite_type): Update.
4767         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4768         in summary mode when needed.
4769         * eval.c (evaluate_funcall): Update.
4770         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4771         (process_structure_scope, read_enumeration_type)
4772         (read_namespace_type, read_module_type, determine_prefix): Update.
4773         * cp-support.c (inspect_type): Update.
4774         * coffread.c (process_coff_symbol, decode_base_type): Update.
4775         * c-varobj.c (c_is_path_expr_parent): Update.
4776         * c-typeprint.c (c_type_print_base_struct_union): Update.
4777         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4778         summary when using C language.
4779         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4780         (gen_maybe_namespace_elt): Update.
4781         * ada-lang.c (ada_type_name): Simplify.
4782         (empty_record, ada_template_to_fixed_record_type_1)
4783         (template_to_static_fixed_type)
4784         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4785
4786 2018-06-01  Tom Tromey  <tom@tromey.com>
4787
4788         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4789         c_print_type.
4790         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4791         (c_print_type): Update.
4792         (c_print_type): New overload.
4793         (c_type_print_varspec_prefix, c_type_print_args)
4794         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4795         (c_type_print_base_struct_union, c_type_print_base_1)
4796         (cp_type_print_method_args): Add "language" parameter.
4797         (c_type_print_base): Update.
4798         * c-lang.h (c_print_type): Add new overload.
4799
4800 2018-06-01  Tom Tromey  <tom@tromey.com>
4801
4802         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4803         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4804
4805 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4806
4807         * aarch64-tdep.c (aarch64_sve_register_names): New const
4808         var.
4809         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4810         (AARCH64_SVE_Z_REGS_NUM): New define.
4811         (AARCH64_SVE_P_REGS_NUM): Likewise.
4812         (AARCH64_SVE_NUM_REGS): Likewise.
4813
4814 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4815
4816         * nat/linux-ptrace.h [__alpha__]
4817         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4818         definitions.
4819
4820 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4821
4822         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4823         the endianness selected.
4824         * NEWS: Document `set endian auto' mode operation update.
4825
4826 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4827
4828         * Makefile.in: Add new header.
4829         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4830         (sve_vl_from_vg): Likewise.
4831         (sve_vq_from_vl): Likewise.
4832         (sve_vl_from_vq): Likewise.
4833         (sve_vq_from_vg): Likewise.
4834         (sve_vg_from_vq): Likewise.
4835         * configure.nat: Add new c file.
4836         * nat/aarch64-sve-linux-ptrace.c: New file.
4837         * nat/aarch64-sve-linux-ptrace.h: New file.
4838
4839 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4840
4841         * aarch64-linux-nat.c (aarch64_linux_read_description):
4842         Add parmeter zero.
4843         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4844         Likewise.
4845         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4846         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4847         (aarch64_gdbarch_init): Add parmeter zero.
4848         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4849         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4850         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4851         parmeter.
4852         * doc/gdb.texinfo: Describe SVE feature
4853         * features/aarch64-sve.c: New file.
4854
4855 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4856
4857         PR gdb/23210
4858         * gdbarch.sh (significant_addr_bit): Default to zero when
4859         not set by target architecture.
4860         * gdbarch.c: Re-generated.
4861         * utils.c (address_significant): Update.
4862
4863 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4864
4865         * stack.c (func_command): Remove trailing newline in call to error.
4866
4867 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4868
4869         * regcache.h (regcache_raw_collect): Remove, update callers to
4870         use regcache::raw_collect.
4871         * regcache.c (regcache_raw_collect): Remove.
4872
4873 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4874
4875         * regcache.h (regcache_raw_supply): Remove, update callers to
4876         use detached_regcache::raw_supply.
4877         * regcache.c (regcache_raw_supply): Remove.
4878
4879 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4880
4881         * regcache.h (regcache_cooked_write_part): Remove, update
4882         callers to use regcache::cooked_write_part.
4883         * regcache.c (regcache_cooked_write_part): Remove.
4884
4885 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4886
4887         * regcache.h (regcache_cooked_read_part): Remove, update callers
4888         to use readable_regcache::cooked_read_part.
4889         * regcache.c (regcache_cooked_read_part): Remove.
4890
4891 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4892
4893         * regcache.h (regcache_cooked_read_value): Remove, update
4894         callers to use readable_regcache::cooked_read_value.
4895         * regcache.c (regcache_cooked_read_value): Remove.
4896
4897 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4898
4899         * regcache.h (regcache_cooked_write): Remove, update callers to
4900         use regcache::cooked_write.
4901         * regcache.c (regcache_cooked_write): Remove.
4902
4903 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4904
4905         * regcache.h (regcache_invalidate): Remove, update callers to
4906         use detached_regcache::invalidate instead.
4907         * regcache.c (regcache_invalidate): Remove.
4908
4909 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4910
4911         * regcache.h (regcache_raw_write_part): Remove, update callers
4912         to use regcache::raw_write_part instead.
4913         * regcache.c (regcache_raw_write_part): Remove.
4914
4915 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4916
4917         * regcache.h (regcache_raw_read_part): Remove, update callers to
4918         use readable_regcache::raw_read_part instead.
4919         * regcache.c (regcache_raw_read_part): Remove.
4920
4921 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4922
4923         * regcache.h (regcache_cooked_read): Remove, update callers to
4924         use readable_regcache::cooked_read instead.
4925         * regcache.c (regcache_cooked_read): Remove.
4926
4927 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4928
4929         * regcache.h (regcache_raw_write): Remove, update callers to use
4930         regcache::raw_write instead.
4931         * regcache.c (regcache_raw_write): Remove.
4932
4933 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4934
4935         * regcache.h (regcache_raw_read): Remove, update callers to use
4936         readable_regcache::raw_read instead.
4937         * regcache.c (regcache_raw_read): Remove.
4938
4939 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4940
4941         * regcache.h (regcache_raw_update): Remove, update callers to
4942         use readable_regcache::raw_update instead.
4943         * regcache.c (regcache_raw_update): Remove.
4944
4945 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4946
4947         * regcache.h (regcache_register_status): Remove, update callers
4948         to use reg_buffer::get_register_status directly instead.
4949         * regcache.c (regcache_register_status): Remove.
4950
4951 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4952
4953         * regcache.h (regcache_get_ptid): Remove, update all callers to
4954         call regcache::ptid instead.
4955         * regcache.c (regcache_get_ptid): Remove.
4956
4957 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4958
4959         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4960
4961 2018-05-30  Pedro Alves  <palves@redhat.com>
4962
4963         * common/common-exceptions.h (exception_rethrow): Use
4964         ATTRIBUTE_NORETURN.
4965
4966 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4967
4968         * breakpoint.c (print_solib_event, check_status_catch_solib):
4969         Remove struct keyword in range-based for loops.
4970         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4971         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4972         Likewise.
4973         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4974         Likewise.
4975         * symfile.c (addr_info_make_relative): Likewise.
4976         * thread.c (value_in_thread_stack_temporaries): Likewise.
4977
4978 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4979
4980         PR gdb/16841
4981         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4982         aggregate type to get its real type before accessing it.
4983
4984 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4985
4986         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4987         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4988         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4989         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4990         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4991         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4992         * printcmd.c (info_address_command): Likewise.
4993
4994 2018-05-29  Tom Tromey  <tom@tromey.com>
4995
4996         * windows-nat.c (handle_exception): Update fall-through comment.
4997
4998 2018-05-29  Tom Tromey  <tom@tromey.com>
4999
5000         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
5001         (struct program_space) <added_solibs>: Now a std::vector.
5002         * breakpoint.c (print_solib_event): Update.
5003         (check_status_catch_solib): Update.
5004         * progspace.c (clear_program_space_solib_cache): Update.
5005         * solib.c (update_solib_list): Update.
5006
5007 2018-05-29  Tom Tromey  <tom@tromey.com>
5008
5009         * python/py-type.c (typy_richcompare): Update.
5010         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
5011         * gdbtypes.h (types_deeply_equal): Return bool.
5012         (types_equal): Likewise.
5013         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
5014         declare VEC.
5015         (check_types_equal): Change worklist to std::vector.  Return
5016         bool.
5017         (struct type_equality_entry): Add constructor.
5018         (compare_maybe_null_strings): Return bool.
5019         (check_types_worklist): Return bool.  Change worklist to
5020         std::vector.
5021         (types_deeply_equal): Use std::vector.
5022         (types_equal): Return bool.
5023         (compare_maybe_null_strings): Simplify.
5024
5025 2018-05-29  Tom Tromey  <tom@tromey.com>
5026
5027         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
5028
5029 2018-05-29  Tom Tromey  <tom@tromey.com>
5030
5031         * objc-lang.h: Don't include cp-support.h.
5032         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
5033         declare VEC.
5034
5035 2018-05-27  Tom Tromey  <tom@tromey.com>
5036
5037         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
5038
5039 2018-05-25  Tom Tromey  <tom@tromey.com>
5040
5041         * value.c (value::location): Initialize.
5042
5043 2018-05-25  Tom Tromey  <tom@tromey.com>
5044
5045         * dbxread.c (init_bincl_list): Remove.
5046         (bincl_list): Now a std::vector.
5047         (bincls_allocated, next_bincl): Remove.
5048         (free_bincl_list, do_free_bincl_list_cleanup)
5049         (make_cleanup_free_bincl_list): Remove.
5050         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5051         unique_xmalloc_ptr.
5052         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5053         (struct header_file_location): Add constructor.
5054         (add_bincl_to_list): Remove.
5055
5056 2018-05-25  Tom Tromey  <tom@tromey.com>
5057
5058         * tui/tui.c (tui_enable): Update.
5059         * mi/mi-interp.c (mi_interp::init): Update.
5060         * interps.h (class interp) <name>: New method.
5061         <m_name>: Rename from name.
5062         (~scoped_restore_interp): Update.
5063         * interps.c (interp::interp): Update.
5064         (interp_add, interp_set, interp_lookup_existing)
5065         (current_interp_named_p): Update.
5066
5067 2018-05-25  Tom Tromey  <tom@tromey.com>
5068
5069         * interps.c (interp_name): Remove.
5070         * mi/mi-interp.c (mi_interp::init): Update.
5071         * interps.h (interp_name): Remove.
5072         (~scoped_restore_interp): Update.
5073         * tui/tui.c (tui_enable): Update.
5074
5075 2018-05-25  Tom Tromey  <tom@tromey.com>
5076
5077         * utils.c (fputs_maybe_filtered): Update.
5078         * linespec.c (decode_line_full): Update.
5079         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5080         (mi_print_breakpoint_for_event, mi_solib_loaded)
5081         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5082         (mi_user_selected_context_changed): Update.
5083         * mi/mi-main.c (mi_execute_command): Update.
5084         * cli/cli-script.c (execute_control_command): Update.
5085         * python/python.c (execute_gdb_command): Update.
5086         * solib.c (info_sharedlibrary_command): Update.
5087         * interps.c (interp_ui_out): Remove.
5088         * interps.h (interp_ui_out): Remove.
5089
5090 2018-05-25  Tom Tromey  <tom@tromey.com>
5091
5092         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5093         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5094         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5095
5096 2018-05-25  Tom Tromey  <tom@tromey.com>
5097
5098         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5099         * interps.c (interp_exec): Use scoped_restore.
5100
5101 2018-05-25  Tom Tromey  <tom@tromey.com>
5102
5103         * remote.c (remote_target::remote_file_get): Use
5104         gdb::byte_vector.
5105         (remote_target::remote_file_put): Likewise.
5106
5107 2018-05-25  Tom Tromey  <tom@tromey.com>
5108
5109         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5110         a std::string.
5111         (get_pe_section_index, add_pe_exported_sym): Update.
5112         (read_pe_exported_syms): Use gdb::def_vector.
5113
5114 2018-05-25  Tom Tromey  <tom@tromey.com>
5115
5116         * frame.c (remove_prev_frame): Remove.
5117         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
5118
5119 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
5120
5121         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
5122         Remove prototypes.
5123         * mips-linux-nat.c (supply_fpregset): Always call
5124         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
5125         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
5126         `mips_fill_fpregset'.
5127         * mips-linux-tdep.c (mips_supply_fpregset)
5128         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
5129         (mips_fill_fpregset_wrapper): Remove functions.
5130         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5131         (mips_linux_fpregset): Remove variable.
5132         (mips_linux_iterate_over_regset_sections): Use
5133         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5134         (mips_linux_o32_sigframe_init): Remove comment.
5135
5136 2018-05-25  Pedro Alves  <palves@redhat.com>
5137
5138         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5139         (struct readahead_cache, struct packet_reg, struct
5140         remote_arch_state, class remote_state): Move higher up in the
5141         file.
5142         (remote_target::m_remote_state): Now an object instead of a pointer.
5143         (remote_target::get_remote_state): Adjust.
5144
5145 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5146
5147         * stack.c (select_and_print_frame): Delete.
5148         (struct function_bounds): Move struct within function.
5149         (func_command): Most content moved into new function
5150         find_frame_for_function, use new function, print result, add
5151         function comment.
5152         (find_frame_for_function): New function, now returns a result.
5153
5154 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5155
5156         * stack.c (iterate_over_block_arg_vars): Fix comment.
5157         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5158
5159 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5160
5161         PR gdb/23203
5162         * frame.c
5163         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5164         Define.
5165         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5166         Define.
5167         * frame.h (class scoped_restore_selected_frame): New class.
5168         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5169         of any exception, use scoped_restore_selected_frame to restore the
5170         frame instead.
5171
5172 2018-05-24  Pedro Alves  <palves@redhat.com>
5173
5174         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5175         override.
5176
5177 2018-05-23  Tom Tromey  <tom@tromey.com>
5178
5179         * complaints.c (struct complaints): Remove.
5180         (symfile_complaint_book): Remove.
5181         (series): New global.
5182         (complaint_internal): Update.
5183         (clear_complaints): Update.
5184
5185 2018-05-23  Tom Tromey  <tom@tromey.com>
5186
5187         * complaints.c (counters): New global.
5188         (struct complain): Remove.
5189         (struct complaints) <root>: Remove.
5190         (complaint_sentinel): Remove.
5191         (symfile_complaint_book): Update.
5192         (find_complaint) Remove.
5193         (complaint_internal, clear_complaints): Update.
5194
5195 2018-05-23  Tom Tromey  <tom@tromey.com>
5196
5197         * complaints.c (struct complain) <file, line>: Remove.
5198         (find_complaint): Remove file, line parameters.
5199         (complaint_internal): Update.
5200
5201 2018-05-23  Tom Tromey  <tom@tromey.com>
5202
5203         * complaints.c (vcomplaint): Remove.
5204         (complaint_internal) Merge in contents of vcomplaint.
5205
5206 2018-05-23  Tom Tromey  <tom@tromey.com>
5207
5208         * complaints.c (struct complaints) <explanation>: Remove.
5209         (symfile_explanations): Remove.
5210         (symfile_complaint_book): Update.
5211         (vcomplaint): Update.
5212         (struct explanation): Remove.
5213
5214 2018-05-23  Tom Tromey  <tom@tromey.com>
5215
5216         * complaints.c (symfile_complaints): Remove.
5217         (complaint_internal): Remove "complaints" parameter.
5218         (clear_complaints, vcomplaint): Remove "c" parameter.
5219         (get_complaints): Remove.
5220         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5221         (dwarf2_debug_line_missing_file_complaint)
5222         (dwarf2_debug_line_missing_end_sequence_complaint)
5223         (dwarf2_complex_location_expr_complaint)
5224         (dwarf2_const_value_length_mismatch_complaint)
5225         (dwarf2_section_buffer_overflow_complaint)
5226         (dwarf2_macro_malformed_definition_complaint)
5227         (dwarf2_invalid_attrib_class_complaint)
5228         (create_addrmap_from_index, dw2_symtab_iter_next)
5229         (dw2_expand_marked_cus)
5230         (dw2_debug_names_iterator::find_vec_in_debug_names)
5231         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5232         (create_debug_type_hash_table, init_cutu_and_read_dies)
5233         (partial_die_parent_scope, add_partial_enumeration)
5234         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5235         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5236         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5237         (create_cus_hash_table, create_dwp_hash_table)
5238         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5239         (dwarf2_rnglists_process, dwarf2_ranges_process)
5240         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5241         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5242         (handle_struct_member_die, process_structure_scope)
5243         (read_array_type, read_common_block, read_module_type)
5244         (read_tag_pointer_type, read_typedef, read_base_type)
5245         (read_subrange_type, load_partial_dies, partial_die_info::read)
5246         (partial_die_info::read, partial_die_info::read)
5247         (partial_die_info::read, read_checked_initial_length_and_offset)
5248         (dwarf2_string_attr, read_formatted_entries)
5249         (dwarf_decode_line_header)
5250         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5251         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5252         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5253         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5254         (get_signatured_type, get_DW_AT_signature_type)
5255         (decode_locdesc, file_file_name, consume_improper_spaces)
5256         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5257         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5258         (dwarf2_symbol_mark_computed, set_die_type)
5259         (read_attribute_value): Update.
5260         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5261         Update.
5262         * dbxread.c (unknown_symtype_complaint)
5263         (lbrac_mismatch_complaint, repeated_header_complaint)
5264         (set_namestring, function_outside_compilation_unit_complaint)
5265         (read_dbx_symtab, process_one_symbol): Update.
5266         * gdbtypes.c (stub_noname_complaint): Update.
5267         * windows-nat.c (handle_unload_dll): Update.
5268         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5269         (decode_base_type): Update.
5270         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5271         (eb_complaint, record_include_begin, record_include_end)
5272         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5273         (process_xcoff_symbol, read_symbol)
5274         (function_outside_compilation_unit_complaint)
5275         (scan_xcoff_symtab): Update.
5276         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5277         * buildsym.c (finish_block_internal, make_blockvector)
5278         (end_symtab_get_static_block, augment_type_symtab): Update.
5279         * dtrace-probe.c (dtrace_process_dof)
5280         (dtrace_static_probe_ops::get_probes): Update.
5281         * complaints.h (struct complaint): Don't declare.
5282         (symfile_complaints): Remove.
5283         (complaint_internal): Remove "complaints" parameter.
5284         (complaint): Likewise.
5285         (clear_complaints): Likewise.
5286         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5287         (reread_symbols): Update.
5288         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5289         (dwarf2_frame_cache, decode_frame_entry): Update.
5290         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5291         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5292         (info_selectors_command): Update.
5293         * macrotab.c (macro_include, check_for_redefinition)
5294         (macro_undef): Update.
5295         * objfiles.c (filter_overlapping_sections): Update.
5296         * stabsread.c (invalid_cpp_abbrev_complaint)
5297         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5298         (define_symbol, error_type, read_type, rs6000_builtin_type)
5299         (stabs_method_name_from_physname, read_member_functions)
5300         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5301         (attach_fields_to_type, complain_about_struct_wipeout)
5302         (read_range_type, read_args, common_block_start)
5303         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5304         Update.
5305         * mdebugread.c (index_complaint, unknown_ext_complaint)
5306         (basic_type_complaint, bad_tag_guess_complaint)
5307         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5308         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5309         (parse_procedure, parse_lines)
5310         (function_outside_compilation_unit_complaint)
5311         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5312         (bad_tag_guess_complaint, reg_value_complaint): Update.
5313         * cp-support.c (demangled_name_complaint): Update.
5314         * macroscope.c (sal_macro_scope): Update.
5315         * dwarf-index-write.c (class debug_names): Update.
5316
5317 2018-05-23  Tom Tromey  <tom@tromey.com>
5318
5319         * complaints.c (clear_complaints): Remove "noisy" parameter.
5320         * complaints.h (clear_complaints): Update.
5321         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5322         (reread_symbols): Update.
5323
5324 2018-05-23  Tom Tromey  <tom@tromey.com>
5325
5326         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5327         SUBSEQUENT_MESSAGE.
5328         (vcomplaint, clear_complaints): Update.
5329         (symfile_explanations): Remove some messages.
5330
5331 2018-05-23  Tom Tromey  <tom@tromey.com>
5332
5333         * complaints.c (internal_complaint): Remove.
5334         * complaints.h (internal_complaint): Remove.
5335
5336 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5337
5338         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5339
5340 2018-05-22  Pedro Alves  <palves@redhat.com>
5341
5342         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5343         (remote_fileio_badfd, remote_fileio_return_errno)
5344         (remote_fileio_return_success, remote_fileio_func_open)
5345         (remote_fileio_func_open, remote_fileio_func_close)
5346         (remote_fileio_func_read, remote_fileio_func_write)
5347         (remote_fileio_func_lseek, remote_fileio_func_rename)
5348         (remote_fileio_func_unlink, remote_fileio_func_stat)
5349         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5350         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5351         remote_target parameter.
5352         (remote_fio_func_map) <func>: Add remote_target parameter.
5353         (do_remote_fileio_request, remote_fileio_request):
5354         * remote-fileio.h (remote_fileio_request):
5355         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5356         remote_target parameter.
5357         (remote_notif_process, handle_notification): Adjust to pass down
5358         the remote.
5359         (remote_notif_state_allocate): Add remote_target parameter.  Save
5360         it.
5361         * remote-notif.h (struct remote_target): Forward declare.
5362         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5363         remote_target parameter.
5364         (struct remote_notif_state) <remote>: New field.
5365         (remote_notif_ack, remote_notif_parse): Add remote_target
5366         parameter.
5367         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5368         remote_target parameter.
5369         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5370         (threads_listing_context, rmt_thread_action, protocol_feature)
5371         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5372         (packet_result, struct threads_listing_context, remote_state):
5373         Move definitions and declarations higher up.
5374         (remote_target) <~remote_target>: Declare.
5375         (remote_download_command_source, remote_file_put, remote_file_get)
5376         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5377         (remote_hostio_pread_vFile, remote_hostio_send_command)
5378         (remote_hostio_set_filesystem, remote_hostio_open)
5379         (remote_hostio_close, remote_hostio_unlink, remote_state)
5380         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5381         (get_memory_write_packet_size, get_memory_read_packet_size)
5382         (append_pending_thread_resumptions, remote_detach_1)
5383         (append_resumption, remote_resume_with_vcont)
5384         (add_current_inferior_and_thread, wait_ns, wait_as)
5385         (process_stop_reply, remote_notice_new_inferior)
5386         (process_initial_stop_replies, remote_add_thread)
5387         (btrace_sync_conf, remote_btrace_maybe_reopen)
5388         (remove_new_fork_children, kill_new_fork_children)
5389         (discard_pending_stop_replies, stop_reply_queue_length)
5390         (check_pending_events_prevent_wildcard_vcont)
5391         (discard_pending_stop_replies_in_queue, stop_reply)
5392         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5393         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5394         (remote_interrupt_as, remote_interrupt_ns)
5395         (remote_get_noisy_reply, remote_query_attached)
5396         (remote_add_inferior, remote_current_thread, get_current_thread)
5397         (set_thread, set_general_thread, set_continue_thread)
5398         (set_general_process, write_ptid)
5399         (remote_unpack_thread_info_response, remote_get_threadinfo)
5400         (parse_threadlist_response, remote_get_threadlist)
5401         (remote_threadlist_iterator, remote_get_threads_with_ql)
5402         (remote_get_threads_with_qxfer)
5403         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5404         (get_offsets, remote_check_symbols, remote_supported_packet)
5405         (remote_query_supported, remote_packet_size)
5406         (remote_serial_quit_handler, remote_detach_pid)
5407         (remote_vcont_probe, remote_resume_with_hc)
5408         (send_interrupt_sequence, interrupt_query)
5409         (remote_notif_get_pending_events, fetch_register_using_p)
5410         (send_g_packet, process_g_packet, fetch_registers_using_g)
5411         (store_register_using_P, store_registers_using_G)
5412         (set_remote_traceframe, check_binary_download)
5413         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5414         (remote_xfer_live_readonly_partial, remote_read_bytes)
5415         (remote_send_printf, remote_flash_write, readchar)
5416         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5417         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5418         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5419         (extended_remote_disable_randomization, extended_remote_run)
5420         (send_environment_packet, extended_remote_environment_support)
5421         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5422         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5423         (packet_command): Now methods of ...
5424         (remote_target): ... this class.
5425         (m_remote_state) <remote_target>: New field.
5426         (struct remote_state) <stop_reply_queue,
5427         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5428         fields.
5429         (remote_state::remote_state): Allocate stop_reply_queue.
5430         (remote_state): Delete global.
5431         (get_remote_state_raw): Delete.
5432         (remote_target::get_remote_state): Allocate m_remote_state on
5433         demand.
5434         (get_current_remote_target): New.
5435         (remote_ops, extended_remote_ops): Delete.
5436         (wait_forever_enabled_p, remote_async_inferior_event_token):
5437         Delete, moved to struct remote_state.
5438         (remote_target::close): Delete self.  Destruction bits split to
5439         ...
5440         (remote_target::~remote_target): ... this.
5441         (show_memory_packet_size): Adjust to use
5442         get_current_remote_target.
5443         (struct protocol_feature) <func>: Add remote_target parameter.
5444         All callers adjusted.
5445         (curr_quit_handler_target): New.
5446         (remote_serial_quit_handler): Reimplement.
5447         (remote_target::open_1): Adjust to use get_current_remote_target.
5448         Heap-allocate remote_target/extended_remote_target instances.
5449         (vcont_builder::vcont_builder): Add remote_target parameter, and
5450         save it in m_remote.  All callers adjusted.
5451         (vcont_builder::m_remote): New field.
5452         (vcont_builder::restart, vcont_builder::flush)
5453         (vcont_builder::push_action): Use it.
5454         (remote_target::commit_resume): Use it.
5455         (struct queue_iter_param) <remote>: New field.
5456         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5457         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5458         (check_pending_event_prevents_wildcard_vcont_callback)
5459         (remote_target::check_pending_events_prevent_wildcard_vcont)
5460         (remote_target::discard_pending_stop_replies)
5461         (remote_target::discard_pending_stop_replies_in_queue)
5462         (remote_target::remote_notif_remove_queued_reply): Fill in
5463         'remote' field.
5464         (remote_notif_get_pending_events): New.
5465         (remote_target::readchar, remote_target::remote_serial_write):
5466         Save/restore curr_quit_handler_target.
5467         (putpkt): New.
5468         (kill_new_fork_children): Fill in 'remote' field.
5469         (packet_command): Use get_current_remote_target, defer to
5470         remote_target method of same name.
5471         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5472         parameter, and save it in m_remote.  All callers adjusted.
5473         (scoped_remote_fd::release): Use m_remote.
5474         (scoped_remote_fd::m_remote): New field.
5475         (remote_file_put, remote_file_get, remote_file_delete): Use
5476         get_current_remote_target, defer to remote_target method of same
5477         name.
5478         (remote_btrace_reset): Add remote_state paremeter.  Update all
5479         callers.
5480         (remote_async_inferior_event_handler). Pass down 'data'.
5481         (remote_new_objfile): Use get_current_remote_target.
5482         (remote_target::vcont_r_supported): New.
5483         (set_range_stepping): Use get_current_remote_target and
5484         remote_target::vcont_r_supported.
5485         (_initialize_remote): Don't allocate 'remote_state' and
5486         'stop_reply_queue' globals.
5487         * remote.h (struct remote_target): Forward declare.
5488         (getpkt, putpkt, remote_notif_get_pending_events): Add
5489         'remote_target' parameter.
5490
5491 2018-05-22  Pedro Alves  <palves@redhat.com>
5492
5493         * remote.c (vcont_builder): Now a class.  Make all data members
5494         private.
5495         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5496         Declare methods.
5497         (vcont_builder_restart): Rename to ...
5498         (vcont_builder::restart): ... this.
5499         (vcont_builder_flush): Rename to ...
5500         (vcont_builder::flush): ... this.
5501         (vcont_builder_push_action): Rename to ...
5502         (vcont_builder::push_action): ... this.
5503         (remote_target::commit_resume): Adjust.
5504
5505 2018-05-22  Pedro Alves  <palves@redhat.com>
5506
5507         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5508         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5509         (get_fixed_memory_packet_size): New.
5510         (get_memory_packet_size): Use it.
5511         (set_memory_packet_size): Don't override the config size with
5512         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5513         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5514         Don't refer to get_memory_packet_size if not connected to a remote
5515         target.  Show "(default)" if configured size is 0.
5516
5517 2018-05-22  Pedro Alves  <palves@redhat.com>
5518
5519         * remote.c (remote_target::mourn_inferior): Move
5520         discard_pending_stop_replies call here from ...
5521         (_initialize_remote): ... here.
5522
5523 2018-05-22  Pedro Alves  <palves@redhat.com>
5524
5525         * remote.c (compare_section_command): Remove set_general_process
5526         call.
5527
5528 2018-05-22  Pedro Alves  <palves@redhat.com>
5529
5530         * remote.c (struct packet_reg, struct remote_arch_state):
5531         Move higher up in the file.
5532         (remote_state) <m_arch_states>: Store remote_arch_state values
5533         instead of remote_arch_state pointers.
5534         (remote_state::get_remote_arch_state): Adjust.
5535
5536 2018-05-22  Pedro Alves  <palves@redhat.com>
5537
5538         * remote.c: Include <unordered_map>.
5539         (remote_state): Now a class.
5540         (remote_state) <get_remote_arch_state>: Declare method.
5541         <get_remote_arch_state>: New field.
5542         (remote_arch_state) <remote_arch_state>: Declare ctor.
5543         <regs>: Now a unique_ptr.
5544         (remote_gdbarch_data_handle): Delete.
5545         (get_remote_arch_state): Delete.
5546         (remote_state::get_remote_arch_state): New.
5547         (get_remote_state): Adjust to call remote_state's
5548         get_remote_arch_state method.
5549         (init_remote_state): Delete, bits factored out to ...
5550         (remote_arch_state::remote_arch_state): ... this new method.
5551         (get_remote_packet_size, get_memory_packet_size)
5552         (process_g_packet, remote_target::fetch_registers)
5553         (remote_target::prepare_to_store, store_registers_using_G)
5554         (remote_target::store_registers, remote_target::get_trace_status):
5555         Adjust to call remote_state's method.
5556         (_initialize_remote): Remove reference to
5557         remote_gdbarch_data_handle.
5558
5559 2018-05-22  Pedro Alves  <palves@redhat.com>
5560
5561         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5562         pread>: New method declarations.
5563         (remote_target::open_1): Adjust.
5564         (readahead_cache_invalidate): Rename to ...
5565         (readahead_cache::invalidate): ... this, and adjust to be a class
5566         method.
5567         (readahead_cache_invalidate_fd): Rename to ...
5568         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5569         class method.
5570         (remote_hostio_pwrite): Adjust.
5571         (remote_hostio_pread_from_cache): Rename to ...
5572         (readahead_cache::pread): ... this, and adjust to be a class
5573         method.
5574         (remote_hostio_close): Adjust.
5575
5576 2018-05-22  Pedro Alves  <palves@redhat.com>
5577
5578         * remote.c (remote_hostio_close_cleanup): Delete.
5579         (class scoped_remote_fd): New.
5580         (remote_file_put, remote_file_get): Use it.
5581
5582 2018-05-22  Pedro Alves  <palves@redhat.com>
5583
5584         (struct vCont_action_support): Use bool and initialize all fields.
5585         (struct readahead_cache): Initialize all fields.
5586         (remote_state): Use bool and initialize all fields.
5587         (remote_state::remote_state, remote_state::~remote_state): New.
5588         (new_remote_state): Delete.
5589         (_initialize_remote): Use new to allocate remote_state.
5590
5591 2018-05-22  Pedro Alves  <palves@redhat.com>
5592             張俊芝  <zjz@zjz.name>
5593
5594         PR gdb/22973
5595         * c-exp.y: Include "c-support.h".
5596         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5597         of tolower.  Use c_ident_is_alpha to scan names.
5598         * c-lang.c: Include "c-support.h".
5599         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5600         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5601         * c-support.h: New file, with bits factored out from ...
5602         * cp-name-parser.y: ... this file.
5603         Include "c-support.h".
5604         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5605         c-support.h and renamed.
5606         (symbol_end, yylex): Adjust.
5607
5608 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5609
5610         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5611         parameter type to CORE_ADDR.
5612         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5613         parameter type in declaration to CORE_ADDR.
5614         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5615         target_auxv_search to get AT_HWCAP and use the result to get the
5616         target description.
5617         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5618         to CORE_ADDR. Remove the cast of the return value to unsigned
5619         long. Fix error predicate of target_auxv_search.
5620         (ppc_linux_nat_target::read_description): Change the type of the
5621         hwcap variable to CORE_ADDR.
5622
5623 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5624
5625         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5626         if the size of fpscr is larger than 32 bits.
5627
5628 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5629
5630         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5631         (ppc32_linux_vsxregmap): New global.
5632         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5633         regcache_supply_regset, and regcache_collect_regset.
5634         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5635         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5636         (fetch_vsx_register, store_vsx_register): Remove.
5637         (fetch_vsx_registers): Add regno parameter. Get regset using
5638         ppc_linux_vsxregset. Use regset to supply registers.
5639         (store_vsx_registers): Add regno parameter. Get regset using
5640         ppc_linux_vsxregset. Use regset to collect registers.
5641         (fetch_register): Call fetch_vsx_registers instead of
5642         fetch_vsx_register.
5643         (store_register): Call store_vsx_registers instead of
5644         store_vsx_register.
5645         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5646         new regno parameter.
5647         (store_ppc_registers): Call store_vsx_registers with -1 for the
5648         new regno parameter.
5649         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5650         (ppc_collect_vsxregset): Remove.
5651
5652 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5653
5654         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5655         offset fields.
5656         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5657         for vector register offset fields.
5658         (ppc64_fbsd_reg_offsets): Likewise.
5659         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5660         to vector register offset fields.
5661         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5662         to vector register offset fields.
5663         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5664         vector register offset fields.
5665         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5666         initializers for vector register offset fields.
5667         (rs6000_aix64_reg_offsets): Likewise.
5668         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5669         (ppc_supply_vrregset): Remove.
5670         (ppc_collect_vrregset): Remove.
5671         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5672         (ppc_linux_vrregset) : New function.
5673         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5674         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5675         (ppc32_linux_vrregset): Remove.
5676         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5677         and use result instead of ppc32_linux_vrregset.
5678         (ppc32_linux_reg_offsets): Remove initializers for vector register
5679         offset fields.
5680         (ppc64_linux_reg_offsets): Likewise.
5681         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5682         * ppc-linux-nat.c: Include regset.h.
5683         (gdb_vrregset_t): Adjust comment to account for little-endian
5684         mode.
5685         (supply_vrregset, fill_vrregset): Remove.
5686         (fetch_altivec_register, store_altivec_register): Remove.
5687         (fetch_altivec_registers): Add regno parameter. Get regset using
5688         ppc_linux_vrregset. Use regset to supply registers.
5689         (store_altivec_registers): Add regno parameter. Get regset using
5690         ppc_linux_vrregset. Use regset to collect registers.
5691         (fetch_register): Call fetch_altivec_registers instead of
5692         fetch_altivec_register.
5693         (store_register): Call store_altivec_registers instead of
5694         store_altivec_register.
5695         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5696         the new regno parameter.
5697         (store_ppc_registers): Call store_altivec_registers with -1 for
5698         the new regno parameter.
5699
5700 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5701
5702         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5703         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5704         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5705         (gdb_vrregset_t): Change array type size to
5706         PPC_LINUX_SIZEOF_VRREGSET.
5707         (gdb_vsxregset_t): Change array type size to
5708         PPC_LINUX_SIZEOF_VSXREGSET.
5709         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5710         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5711         PPC_LINUX_SIZEOF_VSXREGSET.
5712
5713 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5714
5715         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5716         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5717         nat/ppc-linux.c.
5718         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5719         ppc_linux_target_wordsize with tid.
5720         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5721         wordsize with tid.
5722         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5723         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5724         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5725         tid parameter. Remove static specifier.
5726         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5727         (ppc_linux_target_wordsize): New declaration.
5728
5729 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5730
5731         * arch/ppc-linux-common.c: New file.
5732         * arch/ppc-linux-common.h: New file.
5733         * arch/ppc-linux-tdesc.h: New file.
5734         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5735         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5736         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5737         arch/ppc-linux-tdesc.h.
5738         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5739         arch/ppc-linux-tdesc.h.
5740         (ppc_linux_nat_target::read_description): Remove target
5741         description matching code. Fill a ppc_linux_features struct and
5742         call ppc_linux_match_description with it. Move comment about ISA
5743         2.05 to ppc-linux-common.c.
5744         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5745         arch/ppc-linux-tdesc.h.
5746         (ppc_linux_core_read_description): Remove target description
5747         matching code. Fill a ppc_linux_features struct and call
5748         ppc_linux_match_description with it.
5749         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5750         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5751         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5752         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5753         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5754         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5755         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5756         (tdesc_powerpc_e500l): Remove.
5757
5758 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5759
5760         * ada-lang.c (catch_assert_command): Pass empty string instead
5761         of NULL for excep_string argument.
5762
5763 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5764
5765         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5766         the width of the requested register exceeds the width of the
5767         `ptrace' data type.
5768
5769 2018-05-21  Tom Tromey  <tom@tromey.com>
5770
5771         * printcmd.c (output_command): Remove.
5772         (output_command_const): Rename to output_command.
5773         * valprint.h (output_command): Rename from output_command_const.
5774         * tracepoint.c (trace_dump_actions): Call output_command.
5775
5776 2018-05-21  Tom Tromey  <tom@tromey.com>
5777
5778         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5779         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5780         * ada-lang.h (create_ada_exception_catchpoint): Update.
5781         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5782         std::string.
5783         (create_excep_cond_exprs, ~ada_catchpoint)
5784         (should_stop_exception, print_one_exception)
5785         (print_mention_exception, print_recreate_exception): Update.
5786         (ada_get_next_arg): Remove.
5787         (catch_ada_exception_command_split): Use std::string.  Change type
5788         of "excep_string", "cond_string".
5789         (catch_ada_exception_command): Update.
5790         (create_ada_exception_catchpoint): Change type of excep_string.
5791         (ada_exception_sal): Remove excep_string parameter.
5792         (~ada_catchpoint): Remove.
5793
5794 2018-05-21  Tom Tromey  <tom@tromey.com>
5795
5796         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5797         cleanup.
5798
5799 2018-05-21  Tom Tromey  <tom@tromey.com>
5800
5801         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5802         Return unique_xmalloc_ptr.
5803         (print_it_exception): Update.
5804
5805 2018-05-21  Tom Tromey  <tom@tromey.com>
5806
5807         * tracepoint.c (trace_dump_actions): Use std::string.
5808
5809 2018-05-21  Tom Tromey  <tom@tromey.com>
5810
5811         * symfile.c (reread_symbols): Use std::string for original_name.
5812
5813 2018-05-21  Tom Tromey  <tom@tromey.com>
5814
5815         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5816         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5817         constructor.
5818
5819 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5820
5821         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5822         instance to...
5823         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5824         * objfiles.c (get_objfile_bfd_data): Allocate
5825         objfile_per_bfd_storage with obstack_new when allocating on
5826         obstack.
5827
5828 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5829
5830         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5831         OBSTACK_ZALLOC.
5832         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5833         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5834         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5835         (add_pending): Likewise.
5836         (parse_symbol): Likewise.
5837         (parse_partial_symbols): Likewise.
5838         (psymtab_to_symtab_1): Likewise.
5839         (new_psymtab): Likewise.
5840         (elfmdebug_build_psymtabs): Likewise.
5841         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5842         * objfiles.c (get_objfile_bfd_data): Likewise.
5843         (objfile_register_static_link): Likewise.
5844         * psymtab.c (allocate_psymtab): Likewise.
5845         * stabsread.c (read_member_functions): Likewise.
5846         * xcoffread.c (xcoff_end_psymtab): Likewise.
5847
5848 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5849
5850         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5851         compiler supports std::is_trivially_constructible.
5852         * common/poison.h: Include obstack.h.
5853         (IsMallocable): Define to is_trivially_constructible if the
5854         compiler supports it, define to true_type otherwise.
5855         (xobnew): New.
5856         (XOBNEW): Redefine.
5857         (xobnewvec): New.
5858         (XOBNEWVEC): Redefine.
5859         * gdb_obstack.h (obstack_zalloc): New.
5860         (OBSTACK_ZALLOC): Redefine.
5861         (obstack_calloc): New.
5862         (OBSTACK_CALLOC): Redefine.
5863         (obstack_new): New.
5864         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5865         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5866         gdbarch.c.
5867         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5868         obstack_calloc/obstack_zalloc.
5869         (gdbarch_obstack_zalloc): Remove.
5870         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5871
5872 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5873
5874         * stack.c (backtrace_command_1): Remove useless variable int i.
5875
5876 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5877
5878         * stack.c (print_frame_info): Fix comment.
5879
5880 2018-05-18  Tom Tromey  <tom@tromey.com>
5881
5882         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5883         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5884         (~dwarf2_per_objfile): Update
5885         (dwarf2_get_dwz_file): Use new.
5886         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5887         unique_ptr.
5888
5889 2018-05-18  Tom Tromey  <tom@tromey.com>
5890
5891         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5892         unique_ptr.
5893         * dwarf2read.c (struct dwp_file): Add constructor and
5894         initializers.
5895         (open_and_init_dwp_file): Return a unique_ptr.
5896         (dwarf2_per_objfile, create_dwp_hash_table)
5897         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5898         (lookup_dwo_unit_in_dwp): Update.
5899         (open_and_init_dwp_file, get_dwp_file): Update.
5900
5901 2018-05-18  Tom Tromey  <tom@tromey.com>
5902
5903         * dwarf2read.c (dwarf2_per_objfile): Update.
5904         (struct mapped_index): Add initializers.
5905         (dwarf2_read_index): Use new.
5906         (dw2_symtab_iter_init): Update.
5907         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5908         unique_ptr.
5909
5910 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5911
5912         * dwarf2read.c (mapped_index) <total_size>: Remove.
5913
5914 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5915
5916         * unittests/format_pieces-selftests.c (test_format_specifier):
5917         Add ARI comments.
5918
5919 2018-05-18  Tom Tromey  <tom@tromey.com>
5920
5921         * c-typeprint.c (maybe_print_hole): New function.
5922         (c_print_type_struct_field_offset): Update.
5923         (c_type_print_base_struct_union): Call maybe_print_hole.
5924
5925 2018-05-17  Keith Seitz  <keiths@redhat.com>
5926
5927         * breakpoint.c (build_bpstat_chain): New function, moved from
5928         bpstat_stop_status.
5929         (bpstat_stop_status): Add optional parameter, `stop_chain'.
5930         If no stop chain is passed, call build_bpstat_chain to build it.
5931         * breakpoint.h (build_bpstat_chain): Declare.
5932         (bpstat_stop_status): Move documentation here from breakpoint.c.
5933         * infrun.c (handle_signal_stop): Before eliding inlined frames,
5934         build the stop chain and pass it to skip_inline_frames.
5935         Pass this stop chain to bpstat_stop_status.
5936         * inline-frame.c: Include breakpoint.h.
5937         (stopped_by_user_bp_inline_frame): New function.
5938         (skip_inline_frames): Add parameter `stop_chain'.
5939         Move documention to inline-frame.h.
5940         If non-NULL, use stopped_by_user_bp_inline_frame to determine
5941         whether the frame should be elided.
5942         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
5943         Add moved documentation and update for new parameter.
5944
5945 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5946
5947         PR cli/14975
5948         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5949         unittests/format_pieces-selftests.c.
5950         * common/format.h (format_piece) <operator==>: New.
5951         (format_pieces) <operator[]>: Remove.
5952         * common/format.c (format_pieces::format_pieces): Handle \e.
5953         * unittests/format_pieces-selftests.c: New.
5954
5955 2018-05-17  Tom Tromey  <tom@tromey.com>
5956
5957         PR symtab/23010:
5958         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5959         (dw2_instantiate_symtab): Add skip_partial parameter.
5960         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5961         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5962         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5963         (dw2_expand_symtabs_matching_one)
5964         (dw2_find_pc_sect_compunit_symtab)
5965         (dw2_debug_names_lookup_symbol)
5966         (dw2_debug_names_expand_symtabs_for_function): Update.
5967         (init_cutu_and_read_dies): Add skip_partial parameter.
5968         (process_psymtab_comp_unit, build_type_psymtabs_1)
5969         (process_skeletonless_type_unit, load_partial_comp_unit)
5970         (psymtab_to_symtab_1): Update.
5971         (load_full_comp_unit): Add skip_partial parameter.
5972         (process_imported_unit_die, dwarf2_read_addr_index)
5973         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5974         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5975         (read_signatured_type): Update.
5976
5977 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5978
5979         * value.c (release_value): Remove unused variable.
5980         (record_latest_value): Likewise.
5981         (access_value_history): Likewise.
5982         (preserve_values): Likewise.
5983
5984 2018-05-17  Tom Tromey  <tom@tromey.com>
5985
5986         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5987         Initialize.
5988
5989 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5990
5991         PR gdb/22286
5992         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5993         Also handle registers whose width is not a multiple of
5994         PTRACE_TYPE_RET.
5995         (linux_nat_trad_target::store_register): Likewise.
5996
5997 2018-05-16  Tom Tromey  <tom@tromey.com>
5998
5999         * gdbcore.h (core_bfd): Redefine.
6000         * corelow.c (core_target::close): Update.
6001         (core_target_open): Update.
6002         * progspace.h (struct program_space) <cbfd>: Now a
6003         gdb_bfd_ref_ptr.
6004
6005 2018-05-16  Tom Tromey  <tom@tromey.com>
6006
6007         PR cli/19551:
6008         * symfile-add-flags.h (enum symfile_add_flags)
6009         <SYMFILE_NOT_FILENAME>: New constant.
6010         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
6011         objfile name from BFD.
6012         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
6013         * minidebug.c (find_separate_debug_file_in_section): Put
6014         ".gnu_debugdata" into BFD's file name.
6015
6016 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
6017
6018         * regcache.c (regcache_read_ftype, regcache_write_ftype):
6019         Remove.
6020
6021 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
6022
6023         PR binutils/21446
6024         * aarch64-tdep.c (aarch64_analyze_prologue,
6025         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
6026         Indicate not interested in errors.
6027
6028 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6029
6030         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
6031         Supply the MIPS_ZERO_REGNUM register.
6032
6033 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6034
6035         * mips-tdep.c (mask_address_var): Make variable static.
6036
6037 2018-05-14  Tom Tromey  <tom@tromey.com>
6038
6039         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
6040
6041 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6042
6043         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
6044         FXSAVE_ADDR for the mxcsr register.
6045
6046 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6047
6048         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6049
6050 2018-05-11  Pedro Alves  <palves@redhat.com>
6051
6052         * corelow.c (core_target) <core_target>: No longer inline.
6053         Initialize m_core_gdbarch, m_core_vec and build the section table
6054         here.
6055         <~core_target>: New.
6056         <core_gdbarch, get_core_register_section>: New methods.
6057         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6058         factored out from ...
6059         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6060         (core_ops): Delete.
6061         (sniff_core_bfd): Add gdbarch parameter.
6062         (core_close): Delete, merged into ...
6063         (core_target::close): ... here.  Delete self.
6064         (core_close_cleanup): Delete.
6065         (core_target_open): Allocate a core_target on the heap.  Use a
6066         unique_ptr instead of a cleanup.  Bits moved into the core_target
6067         ctor.  Adjust to use core_target methods instead of globals.
6068         (get_core_register_section): Rename to ...
6069         (core_target::get_core_register_section): ... this and adjust.
6070         (struct get_core_registers_cb_data): New.
6071         (get_core_registers_cb): Use it.  Use bool.
6072         (core_target::fetch_registers, core_target::files_info)
6073         (core_target::xfer_partial, core_target::read_description)
6074         (core_target::pid_to, core_target::thread_name): Adjust to
6075         reference class fields instead of globals.
6076         * target.h (struct target_ops_deleter, target_ops_up): New.
6077
6078 2018-05-11  Pedro Alves  <palves@redhat.com>
6079
6080         * corefile.c (core_file_command): Move to corelow.c.
6081         * corelow.c (the_core_target): Delete.
6082         (core_file_command): Moved from corefile.c.  Check exec_bfd
6083         instead of the_core_target.  Use target_detach instead of calling
6084         into the_core_target directly.
6085         (maybe_say_no_core_file_now): New.
6086         (core_target::detach): Use it.
6087         (_initialize_corelow): Remove references to the_core_target.
6088         * gdbcore.h (the_core_target): Delete.
6089
6090 2018-05-11  Tom Tromey  <tromey@redhat.com>
6091             Pedro Alves  <palves@redhat.com>
6092
6093         * corefile.c (core_bfd): Remove.
6094         * gdbcore.h (core_bfd): Now a macro.
6095         * progspace.h (struct program_space) <cbfd>: New field.
6096
6097 2018-05-11  Tom Tromey  <tom@tromey.com>
6098
6099         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6100         gdb::def_vector.
6101
6102 2018-05-10  Tom Tromey  <tom@tromey.com>
6103
6104         * configure: Rebuild.
6105         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6106
6107 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6108
6109         PR server/23158:
6110         * regformats/regdat.sh: Adjust script, following the addition
6111         of the new expedite_regs parameter to init_target_desc.
6112
6113 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6114     
6115         PR gdb/23127
6116         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
6117         set_gdbarch_significant_addr_bit.
6118         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
6119         set_gdbarch_significant_addr_bit.
6120         * utils.c (address_significant): Update to sign extend addr.
6121
6122 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
6123
6124         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
6125         (xtensa_linux_init_abi): Limit tdep->num_regs by
6126         tdep->num_nopriv_regs.
6127         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
6128         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
6129         not initialized.
6130
6131 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6132
6133         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6134
6135 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6136
6137         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6138         (I387_MXCSR_INIT_VAL): New constant.
6139         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6140         buffer if it was supplied by the inferior.
6141         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6142         (i387_xsave_get_clear_bv): New function.
6143         (i387_supply_xsave): Only read x87 control registers from the
6144         xsave buffer if the feature is enabled, and the state will have
6145         been written, otherwise, provide a suitable default.
6146         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6147         including x87 control registers.  Update control registers if they
6148         have changed from the default value, and mark features as enabled
6149         as required.
6150         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6151
6152 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6153
6154         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6155
6156 2018-05-07  Tom Tromey  <tom@tromey.com>
6157
6158         * configure: Rebuild.
6159         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6160
6161 2018-05-07  Tom Tromey  <tom@tromey.com>
6162
6163         PR tdep/20362:
6164         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6165         bit.  Use correct value for VDIV.
6166
6167 2018-05-04  Tom Tromey  <tom@tromey.com>
6168
6169         * configure: Rebuild.
6170         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6171
6172 2018-05-04  Tom Tromey  <tom@tromey.com>
6173
6174         * linux-record.c (record_linux_system_call) <case
6175         RECORD_SYS_RECVFROM>: Add "break".
6176
6177 2018-05-04  Tom Tromey  <tom@tromey.com>
6178
6179         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6180         Add missing "break".
6181         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6182         Add missing "break".
6183
6184 2018-05-04  Tom Tromey  <tom@tromey.com>
6185
6186         * rs6000-tdep.c (ppc_process_record_op4)
6187         (ppc_process_record_op63): Add fall-through comment.
6188
6189 2018-05-04  Tom Tromey  <tom@tromey.com>
6190
6191         * i386-tdep.c (i386_process_record): Add fall-through comment.
6192
6193 2018-05-04  Tom Tromey  <tom@tromey.com>
6194
6195         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6196         comment.
6197
6198 2018-05-04  Tom Tromey  <tom@tromey.com>
6199
6200         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6201         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6202         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6203         comment.
6204         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6205         comment.
6206         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6207         comment.
6208
6209 2018-05-04  Tom Tromey  <tom@tromey.com>
6210
6211         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6212
6213 2018-05-04  Tom Tromey  <tom@tromey.com>
6214
6215         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6216         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6217         * symfile.c (section_is_mapped): Fix fall-through comment.
6218         * stabsread.c (define_symbol, read_member_functions): Fix
6219         fall-through comment.
6220         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6221         comment.
6222         * remote.c (remote_wait_as): Fix fall-through comment.
6223         * p-exp.y (yylex): Fix fall-through comment.
6224         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6225         comment.
6226         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6227         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6228         * jv-exp.y (yylex): Fix fall-through comment.
6229         * go-exp.y (lex_one_token): Fix fall-through comment.
6230         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6231         fall-through comment.
6232         * f-exp.y (yylex): Fix fall-through comment.
6233         * dwarf2read.c (process_die): Fix fall-through comments.
6234         * dbxread.c (process_one_symbol): Fix fall-through comment.
6235         * d-exp.y (lex_one_token): Fix fall-through comment.
6236         * cp-name-parser.y (yylex): Fix fall-through comment.
6237         * coffread.c (coff_symtab_read): Fix fall-through comment.
6238         * c-exp.y (lex_one_token): Fix fall-through comment.
6239         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6240         comment.
6241         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6242         comment.
6243
6244 2018-05-04  Tom Tromey  <tom@tromey.com>
6245
6246         PR python/22730:
6247         * NEWS: Mention gdb.execute change.
6248         * gdbcmd.h (execute_control_command): Don't declare.
6249         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6250         execute_control_commands, execute_control_commands_to_string.
6251         * cli/cli-script.h (execute_control_commands)
6252         (execute_control_commands_to_string): Declare.
6253         (execute_control_command): Add from_tty parameter.
6254         * cli/cli-script.c (execute_control_commands)
6255         (execute_control_commands_to_string): New functions.
6256         (execute_user_command): Use execute_control_commands.
6257         (execute_control_command_1): Add "from_tty" parameter.  Update.
6258         (execute_control_command): Likewise.
6259
6260 2018-05-04  Tom Tromey  <tom@tromey.com>
6261
6262         PR python/22731:
6263         * NEWS: Mention that breakpoint commands are writable.
6264         * python/py-breakpoint.c (bppy_set_commands): New function.
6265         (breakpoint_object_getset) <"commands">: Use it.
6266
6267 2018-05-04  Tom Tromey  <tom@tromey.com>
6268
6269         * tracepoint.c (actions_command): Update.
6270         * mi/mi-cmd-break.c (mi_command_line_array)
6271         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6272         (mi_read_next_line): Remove.
6273         (mi_cmd_break_commands): Update.
6274         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6275         function_view.
6276         * cli/cli-script.c (get_command_line): Update.
6277         (process_next_line): Use function_view.  Constify.
6278         (recurse_read_control_structure, read_command_lines)
6279         (read_command_lines_1): Change argument types to function_view.
6280         (do_define_command, document_command): Update.
6281         * breakpoint.h (check_tracepoint_command): Don't declare.
6282         * breakpoint.c (check_tracepoint_command): Remove.
6283         (commands_command_1, create_tracepoint_from_upload): Update.
6284
6285 2018-05-04  Tom Tromey  <tom@tromey.com>
6286
6287         PR gdb/11750:
6288         * cli/cli-script.h (enum command_control_type) <define_control>:
6289         New constant.
6290         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6291         (build_command_line, execute_control_command_1)
6292         (process_next_line): Likewise.
6293         (do_define_command): New function, extracted from define_command.
6294         (define_command): Use it.
6295
6296 2018-05-04  Tom Tromey  <tom@tromey.com>
6297
6298         * tracepoint.c (actions_command): Update.
6299         * cli/cli-script.h (read_command_lines): Update.
6300         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6301         (MAX_TMPBUF): Remove define.
6302         (define_command): Use string_printf.
6303         (document_command): Likewise.
6304         * breakpoint.c (commands_command_1): Update.
6305
6306 2018-05-04  Tom Tromey  <tom@tromey.com>
6307
6308         * top.c (execute_command): Update.
6309         * cli/cli-script.h (print_command_lines): Now varargs.
6310         * cli/cli-script.c (print_command_lines): Now varargs.
6311         (execute_control_command_1) <case while_control, case if_control>:
6312         Update.
6313
6314 2018-05-04  Tom Tromey  <tom@tromey.com>
6315
6316         * tracepoint.c (all_tracepoint_actions): Rename from
6317         all_tracepoint_actions_and_cleanup.  Change return type.
6318         (actions_command, encode_actions_1, encode_actions)
6319         (trace_dump_actions, tdump_command): Update.
6320         * remote.c (remote_download_command_source): Update.
6321         * python/python.c (gdbpy_eval_from_control_command)
6322         (python_command, python_interactive_command): Update.
6323         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6324         * guile/guile.c (guile_command)
6325         (gdbscm_eval_from_control_command, guile_command): Update.
6326         * compile/compile.c (compile_code_command)
6327         (compile_print_command, compile_to_object): Update.
6328         * cli/cli-script.h (struct command_lines_deleter): New.
6329         (counted_command_line): New typedef.
6330         (struct command_line): Add constructor, destructor.
6331         <body_list>: Remove.
6332         <body_list_0, body_list_1>: New members.
6333         (command_line_up): Remove typedef.
6334         (read_command_lines, read_command_lines_1, get_command_line):
6335         Update.
6336         (copy_command_lines): Don't declare.
6337         * cli/cli-script.c (build_command_line): Use "new".
6338         (get_command_line): Return counted_command_line.
6339         (print_command_lines, execute_user_command)
6340         (execute_control_command_1, while_command, if_command): Update.
6341         (realloc_body_list): Remove.
6342         (process_next_line, recurse_read_control_structure): Update.
6343         (read_command_lines, read_command_lines_1): Return counted_command_line.
6344         (free_command_lines): Use "delete".
6345         (copy_command_lines): Remove.
6346         (define_command, document_command, show_user_1): Update.
6347         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6348         a counted_command_line.
6349         * breakpoint.h (counted_command_line): Remove typedef.
6350         (breakpoint_set_commands): Update.
6351         * breakpoint.c (check_no_tracepoint_commands)
6352         (validate_commands_for_breakpoint): Update.
6353         (breakpoint_set_commands): Change commands to be a
6354         counted_command_line.
6355         (commands_command_1, update_dprintf_command_list)
6356         (create_tracepoint_from_upload): Update.
6357
6358 2018-05-04  Tom Tromey  <tom@tromey.com>
6359
6360         * cli/cli-decode.h (cmd_list_element): New constructor.
6361         (~cmd_list_element): New destructor.
6362         (struct cmd_list_element): Add initializers.
6363         * cli/cli-decode.c (do_add_cmd): Use "new".
6364         (delete_cmd): Use "delete".
6365
6366 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6367             Pedro Alves <palves@redhat.com>
6368
6369         PR breakpoints/19806 and support for PR external/20207.
6370         * NEWS: Mention Aarch64 watchpoint improvements.
6371         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6372         watchpoints and PR external/20207 watchpoints.
6373         * nat/aarch64-linux-hw-point.c
6374         (kernel_supports_any_contiguous_range): New.
6375         (aarch64_watchpoint_offset): New.
6376         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6377         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6378         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6379         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6380         next_addr_orig_p.  Support PR external/20207 watchpoints.
6381         (aarch64_downgrade_regs): New.
6382         (aarch64_dr_state_insert_one_point): New parameters offset and
6383         addr_orig.
6384         (aarch64_dr_state_remove_one_point): Likewise.
6385         (aarch64_handle_breakpoint): Update caller.
6386         (aarch64_handle_aligned_watchpoint): Likewise.
6387         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6388         aligned_offset.
6389         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6390         aarch64_downgrade_regs.
6391         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6392         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6393         (DR_CONTROL_MASK): ... this.
6394         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6395         (unsigned int aarch64_watchpoint_offset): New prototype.
6396         (aarch64_linux_set_debug_regs): Remove const from state.
6397         * utils.c (align_up, align_down): Move to ...
6398         * common/common-utils.c (align_up, align_down): ... here.
6399         * utils.h (align_up, align_down): Move to ...
6400         * common/common-utils.h (align_up, align_down): ... here.
6401
6402 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6403
6404         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6405         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6406         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6407         Re-implement to match the ABI as summarized in GCC's
6408         gcc/config/sparc/sparc.c.  All callers updated.
6409         (sparc32_store_arguments): Remove assertion.
6410
6411 2018-05-04  Tom Tromey  <tom@tromey.com>
6412
6413         * printcmd.c: Don't include tui.h.
6414         (decode_format): Use skip_spaces.
6415
6416 2018-05-04  Tom Tromey  <tom@tromey.com>
6417
6418         PR gdb/22619:
6419         * printcmd.c (last_count): New global.
6420         (x_command): Use saved count when repeating.
6421
6422 2018-05-04  Tom Tromey  <tom@tromey.com>
6423
6424         * nto-procfs.c (do_closedir_cleanup): Remove.
6425         (procfs_pidlist): Use gdb_dir_up.
6426         * procfs.c (do_closedir_cleanup): Remove.
6427         (proc_update_threads): Use gdb_dir_up.
6428         * common/filestuff.h (struct gdb_dir_deleter): New.
6429         (gdb_dir_up): New typedef.
6430
6431 2018-05-04  Tom Tromey  <tom@tromey.com>
6432
6433         * ada-lang.c (print_mention_exception): Use std::string.
6434
6435 2018-05-04  Tom Tromey  <tom@tromey.com>
6436
6437         * ada-lang.c (create_excep_cond_exprs): Update.
6438         (ada_exception_catchpoint_cond_string): Use std::string.
6439
6440 2018-05-04  Tom Tromey  <tom@tromey.com>
6441
6442         * ada-lang.c (xget_renaming_scope): Return std::string.
6443         (old_renaming_is_invisible): Update.
6444
6445 2018-05-04  Tom Tromey  <tom@tromey.com>
6446
6447         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6448         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6449
6450 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6451
6452         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6453
6454 2018-05-04  Tom Tromey  <tom@tromey.com>
6455
6456         * remote.c (remote_query_supported_append): Change type.
6457         (remote_check_symbols): Update.
6458
6459 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6460
6461         PR gdb/11420
6462         * configure.ac: Prepend libpython.
6463         * python/python-config.py: Likewise.
6464         * configure: Regenerate.
6465
6466 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6467
6468         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6469
6470 2018-05-03  Pedro Alves  <palves@redhat.com>
6471
6472         * s390-linux-nat.c
6473         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6474         override.  Write 'true' instead of '1'.
6475         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6476         declaration.
6477
6478 2018-05-02  Pedro Alves  <palves@redhat.com>
6479
6480         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6481         add_inf_child_target.
6482         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6483         add_inf_child_target.
6484         * aix-thread.c (aix_thread_target_info): New.
6485         (aix_thread_target) <shortname, longname, doc>: Delete.
6486         <info>: New.
6487         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6488         add_inf_child_target.
6489         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6490         add_inf_child_target.
6491         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6492         add_inf_child_target.
6493         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6494         add_inf_child_target.
6495         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6496         add_inf_child_target.
6497         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6498         add_inf_child_target.
6499         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6500         add_inf_child_target.
6501         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6502         add_inf_child_target.
6503         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6504         add_inf_child_target.
6505         * bfd-target.c (target_bfd_target_info): New.
6506         (target_bfd) <shortname, longname, doc>: Delete.
6507         <info>: New.
6508         * bsd-kvm.c (bsd_kvm_target_info): New.
6509         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6510         <info>: New.
6511         (bsd_kvm_target::open): Rename to ...
6512         (bsd_kvm_target_open): ... this.  Adjust.
6513         * bsd-uthread.c (bsd_uthread_target_info): New.
6514         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6515         <info>: New.
6516         * corefile.c (core_file_command): Adjust.
6517         * corelow.c (core_target_info): New.
6518         (core_target) <shortname, longname, doc>: Delete.
6519         <info>: New.
6520         (core_target::open): Rename to ...
6521         (core_target_open): ... this.  Adjust.
6522         * ctf.c (ctf_target_info): New.
6523         (ctf_target) <shortname, longname, doc>: Delete.
6524         <info>: New.
6525         (ctf_target::open): Rename to ...
6526         (ctf_target_open): ... this.
6527         (_initialize_ctf): Adjust.
6528         * exec.c (exec_target_info): New.
6529         (exec_target) <shortname, longname, doc>: Delete.
6530         <info>: New.
6531         (exec_target::open): Rename to ...
6532         (exec_target_open): ... this.
6533         * gdbcore.h (core_target_open): Declare.
6534         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6535         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6536         add_inf_child_target.
6537         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6538         add_inf_child_target.
6539         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6540         add_inf_child_target.
6541         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6542         add_inf_child_target.
6543         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6544         add_inf_child_target.
6545         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6546         add_inf_child_target.
6547         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6548         add_inf_child_target.
6549         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6550         add_inf_child_target.
6551         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6552         add_inf_child_target.
6553         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6554         add_inf_child_target.
6555         * inf-child.c (inf_child_target_info): New.
6556         (inf_child_target::info): New.
6557         (inf_child_open_target): Remove 'target' parameter.  Use
6558         get_native_target instead.
6559         (inf_child_target::open): Delete.
6560         (add_inf_child_target): New.
6561         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6562         Delete.
6563         <info>: New.
6564         (add_inf_child_target): Declare.
6565         (inf_child_open_target): Declare.
6566         * linux-thread-db.c (thread_db_target_info): New.
6567         (thread_db_target) <shortname, longname, doc>: Delete.
6568         <info>: New.
6569         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6570         add_inf_child_target.
6571         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6572         add_inf_child_target.
6573         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6574         add_inf_child_target.
6575         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6576         add_inf_child_target.
6577         * make-target-delegates (print_class): Adjust.
6578         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6579         add_inf_child_target.
6580         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6581         add_inf_child_target.
6582         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6583         add_inf_child_target.
6584         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6585         add_inf_child_target.
6586         * nto-procfs.c (nto_native_target_info): New.
6587         (nto_procfs_target_native) <shortname, longname, doc>:
6588         Delete.
6589         <info>: New.
6590         (nto_procfs_target_info): New.
6591         (nto_procfs_target_procfs) <shortname, longname, doc>:
6592         Delete.
6593         <info>: New.
6594         (init_procfs_targets): Adjust.
6595         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6596         add_inf_child_target.
6597         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6598         add_inf_child_target.
6599         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6600         add_inf_child_target.
6601         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6602         add_inf_child_target.
6603         * ravenscar-thread.c (ravenscar_target_info): New.
6604         (ravenscar_thread_target) <shortname, longname, doc>:
6605         Delete.
6606         <info>: New.
6607         * record-btrace.c (record_btrace_target_info):
6608         (record_btrace_target) <shortname, longname, doc>: Delete.
6609         <info>: New.
6610         (record_btrace_target::open): Rename to ...
6611         (record_btrace_target_open): ... this.  Adjust.
6612         * record-full.c (record_longname, record_doc): New.
6613         (record_full_base_target) <shortname, longname, doc>: Delete.
6614         <info>: New.
6615         (record_full_target_info): New.
6616         (record_full_target): <shortname>: Delete.
6617         <info>: New.
6618         (record_full_core_open_1, record_full_open_1): Update comments.
6619         (record_full_base_target::open): Rename to ...
6620         (record_full_open): ... this.
6621         (cmd_record_full_restore): Update.
6622         (_initialize_record_full): Update.
6623         * remote-sim.c (remote_sim_target_info): New.
6624         (gdbsim_target) <shortname, longname, doc>: Delete.
6625         <info>: New.
6626         (gdbsim_target::open): Rename to ...
6627         (gdbsim_target_open): ... this.
6628         (_initialize_remote_sim): Adjust.
6629         * remote.c (remote_doc): New.
6630         (remote_target_info): New.
6631         (remote_target) <shortname, longname, doc>: Delete.
6632         <info>: New.
6633         (extended_remote_target_info): New.
6634         (extended_remote_target) <shortname, longname, doc>: Delete.
6635         <info>: New.
6636         (remote_target::open_1): Make static.  Adjust.
6637         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6638         * s390-linux-nat.c (_initialize_s390_nat): Use
6639         add_inf_child_target.
6640         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6641         add_inf_child_target.
6642         * sol-thread.c (thread_db_target_info): New.
6643         (sol_thread_target) <shortname, longname, doc>: Delete.
6644         <info>: New.
6645         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6646         add_inf_child_target.
6647         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6648         add_inf_child_target.
6649         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6650         add_inf_child_target.
6651         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6652         add_inf_child_target.
6653         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6654         add_inf_child_target.
6655         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6656         add_inf_child_target.
6657         * spu-linux-nat.c (_initialize_spu_nat): Use
6658         add_inf_child_target.
6659         * spu-multiarch.c (spu_multiarch_target_info): New.
6660         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6661         <info>: New.
6662         * target-delegates.c: Regenerate.
6663         * target.c: Include <unordered_map>.
6664         (target_ops_p): Delete.
6665         (DEF_VEC_P(target_ops_p)): Delete.
6666         (target_factories): New.
6667         (test_target_info): New.
6668         (test_target_ops::info): New.
6669         (open_target): Adjust to use target_factories.
6670         (add_target_with_completer): Rename to ...
6671         (add_target): ... this.  Change prototype.  Register target_info
6672         and open callback in target_factories.  Register target_info in
6673         command context instead of target_ops.
6674         (add_target): Delete old implementation.
6675         (add_deprecated_target_alias): Change prototype.  Adjust.
6676         (the_native_target): New.
6677         (set_native_target, get_native_target): New.
6678         (find_default_run_target): Use the_native_target.
6679         (find_attach_target, find_run_target): Simplify.
6680         (target_ops::open): Delete.
6681         (dummy_target_info): New.
6682         (dummy_target::shortname, dummy_target::longname)
6683         (dummy_target::doc): Delete.
6684         (dummy_target::info): New.
6685         (debug_target::shortname, debug_target::longname)
6686         (debug_target::doc): Delete.
6687         (debug_target::info): New.
6688         * target.h (struct target_info): New.
6689         (target_ops::~target_ops): Add comment.
6690         (target_ops::info): New.
6691         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6692         longer virtual.  Implement in terms of target_info.
6693         (set_native_target, get_native_target): Declare.
6694         (target_open_ftype): New.
6695         (add_target, add_target_with_completer)
6696         (add_deprecated_target_alias): Change prototype.
6697         (test_target) <shortname, longname, doc>: Delete.
6698         <info>: New.
6699         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6700         add_inf_child_target.
6701         * tracefile-tfile.c (tfile_target_info): New.
6702         (tfile_target) <shortname, longname, doc>: Delete.
6703         <info>: New.
6704         (tfile_target::open): Rename to ...
6705         (tfile_target_open): ... this.
6706         (_initialize_tracefile_tfile): Adjust.
6707         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6708         add_inf_child_target.
6709         * windows-nat.c (_initialize_windows_nat): Use
6710         add_inf_child_target.
6711         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6712         add_inf_child_target.
6713
6714 2018-05-02  Pedro Alves  <palves@redhat.com>
6715
6716         * linux-nat.h (linux_nat_target) <low_new_thread,
6717         low_delete_thread, low_new_fork, low_forget_process,
6718         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6719         New virtual methods.
6720         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6721         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6722         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6723         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6724         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6725         Delete.
6726         * linux-fork.c (delete_fork): Adjust to call low method.
6727         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6728         (linux_nat_new_fork, linux_nat_forget_process_hook)
6729         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6730         (linux_nat_status_is_event):
6731         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6732         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6733         to call low method.
6734         (sigtrap_is_event): Rename to ...
6735         (linux_nat_target::low_status_is_event): ... this.
6736         (linux_nat_set_status_is_event): Delete.
6737         (save_stop_reason, linux_nat_wait_1)
6738         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6739         low methods.
6740         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6741         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6742         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6743         (linux_nat_set_prepare_to_resume): Delete.
6744         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6745         low virtual methods.
6746         * amd64-linux-nat.c: Likewise.
6747         * arm-linux-nat.c: Likewise.
6748         * i386-linux-nat.c: Likewise.
6749         * ia64-linux-nat.c: Likewise.
6750         * mips-linux-nat.c: Likewise.
6751         * ppc-linux-nat.c: Likewise.
6752         * s390-linux-nat.c: Likewise.
6753         * sparc64-linux-nat.c: Likewise.
6754         * x86-linux-nat.c: Likewise.
6755         * x86-linux-nat.h: Include "nat/x86-linux.h".
6756         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6757         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6758         Override methods.
6759
6760 2018-05-02  Pedro Alves  <palves@redhat.com>
6761
6762         * target.h (target_ops)
6763         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6764         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6765         stopped_by_watchpoint, have_continuable_watchpoint,
6766         stopped_data_address, watchpoint_addr_within_range,
6767         can_accel_watchpoint_condition, can_run, thread_alive,
6768         has_all_memory, has_memory, has_stack, has_registers,
6769         has_execution, can_async_p, is_async_p, supports_non_stop,
6770         always_non_stop_p, can_execute_reverse, supports_multi_process,
6771         supports_enable_disable_tracepoint,
6772         supports_disable_randomization, supports_string_tracing,
6773         supports_evaluation_of_breakpoint_conditions,
6774         can_run_breakpoint_commands, filesystem_is_local,
6775         can_download_tracepoint, get_trace_state_variable_value,
6776         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6777         record_is_replaying, record_will_replay,
6778         augmented_libraries_svr4_read>: Adjust to return bool.
6779         * aarch64-linux-nat.c: All implementations adjusted.
6780         * aix-thread.c: All implementations adjusted.
6781         * arm-linux-nat.c: All implementations adjusted.
6782         * breakpoint.c: All implementations adjusted.
6783         * bsd-kvm.c: All implementations adjusted.
6784         * bsd-uthread.c: All implementations adjusted.
6785         * corelow.c: All implementations adjusted.
6786         * ctf.c: All implementations adjusted.
6787         * darwin-nat.c: All implementations adjusted.
6788         * darwin-nat.h: All implementations adjusted.
6789         * exec.c: All implementations adjusted.
6790         * fbsd-nat.c: All implementations adjusted.
6791         * fbsd-nat.h: All implementations adjusted.
6792         * gnu-nat.c: All implementations adjusted.
6793         * gnu-nat.h: All implementations adjusted.
6794         * go32-nat.c: All implementations adjusted.
6795         * ia64-linux-nat.c: All implementations adjusted.
6796         * inf-child.c: All implementations adjusted.
6797         * inf-child.h: All implementations adjusted.
6798         * inf-ptrace.c: All implementations adjusted.
6799         * inf-ptrace.h: All implementations adjusted.
6800         * linux-nat.c: All implementations adjusted.
6801         * linux-nat.h: All implementations adjusted.
6802         * mips-linux-nat.c: All implementations adjusted.
6803         * nto-procfs.c: All implementations adjusted.
6804         * ppc-linux-nat.c: All implementations adjusted.
6805         * procfs.c: All implementations adjusted.
6806         * ravenscar-thread.c: All implementations adjusted.
6807         * record-btrace.c: All implementations adjusted.
6808         * record-full.c: All implementations adjusted.
6809         * remote-sim.c: All implementations adjusted.
6810         * remote.c: All implementations adjusted.
6811         * s390-linux-nat.c: All implementations adjusted.
6812         * sol-thread.c: All implementations adjusted.
6813         * spu-multiarch.c: All implementations adjusted.
6814         * target-delegates.c: All implementations adjusted.
6815         * target.c: All implementations adjusted.
6816         * target.h: All implementations adjusted.
6817         * tracefile-tfile.c: All implementations adjusted.
6818         * tracefile.c: All implementations adjusted.
6819         * tracefile.h: All implementations adjusted.
6820         * windows-nat.c: All implementations adjusted.
6821         * x86-linux-nat.h: All implementations adjusted.
6822         * x86-nat.h: All implementations adjusted.
6823
6824 2018-05-02  Pedro Alves  <palves@redhat.com>
6825
6826         * make-target-delegates (scan_target_h): Don't trim lines here.
6827         Replace sequences of tabs and/or whitespace with a single
6828         whitespace.
6829         (top level, parsing methods): Trim each line before processing it
6830         here.
6831
6832 2018-05-02  Pedro Alves  <palves@redhat.com>
6833             John Baldwin  <jhb@freebsd.org>
6834
6835         * target.h (enum strata) <debug_stratum>: New.
6836         (struct target_ops) <all delegation methods>: Replace by C++
6837         virtual methods, and drop "to_" prefix.  All references updated
6838         throughout.
6839         <to_shortname, to_longname, to_doc, to_data,
6840         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6841         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6842         virtual methods.  All references updated throughout.
6843         <can_attach, supports_terminal_ours, can_create_inferior,
6844         get_thread_control_capabilities, attach_no_wait>: New
6845         virtual methods.
6846         <insert_breakpoint, remove_breakpoint>: Now
6847         TARGET_DEFAULT_NORETURN methods.
6848         <info_proc>: Now returns bool.
6849         <to_magic>: Delete.
6850         (OPS_MAGIC): Delete.
6851         (current_target): Delete.  All references replaced by references
6852         to ...
6853         (target_stack): ... this.  New.
6854         (target_shortname, target_longname): Adjust.
6855         (target_can_run): Now a function declaration.
6856         (default_child_has_all_memory, default_child_has_memory)
6857         (default_child_has_stack, default_child_has_registers)
6858         (default_child_has_execution): Remove target_ops parameter.
6859         (complete_target_initialization): Delete.
6860         (memory_breakpoint_target): New template class.
6861         (test_target_ops): Refactor as a C++ class with virtual methods.
6862         * make-target-delegates (NAME_PART): Tighten.
6863         (POINTER_PART, CP_SYMBOL): New.
6864         (SIMPLE_RETURN_PART): Reimplement.
6865         (VEC_RETURN_PART): Expect less.
6866         (RETURN_PART, VIRTUAL_PART): New.
6867         (METHOD): Adjust to C++ virtual methods.
6868         (scan_target_h): Remove reference to C99.
6869         (dname): Output "target_ops::" prefix.
6870         (write_function_header): Adjust to output a C++ class method.
6871         (write_declaration): New.
6872         (write_delegator): Adjust to output a C++ class method.
6873         (tdname): Output "dummy_target::" prefix.
6874         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6875         method.
6876         (tdefault_names, debug_names): Delete.
6877         (return_types, tdefaults, styles, argtypes_array): New.
6878         (top level): All methods are delegators.
6879         (print_class): New.
6880         (top level): Print dummy_target and debug_target classes.
6881         * target-delegates.c: Regenerate.
6882         * target-debug.h (target_debug_print_enum_info_proc_what)
6883         (target_debug_print_thread_control_capabilities)
6884         (target_debug_print_thread_info_p): New.
6885         * target.c (dummy_target): Delete.
6886         (the_dummy_target, the_debug_target): New.
6887         (target_stack): Now extern.
6888         (set_targetdebug): Push/unpush debug target.
6889         (default_child_has_all_memory, default_child_has_memory)
6890         (default_child_has_stack, default_child_has_registers)
6891         (default_child_has_execution): Remove target_ops parameter.
6892         (complete_target_initialization): Delete.
6893         (add_target_with_completer): No longer call
6894         complete_target_initialization.
6895         (target_supports_terminal_ours): Use regular delegation.
6896         (update_current_target): Delete.
6897         (push_target): No longer check magic number.  Don't call
6898         update_current_target.
6899         (unpush_target): Don't call update_current_target.
6900         (target_is_pushed): No longer check magic number.
6901         (target_require_runnable): Skip for all stratums over
6902         process_stratum.
6903         (target_ops::info_proc): New.
6904         (target_info_proc): Use find_target_at and
6905         find_default_run_target.
6906         (target_supports_disable_randomization): Use regular delegation.
6907         (target_get_osdata): Use find_target_at.
6908         (target_ops::open, target_ops::close, target_ops::can_attach)
6909         (target_ops::attach, target_ops::can_create_inferior)
6910         (target_ops::create_inferior, target_ops::can_run)
6911         (target_can_run): New.
6912         (default_fileio_target): Use regular delegation.
6913         (target_ops::fileio_open, target_ops::fileio_pwrite)
6914         (target_ops::fileio_pread, target_ops::fileio_fstat)
6915         (target_ops::fileio_close, target_ops::fileio_unlink)
6916         (target_ops::fileio_readlink): New.
6917         (target_fileio_open_1, target_fileio_unlink)
6918         (target_fileio_readlink): Always call the target method.  Handle
6919         FILEIO_ENOSYS.
6920         (return_zero, return_zero_has_execution): Delete.
6921         (init_dummy_target): Delete.
6922         (dummy_target::dummy_target, dummy_target::shortname)
6923         (dummy_target::longname, dummy_target::doc)
6924         (debug_target::debug_target, debug_target::shortname)
6925         (debug_target::longname, debug_target::doc): New.
6926         (target_supports_delete_record): Use regular delegation.
6927         (setup_target_debug): Delete.
6928         (maintenance_print_target_stack): Skip debug_stratum.
6929         (initialize_targets): Instantiate the_dummy_target and
6930         the_debug_target.
6931         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
6932         use target_stack.
6933         (target_auxv_search, fprint_target_auxv): Adjust.
6934         (info_auxv_command): Adjust to use target_stack.
6935         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
6936         * exceptions.c (print_flush): Handle a NULL target_stack.
6937         * regcache.c (target_ops_no_register): Refactor as class with
6938         virtual methods.
6939
6940         * exec.c (exec_target): New class.
6941         (exec_ops): Now an exec_target.
6942         (exec_open, exec_close_1, exec_get_section_table)
6943         (exec_xfer_partial, exec_files_info, exec_has_memory)
6944         (exec_make_note_section): Refactor as exec_target methods.
6945         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
6946         Delete.
6947         (exec_target::find_memory_regions): New.
6948         (_initialize_exec): Don't call init_exec_ops.
6949         * gdbcore.h (exec_file_clear): Delete.
6950
6951         * corefile.c (core_target): Delete.
6952         (core_file_command): Adjust.
6953         * corelow.c (core_target): New class.
6954         (the_core_target): New.
6955         (core_close): Remove target_ops parameter.
6956         (core_close_cleanup): Adjust.
6957         (core_target::close): New.
6958         (core_open, core_detach, get_core_registers, core_files_info)
6959         (core_xfer_partial, core_thread_alive, core_read_description)
6960         (core_pid_to_str, core_thread_name, core_has_memory)
6961         (core_has_stack, core_has_registers, core_info_proc): Rework as
6962         core_target methods.
6963         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6964         (_initialize_corelow): Initialize the_core_target.
6965         * gdbcore.h (core_target): Delete.
6966         (the_core_target): New.
6967
6968         * ctf.c: (ctf_target): New class.
6969         (ctf_ops): Now a ctf_target.
6970         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6971         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6972         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6973         methods.
6974         (init_ctf_ops): Delete.
6975         (_initialize_ctf): Don't call it.
6976         * tracefile-tfile.c (tfile_target): New class.
6977         (tfile_ops): Now a tfile_target.
6978         (tfile_open, tfile_close, tfile_files_info)
6979         (tfile_get_tracepoint_status, tfile_trace_find)
6980         (tfile_fetch_registers, tfile_xfer_partial)
6981         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6982         Refactor as tfile_target methods.
6983         (tfile_xfer_partial_features): Remove target_ops parameter.
6984         (init_tfile_ops): Delete.
6985         (_initialize_tracefile_tfile): Don't call it.
6986         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6987         (tracefile_has_stack, tracefile_has_registers)
6988         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6989         tracefile_target methods.
6990         (init_tracefile_ops): Delete.
6991         (tracefile_target::tracefile_target): New.
6992         * tracefile.h: Include "target.h".
6993         (tracefile_target): New class.
6994         (init_tracefile_ops): Delete.
6995
6996         * spu-multiarch.c (spu_multiarch_target): New class.
6997         (spu_ops): Now a spu_multiarch_target.
6998         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6999         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
7000         (spu_search_memory, spu_mourn_inferior): Refactor as
7001         spu_multiarch_target methods.
7002         (init_spu_ops): Delete.
7003         (_initialize_spu_multiarch): Remove references to init_spu_ops,
7004         complete_target_initialization.
7005
7006         * ravenscar-thread.c (ravenscar_thread_target): New class.
7007         (ravenscar_ops): Now a ravenscar_thread_target.
7008         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
7009         (ravenscar_thread_alive, ravenscar_pid_to_str)
7010         (ravenscar_fetch_registers, ravenscar_store_registers)
7011         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
7012         (ravenscar_stopped_by_hw_breakpoint)
7013         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
7014         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
7015         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
7016         methods.
7017         (init_ravenscar_thread_ops): Delete.
7018         (_initialize_ravenscar): Remove references to
7019         init_ravenscar_thread_ops and complete_target_initialization.
7020
7021         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
7022         (bsd_uthread_target): New class.
7023         (bsd_uthread_ops): Now a bsd_uthread_target.
7024         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
7025         (bsd_uthread_close, bsd_uthread_mourn_inferior)
7026         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
7027         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
7028         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
7029         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
7030         (bsd_uthread_target): Delete function.
7031         (_initialize_bsd_uthread): Remove reference to
7032         complete_target_initialization.
7033
7034         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
7035         (target_bfd): ... this new class.
7036         (target_bfd_xfer_partial, target_bfd_get_section_table)
7037         (target_bfd_close): Refactor as target_bfd methods.
7038         (target_bfd::~target_bfd): New.
7039         (target_bfd_reopen): Adjust.
7040         (target_bfd::close): New.
7041
7042         * record-btrace.c (record_btrace_target): New class.
7043         (record_btrace_ops): Now a record_btrace_target.
7044         (record_btrace_open, record_btrace_stop_recording)
7045         (record_btrace_disconnect, record_btrace_close)
7046         (record_btrace_async, record_btrace_info)
7047         (record_btrace_insn_history, record_btrace_insn_history_range)
7048         (record_btrace_insn_history_from, record_btrace_call_history)
7049         (record_btrace_call_history_range)
7050         (record_btrace_call_history_from, record_btrace_record_method)
7051         (record_btrace_is_replaying, record_btrace_will_replay)
7052         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7053         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7054         (record_btrace_store_registers, record_btrace_prepare_to_store)
7055         (record_btrace_to_get_unwinder)
7056         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7057         (record_btrace_commit_resume, record_btrace_wait)
7058         (record_btrace_stop, record_btrace_can_execute_reverse)
7059         (record_btrace_stopped_by_sw_breakpoint)
7060         (record_btrace_supports_stopped_by_sw_breakpoint)
7061         (record_btrace_stopped_by_hw_breakpoint)
7062         (record_btrace_supports_stopped_by_hw_breakpoint)
7063         (record_btrace_update_thread_list, record_btrace_thread_alive)
7064         (record_btrace_goto_begin, record_btrace_goto_end)
7065         (record_btrace_goto, record_btrace_stop_replaying_all)
7066         (record_btrace_execution_direction)
7067         (record_btrace_prepare_to_generate_core)
7068         (record_btrace_done_generating_core): Refactor as
7069         record_btrace_target methods.
7070         (init_record_btrace_ops): Delete.
7071         (_initialize_record_btrace): Remove reference to
7072         init_record_btrace_ops.
7073         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7074         the execution_direction global.
7075         (record_full_base_target, record_full_target)
7076         (record_full_core_target): New classes.
7077         (record_full_ops): Now a record_full_target.
7078         (record_full_core_ops): Now a record_full_core_target.
7079         (record_full_target::detach, record_full_target::disconnect)
7080         (record_full_core_target::disconnect)
7081         (record_full_target::mourn_inferior, record_full_target::kill):
7082         New.
7083         (record_full_open, record_full_close, record_full_async): Refactor
7084         as methods of the record_full_base_target class.
7085         (record_full_resume, record_full_commit_resume): Refactor
7086         as methods of the record_full_target class.
7087         (record_full_wait, record_full_stopped_by_watchpoint)
7088         (record_full_stopped_data_address)
7089         (record_full_stopped_by_sw_breakpoint)
7090         (record_full_supports_stopped_by_sw_breakpoint)
7091         (record_full_stopped_by_hw_breakpoint)
7092         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7093         methods of the record_full_base_target class.
7094         (record_full_store_registers, record_full_xfer_partial)
7095         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7096         Refactor as methods of the record_full_target class.
7097         (record_full_can_execute_reverse, record_full_get_bookmark)
7098         (record_full_goto_bookmark, record_full_execution_direction)
7099         (record_full_record_method, record_full_info, record_full_delete)
7100         (record_full_is_replaying, record_full_will_replay)
7101         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7102         (record_full_stop_replaying): Refactor as methods of the
7103         record_full_base_target class.
7104         (record_full_core_resume, record_full_core_kill)
7105         (record_full_core_fetch_registers)
7106         (record_full_core_prepare_to_store)
7107         (record_full_core_store_registers, record_full_core_xfer_partial)
7108         (record_full_core_insert_breakpoint)
7109         (record_full_core_remove_breakpoint)
7110         (record_full_core_has_execution): Refactor
7111         as methods of the record_full_core_target class.
7112         (record_full_base_target::supports_delete_record): New.
7113         (init_record_full_ops): Delete.
7114         (init_record_full_core_ops): Delete.
7115         (record_full_save): Refactor as method of the
7116         record_full_base_target class.
7117         (_initialize_record_full): Remove references to
7118         init_record_full_ops and init_record_full_core_ops.
7119
7120         * remote.c (remote_target, extended_remote_target): New classes.
7121         (remote_ops): Now a remote_target.
7122         (extended_remote_ops): Now an extended_remote_target.
7123         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
7124         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
7125         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
7126         (remote_pass_signals, remote_set_syscall_catchpoint)
7127         (remote_program_signals, )
7128         (remote_thread_always_alive): Remove target_ops parameter.
7129         (remote_thread_alive, remote_thread_name)
7130         (remote_update_thread_list, remote_threads_extra_info)
7131         (remote_static_tracepoint_marker_at)
7132         (remote_static_tracepoint_markers_by_strid)
7133         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7134         (remote_open): Refactor as methods of remote_target.
7135         (extended_remote_open, extended_remote_detach)
7136         (extended_remote_attach, extended_remote_post_attach):
7137         (extended_remote_supports_disable_randomization)
7138         (extended_remote_create_inferior): : Refactor as method of
7139         extended_remote_target.
7140         (remote_set_permissions, remote_open_1, remote_detach)
7141         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7142         (remote_resume, remote_commit_resume, remote_stop)
7143         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7144         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7145         (remote_prepare_to_store, remote_store_registers)
7146         (remote_flash_erase, remote_flash_done, remote_files_info)
7147         (remote_kill, remote_mourn, remote_insert_breakpoint)
7148         (remote_remove_breakpoint, remote_insert_watchpoint)
7149         (remote_watchpoint_addr_within_range)
7150         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7151         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7152         (remote_supports_stopped_by_sw_breakpoint)
7153         (remote_stopped_by_hw_breakpoint)
7154         (remote_supports_stopped_by_hw_breakpoint)
7155         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7156         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7157         (remote_verify_memory): Refactor as methods of remote_target.
7158         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7159         parameter.
7160         (remote_xfer_partial, remote_get_memory_xfer_limit)
7161         (remote_search_memory, remote_rcmd, remote_memory_map)
7162         (remote_pid_to_str, remote_get_thread_local_address)
7163         (remote_get_tib_address, remote_read_description): Refactor as
7164         methods of remote_target.
7165         (remote_target::fileio_open, remote_target::fileio_pwrite)
7166         (remote_target::fileio_pread, remote_target::fileio_close): New.
7167         (remote_hostio_readlink, remote_hostio_fstat)
7168         (remote_filesystem_is_local, remote_can_execute_reverse)
7169         (remote_supports_non_stop, remote_supports_disable_randomization)
7170         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7171         (remote_supports_enable_disable_tracepoint)
7172         (remote_supports_string_tracing)
7173         (remote_can_run_breakpoint_commands, remote_trace_init)
7174         (remote_download_tracepoint, remote_can_download_tracepoint)
7175         (remote_download_trace_state_variable, remote_enable_tracepoint)
7176         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7177         (remote_trace_start, remote_get_trace_status)
7178         (remote_get_tracepoint_status, remote_trace_stop)
7179         (remote_trace_find, remote_get_trace_state_variable_value)
7180         (remote_save_trace_data, remote_get_raw_trace_data)
7181         (remote_set_disconnected_tracing, remote_core_of_thread)
7182         (remote_set_circular_trace_buffer, remote_traceframe_info)
7183         (remote_get_min_fast_tracepoint_insn_len)
7184         (remote_set_trace_buffer_size, remote_set_trace_notes)
7185         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7186         (remote_disable_btrace, remote_teardown_btrace)
7187         (remote_read_btrace, remote_btrace_conf)
7188         (remote_augmented_libraries_svr4_read, remote_load)
7189         (remote_pid_to_exec_file, remote_can_do_single_step)
7190         (remote_execution_direction, remote_thread_handle_to_thread_info):
7191         Refactor as methods of remote_target.
7192         (init_remote_ops, init_extended_remote_ops): Delete.
7193         (remote_can_async_p, remote_is_async_p, remote_async)
7194         (remote_thread_events, remote_upload_tracepoints)
7195         (remote_upload_trace_state_variables): Refactor as methods of
7196         remote_target.
7197         (_initialize_remote): Remove references to init_remote_ops and
7198         init_extended_remote_ops.
7199
7200         * remote-sim.c (gdbsim_target): New class.
7201         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7202         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7203         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7204         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7205         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7206         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7207         Refactor as methods of gdbsim_target.
7208         (gdbsim_ops): Now a gdbsim_target.
7209         (init_gdbsim_ops): Delete.
7210         (gdbsim_cntrl_c): Adjust.
7211         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7212
7213         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7214         (the_amd64_linux_nat_target): New.
7215         (amd64_linux_fetch_inferior_registers)
7216         (amd64_linux_store_inferior_registers): Refactor as methods of
7217         amd64_linux_nat_target.
7218         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7219         * i386-linux-nat.c: Don't include "linux-nat.h".
7220         (i386_linux_nat_target): New class.
7221         (the_i386_linux_nat_target): New.
7222         (i386_linux_fetch_inferior_registers)
7223         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7224         as methods of i386_linux_nat_target.
7225         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7226         * inf-child.c (inf_child_ops): Delete.
7227         (inf_child_fetch_inferior_registers)
7228         (inf_child_store_inferior_registers): Delete.
7229         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7230         methods of inf_child_target.
7231         (inf_child_target::supports_terminal_ours)
7232         (inf_child_target::terminal_init)
7233         (inf_child_target::terminal_inferior)
7234         (inf_child_target::terminal_ours_for_output)
7235         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7236         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7237         New.
7238         (inf_child_open, inf_child_disconnect, inf_child_close)
7239         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7240         (inf_child_post_startup_inferior, inf_child_can_run)
7241         (inf_child_pid_to_exec_file): Refactor as methods of
7242         inf_child_target.
7243         (inf_child_follow_fork): Delete.
7244         (inf_child_target::can_create_inferior)
7245         (inf_child_target::can_attach): New.
7246         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7247         (inf_child_target::has_stack, inf_child_target::has_registers)
7248         (inf_child_target::has_execution): New.
7249         (inf_child_fileio_open, inf_child_fileio_pwrite)
7250         (inf_child_fileio_pread, inf_child_fileio_fstat)
7251         (inf_child_fileio_close, inf_child_fileio_unlink)
7252         (inf_child_fileio_readlink, inf_child_use_agent)
7253         (inf_child_can_use_agent): Refactor as methods of
7254         inf_child_target.
7255         (return_zero, inf_child_target): Delete.
7256         (inf_child_target::inf_child_target): New.
7257         * inf-child.h: Include "target.h".
7258         (inf_child_target): Delete function prototype.
7259         (inf_child_target): New class.
7260         (inf_child_open_target, inf_child_mourn_inferior)
7261         (inf_child_maybe_unpush_target): Delete.
7262         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7263         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7264         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7265         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7266         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7267         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7268         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7269         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7270         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7271         methods of inf_ptrace_target.
7272         (inf_ptrace_target): Delete function.
7273         * inf-ptrace.h: Include "inf-child.h".
7274         (inf_ptrace_target): Delete function declaration.
7275         (inf_ptrace_target): New class.
7276         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7277         * linux-nat.c (linux_target): New.
7278         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7279         (linux_nat_target::~linux_nat_target): New.
7280         (linux_child_post_attach, linux_child_post_startup_inferior)
7281         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7282         (linux_child_remove_fork_catchpoint)
7283         (linux_child_insert_vfork_catchpoint)
7284         (linux_child_remove_vfork_catchpoint)
7285         (linux_child_insert_exec_catchpoint)
7286         (linux_child_remove_exec_catchpoint)
7287         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7288         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7289         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7290         (linux_nat_stopped_data_address)
7291         (linux_nat_stopped_by_sw_breakpoint)
7292         (linux_nat_supports_stopped_by_sw_breakpoint)
7293         (linux_nat_stopped_by_hw_breakpoint)
7294         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7295         (linux_nat_kill, linux_nat_mourn_inferior)
7296         (linux_nat_xfer_partial, linux_nat_thread_alive)
7297         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7298         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7299         (linux_child_static_tracepoint_markers_by_strid)
7300         (linux_nat_is_async_p, linux_nat_can_async_p)
7301         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7302         (linux_nat_supports_multi_process)
7303         (linux_nat_supports_disable_randomization, linux_nat_async)
7304         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7305         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7306         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7307         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7308         methods of linux_nat_target.
7309         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7310         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7311         parameter.
7312         (check_stopped_by_watchpoint): Adjust.
7313         (linux_xfer_partial): Delete.
7314         (linux_target_install_ops, linux_target, linux_nat_add_target):
7315         Delete.
7316         (linux_nat_target::linux_nat_target): New.
7317         * linux-nat.h: Include "inf-ptrace.h".
7318         (linux_nat_target): New.
7319         (linux_target, linux_target_install_ops, linux_nat_add_target):
7320         Delete function declarations.
7321         (linux_target): Declare global.
7322         * linux-thread-db.c (thread_db_target): New.
7323         (thread_db_target::thread_db_target): New.
7324         (thread_db_ops): Delete.
7325         (the_thread_db_target): New.
7326         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7327         (thread_db_update_thread_list, thread_db_pid_to_str)
7328         (thread_db_extra_thread_info)
7329         (thread_db_thread_handle_to_thread_info)
7330         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7331         (thread_db_resume): Refactor as methods of thread_db_target.
7332         (init_thread_db_ops): Delete.
7333         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7334         * x86-linux-nat.c: Don't include "linux-nat.h".
7335         (super_post_startup_inferior): Delete.
7336         (x86_linux_nat_target::~x86_linux_nat_target): New.
7337         (x86_linux_child_post_startup_inferior)
7338         (x86_linux_read_description, x86_linux_enable_btrace)
7339         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7340         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7341         methods of x86_linux_nat_target.
7342         (x86_linux_create_target): Delete.  Bits folded ...
7343         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7344         pointer.
7345         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7346         (x86_linux_nat_target): New class.
7347         (x86_linux_create_target): Delete.
7348         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7349         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7350         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7351         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7352         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7353         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7354         make extern.
7355         (x86_use_watchpoints): Delete.
7356         * x86-nat.h: Include "breakpoint.h" and "target.h".
7357         (x86_use_watchpoints): Delete.
7358         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7359         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7360         (x86_insert_watchpoint, x86_remove_watchpoint)
7361         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7362         (x86_stopped_by_hw_breakpoint): New declarations.
7363         (x86_nat_target): New template class.
7364
7365         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7366         (the_ppc_linux_nat_target): New.
7367         (ppc_linux_fetch_inferior_registers)
7368         (ppc_linux_can_use_hw_breakpoint)
7369         (ppc_linux_region_ok_for_hw_watchpoint)
7370         (ppc_linux_ranged_break_num_registers)
7371         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7372         (ppc_linux_insert_mask_watchpoint)
7373         (ppc_linux_remove_mask_watchpoint)
7374         (ppc_linux_can_accel_watchpoint_condition)
7375         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7376         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7377         (ppc_linux_watchpoint_addr_within_range)
7378         (ppc_linux_masked_watch_num_registers)
7379         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7380         (ppc_linux_read_description): Refactor as methods of
7381         ppc_linux_nat_target.
7382         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7383
7384         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7385         (procfs_target): New class.
7386         (the_procfs_target): New.
7387         (procfs_target): Delete function.
7388         (procfs_auxv_parse, procfs_attach, procfs_detach)
7389         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7390         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7391         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7392         (procfs_create_inferior, procfs_update_thread_list)
7393         (procfs_thread_alive, procfs_pid_to_str)
7394         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7395         (procfs_stopped_data_address, procfs_insert_watchpoint)
7396         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7397         (proc_find_memory_regions, procfs_info_proc)
7398         (procfs_make_note_section): Refactor as methods of procfs_target.
7399         (_initialize_procfs): Adjust.
7400         * sol-thread.c (sol_thread_target): New class.
7401         (sol_thread_ops): Now a sol_thread_target.
7402         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7403         (sol_thread_fetch_registers, sol_thread_store_registers)
7404         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7405         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7406         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7407         (init_sol_thread_ops): Delete.
7408         (_initialize_sol_thread): Adjust.  Remove references to
7409         init_sol_thread_ops and complete_target_initialization.
7410
7411         * windows-nat.c (windows_nat_target): New class.
7412         (windows_fetch_inferior_registers)
7413         (windows_store_inferior_registers, windows_resume, windows_wait)
7414         (windows_attach, windows_detach, windows_pid_to_exec_file)
7415         (windows_files_info, windows_create_inferior)
7416         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7417         (windows_close, windows_pid_to_str, windows_xfer_partial)
7418         (windows_get_tib_address, windows_get_ada_task_ptid)
7419         (windows_thread_name, windows_thread_alive): Refactor as
7420         windows_nat_target methods.
7421         (do_initial_windows_stuff): Adjust.
7422         (windows_target): Delete function.
7423         (_initialize_windows_nat): Adjust.
7424
7425         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7426         (darwin_mourn_inferior, darwin_kill_inferior)
7427         (darwin_create_inferior, darwin_attach, darwin_detach)
7428         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7429         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7430         (darwin_supports_multi_process): Refactor as darwin_nat_target
7431         methods.
7432         (darwin_resume_to, darwin_files_info): Delete.
7433         (_initialize_darwin_inferior): Rename to ...
7434         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7435         * darwin-nat.h: Include "inf-child.h".
7436         (darwin_nat_target): New class.
7437         (darwin_complete_target): Delete.
7438         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7439         (darwin_target): New.
7440         (i386_darwin_fetch_inferior_registers)
7441         (i386_darwin_store_inferior_registers): Refactor as methods of
7442         darwin_nat_target.
7443         (darwin_complete_target): Delete, with ...
7444         (_initialize_i386_darwin_nat): ... bits factored out here.
7445
7446         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7447         (the_alpha_linux_nat_target): New.
7448         (alpha_linux_register_u_offset): Refactor as
7449         alpha_linux_nat_target method.
7450         (_initialize_alpha_linux_nat): Adjust.
7451         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7452         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7453         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7454         methods of linux_nat_trad_target.
7455         (linux_trad_target): Delete.
7456         * linux-nat-trad.h (linux_trad_target): Delete function.
7457         (linux_nat_trad_target): New class.
7458         * mips-linux-nat.c (mips_linux_nat_target): New class.
7459         (super_fetch_registers, super_store_registers, super_close):
7460         Delete.
7461         (the_mips_linux_nat_target): New.
7462         (mips64_linux_regsets_fetch_registers)
7463         (mips64_linux_regsets_store_registers)
7464         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7465         (mips_linux_register_u_offset, mips_linux_read_description)
7466         (mips_linux_can_use_hw_breakpoint)
7467         (mips_linux_stopped_by_watchpoint)
7468         (mips_linux_stopped_data_address)
7469         (mips_linux_region_ok_for_hw_watchpoint)
7470         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7471         (mips_linux_close): Refactor as methods of mips_linux_nat.
7472         (_initialize_mips_linux_nat): Adjust to C++ification.
7473
7474         * aix-thread.c (aix_thread_target): New class.
7475         (aix_thread_ops): Now an aix_thread_target.
7476         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7477         (aix_thread_fetch_registers, aix_thread_store_registers)
7478         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7479         (aix_thread_thread_alive, aix_thread_pid_to_str)
7480         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7481         Refactor as methods of aix_thread_target.
7482         (init_aix_thread_ops): Delete.
7483         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7484         and complete_target_initialization.
7485         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7486         (rs6000_nat_target): New class.
7487         (the_rs6000_nat_target): New.
7488         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7489         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7490         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7491         (super_create_inferior): Delete.
7492         (_initialize_rs6000_nat): Adjust to C++ification.
7493
7494         * arm-linux-nat.c (arm_linux_nat_target): New class.
7495         (the_arm_linux_nat_target): New.
7496         (arm_linux_fetch_inferior_registers)
7497         (arm_linux_store_inferior_registers, arm_linux_read_description)
7498         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7499         (arm_linux_remove_hw_breakpoint)
7500         (arm_linux_region_ok_for_hw_watchpoint)
7501         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7502         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7503         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7504         arm_linux_nat_target.
7505         (_initialize_arm_linux_nat): Adjust to C++ification.
7506
7507         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7508         (the_aarch64_linux_nat_target): New.
7509         (aarch64_linux_fetch_inferior_registers)
7510         (aarch64_linux_store_inferior_registers)
7511         (aarch64_linux_child_post_startup_inferior)
7512         (aarch64_linux_read_description)
7513         (aarch64_linux_can_use_hw_breakpoint)
7514         (aarch64_linux_insert_hw_breakpoint)
7515         (aarch64_linux_remove_hw_breakpoint)
7516         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7517         (aarch64_linux_region_ok_for_hw_watchpoint)
7518         (aarch64_linux_stopped_data_address)
7519         (aarch64_linux_stopped_by_watchpoint)
7520         (aarch64_linux_watchpoint_addr_within_range)
7521         (aarch64_linux_can_do_single_step): Refactor as methods of
7522         aarch64_linux_nat_target.
7523         (super_post_startup_inferior): Delete.
7524         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7525
7526         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7527         (the_hppa_linux_nat_target): New.
7528         (hppa_linux_fetch_inferior_registers)
7529         (hppa_linux_store_inferior_registers): Refactor as methods of
7530         hppa_linux_nat_target.
7531         (_initialize_hppa_linux_nat): Adjust to C++ification.
7532
7533         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7534         (the_ia64_linux_nat_target): New.
7535         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7536         (ia64_linux_stopped_data_address)
7537         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7538         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7539         ia64_linux_nat_target methods.
7540         (super_xfer_partial): Delete.
7541         (_initialize_ia64_linux_nat): Adjust to C++ification.
7542
7543         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7544         (the_m32r_linux_nat_target): New.
7545         (m32r_linux_fetch_inferior_registers)
7546         (m32r_linux_store_inferior_registers): Refactor as
7547         m32r_linux_nat_target methods.
7548         (_initialize_m32r_linux_nat): Adjust to C++ification.
7549
7550         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7551         (the_m68k_linux_nat_target): New.
7552         (m68k_linux_fetch_inferior_registers)
7553         (m68k_linux_store_inferior_registers): Refactor as
7554         m68k_linux_nat_target methods.
7555         (_initialize_m68k_linux_nat): Adjust to C++ification.
7556
7557         * s390-linux-nat.c (s390_linux_nat_target): New class.
7558         (the_s390_linux_nat_target): New.
7559         (s390_linux_fetch_inferior_registers)
7560         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7561         (s390_insert_watchpoint, s390_remove_watchpoint)
7562         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7563         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7564         (s390_auxv_parse, s390_read_description): Refactor as methods of
7565         s390_linux_nat_target.
7566         (_initialize_s390_nat): Adjust to C++ification.
7567
7568         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7569         (the_sparc_linux_nat_target): New.
7570         (_initialize_sparc_linux_nat): Adjust to C++ification.
7571         * sparc-nat.c (sparc_fetch_inferior_registers)
7572         (sparc_store_inferior_registers): Remove target_ops parameter.
7573         * sparc-nat.h (sparc_fetch_inferior_registers)
7574         (sparc_store_inferior_registers): Remove target_ops parameter.
7575         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7576         (the_sparc64_linux_nat_target): New.
7577         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7578
7579         * spu-linux-nat.c (spu_linux_nat_target): New class.
7580         (the_spu_linux_nat_target): New.
7581         (spu_child_post_startup_inferior, spu_child_post_attach)
7582         (spu_child_wait, spu_fetch_inferior_registers)
7583         (spu_store_inferior_registers, spu_xfer_partial)
7584         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7585         methods.
7586         (_initialize_spu_nat): Adjust to C++ification.
7587
7588         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7589         (the_tilegx_linux_nat_target): New.
7590         (fetch_inferior_registers, store_inferior_registers):
7591         Refactor as methods.
7592         (_initialize_tile_linux_nat): Adjust to C++ification.
7593
7594         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7595         (the_xtensa_linux_nat_target): New.
7596         (xtensa_linux_fetch_inferior_registers)
7597         (xtensa_linux_store_inferior_registers): Refactor as
7598         xtensa_linux_nat_target methods.
7599         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7600
7601         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7602         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7603         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7604         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7605         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7606         (fbsd_stopped_by_sw_breakpoint)
7607         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7608         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7609         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7610         (fbsd_post_startup_inferior, fbsd_post_attach)
7611         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7612         (fbsd_set_syscall_catchpoint)
7613         (super_xfer_partial, super_resume, super_wait)
7614         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7615         (fbsd_handle_debug_trap): Remove target_ops parameter.
7616         (fbsd_nat_add_target): Delete.
7617         * fbsd-nat.h: Include "inf-ptrace.h".
7618         (fbsd_nat_add_target): Delete.
7619         (USE_SIGTRAP_SIGINFO): Define.
7620         (fbsd_nat_target): New class.
7621
7622         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7623         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7624         (amd64bsd_target): Delete.
7625         * amd64-bsd-nat.h: New file.
7626         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7627         "x86-bsd-nat.h".
7628         (amd64_fbsd_nat_target): New class.
7629         (the_amd64_fbsd_nat_target): New.
7630         (amd64fbsd_read_description): Refactor as method of
7631         amd64_fbsd_nat_target.
7632         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7633         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7634         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7635         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7636         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7637         (i386bsd_target): Delete.
7638         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7639         (i386bsd_fetch_inferior_registers)
7640         (i386bsd_store_inferior_registers): Declare.
7641         (i386_bsd_nat_target): New class.
7642         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7643         (the_i386_fbsd_nat_target): New.
7644         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7645         i386_fbsd_nat_target methods.
7646         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7647         (_initialize_i386fbsd_nat): Adjust to C++ification.
7648         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7649         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7650         (_initialize_x86_bsd_nat): Adjust to C++ification.
7651         * x86-bsd-nat.h: Include "x86-nat.h".
7652         (x86bsd_target): Delete declaration.
7653         (x86bsd_nat_target): New class.
7654
7655         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7656         (the_aarch64_fbsd_nat_target): New.
7657         (aarch64_fbsd_fetch_inferior_registers)
7658         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7659         aarch64_fbsd_nat_target.
7660         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7661         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7662         (the_alpha_bsd_nat_target): New.
7663         (alphabsd_fetch_inferior_registers)
7664         (alphabsd_store_inferior_registers): Refactor as
7665         alpha_bsd_nat_target methods.
7666         (_initialize_alphabsd_nat): Refactor as methods of
7667         alpha_bsd_nat_target.
7668         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7669         (the_amd64_nbsd_nat_target): New.
7670         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7671         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7672         (the_amd64_obsd_nat_target): New.
7673         (_initialize_amd64obsd_nat): Adjust to C++ification.
7674         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7675         (the_arm_fbsd_nat_target): New.
7676         (arm_fbsd_fetch_inferior_registers)
7677         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7678         (_initialize_arm_fbsd_nat): Refactor as methods of
7679         arm_fbsd_nat_target.
7680         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7681         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7682         (the_arm_netbsd_nat_target): New.
7683         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7684         arm_netbsd_nat_target.
7685         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7686         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7687         (the_hppa_nbsd_nat_target): New.
7688         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7689         hppa_nbsd_nat_target methods.
7690         (_initialize_hppanbsd_nat): Adjust to C++ification.
7691         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7692         (the_hppa_obsd_nat_target): New.
7693         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7694         methods of hppa_obsd_nat_target.
7695         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7696         add_target.
7697         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7698         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7699         add_target.
7700         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7701         (_initialize_i386obsd_nat): Use add_target.
7702         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7703         (the_m68k_bsd_nat_target): New.
7704         (m68kbsd_fetch_inferior_registers)
7705         (m68kbsd_store_inferior_registers): Refactor as methods of
7706         m68k_bsd_nat_target.
7707         (_initialize_m68kbsd_nat): Adjust to C++ification.
7708         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7709         (the_mips_fbsd_nat_target): New.
7710         (mips_fbsd_fetch_inferior_registers)
7711         (mips_fbsd_store_inferior_registers): Refactor as methods of
7712         mips_fbsd_nat_target.
7713         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7714         add_target.
7715         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7716         (the_mips_nbsd_nat_target): New.
7717         (mipsnbsd_fetch_inferior_registers)
7718         (mipsnbsd_store_inferior_registers): Refactor as methods of
7719         mips_nbsd_nat_target.
7720         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7721         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7722         (the_mips64_obsd_nat_target): New.
7723         (mips64obsd_fetch_inferior_registers)
7724         (mips64obsd_store_inferior_registers): Refactor as methods of
7725         mips64_obsd_nat_target.
7726         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7727         add_target.
7728         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7729         nbsd_nat_target.
7730         * nbsd-nat.h: Include "inf-ptrace.h".
7731         (nbsd_nat_target): New class.
7732         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7733         (obsd_wait): Refactor as methods of obsd_nat_target.
7734         (obsd_add_target): Delete.
7735         * obsd-nat.h: Include "inf-ptrace.h".
7736         (obsd_nat_target): New class.
7737         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7738         (the_ppc_fbsd_nat_target): New.
7739         (ppcfbsd_fetch_inferior_registers)
7740         (ppcfbsd_store_inferior_registers): Refactor as methods of
7741         ppc_fbsd_nat_target.
7742         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7743         add_target.
7744         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7745         (the_ppc_nbsd_nat_target): New.
7746         (ppcnbsd_fetch_inferior_registers)
7747         (ppcnbsd_store_inferior_registers): Refactor as methods of
7748         ppc_nbsd_nat_target.
7749         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7750         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7751         (the_ppc_obsd_nat_target): New.
7752         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7753         methods of ppc_obsd_nat_target.
7754         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7755         add_target.
7756         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7757         (the_sh_nbsd_nat_target): New.
7758         (shnbsd_fetch_inferior_registers)
7759         (shnbsd_store_inferior_registers): Refactor as methods of
7760         sh_nbsd_nat_target.
7761         (_initialize_shnbsd_nat): Adjust to C++ification.
7762         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7763         (inf_ptrace_xfer_partial): Delete.
7764         (sparc_xfer_partial, sparc_target): Delete.
7765         * sparc-nat.h (sparc_fetch_inferior_registers)
7766         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7767         (sparc_target): Delete function declaration.
7768         (sparc_target): New template class.
7769         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7770         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7771         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7772         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7773         add_target.
7774         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7775         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7776         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7777         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7778         add_target.
7779         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7780         (the_vax_bsd_nat_target): New.
7781         (vaxbsd_fetch_inferior_registers)
7782         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7783         methods.
7784         (_initialize_vaxbsd_nat): Adjust to C++ification.
7785
7786         * bsd-kvm.c (bsd_kvm_target): New class.
7787         (bsd_kvm_ops): Now a bsd_kvm_target.
7788         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7789         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7790         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7791         bsd_kvm_target.
7792         (bsd_kvm_return_one): Delete.
7793         (bsd_kvm_add_target): Adjust to C++ification.
7794
7795         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7796         (nto_procfs_target_procfs): New classes.
7797         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7798         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7799         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7800         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7801         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7802         (procfs_remove_hw_breakpoint, procfs_resume)
7803         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7804         (procfs_kill_inferior, procfs_store_registers)
7805         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7806         as methods of nto_procfs_target.
7807         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7808         (nto_native_ops): Delete.
7809         (procfs_open, procfs_native_open): Delete.
7810         (nto_native_ops): Now an nto_procfs_target_native.
7811         (init_procfs_targets): Adjust to C++ification.
7812         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7813         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7814         Refactor as methods of nto_procfs_target.
7815
7816         * go32-nat.c (go32_nat_target): New class.
7817         (the_go32_nat_target): New.
7818         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7819         (go32_store_registers, go32_xfer_partial, go32_files_info)
7820         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7821         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7822         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7823         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7824         (go32_target): Delete.
7825         (_initialize_go32_nat): Adjust to C++ification.
7826
7827         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7828         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7829         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7830         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7831         gnu_nat_target.
7832         (gnu_target): Delete.
7833         * gnu-nat.h (gnu_target): Delete.
7834         (gnu_nat_target): New class.
7835         * i386-gnu-nat.c (gnu_base_target): New.
7836         (i386_gnu_nat_target): New class.
7837         (the_i386_gnu_nat_target): New.
7838         (_initialize_i386gnu_nat): Adjust to C++ification.
7839
7840 2018-05-02  Pedro Alves  <palves@redhat.com>
7841
7842         * bfd-target.c (target_bfd_xclose): Rename to ...
7843         (target_bfd_close): ... this.
7844         (target_bfd_reopen): Adjust.
7845         * target.c (target_close): Remove references to to_xclose.
7846         * target.h (target_ops::to_xclose): Delete.
7847         (target_ops::to_close): Update comments.
7848
7849 2018-05-02  Pedro Alves  <palves@redhat.com>
7850
7851         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7852         "linux-nat.h".
7853         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7854         * inf-ptrace.c (inf_ptrace_register_u_offset)
7855         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7856         (inf_ptrace_store_register, inf_ptrace_store_registers)
7857         (inf_ptrace_trad_target): Move to ...
7858         * linux-nat-trad.c: ... this new file.
7859         * linux-nat-trad.h: New file.
7860         * linux-nat.c (linux_target_install_ops): Make extern.
7861         (linux_trad_target): Delete.
7862         * linux-nat.h (linux_trad_target): Delete declaration.
7863         (linux_target_install_ops): Declare.
7864         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7865         "linux-nat.h".
7866
7867 2018-05-02  Pedro Alves  <palves@redhat.com>
7868
7869         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7870         procfs_target/add_target here.
7871         * procfs.c (procfs_target): Make static.
7872         (_initialize_procfs): Call add_target here.
7873         * procfs.h (struct target_ops): Remove forward declaration.
7874         (procfs_target): Remove declaration.
7875         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7876
7877 2018-05-02  Pedro Alves  <palves@redhat.com>
7878
7879         * procfs.c (procfs_stopped_by_watchpoint)
7880         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7881         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7882         Forward declare.
7883         (procfs_use_watchpoints): Delete, move contents...
7884         (procfs_target): ... here.
7885         * procfs.h (procfs_use_watchpoints): Delete declaration.
7886         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7887         procfs_use_watchpoints.
7888         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7889         procfs_use_watchpoints.
7890
7891 2018-05-02  Tom Tromey  <tom@tromey.com>
7892
7893         PR python/20084:
7894         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7895         and var_zuinteger_unlimited.
7896         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7897         and PARAM_ZUINTEGER_UNLIMITED.
7898         (set_parameter_value): Handle var_zuinteger and
7899         var_zuinteger_unlimited.
7900         (add_setshow_generic): Likewise.
7901         (parmpy_init): Likewise.
7902
7903 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7904
7905         PR rust/23124
7906         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7907         pointer is not null before dereferencing it.
7908
7909 2018-04-30  Tom Tromey  <tom@tromey.com>
7910
7911         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7912         is_mi_like_p.
7913
7914 2018-04-30  Tom Tromey  <tom@tromey.com>
7915
7916         * breakpoint.c (mention): Remove use of is_mi_like_p.
7917         (print_mention_ranged_breakpoint): Likewise.
7918         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
7919         of is_mi_like_p.
7920
7921 2018-04-30  Tom Tromey  <tom@tromey.com>
7922
7923         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
7924
7925 2018-04-30  Tom Tromey  <tom@tromey.com>
7926
7927         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
7928         (info_spu_event_command): Remove some uses of is_mi_like_p.
7929
7930 2018-04-30  Tom Tromey  <tom@tromey.com>
7931
7932         * python/py-framefilter.c (py_print_single_arg)
7933         (enumerate_locals, py_print_args, py_print_frame): Remove some
7934         uses of is_mi_like_p.
7935
7936 2018-04-30  Tom Tromey  <tom@tromey.com>
7937
7938         * ui-out.c: Update.
7939         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
7940         * ui-out.h (ui_out::is_mi_like_p): Now const.
7941         (ui_out::do_is_mi_like_p): Now const.
7942         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
7943
7944 2018-04-30  Tom Tromey  <tom@tromey.com>
7945
7946         * varobj.c (varobj_set_visualizer): Use new_reference.
7947         * python/python.c (gdbpy_decode_line): Use new_reference.
7948         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
7949         new_reference.
7950
7951 2018-04-30  Tom Tromey  <tom@tromey.com>
7952
7953         * varobj.c (install_new_value): Use new_reference.
7954         * value.h (value_incref): Return void.  Swap intro comment with
7955         value_decref.
7956         * value.c (set_value_parent): Use new_reference.
7957         (value_incref): Return void.  Update intro comment.
7958         (release_value): Use new_reference.
7959         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7960
7961 2018-04-30  Tom Tromey  <tom@tromey.com>
7962
7963         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7964         * gdb_bfd.h (new_bfd_ref): Remove.
7965         (gdb_bfd_open): Update comment.
7966         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7967         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7968         (gdb_bfd_fdopenr): Use new_reference.
7969         * exec.c (exec_file_attach): Use new_reference.
7970
7971 2018-04-30  Tom Tromey  <tom@tromey.com>
7972
7973         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7974         method.
7975
7976 2018-04-30  Tom Tromey  <tom@tromey.com>
7977
7978         * jit.c (jit_read_code_entry): Use type_align.
7979         * i386-tdep.c (i386_gdbarch_init): Don't call
7980         set_gdbarch_long_long_align_bit.
7981         * gdbarch.sh: Remove long_long_align_bit.
7982         * gdbarch.c, gdbarch.h: Rebuild.
7983         * arc-tdep.c (arc_type_align): New function.
7984         (arc_gdbarch_init): Use arc_type_align.  Don't call
7985         set_gdbarch_long_long_align_bit.
7986
7987 2018-04-30  Tom Tromey  <tom@tromey.com>
7988
7989         * rust-lang.c (rust_type_alignment): Remove.
7990         (rust_composite_type): Use type_align.
7991
7992 2018-04-30  Tom Tromey  <tom@tromey.com>
7993
7994         * NEWS: Mention Type.align.
7995         * python/py-type.c (typy_get_alignof): New function.
7996         (type_object_getset): Add "alignof".
7997
7998 2018-04-30  Tom Tromey  <tom@tromey.com>
7999
8000         PR exp/17095:
8001         * NEWS: Update.
8002         * std-operator.def (UNOP_ALIGNOF): New operator.
8003         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
8004         New.
8005         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
8006         * c-lang.c (c_op_print_tab): Add alignof.
8007         * c-exp.y (ALIGNOF): New token.
8008         (exp): Add "ALIGNOF" production.
8009         (ident_tokens): Add _Alignof and alignof.
8010
8011 2018-04-30  Tom Tromey  <tom@tromey.com>
8012
8013         * i386-tdep.c (i386_type_align): New function.
8014         (i386_gdbarch_init): Update.
8015         * gdbarch.sh (type_align): New method.
8016         * gdbarch.c, gdbarch.h: Rebuild.
8017         * arch-utils.h (default_type_align): Declare.
8018         * arch-utils.c (default_type_align): New function.
8019         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
8020         (struct type) <align_log2>: New field.
8021         <instance_flags>: Now a bitfield.
8022         (TYPE_RAW_ALIGN): New macro.
8023         (type_align, type_raw_align, set_type_align): Declare.
8024         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
8025         functions.
8026         * dwarf2read.c (quirk_rust_enum): Set type alignment.
8027         (get_alignment, maybe_set_alignment): New functions.
8028         (read_structure_type, read_enumeration_type, read_array_type)
8029         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
8030         (read_subrange_type, read_base_type): Set type alignment.
8031
8032 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
8033
8034         * dwarf2read.c (read_index_from_section): Use bool.
8035
8036 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
8037
8038         PR gdb/22950
8039         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
8040         with #ifdef.
8041
8042 2018-04-29  John Reiser  <jreiser@BitWagon.com>
8043
8044         PR build/22873
8045         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8046         last step, and do it atomically.
8047
8048 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8049
8050         * compile/compile-c-types.c (convert_int, convert_float):
8051         Update for C FE v1.
8052
8053 2018-04-27  Tom Tromey  <tom@tromey.com>
8054
8055         PR rust/22545:
8056         * rust-lang.c (rust_inclusive_range_type_p): New function.
8057         (rust_range): Handle inclusive ranges.
8058         (rust_compute_range): Likewise.
8059         * rust-exp.y (struct rust_op) <inclusive>: New field.
8060         (DOTDOTEQ): New constant.
8061         (range_expr): Add "..=" productions.
8062         (operator_tokens): Add "..=" token.
8063         (ast_range): Add "inclusive" parameter.
8064         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8065         ranges.
8066         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8067         bounds values.
8068         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8069         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8070         Update comments.
8071         * expprint.c (print_subexp_standard): Handle new bounds values.
8072         (dump_subexp_body_standard): Likewise.
8073
8074 2018-04-27  Tom Tromey  <tom@tromey.com>
8075
8076         * configure: Rebuild.
8077         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8078         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8079         "OVERRIDE".
8080         (class symbol_needs_eval_context): Likewise.
8081         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8082         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8083         "virtual".
8084         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8085         "override".
8086         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8087         * aarch64-tdep.c (instruction_reader::read): Use "override".
8088         (instruction_reader_test::read): Likewise.
8089         * arm-tdep.c (instruction_reader::read): Use "override".
8090         (instruction_reader_thumb::read): Likewise.
8091
8092 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8093
8094         PR remote/9665
8095         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8096         instead of remote_send.
8097         (remote_send): Remove.
8098
8099 2018-04-26  Pedro Alves  <palves@redhat.com>
8100
8101         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8102         find_function_start_sal instead of find_pc_line.
8103
8104 2018-04-26  Pedro Alves  <palves@redhat.com>
8105
8106         * breakpoint.c (set_breakpoint_location_function): Handle
8107         mst_data_gnu_ifunc.
8108         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8109         * elfread.c (elf_symtab_read): Give data symbols with
8110         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8111         (elf_rel_plt_read): Update comment.
8112         * linespec.c (convert_linespec_to_sals): Handle
8113         mst_data_gnu_ifunc.
8114         (minsym_found): Handle mst_data_gnu_ifunc.
8115         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
8116         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
8117         * parse.c (find_minsym_type_and_address): Handle
8118         mst_data_gnu_ifunc.
8119         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
8120         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
8121         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
8122         comment.
8123         <mst_data_gnu_ifunc>: New enumerator.
8124
8125 2018-04-26  Pedro Alves  <palves@redhat.com>
8126
8127         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
8128         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
8129         'want_trampoline' parameter by a lookup_msym_prefer parameter.
8130         Handle it.
8131         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8132         (lookup_minimal_symbol_by_pc): Adjust.
8133         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8134         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8135         * minsyms.h (lookup_msym_prefer): New enum.
8136         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8137         parameter by a lookup_msym_prefer parameter.
8138
8139 2018-04-26  Pedro Alves  <palves@redhat.com>
8140
8141         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8142         ends in "@plt" instead of looking at the symbol's section.
8143
8144 2018-04-26  Pedro Alves  <palves@redhat.com>
8145
8146         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8147         all references.
8148         (find_pc_partial_function_gnu_ifunc): Rename to ...
8149         (find_pc_partial_function): ... this, and remove references to
8150         'is_gnu_ifunc_p'.
8151         (find_pc_partial_function): Delete old implementation.
8152         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8153
8154 2018-04-26  Pedro Alves  <palves@redhat.com>
8155
8156         * linespec.c (struct bound_minimal_symbol_search_key): New.
8157         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8158         skip first line if we found a GNU ifunc minimal symbol by name.
8159         (compare_msymbols): Change parameters to work with a destructured
8160         lhs minsym.
8161         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8162         functions.
8163
8164 2018-04-26  Pedro Alves  <palves@redhat.com>
8165
8166         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8167         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8168         address/name.
8169         (add_location_to_breakpoint): Store the minsym and the objfile in
8170         the breakpoint location.
8171         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8172         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8173         Record the minsym in the sal.
8174         * symtab.h (symtab_and_line) <msymbol>: New field.
8175
8176 2018-04-26  Pedro Alves  <palves@redhat.com>
8177
8178         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8179         unless we actually resolved the ifunc.
8180
8181 2018-04-26  Pedro Alves  <palves@redhat.com>
8182
8183         * c-exp.y (variable production): Prefer ifunc minsyms over
8184         regular function symbols.
8185         * symtab.c (find_gnu_ifunc): New function.
8186         * minsyms.h (lookup_msym_prefer): New enum.
8187         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8188         parameter by a lookup_msym_prefer parameter.
8189         * symtab.h (find_gnu_ifunc): New declaration.
8190
8191 2018-04-26  Pedro Alves  <palves@redhat.com>
8192
8193         * blockframe.c (find_gnu_ifunc_target_type): New function.
8194         (find_function_type): New.
8195         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8196         return a value with a memory address.
8197         (eval_call): For calls to GNU ifunc functions, try to find the
8198         type of the target function from the type that the resolver
8199         returns.
8200         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8201         symbols.
8202         * infcall.c (find_function_return_type): Delete.
8203         (find_function_addr): Add 'function_type' parameter.  For calls to
8204         GNU ifunc functions, try to find the type of the target function
8205         from the type that the resolver returns, and return it via
8206         FUNCTION_TYPE.
8207         (call_function_by_hand_dummy): Adjust to use the function type
8208         returned by find_function_addr.
8209         (find_function_addr): Add 'function_type' parameter and move
8210         description here.
8211         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8212         declarations.
8213
8214 2018-04-26  Pedro Alves  <palves@redhat.com>
8215
8216         * c-exp.y (variable production): Skip finding an alias for ifunc
8217         symbols.
8218
8219 2018-04-26  Pedro Alves  <palves@redhat.com>
8220
8221         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8222
8223 2018-04-25  Pedro Alves  <palves@redhat.com>
8224
8225         * infcmd.c (kill_command): Print the pid as string, not the whole
8226         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8227         message.
8228         * remote.c (remote_detach_1): Print the pid as string, not the
8229         whole thread's ptid.
8230
8231 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8232             Sergio Durigan Junior  <sergiodj@redhat.com>
8233             Pedro Alves  <palves@redhat.com>
8234
8235         * infcmd.c (kill_command): Print message when inferior has
8236         been killed.
8237         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8238         '1'.
8239         (add_inferior): Improve message printed when
8240         'print_inferior_events' is on.
8241         (exit_inferior): Remove message printed when
8242         'print_inferior_events' is on.
8243         (detach_inferior): Improve message printed when
8244         'print_inferior_events' is on.
8245         (initialize_inferiors): Use 'add_inferior_silent' to set
8246         'current_inferior_'.
8247         * inferior.h (print_inferior_events): Declare here as
8248         'extern'.
8249         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8250         '[Detaching...]' messages when 'print_inferior_events' is on.
8251         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8252         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8253         'Detaching after fork from child...', replace it by '... from
8254         parent...'.
8255         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8256         prefix/suffix when printing 'Detaching...' messages.  Print
8257         them when 'print_inferior_events' is on.
8258         * remote.c (remote_detach_1): Print message when detaching
8259         from inferior and '!is_fork_parent'.
8260
8261 2018-04-24  Tom Tromey  <tom@tromey.com>
8262
8263         * cli-out.h: Reindent.
8264
8265 2018-04-24  Tom Tromey  <tom@tromey.com>
8266
8267         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8268         (cli_ui_out::do_field_string): Use fputs_filtered.
8269         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8270
8271 2018-04-23  Tom Tromey  <tom@tromey.com>
8272
8273         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8274         gdb::unique_xmalloc_ptr.
8275
8276 2018-04-23  Tom Tromey  <tom@tromey.com>
8277
8278         * configure: Rebuild.
8279
8280 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8281
8282         PR gdb/23095
8283         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8284         prepare_for_testing.  Set normal_bp to r_debug_state if target
8285         is bsd.
8286
8287 2018-04-21  Pedro Alves  <palves@redhat.com>
8288             Rajendra SY  <rajendra.sy@gmail.com>
8289
8290         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8291         * remote.c (extended_remote_attach): In all-stop mode, mark the
8292         thread as executing.
8293
8294 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8295
8296         * thread.c (thread_apply_all_command): Fix comment.
8297         (thread_command): Fix comment.
8298
8299 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8300
8301         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8302         parameter.
8303         * features/aarch64-core.c (create_feature_aarch64_core):
8304         Regenerate.
8305         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8306         Likewise.
8307         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8308         Likewise.
8309         * features/i386/32bit-avx512.c
8310         (create_feature_i386_32bit_avx512): Likewise.
8311         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8312         Likewise.
8313         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8314         Likewise.
8315         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8316         Likewise.
8317         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8318         Likewise.
8319         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8320         Likewise.
8321         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8322         Likewise.
8323         * features/i386/64bit-avx512.c
8324         (create_feature_i386_64bit_avx512): Likewise.
8325         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8326         Likewise.
8327         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8328         Likewise.
8329         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8330         Likewise.
8331         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8332         Likewise.
8333         * features/i386/64bit-segments.c
8334         (create_feature_i386_64bit_segments): Likewise.
8335         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8336         Likewise.
8337         * features/i386/x32-core.c
8338         (create_feature_i386_x32_core): Likewise.
8339         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8340         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8341         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8342         * target-descriptions.c: In generated code, don't pass xml
8343         filename.
8344
8345 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8346
8347         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8348         (print_xml_feature::visit_post): Likewise.
8349         (print_xml_feature::visit): Likewise.
8350         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8351         (print_xml_feature): Add new class.
8352         * regformats/regdat.sh: Null xmltarget on feature targets.
8353         * target-descriptions.c (struct target_desc): Add xmltarget.
8354         (maintenance_check_tdesc_xml_convert): Add unittest function.
8355         (tdesc_get_features_xml): Add function to get xml.
8356         (maintenance_check_xml_descriptions): Test xml generation.
8357         * xml-tdesc.c (string_read_description_xml): Add function.
8358         * xml-tdesc.h (string_read_description_xml): Add declaration.
8359
8360 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8361
8362         * features/Makefile: Add feature marker to targets with new style
8363         target descriptions.
8364         * regformats/aarch64.dat: Regenerate.
8365         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8366         * regformats/i386/amd64-avx-linux.dat: Likewise.
8367         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8368         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8369         * regformats/i386/amd64-linux.dat: Likewise.
8370         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8371         * regformats/i386/amd64.dat: Likewise.
8372         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8373         * regformats/i386/i386-avx-linux.dat: Likewise.
8374         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8375         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8376         * regformats/i386/i386-linux.dat: Likewise.
8377         * regformats/i386/i386-mmx-linux.dat: Likewise.
8378         * regformats/i386/i386-mpx-linux.dat: Likewise.
8379         * regformats/i386/i386.dat: Likewise.
8380         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8381         * regformats/i386/x32-avx-linux.dat: Likewise.
8382         * regformats/i386/x32-linux.dat: Likewise.
8383         * regformats/tic6x-c62x-linux.dat: Likewise.
8384         * regformats/tic6x-c64x-linux.dat: Likewise.
8385         * regformats/tic6x-c64xp-linux.dat: Likewise.
8386         * regformats/regdat.sh: Parse feature marker.
8387
8388 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8389
8390         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8391         (tdesc_osabi_name): Likewise.
8392         * target-descriptions.c (tdesc_architecture_name): Add new
8393         function.
8394         (tdesc_osabi_name): Likewise.
8395
8396 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8397
8398         * common/tdesc.c (tdesc_predefined_type): Move to here.
8399         (tdesc_named_type): Likewise.
8400         (tdesc_create_vector): Likewise.
8401         (tdesc_create_struct): Likewise.
8402         (tdesc_set_struct_size): Likewise.
8403         (tdesc_create_union): Likewise.
8404         (tdesc_create_flags): Likewise.
8405         (tdesc_create_enum): Likewise.
8406         (tdesc_add_field): Likewise.
8407         (tdesc_add_typed_bitfield): Likewise.
8408         (tdesc_add_bitfield): Likewise.
8409         (tdesc_add_flag): Likewise.
8410         (tdesc_add_enum_value): Likewise.
8411         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8412         (struct tdesc_type_vector): Likewise.
8413         (struct tdesc_type_field): Likewise.
8414         (struct tdesc_type_with_fields): Likewise.
8415         (tdesc_create_enum): Add declaration.
8416         (tdesc_add_typed_bitfield): Likewise.
8417         (tdesc_add_enum_value): Likewise.
8418         * target-descriptions.c (tdesc_type_field): Move from here.
8419         (tdesc_type_builtin): Likewise.
8420         (tdesc_type_vector): Likewise.
8421         (tdesc_type_with_fields): Likewise.
8422         (tdesc_predefined_types): Likewise.
8423         (tdesc_named_type): Likewise.
8424         (tdesc_create_vector): Likewise.
8425         (tdesc_create_struct): Likewise.
8426         (tdesc_set_struct_size): Likewise.
8427         (tdesc_create_union): Likewise.
8428         (tdesc_create_flags): Likewise.
8429         (tdesc_create_enum): Likewise.
8430         (tdesc_add_field): Likewise.
8431         (tdesc_add_typed_bitfield): Likewise.
8432         (tdesc_add_bitfield): Likewise.
8433         (tdesc_add_flag): Likewise.
8434         (tdesc_add_enum_value): Likewise.
8435         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8436         (tdesc_add_typed_bitfield): Likewise.
8437         (tdesc_add_enum_value): Likewise.
8438
8439 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8440
8441         * common/tdesc.c (tdesc_feature::accept): Move to here.
8442         (tdesc_feature::operator==): Likewise.
8443         (tdesc_create_reg): Likewise.
8444         * common/tdesc.h (tdesc_type_kind): Likewise.
8445         (struct tdesc_type): Likewise.
8446         (struct tdesc_feature): Likewise.
8447         * regformats/regdat.sh: Create a feature.
8448         * target-descriptions.c (tdesc_type_kind): Move from here.
8449         (tdesc_type): Likewise.
8450         (tdesc_type_up): Likewise.
8451         (tdesc_feature): Likewise.
8452         (tdesc_create_reg): Likewise.
8453
8454 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8455
8456         * Makefile.in: Add arch/tdesc.c
8457         * common/tdesc.c: New file.
8458         * common/tdesc.h (tdesc_element_visitor): Move to here.
8459         (tdesc_element): Likewise.
8460         (tdesc_reg): Likewise.
8461         (tdesc_reg_up): Likewise.
8462         * regformats/regdef.h (reg): Add offset to constructors.
8463         * target-descriptions.c (tdesc_element_visitor): Move from here.
8464         (tdesc_element): Likewise.
8465         (tdesc_reg): Likewise.
8466         (tdesc_reg_up): Likewise.
8467
8468 2018-04-17  Tom Tromey  <tom@tromey.com>
8469
8470         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8471         discriminant field.
8472
8473 2018-04-17  Tom Tromey  <tom@tromey.com>
8474
8475         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8476
8477 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8478
8479         * symtab.c (print_symbol_info): Skip printing filename and line
8480         number when `last' is NULL.
8481         (symtab_symbol_info): Use empty string instead of NULL for first
8482         invocation of print_symbol_info.
8483         (rbreak_command): Pass NULL to `last' parameter of
8484         print_symbol_info.
8485
8486 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8487
8488         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8489         instead of nullptr.
8490
8491 2018-04-16  Pedro Alves  <palves@redhat.com>
8492
8493         * MAINTAINERS (sh): Remove.
8494         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8495         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8496         (ALLDEPFILES): Remove sh64-tdep.c.
8497         * NEWS: Mentions that support for SH-5/SH64 is removed.
8498         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8499         (sh*-*-openbsd*): Ditto.
8500         (sh64-*-elf*): Remove.
8501         (sh*): Remove.
8502         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8503         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8504         * sh-tdep.c: No longer include "sh64-tdep.h".
8505         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8506         * sh64-tdep.c, sh64-tdep.h: Remove files.
8507
8508 2018-04-16  Pedro Alves  <palves@redhat.com>
8509
8510         * MAINTAINERS: Remove m88k.
8511         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8512         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8513         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8514         * NEWS: Mention that support for m88k was removed.
8515         * configure.host (m88*-*-*): Remove support.
8516         * configure.nat (m88k-*-*): Remove support.
8517         * configure.tgt (m88*-*-openbsd*): Remove.
8518         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8519
8520 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8521
8522         * configure.tgt (x86_tobjs): New variable.
8523         (amd64_tobjs, i386_tobjs): Use it.
8524
8525 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8526
8527         * symtab.c (print_symbol_info): Precede the symbol definition by
8528         the line number when available.
8529         * NEWS: Advertise this enhancement.
8530
8531 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8532
8533         * NEWS (New options): announce set/show record btrace cpu.
8534         * btrace.c: Include record-btrace.h.
8535         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8536         the vendor is unknown.
8537         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8538         Maybe overwrite the btrace configuration's cpu.
8539         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8540         (btrace_fetch): Add cpu parameter.  Update callers.
8541         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8542         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8543         errata workarounds if the vendor is unknown.
8544         * python/py-record-btrace.c: Include record-btrace.h.
8545         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8546         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8547         * record-btrace.c (record_btrace_cpu_state_kind): New.
8548         (record_btrace_cpu): New.
8549         (set_record_btrace_cpu_cmdlist): New.
8550         (record_btrace_get_cpu): New.
8551         (require_btrace_thread, record_btrace_info)
8552         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8553         (cmd_set_record_btrace_cpu_none): New.
8554         (cmd_set_record_btrace_cpu_auto): New.
8555         (cmd_set_record_btrace_cpu): New.
8556         (cmd_show_record_btrace_cpu): New.
8557         (_initialize_record_btrace): Initialize set/show record btrace cpu
8558         commands.
8559         * record-btrace.h (record_btrace_get_cpu): New.
8560
8561 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8562
8563         * record.c (set_record_command): Fix typo in message.
8564
8565 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8566
8567         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8568
8569 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8570
8571         * infrun.c (process_event_stop_test): Call
8572         gdbarch_in_indirect_branch_thunk.
8573         * gdbarch.sh (in_indirect_branch_thunk): New.
8574         * gdbarch.c: Regenerated.
8575         * gdbarch.h: Regenerated.
8576         * x86-tdep.h: New.
8577         * x86-tdep.c: New.
8578         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8579         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8580         (ALLDEPFILES): Add x86-tdep.c.
8581         * arch-utils.h (default_in_indirect_branch_thunk): New.
8582         * arch-utils.c (default_in_indirect_branch_thunk): New.
8583         * i386-tdep: Include x86-tdep.h.
8584         (i386_in_indirect_branch_thunk): New.
8585         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8586         function.
8587         * amd64-tdep: Include x86-tdep.h.
8588         (amd64_in_indirect_branch_thunk): New.
8589         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8590
8591 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8592
8593         PR gdb/23053
8594         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8595         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8596         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8597         regression.
8598
8599 2018-04-12  Tom Tromey  <tom@tromey.com>
8600
8601         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8602         (rust_evaluate_subexp): Likewise.
8603
8604 2018-04-12  Pedro Alves  <palves@redhat.com>
8605
8606         * procfs.c (procfs_detach): Make forward declaration's prototype
8607         match definition's protototype.
8608         (proc_get_LDT_entry): Remove stale do_cleanups call.
8609
8610 2018-04-12  Pedro Alves  <palves@redhat.com>
8611
8612         * target.h (target_ops::to_has_exited): Delete.
8613         (target_has_exited): Delete.
8614         * target-delegates.c: Regenerate.
8615
8616 2018-04-11  Pedro Alves  <palves@redhat.com>
8617
8618         * target.c (fileio_fh_t::t): Add comment.
8619         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8620         (target_fileio_close): Handle a NULL target.
8621         (invalidate_fileio_fh): New.
8622         (target_close): Call it.
8623         * remote.c (remote_hostio_send_command): No longer check whether
8624         remote_desc is open.
8625
8626 2018-04-11  Pedro Alves  <palves@redhat.com>
8627
8628         * target.c (fileio_fh_t): Make it a named struct instead of a
8629         typedef.
8630         (fileio_fh_t::is_closed): New method.
8631         (DEF_VEC_O (fileio_fh_t)): Remove.
8632         (fileio_fhandles): Now a std::vector.
8633         (is_closed_fileio_fh): Delete.
8634         (acquire_fileio_fd): Adjust.  Rename parameters.
8635         (release_fileio_fd): Adjust.
8636         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8637         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8638         (target_fileio_close): Adjust.
8639
8640 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8641
8642         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8643         index.
8644
8645 2018-04-10  Pedro Alves  <palves@redhat.com>
8646
8647         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8648         (scoped_finish_thread_state): New class.
8649         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8650         cleanup.
8651         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8652         (fetch_inferior_event, normal_stop): Likewise.
8653         * thread.c (finish_thread_state_cleanup): Delete.
8654
8655 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8656             Pedro Alves  <palves@redhat.com>
8657
8658         * value.c: Include "selftest.h" and "common/array-view.h".
8659         (struct range) <operator ==>: New.
8660         (test_ranges_contain): New.
8661         (check_ranges_vector): New.
8662         (test_insert_into_bit_range_vector): New.
8663         (_initialize_values): Register selftests.
8664         * common/array-view.h (operator==, operator!=): New.
8665
8666 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8667
8668         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8669         an iterator.
8670         * inline-frame.c: Include <algorithm>.
8671         (struct inline_state): Add constructor.
8672         (inline_state_s): Remove.
8673         (DEF_VEC_O(inline_state_s)): Remove.
8674         (inline_states): Change type to std::vector.
8675         (find_inline_frame_state): Adjust to std::vector.
8676         (allocate_inline_frame_state): Remove.
8677         (clear_inline_frame_state): Adjust to std::vector.
8678         (skip_inline_frames): Adjust to std::vector.
8679
8680 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8681
8682         * tracepoint.h (struct trace_state_variable): Add constructor.
8683         <name>: Change type to std::string.
8684         * tracepoint.c (tsv_s): Remove.
8685         (DEF_VEC_O(tsv_s)): Remove.
8686         (tvariables): Change to std::vector.
8687         (create_trace_state_variable): Adjust to std::vector.
8688         (find_trace_state_variable): Likewise.
8689         (find_trace_state_variable_by_number): Likewise.
8690         (delete_trace_state_variable): Likewise.
8691         (trace_variable_command): Adjust to std::string.
8692         (delete_trace_variable_command): Likewise.
8693         (tvariables_info_1): Adjust to std::vector.
8694         (save_trace_state_variables): Likewise.
8695         (start_tracing): Likewise.
8696         (merge_uploaded_trace_state_variables): Adjust to std::vector
8697         and std::string.
8698         * target.h (struct target_ops)
8699         <to_download_trace_state_variable>: Pass reference to
8700         trace_state_variable.
8701         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8702         * target-delegates.c: Re-generate.
8703         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8704         (mi_tsv_deleted): Likewise.
8705         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8706         * remote.c (remote_download_trace_state_variable): Change
8707         pointer to reference and adjust.
8708         * make-target-delegates (parse_argtypes): Handle references.
8709         (write_function_header): Likewise.
8710         (munge_type): Likewise.
8711
8712 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8713
8714         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8715         string_view-selftests.c.
8716         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8717         testsuite.
8718         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8719         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8720         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8721         * unittests/basic_string_view/element_access/char/1.cc:
8722         Likewise.
8723         * unittests/basic_string_view/element_access/char/empty.cc:
8724         Likewise.
8725         * unittests/basic_string_view/element_access/char/front_back.cc:
8726         Likewise.
8727         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8728         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8729         Likewise.
8730         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8731         Likewise.
8732         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8733         Likewise.
8734         * unittests/basic_string_view/operations/compare/char/1.cc:
8735         Likewise.
8736         * unittests/basic_string_view/operations/compare/char/13650.cc:
8737         Likewise.
8738         * unittests/basic_string_view/operations/copy/char/1.cc:
8739         Likewise.
8740         * unittests/basic_string_view/operations/data/char/1.cc:
8741         Likewise.
8742         * unittests/basic_string_view/operations/find/char/1.cc:
8743         Likewise.
8744         * unittests/basic_string_view/operations/find/char/2.cc:
8745         Likewise.
8746         * unittests/basic_string_view/operations/find/char/3.cc:
8747         Likewise.
8748         * unittests/basic_string_view/operations/find/char/4.cc:
8749         Likewise.
8750         * unittests/basic_string_view/operations/rfind/char/1.cc:
8751         Likewise.
8752         * unittests/basic_string_view/operations/rfind/char/2.cc:
8753         Likewise.
8754         * unittests/basic_string_view/operations/rfind/char/3.cc:
8755         Likewise.
8756         * unittests/basic_string_view/operations/substr/char/1.cc:
8757         Likewise.
8758         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8759         * unittests/string_view-selftests.c: New file.
8760
8761 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8762
8763         * unittests/basic_string_view/capacity/1.cc: New file.
8764         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8765         * unittests/basic_string_view/cons/char/1.cc: New file.
8766         * unittests/basic_string_view/cons/char/2.cc: New file.
8767         * unittests/basic_string_view/cons/char/3.cc: New file.
8768         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8769         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8770         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8771         * unittests/basic_string_view/element_access/char/1.cc: New file.
8772         * unittests/basic_string_view/element_access/char/2.cc: New file.
8773         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8774         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8775         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8776         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8777         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8778         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8779         * unittests/basic_string_view/include.cc: New file.
8780         * unittests/basic_string_view/inserters/char/1.cc: New file.
8781         * unittests/basic_string_view/inserters/char/2.cc: New file.
8782         * unittests/basic_string_view/inserters/char/3.cc: New file.
8783         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8784         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8785         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8786         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8787         * unittests/basic_string_view/literals/types.cc: New file.
8788         * unittests/basic_string_view/literals/values.cc: New file.
8789         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8790         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8791         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8792         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8793         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8794         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8795         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8796         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8797         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8798         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8799         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8800         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8801         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8802         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8803         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8804         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8805         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8806         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8807         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8808         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8809         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8810         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8811         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8812         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8813         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8814         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8815         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8816         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8817         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8818         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8819         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8820         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8821         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8822         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8823         * unittests/basic_string_view/operators/char/2.cc: New file.
8824         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8825         * unittests/basic_string_view/range_access/char/1.cc: New file.
8826         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8827         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8828         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8829         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8830         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8831         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8832         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8833         * unittests/basic_string_view/typedefs.cc: New file.
8834         * unittests/basic_string_view/types/1.cc: New file.
8835
8836 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8837
8838         * common/gdb_string_view.h: Remove libstdc++ implementation
8839         details, adjust to gdb reality.
8840         * common/gdb_string_view.tcc: Likewise.
8841         * cli/cli-script.c (struct string_view): Remove.
8842         (user_args) <m_args>: Change element type to gdb::string_view.
8843         (user_args::insert_args): Adjust.
8844
8845 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8846
8847         * common/gdb_string_view.h: New file.
8848         * common/gdb_string_view.tcc: New file.
8849
8850 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8851
8852         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8853         * configure: Re-generate.
8854
8855 2018-04-09  Pedro Alves  <palves@redhat.com>
8856
8857         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8858         (set_target_gdbarch): Call
8859         gdb::observers::architecture_changed.notify instead of
8860         observer_notify_architecture_changed.
8861
8862 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8863
8864         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8865         (do_restore_current_traceframe_cleanup): Remove.
8866         (restore_current_traceframe_cleanup_dtor): Remove.
8867         (make_cleanup_restore_current_traceframe): Remove.
8868         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8869         New.
8870         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8871         * infrun.c (fetch_inferior_event): Use
8872         scoped_restore_current_traceframe.
8873
8874 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8875
8876         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8877         Remove.
8878         <n_allocated_type_units>: Remove.
8879         <all_type_units>: Change to std::vector.
8880         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8881         to std::vector change.
8882         (dwarf2_per_objfile::get_cutu): Likewise.
8883         (dwarf2_per_objfile::get_tu): Likewise.
8884         (create_signatured_type_table_from_index): Likewise.
8885         (create_signatured_type_table_from_debug_names): Likewise.
8886         (dw2_symtab_iter_next): Likewise.
8887         (dw2_print_stats): Likewise.
8888         (dw2_expand_all_symtabs): Likewise.
8889         (dw2_expand_marked_cus): Likewise.
8890         (dw2_debug_names_iterator::next): Likewise.
8891         (dwarf2_initialize_objfile): Likewise.
8892         (add_signatured_type_cu_to_table): Likewise.
8893         (create_all_type_units): Likewise.
8894         (add_type_unit): Likewise.
8895         (struct tu_abbrev_offset): Add constructor.
8896         (build_type_psymtabs_1): Adjust to std::vector change.
8897         (print_tu_stats): Likewise.
8898         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8899         (write_debug_names): Likewise.
8900
8901 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8902
8903         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8904         Make an std::vector.
8905         <n_comp_units>: Remove.
8906         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8907         to std::vector change.
8908         (dwarf2_per_objfile::get_cutu): Likewise.
8909         (dwarf2_per_objfile::get_cu): Likewise.
8910         (create_cus_from_index): Likewise.
8911         (create_addrmap_from_index): Likewise.
8912         (create_addrmap_from_aranges): Likewise.
8913         (dwarf2_read_index): Likewise.
8914         (dw2_find_last_source_symtab): Likewise.
8915         (dw2_map_symtabs_matching_filename): Likewise.
8916         (dw2_symtab_iter_next): Likewise.
8917         (dw2_print_stats): Likewise.
8918         (dw2_expand_all_symtabs): Likewise.
8919         (dw2_expand_symtabs_with_fullname): Likewise.
8920         (dw2_expand_marked_cus): Likewise.
8921         (dw2_map_symbol_filenames): Likewise.
8922         (create_cus_from_debug_names): Likewise.
8923         (dwarf2_read_debug_names): Likewise.
8924         (dw2_debug_names_iterator::next): Likewise.
8925         (dwarf2_initialize_objfile): Likewise.
8926         (set_partial_user): Likewise.
8927         (dwarf2_build_psymtabs_hard): Likewise.
8928         (read_comp_units_from_section): Remove arguments, adjust to
8929         std::vector change.
8930         (create_all_comp_units): Adjust to std::vector and
8931         read_comp_units_from_section changes.
8932         (dwarf2_find_containing_comp_unit): Adjust to std::vector
8933         change.
8934         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8935         (psyms_seen_size): Likewise.
8936         (write_gdbindex): Likewise.
8937         (write_debug_names): Likewise.
8938
8939 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8940
8941         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
8942         with dwarf2_per_objfile.
8943         (create_cus_from_index): Likewise.
8944         (create_signatured_type_table_from_index): Likewise.
8945         (dwarf2_read_index): Likewise.
8946         (dwarf2_initialize_objfile): Likewise.
8947         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
8948         per_cu rather than get_dwarf2_per_objfile.
8949
8950 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8951
8952         * dwarf2read.h (struct signatured_type): Forward declare.
8953         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
8954         New methods.
8955         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8956         (dw2_get_cutu): ...this.
8957         (dwarf2_per_objfile::get_cu): Rename from...
8958         (dw2_get_cu): ...this.
8959         (dwarf2_per_objfile::get_tu): New.
8960         (create_addrmap_from_index): Adjust.
8961         (create_addrmap_from_aranges): Adjust.
8962         (dw2_find_last_source_symtab): Adjust.
8963         (dw2_map_symtabs_matching_filename): Adjust.
8964         (dw2_symtab_iter_next): Adjust.
8965         (dw2_print_stats): Adjust.
8966         (dw2_expand_all_symtabs): Adjust.
8967         (dw2_expand_symtabs_with_fullname): Adjust.
8968         (dw2_expand_marked_cus): Adjust.
8969         (dw_expand_symtabs_matching_file_matcher): Adjust.
8970         (dw2_map_symbol_filenames): Adjust.
8971         (dw2_debug_names_iterator::next): Adjust.
8972         (dwarf2_initialize_objfile): Adjust.
8973         (set_partial_user): Adjust.
8974         (dwarf2_build_psymtabs_hard): Adjust.
8975
8976 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8977
8978         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8979         Remove unused variables.
8980         (dw2_map_symtabs_matching_filename): Likewise.
8981         (dwarf2_record_block_ranges): Likewise.
8982         (dwarf2_read_addr_index): Likewise.
8983         (follow_die_offset): Likewise.
8984
8985 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8986
8987         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8988         to symbol_file_add_main.
8989
8990 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8991
8992         PR mi/22299
8993         * mi/mi-console.c (do_fputc_async_safe): New.
8994         (mi_console_file::write_async_safe): New.
8995         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8996         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8997         New.
8998         * ui-file.c (ui_file::putstrn): Adjust call to
8999         fputstrn_unfiltered.
9000         * utils.c (printchar): Replace do_fputs and do_fprintf
9001         parameters by do_fputc.
9002         (fputstr_filtered): Adjust call to printchar.
9003         (fputstr_unfiltered): Likewise.
9004         (fputstrn_filtered): Likewise.
9005         (fputstrn_unfiltered): Add do_fputc parameter, pass to
9006         printchar.
9007         * utils.h (do_fputc_ftype): New typedef.
9008         (fputstrn_unfiltered): Add do_fputc parameter.
9009
9010 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9011
9012         * regformats/i386/i386-avx.dat: Remove.
9013
9014 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9015
9016         PR gdb/22979
9017         * amd64-tdep.c (amd64_none_init_abi): New function.
9018         (amd64_x32_none_init_abi): New function.
9019         (_initialize_amd64_tdep): Register handlers for x86-64 and
9020         x64_32 with GDB_OSABI_NONE.
9021         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
9022         GDB_OSABI_NONE osabi.
9023
9024 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9025
9026         PR gdb/22980
9027         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
9028         GDB_OSABI_NONE.
9029         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
9030         * osabi.c (gdb_osabi_names): Add "unknown" entry.
9031
9032 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9033
9034         * common/byte-vector.h (char_vector): New type.
9035         * target.h (target_read_alloc): Return
9036         gdb::optional<byte_vector>.
9037         (target_read_stralloc): Return gdb::optional<char_vector>.
9038         (target_get_osdata): Return gdb::optional<char_vector>.
9039         * target.c (target_read_alloc_1): Templatize.  Replacement
9040         manual memory management with vector.
9041         (target_read_alloc): Change return type, adjust.
9042         (target_read_stralloc): Change return type, adjust.
9043         (target_get_osdata): Change return type, adjust.
9044         * auxv.c (struct auxv_info) <length>: Remove.
9045         <data>: Change type to gdb::optional<byte_vector>.
9046         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9047         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9048         (target_auxv_search): Adjust.
9049         (fprint_target_auxv): Adjust.
9050         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9051         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9052         (linux_make_corefile_notes): Adjust.
9053         * osdata.c (get_osdata): Adjust.
9054         * remote.c (remote_get_threads_with_qxfer): Adjust.
9055         (remote_memory_map): Adjust.
9056         (remote_traceframe_info): Adjust.
9057         (btrace_read_config): Adjust.
9058         (remote_read_btrace): Adjust.
9059         (remote_pid_to_exec_file): Adjust.
9060         * solib-aix.c (solib_aix_get_library_list): Adjust.
9061         * solib-dsbt.c (decode_loadmap): Don't free buf.
9062         (dsbt_get_initial_loadmaps): Adjust.
9063         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9064         * solib-target.c (solib_target_current_sos): Adjust.
9065         * tracepoint.c (sdata_make_value): Adjust.
9066         * xml-support.c (xinclude_start_include): Adjust.
9067         (xml_fetch_content_from_file): Adjust.
9068         * xml-support.h (xml_fetch_another): Change return type.
9069         (xml_fetch_content_from_file): Change return type.
9070         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9071         * xml-tdesc.c (file_read_description_xml): Adjust.
9072         (fetch_available_features_from_target): Change return type.
9073         (target_fetch_description_xml): Adjust.
9074         (target_read_description_xml): Adjust.
9075
9076 2018-04-06  Tom Tromey  <tom@tromey.com>
9077
9078         * value.c (~value): Update.
9079         (struct value) <contents>: Now unique_xmalloc_ptr.
9080         (value_contents_bits_eq, allocate_value_contents)
9081         (value_contents_raw, value_contents_all_raw)
9082         (value_contents_for_printing, value_contents_for_printing_const)
9083         (set_value_enclosing_type): Update.
9084
9085 2018-04-06  Tom Tromey  <tom@tromey.com>
9086
9087         * value.c (range_s): Remove typedef, VEC.
9088         (struct range): Add operator<.
9089         (range_lessthan): Remove.
9090         (ranges_contain): Change type.
9091         (~value): Update.
9092         (struct value) <unavailable, optimized_out>: Now std::vector.
9093         (value_entirely_available)
9094         (value_entirely_covered_by_range_vector)
9095         (value_entirely_unavailable, value_entirely_optimized_out):
9096         Update.
9097         (insert_into_bit_range_vector): Change argument type.
9098         (find_first_range_overlap): Likewise.
9099         (struct ranges_and_idx, value_contents_bits_eq)
9100         (require_not_optimized_out, require_available): Update.
9101         (ranges_copy_adjusted): Change argument types.
9102         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9103
9104 2018-04-06  Tom Tromey  <tom@tromey.com>
9105
9106         * value.c (~value): Update.
9107         (struct value) <parent>: Now a value_ref_ptr.
9108         (value_parent, set_value_parent, value_address, value_copy):
9109         Update.
9110
9111 2018-04-06  Tom Tromey  <tom@tromey.com>
9112
9113         * value.c (struct value): Add constructor, destructor, and member
9114         initializers.
9115         (allocate_value_lazy, value_decref): Update.
9116
9117 2018-04-06  Tom Tromey  <tom@tromey.com>
9118
9119         * value.c (struct value) <released, next>: Remove.
9120         (all_values): Now a std::vector.
9121         (allocate_value_lazy): Update.
9122         (value_next): Remove.
9123         (value_mark, value_free_to_mark, release_value)
9124         (value_release_to_mark): Update.
9125
9126 2018-04-06  Tom Tromey  <tom@tromey.com>
9127
9128         * value.h (fetch_subexp_value, value_release_to_mark): Update.
9129         (free_value_chain): Remove.
9130         * value.c (free_value_chain): Remove.
9131         (value_release_to_mark): Return a std::vector.
9132         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9133         std::vector.
9134         (check_condition): Update.
9135         * eval.c (fetch_subexp_value): Change "val_chain" to a
9136         std::vector.
9137         * breakpoint.c (update_watchpoint): Update.
9138         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9139
9140 2018-04-06  Tom Tromey  <tom@tromey.com>
9141
9142         * value.h (free_all_values): Remove.
9143         * value.c (free_all_values): Remove.
9144
9145 2018-04-06  Tom Tromey  <tom@tromey.com>
9146
9147         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9148         (value_history_chain, value_history_count): Remove.
9149         (value_history): New global.
9150         (record_latest_value, access_value_history, show_values)
9151         (preserve_values): Update.
9152
9153 2018-04-06  Tom Tromey  <tom@tromey.com>
9154
9155         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9156         * varobj.c (varobj_set_display_format, varobj_set_value)
9157         (install_default_visualizer, construct_visualizer)
9158         (install_new_value, ~varobj, varobj_get_value_type)
9159         (my_value_of_variable, varobj_editable_p): Update.
9160         * c-varobj.c (c_describe_child, c_value_of_variable)
9161         (cplus_number_of_children, cplus_describe_child): Update.
9162         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9163         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9164         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9165
9166 2018-04-06  Tom Tromey  <tom@tromey.com>
9167
9168         * printcmd.c (last_examine_address): Change type to
9169         value_ref_ptr.
9170         (do_examine, x_command): Update.
9171
9172 2018-04-06  Tom Tromey  <tom@tromey.com>
9173
9174         * value.c (release_value): Update.
9175         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9176         (struct bpstats) <val>: Now a value_ref_ptr.
9177         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9178         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9179         (~watchpoint, print_it_watchpoint, watch_command_1)
9180         (invalidate_bp_value_on_memory_change): Update.
9181
9182 2018-04-06  Tom Tromey  <tom@tromey.com>
9183
9184         * varobj.c (varobj_clear_saved_item)
9185         (update_dynamic_varobj_children, install_new_value, ~varobj):
9186         Update.
9187         * value.h (value_incref): Move declaration earlier.
9188         (value_decref): Rename from value_free.
9189         (struct value_ref_policy): New.
9190         (value_ref_ptr): New typedef.
9191         (struct value_deleter): Remove.
9192         (gdb_value_up): Remove typedef.
9193         (release_value): Change return type.
9194         (release_value_or_incref): Remove.
9195         * value.c (set_value_parent): Update.
9196         (value_incref): Change return type.
9197         (value_decref): Rename from value_free.
9198         (value_free_to_mark, free_all_values, free_value_chain): Update.
9199         (release_value): Return value_ref_ptr.
9200         (release_value_or_incref): Remove.
9201         (record_latest_value, set_internalvar, clear_internalvar):
9202         Update.
9203         * stack.c (info_frame_command): Don't call value_free.
9204         * python/py-value.c (valpy_dealloc, valpy_new)
9205         (value_to_value_object): Update.
9206         * printcmd.c (do_examine): Update.
9207         * opencl-lang.c (lval_func_free_closure): Update.
9208         * mi/mi-main.c (register_changed_p): Don't call value_free.
9209         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9210         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9211         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9212         value_free.
9213         * guile/scm-value.c (vlscm_free_value_smob)
9214         (vlscm_scm_from_value): Update.
9215         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9216         (frame_unwind_register_unsigned, get_frame_register_bytes)
9217         (put_frame_register_bytes): Don't call value_free.
9218         * findvar.c (address_from_register): Don't call value_free.
9219         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9220         * dwarf2loc.c (entry_data_value_free_closure)
9221         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9222         (dwarf2_evaluate_loc_desc_full): Update.
9223         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9224         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9225         (~watchpoint, watch_command_1)
9226         (invalidate_bp_value_on_memory_change): Update.
9227         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9228
9229 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9230
9231         PR gdb/23022
9232         * warning.m4: Add -Wno-error=deprecated-register.
9233         * configure: Re-generate.
9234
9235 2018-04-05  Tom Tromey  <tom@tromey.com>
9236
9237         * linespec.h: Remove include of "vec.h".
9238
9239 2018-04-05  Tom Tromey  <tom@tromey.com>
9240
9241         * linespec.c (typep): Remove typedef.
9242         (find_methods, find_superclass_methods): Take a std::vector.
9243         (find_method): Use std::vector.
9244
9245 2018-04-05  Tom Tromey  <tom@tromey.com>
9246
9247         * utils.c (compare_strings): Remove.
9248         * utils.h (compare_strings): Remove.
9249         * objc-lang.h (find_imps): Update.
9250         * objc-lang.c (find_methods): Take a std::vector.
9251         (uniquify_strings, find_imps): Likewise.
9252         * linespec.c (find_methods): Take a std::vector.
9253         (decode_objc): Use std::vector.
9254         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9255         a std::vector.
9256         (find_method, find_function_symbols): Use std::vector.
9257
9258 2018-04-05  Tom Tromey  <tom@tromey.com>
9259
9260         * completer.c (completion_tracker::completion_tracker): Remove
9261         cast.
9262         (completion_tracker::discard_completions): Likewise.
9263         * breakpoint.c (ambiguous_names_p): Remove cast.
9264         * ada-lang.c (_initialize_ada_language): Remove cast.
9265         * utils.h (streq): Update.
9266         (streq_hash): Add new declaration.
9267         * utils.c (streq): Return bool.
9268         (streq_hash): New function.
9269
9270 2018-04-05  Tom Tromey  <tom@tromey.com>
9271
9272         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9273         Remove a string copy.
9274
9275 2018-04-05  Tom Tromey  <tom@tromey.com>
9276
9277         * linespec.c (filter_results): Use std::vector.
9278         (decode_line_2, decode_line_full): Update.
9279
9280 2018-04-05  Tom Tromey  <tom@tromey.com>
9281
9282         * linespec.c (canonical_to_fullform): Return std::string.
9283         (filter_results): Update.
9284         (struct decode_line_2_item): Add constructor.
9285         <fullform, displayform>: Now std::string.
9286         (decode_line_2_compare_items): Now a std::sort comparator.
9287         (decode_line_2): Update.
9288
9289 2018-04-05  Tom Tromey  <tom@tromey.com>
9290
9291         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9292         (unexpected_linespec_error): Update.
9293         (linespec_parse_basic, parse_linespec): Update.
9294
9295 2018-04-05  Tom Tromey  <tom@tromey.com>
9296
9297         * linespec.c (linespec_parse_basic): Reindent.
9298
9299 2018-04-05  Tom Tromey  <tom@tromey.com>
9300
9301         * minsyms.h (iterate_over_minimal_symbols): Update.
9302         * minsyms.c (iterate_over_minimal_symbols): Take a
9303         gdb::function_view.
9304         * linespec.c (struct collect_minsyms): Remove.
9305         (compare_msyms): Now a std::sort comparator.
9306         (add_minsym): Add parameters.
9307         (search_minsyms_for_name): Update.  Use std::vector.
9308
9309 2018-04-03  Tom Tromey  <tom@tromey.com>
9310
9311         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9312         gdb::byte_vector.
9313
9314 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9315
9316         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9317
9318 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9319
9320         PR gdb/16959
9321         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9322         printing static type.
9323
9324 2018-04-01  Tom Tromey  <tom@tromey.com>
9325
9326         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9327         (rs6000_xfer_shared_libraries): Update.
9328
9329 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9330
9331         * common/gdb_vecs.h (char_ptr): Remove.
9332         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9333
9334 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9335
9336         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9337         with std::vector.
9338         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9339
9340 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9341
9342         * tracepoint.h (struct uploaded_tp): Initialize fields.
9343         <actions, step_actions, cmd_strings>: Change type to
9344         std::vector<char *>.
9345         * tracepoint.c (get_uploaded_tp): Allocate with new.
9346         (free_uploaded_tps): Free with delete.
9347         (parse_tracepoint_definition): Adjust to std::vector change.
9348         * breakpoint.c (read_uploaded_action): Likewise.
9349         (create_tracepoint_from_upload): Likewise.
9350         * ctf.c (ctf_write_uploaded_tp): Likewise.
9351         (SET_ARRAY_FIELD): Likewise.
9352         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9353
9354 2018-03-30  Tom Tromey  <tom@tromey.com>
9355
9356         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9357         std::unique_ptr.
9358         (svr4_keep_data_in_core): Update.
9359         (svr4_read_so_list): Update.
9360
9361 2018-03-30  Tom Tromey  <tom@tromey.com>
9362
9363         * windows-nat.c (handle_output_debug_string, handle_exception):
9364         Update.
9365         * target.h (target_read_string): Update.
9366         * target.c (target_read_string): Change "string" to
9367         unique_xmalloc_ptr.
9368         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9369         Update.
9370         * solib-frv.c (frv_current_sos): Update.
9371         * solib-dsbt.c (dsbt_current_sos): Update.
9372         * solib-darwin.c (darwin_current_sos): Update.
9373         * linux-thread-db.c (inferior_has_bug): Update.
9374         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9375         Update.  Remove alloca.
9376         * ada-lang.c (ada_main_name): Update.
9377
9378 2018-03-30  Tom Tromey  <tom@tromey.com>
9379
9380         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9381         (struct dwo_file_deleter): New.
9382         (dwo_file_up): New typedef.
9383         (open_and_init_dwo_file): Use dwo_file_up.
9384         (free_dwo_file_cleanup): Remove.
9385
9386 2018-03-30  Tom Tromey  <tom@tromey.com>
9387
9388         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9389         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9390
9391 2018-03-30  Tom Tromey  <tom@tromey.com>
9392
9393         * dwarf2read.c (class free_cached_comp_units): New class.
9394         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9395         (free_cached_comp_units): Remove function.
9396
9397 2018-03-30  Tom Tromey  <tom@tromey.com>
9398
9399         * utils.h (make_cleanup_unpush_target): Remove.
9400         * inf-ptrace.c (struct target_unpusher): New.
9401         (target_unpush_up) New typedef.
9402         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9403         target_unpush_up.
9404         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9405
9406 2018-03-27  Tom Tromey  <tom@tromey.com>
9407
9408         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9409
9410 2018-03-27  Pedro Alves  <palves@redhat.com>
9411             Tom Tromey  <tom@tromey.com>
9412
9413         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9414         destructor.  Now a class.
9415         (gdb_readline_wrapper_cleanup): Remove function.
9416         (gdb_readline_wrapper): Remove cleanups.
9417
9418 2018-03-27  Tom Tromey  <tom@tromey.com>
9419
9420         * typeprint.h (struct type_print_options) <local_typedefs,
9421         global_typedefs>: Remove "struct" keyword.
9422         (class typedef_hash_table): New class.
9423         (recursively_update_typedef_hash, add_template_parameters)
9424         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9425         (find_typedef_in_hash): Don't declare.
9426         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9427         (typedef_hash_table::recursively_update): Rename from
9428         recursively_update_typedef_hash.  Now a member.
9429         (typedef_hash_table::add_template_parameters): Rename from
9430         add_template_parameters.  Now a member.
9431         (typedef_hash_table::typedef_hash_table): Now a constructor;
9432         rename from create_typedef_hash.
9433         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9434         rename from free_typedef_hash.
9435         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9436         (do_free_global_table): Remove.
9437         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9438         from copy_type_recursive.
9439         (create_global_typedef_table): Remove.
9440         (typedef_hash_table::find_global_typedef): Now a member of
9441         typedef_hash_table.
9442         (typedef_hash_table::find_typedef): Rename from
9443         find_typedef_in_hash; now a member.
9444         (whatis_exp): Update.
9445         * extension.h (struct ext_lang_type_printers): Add constructor and
9446         destructor.
9447         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9448         declare.
9449         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9450         Now a constructor; rename from start_ext_lang_type_printers.
9451         (ext_lang_type_printers): Now a destructor; rename from
9452         free_ext_lang_type_printers.
9453         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9454         Update.
9455         (c_type_print_base_struct_union): Update.  Remove cleanups.
9456
9457 2018-03-27  Tom Tromey  <tom@tromey.com>
9458
9459         * dwarf-index-write.c: Include <cmath>.
9460
9461 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9462
9463         * NEWS: Add entry describing new "set|show varsize-limit" command.
9464         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9465         command.
9466         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9467         "set variable".
9468
9469 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9470
9471         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9472         dwarf-index-write.c
9473         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9474         * dwarf-index-common.c: New file.
9475         * dwarf-index-common.h: New file.
9476         * dwarf-index-write.c: New file.
9477         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9478         (struct dwarf2_section_info): Move from here.
9479         (dwarf2_section_info_def): Likewise.
9480         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9481         (offset_type): Likewise.
9482         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9483         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9484         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9485         (byte_swap): Likewise.
9486         (MAYBE_SWAP): Likewise.
9487         (dwarf2_per_cu_ptr): Likewise.
9488         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9489         (struct tu_stats): Likewise.
9490         (struct dwarf2_per_objfile): Likewise.
9491         (struct dwarf2_per_cu_data): Likewise.
9492         (struct signatured_type): Likewise.
9493         (sig_type_ptr): Likewise.
9494         (DEF_VEC_P (sig_type_ptr)): Likewise.
9495         (INDEX4_SUFFIX): Likewise.
9496         (INDEX5_SUFFIX): Likewise.
9497         (DEBUG_STR_SUFFIX): Likewise.
9498         (dwarf2_read_section): Make non-static.
9499         (mapped_index_string_hash): Move from here.
9500         (dwarf5_djb_hash): Likewise.
9501         (file_write): Likewise.
9502         (class data_buf): Likewise.
9503         (struct symtab_index_entry): Likewise.
9504         (struct mapped_symtab): Likewise.
9505         (find_slot): Likewise.
9506         (hash_expand): Likewise.
9507         (add_index_entry): Likewise.
9508         (uniquify_cu_indices): Likewise.
9509         (class c_str_view): Likewise.
9510         (class c_str_view_hasher): Likewise.
9511         (class vector_hasher): Likewise.
9512         (write_hash_table): Likewise.
9513         (psym_index_map): Likewise.
9514         (struct addrmap_index_data): Likewise.
9515         (add_address_entry): Likewise.
9516         (add_address_entry_worker): Likewise.
9517         (write_address_map): Likewise.
9518         (symbol_kind): Likewise.
9519         (write_psymbols): Likewise.
9520         (struct signatured_type_index_data): Likewise.
9521         (write_one_signatured_type): Likewise.
9522         (recursively_count_psymbols): Likewise.
9523         (recursively_write_psymbols): Likewise.
9524         (class debug_names): Likewise.
9525         (check_dwarf64_offsets): Likewise.
9526         (psyms_seen_size): Likewise.
9527         (write_gdbindex): Likewise.
9528         (write_debug_names): Likewise.
9529         (assert_file_size): Likewise.
9530         (write_psymtabs_to_index): Likewise.
9531         (save_gdb_index_command): Likewise.
9532         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9533         command.
9534         * dwarf2read.h: New file.
9535
9536 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9537
9538         PR gdb/22670
9539         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9540         symbol name if the CU's language stores symbol names in linkage
9541         format.
9542         * language.h (struct language_defn)
9543         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9544         all instances of this struct.
9545
9546 2018-03-26  Tom Tromey  <tom@tromey.com>
9547
9548         * stack.c (backtrace_command_1): Remove verbose code.
9549
9550 2018-03-26  Tom Tromey  <tom@tromey.com>
9551
9552         * python/py-framefilter.c (py_print_type): Don't catch
9553         exceptions.  Return void.
9554         (py_print_value): Likewise.
9555         (py_print_single_arg): Likewise.
9556         (enumerate_args): Don't catch exceptions.
9557         (py_print_args): Likewise.
9558         (py_print_frame): Likewise.
9559         (gdbpy_apply_frame_filter): Catch exceptions here.
9560
9561 2018-03-26  Tom Tromey  <tom@tromey.com>
9562
9563         * stack.c (_initialize_stack): Remove trailing newlines from help
9564         text.  Add "Usage" line to "backtrace" help.
9565
9566 2018-03-26  Tom Tromey  <tom@tromey.com>
9567
9568         PR python/16486:
9569         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9570
9571 2018-03-26  Tom Tromey  <tom@tromey.com>
9572
9573         * python/py-framefilter.c (py_print_single_arg): Return
9574         EXT_LANG_BT_ERROR from catch.
9575
9576 2018-03-26  Tom Tromey  <tom@tromey.com>
9577
9578         PR backtrace/15584:
9579         * stack.c (backtrace_command_1): Move some code into no-filters
9580         "if".
9581
9582 2018-03-26  Tom Tromey  <tom@tromey.com>
9583
9584         * python/py-framefilter.c (throw_quit_or_print_exception): New
9585         function.
9586         (gdbpy_apply_frame_filter): Use it.
9587
9588 2018-03-26  Tom Tromey  <tom@tromey.com>
9589
9590         PR cli/17716:
9591         * python/py-framefilter.c (py_print_type, py_print_value)
9592         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9593         RETURN_MASK_ERROR.
9594
9595 2018-03-26  Tom Tromey  <tom@tromey.com>
9596
9597         * python/py-framefilter.c (enumerate_args): Use
9598         gdb::unique_xmalloc_ptr.
9599
9600 2018-03-26  Tom Tromey  <tom@tromey.com>
9601
9602         * python/py-framefilter.c (py_print_frame): Return
9603         EXT_LANG_BT_OK.
9604         (gdbpy_apply_frame_filter): Update comment.
9605         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9606         Remove.
9607         <EXT_LANG_BT_NO_FILTERS>: Change value.
9608
9609 2018-03-26  Tom Tromey  <tom@tromey.com>
9610
9611         PR backtrace/15582:
9612         * stack.c (backtrace_command): Parse "hide" argument.
9613         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9614         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9615         constant.
9616
9617 2018-03-26  Tom Tromey  <tom@tromey.com>
9618
9619         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9620         add "flags".
9621         (backtrace_command): Remove "fulltrace", add "flags".
9622
9623 2018-03-26  Tom Tromey  <tom@tromey.com>
9624
9625         * stack.c (backtrace_command): Rewrite command line parsing.
9626
9627 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9628
9629         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9630
9631 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9632
9633         * filename-seen-cache.h: Add include guard.
9634
9635 2018-03-26  Keith Seitz  <keiths@redhat.com>
9636
9637         * symfile.c (place_section): Remove "struct" from section_addr_info
9638         in comment.
9639         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9640         "struct" keyword from section_addr_info.
9641
9642 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9643
9644         * regformats/regdef.h (reg): Add constructors.
9645
9646 2018-03-25  Pedro Alves  <palves@redhat.com>
9647
9648         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9649         if then/else bodies in var_func_name extraction.
9650
9651 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9652
9653         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9654         lookup_minimal_symbol() to find symbol entry.
9655         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9656
9657 2018-03-23  Keith Seitz  <keiths@redhat.com>
9658
9659         PR c++/22968
9660         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9661         nested type definitions for C++, too.
9662
9663 2018-03-23  Tom Tromey  <tom@tromey.com>
9664
9665         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9666         a typedef.
9667         (macho_register_oso): Remove.
9668         (macho_symtab_read): Take a std::vector.
9669         (oso_el_compare_name): Now a std::sort comparator.
9670         (macho_symfile_read_all_oso): Take a std::vector.
9671         (macho_symfile_read): Use std::vector.  Remove cleanups.
9672
9673 2018-03-22  Tom Tromey  <tom@tromey.com>
9674
9675         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9676         (record_full_goto_bookmark): Use std::string.
9677
9678 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9679
9680         PR tdep/18295
9681         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9682         a single mask.
9683
9684 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9685
9686         * rs6000-tdep.c (store_insn_p): New function.
9687         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9688         and cr_reg to their unshifted values. Use store_insn_p to
9689         match LR saves using either R1 or fdata->alloca_reg. Use
9690         store_insn_p to match CR saves. Set alloca_reg_offset
9691         when alloca_reg and framep are set. Remove lr_reg shift
9692         when assigning to fdata->lr_register.
9693
9694 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9695
9696         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9697         command line args instead of emitting a warning.
9698
9699 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9700
9701         * tracepoint.h (struct static_tracepoint_marker): Initialize
9702         fields, define default constructor, move constructor and move
9703         assignment, disable the rest.
9704         <str_id, extra>: Make std::string.
9705         (release_static_tracepoint_marker): Remove.
9706         (free_current_marker): Remove.
9707         * tracepoint.c (free_current_marker): Remove.
9708         (parse_static_tracepoint_marker_definition): Adjust to
9709         std::string, use new hex2str overload.
9710         (release_static_tracepoint_marker): Remove.
9711         (print_one_static_tracepoint_marker): Get marker by reference
9712         and adjust to std::string.
9713         (info_static_tracepoint_markers_command): Adjust to std::vector
9714         changes
9715         * target.h (static_tracepoint_marker_p): Remove typedef.
9716         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9717         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9718         bool.
9719         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9720         * target-debug.h
9721         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9722         (target_debug_print_std_vector_static_tracepoint_marker): New.
9723         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9724         to...
9725         (target_debug_print_static_tracepoint_marker_p): ... this.
9726         * target-delegates.c: Re-generate.
9727         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9728         Make std::string.
9729         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9730         (decode_static_tracepoint_spec): Adjust to std::vector.
9731         (tracepoint_print_one_detail): Adjust to std::string.
9732         (strace_marker_decode_location): Adjust to std::string.
9733         (update_static_tracepoint): Adjust to std::string, remove call
9734         to release_static_tracepoint_marker.
9735         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9736         Adjust to std::vector.
9737         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9738         (remote_static_tracepoint_markers_by_strid): Adjust to
9739         std::vector.
9740         * common/rsp-low.h (hex2str): New overload with explicit count
9741         of bytes.
9742         * common/rsp-low.c (hex2str): New overload with explicit count
9743         of bytes.
9744         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9745         (_initialize_rsp_low_selftests): Add test_hex2str test.
9746         * unittests/tracepoint-selftests.c
9747         (test_parse_static_tracepoint_marker_definition): Adjust to
9748         std::string.
9749
9750 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9751
9752         * tracepoint.c (parse_static_tracepoint_marker_definition):
9753         Consider case where the definition is followed by more
9754         definitions.
9755         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9756         tracepoint-selftests.c.
9757         * unittests/tracepoint-selftests.c: New.
9758
9759 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9760
9761         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9762         Carvalho.
9763
9764 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9765
9766         * symtab.c (find_pc_sect_line): fixed indentation.
9767
9768 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9769
9770         * symtab.c (find_pc_sect_line): now uses binary search.
9771
9772 2018-03-19  Tom Tromey  <tom@tromey.com>
9773
9774         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9775         "IDENT" production.
9776
9777 2018-03-19  Pedro Alves  <palves@redhat.com>
9778             Tom Tromey  <tom@tromey.com>
9779
9780         * unittests/observable-selftests.c: New file.
9781         * common/observable.h: New file.
9782         * observable.h: New file.
9783         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9784         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9785         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9786         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9787         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9788         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9789         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9790         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9791         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9792         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9793         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9794         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9795         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9796         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9797         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9798         tui/tui-interp.c, valops.c: Update all users.
9799         * tui/tui-hooks.c (tui_bp_created_observer)
9800         (tui_bp_deleted_observer, tui_bp_modified_observer)
9801         (tui_inferior_exit_observer, tui_before_prompt_observer)
9802         (tui_normal_stop_observer, tui_register_changed_observer):
9803         Remove.
9804         (tui_observers_token): New global.
9805         (attach_or_detach, tui_attach_detach_observers): New functions.
9806         (tui_install_hooks, tui_remove_hooks): Use
9807         tui_attach_detach_observers.
9808         * record-btrace.c (record_btrace_thread_observer): Remove.
9809         (record_btrace_thread_observer_token): New global.
9810         * observer.sh: Remove.
9811         * observer.c: Rename to observable.c.
9812         * observable.c (namespace gdb_observers): Define new objects.
9813         (observer_debug): Move into gdb_observers namespace.
9814         (struct observer, struct observer_list, xalloc_observer_list_node)
9815         (xfree_observer_list_node, generic_observer_attach)
9816         (generic_observer_detach, generic_observer_notify): Remove.
9817         (_initialize_observer): Update.
9818         Don't include observer.inc.
9819         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9820         (clean mostlyclean): Likewise.
9821         (observer.h, observer.inc): Remove targets.
9822         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9823         (COMMON_SFILES): Use observable.c, not observer.c.
9824         * .gitignore: Remove observer.h.
9825
9826 2018-03-18  Tom Tromey  <tom@tromey.com>
9827
9828         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9829         gdb::def_vector.
9830         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9831
9832 2018-03-17  Tom Tromey  <tom@tromey.com>
9833
9834         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9835
9836 2018-03-17  Tom Tromey  <tom@tromey.com>
9837
9838         * target.c (class scoped_target_fd): New.
9839         (target_fileio_close_cleanup): Remove.
9840         (target_fileio_read_alloc_1): Use scoped_target_fd.
9841
9842 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9843
9844         * silent-rules.mk: New.
9845         * Makefile.in: Include silent-rules.mk
9846         (srcdir, VPATH, top_srcdir): Move up.
9847         (COMPILE): Add ECHO_CXX.
9848         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9849         (init.c): Add ECHO_INIT_C.
9850         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9851         (version.c): Add ECHO_GEN.
9852         (printcmd.o): Add ECHO_CXX.
9853         (target-float.o): Add ECHO_CXX.
9854         (ada-exp.o): Add ECHO_CXX.
9855         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9856         (insight$(EXEEXT)): Add ECHO_CXXLD.
9857         * gnulib/configure.ac: Add AM_SILENT_RULES.
9858         * gnulib/aclocal.m4: Re-generate.
9859         * gnulib/configure: Re-generate.
9860         * gnulib/import/Makefile.in: Re-generate.
9861
9862 2018-03-16  Tom Tromey  <tom@tromey.com>
9863
9864         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9865         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9866         * utils.c (do_free_section_addr_info)
9867         (make_cleanup_free_section_addr_info): Remove.
9868         * symfile.h (struct other_sections): Add constructor.
9869         (struct section_addr_info): Remove.
9870         (section_addr_info): New typedef.
9871         (struct sym_fns) <sym_offsets>: Change type of parameter.
9872         (build_section_addr_info_from_objfile)
9873         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9874         (default_symfile_offsets, symbol_file_add)
9875         (symbol_file_add_from_bfd)
9876         (build_section_addr_info_from_section_table): Update.
9877         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9878         * symfile.c (alloc_section_addr_info): Remove.
9879         (build_section_addr_info_from_section_table): Change return type.
9880         Update.
9881         (build_section_addr_info_from_bfd)
9882         (build_section_addr_info_from_objfile): Likewise.
9883         (free_section_addr_info): Remove.
9884         (relative_addr_info_to_section_offsets): Change type of "addrs".
9885         (addrs_section_compar): Now a std::sort comparator.
9886         (addrs_section_sort): Change return type.
9887         (addr_info_make_relative): Change type of "addrs".  Update.
9888         (default_symfile_offsets, syms_from_objfile_1)
9889         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9890         (symbol_file_add_separate): Update.
9891         (symbol_file_add): Change type of "addrs".  Update.
9892         (add_symbol_file_command): Update.  Remove cleanups.
9893         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9894         cleanups.
9895         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9896         * solib.c (solib_read_symbols): Update.
9897         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9898         * machoread.c (macho_symfile_offsets): Update.
9899         * jit.c (jit_bfd_try_read_symtab): Update.
9900
9901 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9902
9903         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9904         unittests/utils-selftests.c.
9905         * unittests/utils-selftests.c: New file.
9906
9907 2018-03-14  Tom Tromey  <tom@tromey.com>
9908
9909         PR cli/14977:
9910         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9911         for NULL.
9912
9913 2018-03-14  Tom Tromey  <tom@tromey.com>
9914
9915         PR cli/19918:
9916         * printcmd.c (printf_pointer): Allow "-" in format.
9917
9918 2018-03-14  Tom Tromey  <tom@tromey.com>
9919
9920         * printcmd.c (_initialize_printcmd): Add usage to printf.
9921
9922 2018-03-14  Yao Qi  <qiyao@sourceware.org>
9923
9924         * MAINTAINERS: Update my email address.
9925
9926 2018-03-13  Tom Tromey  <tom@tromey.com>
9927
9928         * machoread.c (macho_check_dsym): Change filenamep to a
9929         std::string*.
9930         (macho_symfile_read): Update.
9931         * symfile.c (load_command): Use std::string.
9932
9933 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9934
9935         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
9936         to error message string.
9937         (riscv_register_name): Use xsnprintf instead of sprintf.
9938         (riscv_insn::fetch_instruction): Use gdb_assert instead of
9939         internal_error.
9940         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
9941         error.
9942         (riscv_push_dummy_call): Likewise.
9943
9944 2018-03-12  Tom Tromey  <tom@tromey.com>
9945
9946         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
9947         Use gdb::byte_vector.
9948         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
9949
9950 2018-03-12  Yao Qi  <yao.qi@linaro.org>
9951
9952         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
9953         parameter type to readable_regcache.
9954         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9955         the declaration.
9956
9957 2018-03-11  Tom Tromey  <tom@tromey.com>
9958
9959         * dwarf2read.c (struct nextfield): Add initializers.
9960         (struct nextfnfield): Remove.
9961         (struct fnfieldlist): Add initializers.  Remove "length" and
9962         "head", use std::vector.
9963         (struct decl_field_list): Remove.
9964         (struct field_info): Add initializers.
9965         <fields, baseclasses>: Now std::vector.
9966         <nbaseclasses, nfnfields, typedef_field_list_count,
9967         nested_types_list_count>: Remove.
9968         (dwarf2_add_field, dwarf2_add_type_defn)
9969         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9970         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9971         (process_structure_scope): Update.
9972
9973 2018-03-11  Tom Tromey  <tom@tromey.com>
9974
9975         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9976         for use by std::sort.
9977         (build_type_psymtabs_1): Use std::vector.
9978
9979 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9980
9981         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9982         and LIBMPFR in the printed configuration.
9983
9984 2018-03-08  Tom Tromey  <tom@tromey.com>
9985
9986         * source.c (get_filename_and_charpos): Use scoped_fd.
9987         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9988         (procfs_pidlist): Likewise.
9989         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9990         (iterate_over_mappings): Likewise.
9991
9992 2018-03-08  Tom Tromey  <tom@tromey.com>
9993
9994         * infcall.c (struct call_return_meta_info)
9995         <stack_temporaries_enabled>: Remove.
9996         (get_call_return_value, call_function_by_hand_dummy): Update.
9997         * thread.c (disable_thread_stack_temporaries): Remove.
9998         (enable_thread_stack_temporaries): Remove.
9999         (thread_stack_temporaries_enabled_p): Return bool.
10000         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
10001         (get_last_thread_stack_temporary): Update.
10002         * eval.c (evaluate_subexp): Update.
10003         * gdbthread.h (class enable_thread_stack_temporaries): Now a
10004         class, not a function.
10005         (value_ptr, value_vec): Remove typedefs.
10006         (class thread_info) <stack_temporaries_enabled>: Now bool.
10007         <stack_temporaries>: Now a std::vector.
10008         (thread_stack_temporaries_enabled_p)
10009         (value_in_thread_stack_temporaries): Return bool.
10010
10011 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
10012
10013         * remote.c (putpkt_binary): Fix omitted bytes reporting.
10014         (getpkt_or_notif_sane_1): Likewise.
10015
10016 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10017
10018         * build-id.c (build_id_to_debug_bfd): Use std::string.
10019
10020 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10021
10022         * build-id.c (find_separate_debug_file_by_buildid): Return
10023         std::string.
10024         * build-id.h (find_separate_debug_file_by_buildid): Return
10025         std::string.
10026         * coffread.c (coff_symfile_read): Adjust to std::string.
10027         * elfread.c (elf_symfile_read): Adjust to std::string.
10028         * symfile.c (separate_debug_file_exists): Change parameter to
10029         std::string.
10030         (find_separate_debug_file): Return std::string.
10031         (find_separate_debug_file_by_debuglink): Return std::string.
10032         * symfile.h (find_separate_debug_file_by_debuglink): Return
10033         std::string.
10034
10035 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10036
10037         * common/xml-utils.c (xml_escape_text): Move code to...
10038         (xml_escape_text_append): ... this new function.
10039         * common/xml-utils.h (xml_escape_text_append): New declaration.
10040         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
10041         New function.
10042         (_initialize_xml_utils): register test_xml_escape_text_append as
10043         a selftest.
10044
10045 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10046
10047         * defs.h: Remove MAX_REGISTER_SIZE.
10048         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10049         asserts.
10050         * python/py-unwind.c (pyuw_sniffer): Likewise.
10051
10052 2018-03-07  Tom Tromey  <tom@tromey.com>
10053
10054         * linux-tdep.c (linux_info_proc): Update.
10055         * target.h (struct target_ops) <to_fileio_readlink>: Return
10056         optional<string>.
10057         (target_fileio_readlink): Return optional<string>.
10058         * remote.c (remote_hostio_readlink): Return optional<string>.
10059         * inf-child.c (inf_child_fileio_readlink): Return
10060         optional<string>.
10061         * target.c (target_fileio_readlink): Return optional<string>.
10062
10063 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10064
10065         * regcache.c (cooked_read_test): Add riscv to the list of
10066         architectures that have a save_reggroup.
10067
10068 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10069
10070         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10071         value is not a dynamic class object.
10072
10073 2018-03-06  Tom Tromey  <tom@tromey.com>
10074
10075         * rust-exp.y: Formatting fixes.
10076
10077 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10078
10079         * riscv-tdep.c (riscv_register_name): Remove target description
10080         support.
10081         (riscv_gdbarch_init): Remove target description check.
10082
10083 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10084
10085         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10086         comment.
10087         * riscv-tdep.h: Likewise.
10088
10089 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10090
10091         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10092         (riscv_pseudo_register_write): Delete.
10093         (riscv_gdbarch_init): Remove all use of pseudo registers.
10094
10095 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10096
10097         * record-btrace.c (btrace_print_lines): Replace cleanup
10098         parameter with RAII equivalents.
10099         (btrace_insn_history): Replace cleanup with RAII equivalents.
10100         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10101         make_cleanup_ui_out_tuple_begin_end): Remove.
10102         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10103         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10104         make_cleanup_ui_out_list_begin_end): Remove.
10105
10106 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10107
10108         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10109         parameter types to std::vector.  Use bool.
10110         (record_btrace_wait): Replace VEC(tp_t) with
10111         std::vector<thread_info *>.
10112         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10113
10114 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10115
10116         * record-btrace.c (record_btrace_disable_callback): Remove.
10117         (struct scoped_btrace_disable): New.
10118         (record_btrace_open): Use scoped_btrace_disable.
10119
10120 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10121
10122         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
10123         reading values from registers.
10124
10125 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10126
10127         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
10128         where appropriate.
10129
10130 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10131
10132         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10133         change parameter type.  Use GDB's print functions, and use
10134         core_addr_to_string where appropriate.
10135         (riscv_push_dummy_call): Use core_addr_to_string where
10136         appropriate, update call to riscv_print_arg_location, and reindent
10137         a few lines.
10138         (riscv_return_value): Update call to riscv_print_arg_location.
10139
10140 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10141             Tim Newsome <tim@sifive.com>
10142             Albert Ou <a0u@eecs.berkeley.edu>
10143             Darius Rad <darius@bluespec.com>
10144
10145         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10146         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10147         (ALLDEPFILES): Add riscv-tdep.c
10148         * configure.tgt: Add riscv support.
10149         * riscv-tdep.c: New file.
10150         * riscv-tdep.h: New file.
10151         * NEWS: Mention new target.
10152         * MAINTAINERS: Add entry for riscv.
10153
10154 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10155
10156         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10157         fields within aggregates.
10158
10159 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10160
10161         * record-btrace.c (btrace_print_lines): Change type of flags to
10162         gdb_disassembly_flags.
10163
10164 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10165
10166         * fbsd-nat.c: Include "inf-ptrace.h".
10167         (USE_SIGTRAP_SIGINFO): Conditionally define.
10168         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10169         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10170         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10171         function.
10172         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10173         Likewise.
10174         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10175         Likewise.
10176         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10177         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10178         "supports_stopped_by_hw_breakpoint" target methods.
10179
10180 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10181
10182         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10183         * fbsd-nat.c (debug_fbsd_nat): New variable.
10184         (show_fbsd_nat_debug): New function.
10185         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10186         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10187
10188 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10189
10190         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10191         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10192         prototype.
10193         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10194         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10195         method.
10196
10197 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10198
10199         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10200         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10201
10202 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10203
10204         * charset.c (struct charset_vector): New.
10205         (charsets): Change type to charset_vector.
10206         (find_charset_names): Adjust.
10207         (add_one): Adjust.
10208         (_initialize_charset): Adjust.
10209
10210 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10211
10212         * progspace.h (struct program_space) <deleted_solibs>: Change
10213         type to std::vector<std::string>.
10214         * progspace.c (clear_program_space_solib_cache): Adjust.
10215         * breakpoint.c (print_solib_event): Adjust.
10216         (check_status_catch_solib): Adjust.
10217         * solib.c (update_solib_list): Adjust.
10218         * ui-out.h (class ui_out) <field_string>: New overload.
10219         * ui-out.c (ui_out::field_string): New overload.
10220
10221 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10222
10223         * progspace.h (struct program_space): Add constructor and
10224         destructor, initialize fields.
10225         (add_program_space): Remove.
10226         * progspace.c (add_program_space): Rename to...
10227         (program_space::program_space): ... this.
10228         (release_program_space): Rename to...
10229         (program_space::~program_space): ... this.
10230         (delete_program_space): Use delete to delete program_space.
10231         (initialize_progspace): Use new to allocate program_space.
10232         * inferior.c (add_inferior_with_spaces): Likewise.
10233         (clone_inferior_command): Likewise.
10234         * infrun.c (follow_fork_inferior): Likewise.
10235         (handle_vfork_child_exec_or_exit): Likewise.
10236
10237 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10238
10239         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10240         (delim_string_to_char_ptr_vec): Return std::vector of
10241         gdb::unique_xmalloc_ptr.
10242         (dirnames_to_char_ptr_vec_append): Take std::vector of
10243         gdb::unique_xmalloc_ptr.
10244         (dirnames_to_char_ptr_vec): Return std::vector of
10245         gdb::unique_xmalloc_ptr.
10246         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10247         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10248         (delim_string_to_char_ptr_vec): Return an std::vector of
10249         gdb::unique_xmalloc_ptr, adjust the code.
10250         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10251         gdb::unique_xmalloc_ptr, adjust the code.
10252         (dirnames_to_char_ptr_vec): Return an std::vector of
10253         gdb::unique_xmalloc_ptr, adjust the code.
10254         * auto-load.c (auto_load_safe_path_vec): Change type to
10255         std::vector of gdb::unique_xmalloc_ptr.
10256         (auto_load_expand_dir_vars): Return an std::vector of
10257         gdb::unique_xmalloc_ptr, adjust the code.
10258         (auto_load_safe_path_vec_update): Adjust.
10259         (filename_is_in_auto_load_safe_path_vec): Adjust.
10260         (auto_load_objfile_script_1): Adjust.
10261         * build-id.c (build_id_to_debug_bfd): Adjust.
10262         * linux-thread-db.c (thread_db_load_search): Adjust.
10263         * source.c (add_path): Adjust.
10264         (openp): Adjust.
10265         * symfile.c (find_separate_debug_file): Adjust.
10266         * utils.c (do_free_char_ptr_vec): Remove.
10267         (make_cleanup_free_char_ptr_vec): Remove.
10268
10269 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10270
10271         PR gdb/22907
10272         * common/pathstuff.c: Conditionally include "<windows.h>".
10273
10274 2018-03-01  Georg Sauthoff  <mail@georg.so>
10275
10276         PR gdb/22888
10277         * gcore.in: Quote variables and switch interpreter to bash.
10278
10279 2018-03-01  Tom Tromey  <tom@tromey.com>
10280
10281         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10282         assertion.  Add assertion for discriminant_index.
10283         (quirk_rust_enum): Use correct base type name in univariant case.
10284
10285 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10286
10287         * record.c (get_call_history_modifiers): Return a
10288         record_print_flags.
10289         (cmd_record_call_history): Adjust.
10290         * record-btrace.c (record_btrace_call_history): Adjust.
10291         (record_btrace_call_history_range): Adjust.
10292         (record_btrace_call_history_from): Adjust.
10293         * target-debug.h (target_debug_print_record_print_flags): New.
10294         * target-delegates.c: Re-generate.
10295         * target.c (target_call_history): Change flags type.
10296         (target_call_history_from): Likewise.
10297         (target_call_history_range): Likewise.
10298         * target.h (struct target_ops) <target_call_history>: Likewise.
10299         (target_call_history_from): Likewise.
10300         (target_call_history_range): Likewise.
10301
10302 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10303             Simon Marchi  <simon.marchi@polymtl.ca>
10304
10305         * common/common-utils.c: Include "sys/stat.h".
10306         (is_regular_file): Move here from "source.c"; change return
10307         type to "bool".
10308         * common/common-utils.h (is_regular_file): New prototype.
10309         * common/pathstuff.c (contains_dir_separator): New function.
10310         * common/pathstuff.h (contains_dir_separator): New prototype.
10311         * source.c: Don't include "sys/stat.h".
10312         (is_regular_file): Move to "common/common-utils.c".
10313
10314 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10315
10316         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10317         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10318         * auto-load.c: Include "common/pathstuff.h".
10319         * common/common-def.h (current_directory): Move here.
10320         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10321         function.
10322         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10323         prototype.
10324         * common/pathstuff.c: New file.
10325         * common/pathstuff.h: New file.
10326         * compile/compile.c: Include "common/pathstuff.h".
10327         * defs.h (current_directory): Move to "common/common-defs.h".
10328         * dwarf2read.c: Include "common/pathstuff.h".
10329         * exec.c: Likewise.
10330         * guile/scm-safe-call.c: Likewise.
10331         * linux-thread-db.c: Likewise.
10332         * main.c: Likewise.
10333         * nto-tdep.c: Likewise.
10334         * objfiles.c: Likewise.
10335         * source.c: Likewise.
10336         * symtab.c: Likewise.
10337         * utils.c: Include "common/pathstuff.h".
10338         (gdb_realpath): Move to "common/pathstuff.c".
10339         (gdb_realpath_keepfile): Likewise.
10340         (gdb_abspath): Likewise.
10341         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10342         (gdb_realpath_keepfile): Likewise.
10343         (gdb_abspath): Likewise.
10344
10345 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10346
10347         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10348         wildcard process pid for super_resume for kernels with a
10349         specific bug.
10350
10351 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10352
10353         * compile/compile.c (get_args): Add additional comments
10354         explaining function.
10355
10356 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10357             Tom Tromey  <tom@tromey.com>
10358
10359         * target.h (memory_write_request_s): Remove typedef.  Don't define
10360         VEC.
10361         (target_write_memory_blocks): Change argument to std::vector.
10362         (struct memory_write_request): Add constructor.
10363         * target-memory.c (compare_block_starting_address): Return bool.
10364         Change argument types.
10365         (claim_memory): Change arguments to use std::vector.
10366         (split_regular_and_flash_blocks, blocks_to_erase)
10367         (compute_garbled_blocks): Likewise.
10368         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10369         (target_write_memory_blocks): Change argument to std::vector.
10370         * symfile.c (struct load_section_data): Add constructor and
10371         destructor.  Use std::vector for "requests".
10372         (struct load_progress_data): Add initializers.
10373         (load_section_callback): Update.  Use "new".
10374         (clear_memory_write_data): Remove.
10375         (generic_load): Update.
10376
10377 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10378
10379         * arch/aarch64.h: Use common/tdesc.h.
10380
10381 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10382
10383         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10384         architecture with a 64-bit ABI.
10385
10386 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10387
10388         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10389         ahead of target description loading.
10390
10391 2018-02-26  Tom Tromey  <tom@tromey.com>
10392
10393         * stack.c (backtrace_command_1): Update.
10394         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10395         of "flags".
10396         * python/py-framefilter.c (py_print_frame)
10397         (gdbpy_apply_frame_filter): Change type of "flags".
10398         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10399         of "flags".
10400         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10401         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10402         * extension.h (enum frame_filter_flag): Rename from
10403         frame_filter_flags.
10404         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10405         (apply_ext_lang_frame_filter): Change type of "flags".
10406         * extension.c (apply_ext_lang_frame_filter): Change type of
10407         "flags".
10408         * extension-priv.h (struct extension_language_ops)
10409         <apply_frame_filter>: Change type of "flags".
10410
10411 2018-02-26  Tom Tromey  <tom@tromey.com>
10412
10413         PR python/16497:
10414         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10415         off-by-one in py_end computation.
10416         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10417         PRINT_MORE_FRAMES.
10418         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10419         constant.
10420
10421 2018-02-26  Tom Tromey  <tom@tromey.com>
10422
10423         * dwarf2read.c (struct variant_field): New.
10424         (struct nextfield) <variant>: New field.
10425         (dwarf2_add_field): Handle DW_TAG_variant_part.
10426         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10427         discriminated union.
10428         (read_structure_type): Handle DW_TAG_variant_part.
10429         (handle_struct_member_die): New function, extracted from
10430         process_structure_scope.  Handle DW_TAG_variant.
10431         (process_structure_scope): Handle discriminated unions.  Call
10432         handle_struct_member_die.
10433
10434 2018-02-26  Tom Tromey  <tom@tromey.com>
10435
10436         * rust-lang.h (rust_last_path_segment): Declare.
10437         * rust-lang.c (rust_last_path_segment): Now public.  Change
10438         contract.
10439         (struct disr_info): Remove.
10440         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10441         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10442         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10443         (rust_enum_p, rust_enum_variant): New function.
10444         (rust_underscore_fields): Remove "offset" parameter.
10445         (rust_print_enum): New function.
10446         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10447         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10448         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10449         enums.
10450         (rust_internal_print_type): New function, from rust_print_type.
10451         Remove enum code.
10452         (rust_print_type): Call rust_internal_print_type.
10453         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10454         Update enum handling.
10455         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10456         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10457         (rust_union_quirks): New functions.
10458         (process_full_comp_unit, process_full_type_unit): Call
10459         rust_union_quirks.
10460         (process_structure_scope): Update rust_unions if necessary.
10461
10462 2018-02-26  Tom Tromey  <tom@tromey.com>
10463
10464         * value.h (value_union_variant): Declare.
10465         * valops.c (value_union_variant): New function.
10466         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10467         (struct discriminant_info): New.
10468         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10469         enumerator.
10470         (struct main_type) <flag_discriminated_union>: New field.
10471
10472 2018-02-26  Tom Tromey  <tom@tromey.com>
10473
10474         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10475         unittests/unpack-selftests.c.
10476         * unittests/unpack-selftests.c: New file.
10477         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10478
10479 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10480
10481         * dwarf2read.c (struct partial_die_info) <read>: New method.
10482         (read_partial_die): Remove the declaration.
10483         (load_partial_dies): Update.
10484         (partial_die_info::partial_die_info):
10485         (read_partial_die): Change it to partial_die_info::read.
10486
10487 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10488
10489         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10490         (fixup_partial_die): Remove declaration.
10491         (scan_partial_symbols): Update.
10492         (partial_die_parent_scope): Likewise.
10493         (partial_die_full_name): Likewise.
10494         (fixup_partial_die): Change it to partial_die_info::fixup.
10495
10496 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10497
10498         * dwarf2read.c (read_partial_die): Update the declaration.
10499         (load_partial_dies): Caller update.
10500         (read_partial_die): Remove one argument abbrev_len.
10501
10502 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10503
10504         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10505         assignment operator.
10506         (load_partial_dies): Use ctor and copy ctor.
10507         (read_partial_die): Update.
10508         (dwarf2_cu::find_partial_die): Use ctor.
10509
10510 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10511
10512         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10513         (find_partial_die_in_comp_unit): Change it to
10514         dwarf2_cu::find_partial_die.
10515         (find_partial_die): Update.
10516
10517 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10518
10519         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10520         is NULL.
10521
10522 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10523
10524         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10525
10526 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10527
10528         * arch/amd64.h: Use common/tdesc.h.
10529         * arch/i386.c: Likewise.
10530         * arch/i386.h: Likewise.
10531         * arch/tic6x.c: Likewise.
10532         * arch/tdesc.h: Move file from here...
10533         * common/tdesc.h: ...to here.
10534         * features/aarch64-core.c: Regenerate.
10535         * features/aarch64-fpu.c: Regenerate.
10536         * features/i386/32bit-avx.c: Regenerate.
10537         * features/i386/32bit-avx512.c: Regenerate.
10538         * features/i386/32bit-core.c: Regenerate.
10539         * features/i386/32bit-linux.c: Regenerate.
10540         * features/i386/32bit-mpx.c: Regenerate.
10541         * features/i386/32bit-pkeys.c: Regenerate.
10542         * features/i386/32bit-sse.c: Regenerate.
10543         * features/i386/64bit-avx.c: Regenerate.
10544         * features/i386/64bit-avx512.c: Regenerate.
10545         * features/i386/64bit-core.c: Regenerate.
10546         * features/i386/64bit-linux.c: Regenerate.
10547         * features/i386/64bit-mpx.c: Regenerate.
10548         * features/i386/64bit-pkeys.c: Regenerate.
10549         * features/i386/64bit-segments.c: Regenerate.
10550         * features/i386/64bit-sse.c: Regenerate.
10551         * features/i386/x32-core.c: Regenerate.
10552         * features/tic6x-c6xp.c: Regenerate.
10553         * features/tic6x-core.c: Regenerate.
10554         * features/tic6x-gp.c: Regenerate.
10555         * target-descriptions.c: Use common/tdesc.h.
10556         * target-descriptions.h: Likewise.
10557
10558 2018-02-24  Tom Tromey  <tom@tromey.com>
10559
10560         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10561         (try_thread_db_load_from_dir, thread_db_load_search): Use
10562         std::string.
10563         (info_auto_load_libthread_db_compare): Return bool.  Change
10564         argument types.
10565         (info_auto_load_libthread_db): Use std::vector, std::string.
10566         Remove cleanups.
10567
10568 2018-02-24  Tom Tromey  <tom@tromey.com>
10569
10570         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10571         std::string.
10572         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10573         std::string*.
10574         * gdbarch.c: Rebuild.
10575         * gdbarch.h: Rebuild.
10576         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10577         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10578         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10579         std::string*.
10580
10581 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10582
10583         * gdbtypes.h (sect_offset): Change type to uint64_t.
10584         (sect_offset_str): New function.
10585         * dwarf2read.c (create_addrmap_from_aranges): Use
10586         sect_offset_str.
10587         (error_check_comp_unit_head): Likewise.
10588         (create_debug_type_hash_table): Likewise.
10589         (read_cutu_die_from_dwo): Likewise.
10590         (init_cutu_and_read_dies): Likewise.
10591         (init_cutu_and_read_dies_no_follow): Likewise.
10592         (process_psymtab_comp_unit_reader): Likewise.
10593         (partial_die_parent_scope): Likewise.
10594         (peek_die_abbrev): Likewise.
10595         (process_queue): Likewise.
10596         (dwarf2_physname): Likewise.
10597         (read_namespace_alias): Likewise.
10598         (read_import_statement): Likewise.
10599         (create_dwo_cu_reader): Likewise.
10600         (create_cus_hash_table): Likewise.
10601         (lookup_dwo_cutu): Likewise.
10602         (inherit_abstract_dies): Likewise.
10603         (read_func_scope): Likewise.
10604         (read_call_site_scope): Likewise.
10605         (dwarf2_add_member_fn): Likewise.
10606         (read_common_block): Likewise.
10607         (read_module_type): Likewise.
10608         (read_typedef): Likewise.
10609         (read_subrange_type): Likewise.
10610         (load_partial_dies): Likewise.
10611         (read_partial_die): Likewise.
10612         (find_partial_die): Likewise.
10613         (read_str_index): Likewise.
10614         (dwarf2_string_attr): Likewise.
10615         (build_error_marker_type): Likewise.
10616         (lookup_die_type): Likewise.
10617         (dump_die_shallow): Likewise.
10618         (follow_die_ref): Likewise.
10619         (dwarf2_fetch_die_loc_sect_off): Likewise.
10620         (dwarf2_fetch_constant_bytes): Likewise.
10621         (follow_die_sig): Likewise.
10622         (get_signatured_type): Likewise.
10623         (get_DW_AT_signature_type): Likewise.
10624         (dwarf2_find_containing_comp_unit): Likewise.
10625         (set_die_type): Likewise.
10626
10627 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10628
10629         * arch/aarch64.c: Include "common-defs.h".
10630         * arch/amd64.c: Likewise.
10631         * arch/i386.c: Likewise.
10632
10633 2018-02-21  Tom Tromey  <tom@tromey.com>
10634
10635         * value.h: (extract_field_op): Update.
10636         * eval.c (extract_field_op): Return a const char *.
10637         * expression.h (parse_expression_for_completion): Update.
10638         * completer.c (complete_expression): Update.
10639         (add_struct_fields): Make fieldname const.
10640         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10641         (mark_completion_tag, parse_exp_in_context_1): Update.
10642         (parse_expression_for_completion): Change "name" to
10643         unique_xmalloc_ptr*.
10644
10645 2018-02-21  Tom Tromey  <tom@tromey.com>
10646
10647         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10648
10649 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10650
10651         * avr-tdep.c (avr_read_pc): Change parameter type to
10652         readable_regcache.
10653         * gdbarch.sh (read_pc): Likewise.
10654         * gdbarch.c: Re-generated.
10655         * gdbarch.h: Re-generated.
10656         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10657         readable_regcache.
10658         * ia64-tdep.c (ia64_read_pc): Likewise.
10659         * mips-tdep.c (mips_read_pc): Likewise.
10660         * spu-tdep.c (spu_read_pc): Likewise.
10661
10662 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10663
10664         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10665         * regcache-dump.c: New file.
10666         * regcache.c: Move register_dump to regcache-dump.c.
10667         (maintenance_print_registers): Likewise.
10668         (maintenance_print_raw_registers): Likewise.
10669         (maintenance_print_cooked_registers): Likewise.
10670         (maintenance_print_register_groups): Likewise.
10671         (maintenance_print_remote_registers): Likewise.
10672         (_initialize_regcache): Likewise.
10673         * regcache.h (register_dump): Moved from regcache.c.
10674
10675 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10676
10677         * regcache.c (regcache::regcache): Update.
10678         (regcache::invalidate): Move it to detached_regcache::invalidate.
10679         (get_thread_arch_aspace_regcache): Update.
10680         (regcache::raw_update): Update.
10681         (regcache::cooked_read): Remove some code.
10682         (regcache::cooked_read_value): Likewise.
10683         (regcache::raw_write): Remove assert on m_readonly_p.
10684         (regcache::raw_supply_integer): Move it to
10685         detached_regcache::raw_supply_integer.
10686         (regcache::raw_supply_zeroed): Likewise.
10687         * regcache.h (detached_regcache) <raw_supply_integer>: New
10688         declaration.
10689         <raw_supply_zeroed, invalidate>: Likewise.
10690         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10691         <invalidate>: Likewise.
10692         <m_readonly_p>: Removed.
10693
10694 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10695
10696         * infcmd.c (get_return_value): Let stop_regs point to
10697         get_current_regcache.
10698         * regcache.c (regcache::regcache): Remove.
10699         (register_dump_reg_buffer): New class.
10700         (regcache_print): Adjust.
10701         * regcache.h (regcache): Remove constructors.
10702
10703 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10704
10705         * regcache.c (class register_dump): New class.
10706         (register_dump_regcache, register_dump_none): New class.
10707         (register_dump_remote, register_dump_groups): New class.
10708         (regcache_print): Update.
10709         * regcache.h (regcache_dump_what): Move it to regcache.c.
10710         (regcache) <dump>: Remove.
10711
10712 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10713
10714         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10715          reg_buffer_rw *.
10716         (jit_unwind_reg_set_impl): Call raw_supply.
10717         (jit_frame_sniffer): Use reg_buffer_rw.
10718         * record-full.c (record_full_core_regbuf): Change its type.
10719         (record_full_core_open_1): Use reg_buffer_rw.
10720         (record_full_close): Likewise.
10721         (record_full_core_fetch_registers): Use regcache->raw_supply.
10722         (record_full_core_store_registers): Likewise.
10723         * regcache.c (regcache::get_register_status): Move it to
10724         reg_buffer.
10725         (regcache_raw_set_cached_value): Remove.
10726         (regcache::raw_set_cached_value): Remove.
10727         (regcache::raw_write): Call raw_supply.
10728         (regcache::raw_supply): Move it to reg_buffer_rw.
10729         * regcache.h (regcache_raw_set_cached_value): Remove.
10730         (reg_buffer_rw): New class.
10731
10732 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10733
10734         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10735         readonly_detached_regcache.
10736         (dummy_frame_prev_register): Use regcache->cooked_read.
10737         * frame.c (frame_save_as_regcache): Change return type.
10738         (frame_pop): Update.
10739         * frame.h (frame_save_as_regcache): Update declaration.
10740         * inferior.h (get_infcall_suspend_state_regcache): Update
10741         declaration.
10742         * infrun.c (infcall_suspend_state) <registers>: use
10743         readonly_detached_regcache.
10744         (save_infcall_suspend_state): Don't use regcache_dup.
10745         (get_infcall_suspend_state_regcache): Change return type.
10746         * linux-fork.c (struct fork_info) <savedregs>: Change to
10747         readonly_detached_regcache.
10748         <pc>: New field.
10749         (fork_save_infrun_state): Don't use regcache_dup.
10750         (info_checkpoints_command): Adjust.
10751         * mi/mi-main.c (register_changed_p): Update declaration.
10752         (mi_cmd_data_list_changed_registers): Use
10753         readonly_detached_regcache.
10754         (register_changed_p): Change parameter type to
10755         readonly_detached_regcache.
10756         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10757         readonly_detached_regcache.
10758         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10759         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10760         New.
10761         (regcache::save): Move it to reg_buffer.
10762         (regcache::restore): Change parameter type.
10763         (regcache_dup): Remove.
10764         * regcache.h (reg_buffer) <save>: New method.
10765         (readonly_detached_regcache): New class.
10766         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10767         readonly_detached_regcache.
10768         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10769
10770 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10771
10772         * frame.c (frame_save_as_regcache): Use regcache method save.
10773         (frame_pop): Use regcache method restore.
10774         * infrun.c (restore_infcall_suspend_state): Likewise.
10775         * linux-fork.c (fork_load_infrun_state): Likewise.
10776         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10777         save.
10778         * regcache.c (regcache_save): Remove.
10779         (regcache::restore): More asserts.
10780         (regcache_cpy): Remove.
10781         * regcache.h (regcache_save): Remove the declaration.
10782         (regcache::restore): Move from private to public.
10783         Remove the friend declaration of regcache_cpy.
10784         (regcache_cpy): Remove declaration.
10785
10786 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10787
10788         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10789         parameter type to 'readable_regcache *'.
10790         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10791         * arm-tdep.c (arm_neon_quad_read): Likewise.
10792         (arm_pseudo_read): Likewise.
10793         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10794         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10795         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10796         * gdbarch.c: Re-generated.
10797         * gdbarch.h: Re-generated.
10798         * gdbarch.sh (pseudo_register_read): Change parameter type to
10799         'readable_regcache *'.
10800         (pseudo_register_read_value): Likewise.
10801         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10802         (h8300_pseudo_register_read): Likewise.
10803         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10804         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10805         (i386_pseudo_register_read_into_value): Likewise.
10806         (i386_pseudo_register_read_value): Likewise.
10807         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10808         declaration.
10809         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10810         * m32c-tdep.c (m32c_raw_read): Likewise.
10811         (m32c_read_flg): Likewise.
10812         (m32c_banked_register): Likewise.
10813         (m32c_banked_read): Likewise.
10814         (m32c_sb_read): Likewise.
10815         (m32c_part_read): Likewise.
10816         (m32c_cat_read): Likewise.
10817         (m32c_r3r2r1r0_read): Likewise.
10818         (m32c_pseudo_register_read): Likewise.
10819         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10820         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10821         (mep_pseudo_cr64_read): Likewise.
10822         (mep_pseudo_register_read): Likewise.
10823         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10824         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10825         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10826         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10827         (regcache::cooked_read): Likewise.
10828         (regcache::cooked_read_value): Likewise.
10829         (regcache_cooked_read_signed):
10830         (regcache::cooked_read): Likewise.
10831         * regcache.h (readable_regcache): New class.
10832         (regcache): Inherit readable_regcache.  Move some methods to
10833         readable_regcache.
10834         * rl78-tdep.c (rl78_pseudo_register_read): Change
10835         parameter type to 'readable_regcache *'.
10836         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10837         (e500_pseudo_register_read): Change parameter type to
10838         'readable_regcache *'.
10839         (dfp_pseudo_register_read): Likewise.
10840         (vsx_pseudo_register_read): Likewise.
10841         (efpr_pseudo_register_read): Likewise.
10842         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10843         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10844         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10845         (sh64_pseudo_register_read): Likewise.
10846         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10847         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10848         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10849         (spu_pseudo_register_read): Likewise.
10850         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10851         (xtensa_pseudo_register_read): Likewise.
10852
10853 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10854
10855         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10856         (regcache::arch): Move it to reg_buffer::arch.
10857         (regcache::register_buffer): Likewise.
10858         (regcache::assert_regnum): Likewise.
10859         (regcache::num_raw_registers): Likewise.
10860         * regcache.h (reg_buffer): New class.
10861         (regcache): Inherit reg_buffer.
10862
10863 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10864
10865         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10866         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10867
10868 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10869
10870         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10871
10872 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10873
10874         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10875         (SFILES): Remove common/*.c files.
10876         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10877         * common/common.host: Add common reference.
10878         * configure.ac: Likewise.
10879         * configure: Regenerate.
10880
10881 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10882
10883         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10884         (block_initialize_namespace): Use new.
10885         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10886         (dwarf2_free_objfile): Use delete.
10887         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10888         (copy_type_recursive): Use new.
10889         * gdb_obstack.h (allocate_on_obstack): New.
10890
10891 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10892
10893         PR gdb/22849
10894         * inferior.c (exit_inferior_1): Reset inf->control.
10895
10896 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10897
10898         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10899         declaration.
10900
10901 2018-02-14  Pedro Alves  <palves@redhat.com>
10902
10903         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10904         frame_cleanup_after_sniffer on exception.
10905
10906 2018-02-14  Tom Tromey  <tom@tromey.com>
10907
10908         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10909         const.
10910         (solib_bfd_open): Make pathname const.
10911         * solib.c (solib_bfd_open): Make pathname const.
10912         * solib-spu.c (spu_bfd_fopen): Make name const.
10913         (spu_bfd_open): Make pathname const.
10914         * solib-darwin.c (darwin_bfd_open): Make pathname const.
10915         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
10916
10917 2018-02-14  Tom Tromey  <tom@tromey.com>
10918
10919         * symfile.c (symfile_bfd_open): Update.
10920         * source.h (openp, source_full_path_of, find_and_open_source):
10921         Change argument type to unique_xmalloc_ptr.
10922         * source.c (openp): Take a unique_xmalloc_ptr.
10923         (source_full_path_of, find_and_open_source): Likewise.
10924         (open_source_file, symtab_to_fullname): Update.
10925         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
10926         unique_xmalloc_ptr.
10927         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
10928         (exec_file_find): Update.
10929         * psymtab.c (psymtab_to_fullname): Update.
10930         * nto-tdep.h (nto_find_and_open_solib): Update.
10931         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
10932         unique_xmalloc_ptr.
10933         * exec.c (exec_file_attach): Update.
10934         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
10935         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
10936
10937 2018-02-14  Tom Tromey  <tom@tromey.com>
10938
10939         * solib.c: Include source.h.
10940         * nto-tdep.c: Include source.h.
10941         * mi/mi-cmd-env.c: Include source.h.
10942         * infcmd.c: Include source.h.
10943         * exec.c: Include source.h.
10944         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
10945         (add_path, directory_switch, source_path, init_source_path): Move
10946         declarations...
10947         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
10948         (add_path, directory_switch, source_path, init_source_path):
10949         ...here.
10950
10951 2018-02-14  Tom Tromey  <tom@tromey.com>
10952
10953         * solist.h (exec_file_find, solib_find): Return
10954         unique_xmalloc_ptr.
10955         (solib_bfd_fopen): Take a const char *.
10956         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10957         (exec_file_find, solib_find): Likewise.
10958         (solib_bfd_fopen): Do not take ownership of "pathname".
10959         (solib_bfd_open): Use unique_xmalloc_ptr.
10960         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10961         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10962         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10963         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10964
10965 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10966
10967         * ada-lang.c (name_match_type_from_name): Remove reference to
10968         ada_name_for_lookup in function's documentation.
10969         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10970
10971 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10972
10973         * defs.h (enum openp_flags): New enum.
10974         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10975         Move to enum openp_flags.
10976         (openp_flags): New enum flags.
10977         (openp): Change parameter type to openp_flags.
10978         * source.c (openp): Change parameter type to openp_flags.
10979         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10980         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10981
10982 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10983
10984         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10985         per-command.
10986
10987 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10988
10989         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10990         into...
10991         (class dwarf2_queue_guard): ...the destructor of this new class.
10992         (dw2_do_instantiate_symtab): Create instance of the new class
10993         dwarf2_queue_guard, remove cleanup.
10994
10995 2018-02-09  Tom Tromey  <tom@tromey.com>
10996
10997         * source.c (find_source_lines): Don't reference past the end of
10998         the vector.
10999
11000 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11001
11002         * remote.c (remote_btrace_maybe_reopen): Change error message.
11003         * btrace.c (btrace_enable): Likewise.
11004         (parse_xml_btrace): Likewise.
11005         (parse_xml_btrace_conf): Likewise.
11006
11007 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11008
11009         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
11010         (linux_enable_pt, linux_enable_bts): Call
11011         diagnose_perf_event_open_fail.
11012
11013 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11014
11015         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
11016         Remove parameter and change return type.  Update callers.  Move it.
11017         (linux_enable_bts, linux_enable_pt): Improve error message.
11018         (linux_enable_pt): Remove zero buffer size check.
11019         (linux_enable_btrace): Improve error messages.  Remove NULL return
11020         check.
11021
11022 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11023
11024         * btrace.c (btrace_enable): Remove target_supports_btrace call.
11025         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
11026         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
11027         (linux_supports_pt, linux_supports_btrace): Remove.
11028         (linux_enable_bts): Call cpu_supports_bts.
11029         * nat/linux-btrace.h (linux_supports_btrace): Remove.
11030         * remote.c (remote_supports_btrace): Remove.
11031         (init_remote_ops): Remove remote_supports_btrace.
11032         * target-delegates.c: Regenerated.
11033         * target.c (target_supports_btrace): Remove.
11034         * target.h (target_ops) <to_supports_btrace>: Remove
11035         (target_supports_btrace): Remove.
11036         * x86-linux-nat.c (x86_linux_create_target): Remove
11037         linux_supports_btrace.
11038
11039 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11040
11041         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
11042         btrace failed.
11043         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
11044         exception and use message in own exception.
11045
11046 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11047
11048         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11049         (perf_event_pt_event_type): Use gdb_file_up.
11050         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11051         scoped_fd, and scoped_mmap.
11052
11053 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11054
11055         * common/scoped_mmap.h: New.
11056         * unittests/scoped_mmap-selftest.c: New.
11057         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11058         unittests/scoped_mmap-selftest.c.
11059
11060 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11061
11062         * common/scoped_fd.h: New.
11063         * unittests/scoped_fd-selftest.c: New.
11064         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11065         unittests/scoped_fd-selftest.c.
11066
11067 2018-02-09  Tom Tromey  <tom@tromey.com>
11068
11069         * auto-load.c (auto_load_section_scripts): Use
11070         gdb::unique_xmalloc_ptr.
11071
11072 2018-02-09  Tom Tromey  <tom@tromey.com>
11073
11074         * auto-load.c (execute_script_contents): Use std::string.
11075
11076 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11077
11078         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11079         Python function, rather than a new command.
11080
11081 2018-02-08  Tom Tromey  <tom@tromey.com>
11082
11083         * solib.c (solib_find_1): Use std::string.
11084         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11085
11086 2018-02-08  Tom Tromey  <tom@tromey.com>
11087
11088         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11089
11090 2018-02-08  Tom Tromey  <tom@tromey.com>
11091
11092         * source.c (find_source_lines): Use gdb::def_vector.
11093
11094 2018-02-08  Tom Tromey  <tom@tromey.com>
11095
11096         * macrocmd.c (struct temporary_macro_definition): New.
11097         (macro_define_command): Use temporary_macro_definition.  Remove
11098         cleanups.
11099         (free_macro_definition_ptr): Remove.
11100
11101 2018-02-08  Tom Tromey  <tom@tromey.com>
11102
11103         * macroexp.c (maybe_expand): Use std::string.
11104
11105 2018-02-08  Tom Tromey  <tom@tromey.com>
11106
11107         * macroexp.c (struct macro_buffer): Add initializers for some
11108         members.
11109         (init_buffer, init_shared_buffer, free_buffer)
11110         (free_buffer_return_text): Remove.
11111         (macro_buffer): New constructors.
11112         (~macro_buffer): New destructor.
11113         (macro_buffer::set_shared): New method.
11114         (macro_buffer::resize_buffer, macro_buffer::appendc)
11115         (macro_buffer::appendmem): Now methods, not free functions.
11116         (set_token, append_tokens_without_splicing, stringify)
11117         (macro_stringify): Update.
11118         (gather_arguments): Change return type.  Remove argc_p argument,
11119         add args_ptr argument.  Use std::vector.
11120         (substitute_args): Remove argc argument.  Accept std::vector.
11121         (expand): Update.  Use std::vector.
11122         (scan, macro_expand, macro_expand_next): Update.
11123
11124 2018-02-08  Tom Tromey  <tom@tromey.com>
11125
11126         * symtab.c (default_collect_symbol_completion_matches_break_on):
11127         Use unique_xmalloc_ptr.
11128         * macroscope.h: (sal_macro_scope, user_macro_scope)
11129         (default_macro_scope): Return unique_xmalloc_ptr.
11130         * macroscope.c (sal_macro_scope, user_macro_scope)
11131         (default_macro_scope): Return unique_xmalloc_ptr.
11132         * macroexp.h (macro_expand, macro_expand_once): Return
11133         unique_xmalloc_ptr.
11134         * macroexp.c (macro_expand, macro_expand_once): Return
11135         unique_xmalloc_ptr.
11136         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11137         (info_macro_command, info_macros_command): Use
11138         unique_xmalloc_ptr.
11139         * compile/compile-c-support.c (write_macro_definitions): Use
11140         unique_xmalloc_ptr.
11141         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11142
11143 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11144
11145         * value.c (value_static_field): Assign field type instead of
11146         containing type when returning an optimized out value.
11147
11148 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11149
11150         * ft32-tdep.c (ft32_read_pc): Remove.
11151         (ft32_write_pc): Remove.
11152         (ft32_gdbarch_init): Update.
11153         * m32r-tdep.c (m32r_read_pc): Remove.
11154         (m32r_gdbarch_init): Update.
11155         * mep-tdep.c (mep_read_pc): Remove.
11156         (mep_gdbarch_init): Update.
11157         * microblaze-tdep.c (microblaze_write_pc): Remove.
11158         (microblaze_gdbarch_init): Update.
11159         * mn10300-tdep.c (mn10300_read_pc): Remove.
11160         (mn10300_write_pc): Remove.
11161         (mn10300_gdbarch_init): Update.
11162         * moxie-tdep.c (moxie_read_pc): Remove.
11163         (moxie_write_pc): Remove.
11164         (moxie_gdbarch_init): Update.
11165
11166 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11167
11168         * expprint.c (print_subexp_standard): Handle
11169         OP_F77_UNDETERMINED_ARGLIST.
11170         (dump_subexp_body_standard): Likewise.
11171
11172 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11173
11174         * target-descriptions.c (tdesc_element_visitor) Add empty
11175         implementations.
11176         (tdesc_type): Move make_gdb_type from here.
11177         (tdesc_type_builtin): Likewise.
11178         (tdesc_type_vector): Likewise.
11179         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11180         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11181         (make_gdb_type_union): Likewise.
11182         (make_gdb_type_flags): Likewise.
11183         (make_gdb_type_enum): Likewise.
11184         (make_gdb_type): New function.
11185         (tdesc_register_type): Use static make_gdb_type.
11186
11187 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11188
11189         * infcmd.c (default_print_one_register_info): Align natural-format
11190         column values consistently one under another.
11191         (pad_to_column): New function.
11192
11193 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11194
11195         * dwarf2read.c (dwarf2_physname): Move commment.
11196
11197 2018-02-01  Leszek Swirski  <leszeks@google.com>
11198
11199         * varobj.c (varobj_formatted_print_options): Allow recursive
11200         pretty printing if pretty printing is enabled.
11201
11202 2018-02-01  Leszek Swirski  <leszeks@google.com>
11203
11204         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11205         names after a structop as a filename.
11206
11207 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11208
11209         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11210         (arm_record_coproc_data_proc): Likewise.
11211
11212 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11213
11214         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11215
11216 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11217
11218         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11219         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11220
11221 2018-01-31  Pedro Alves  <palves@redhat.com>
11222
11223         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11224         * inflow.c (child_terminal_save_inferior): Wrap reference to
11225         tcgetpgrp in HAVE_TERMIOS_H.
11226         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11227         _WIN32.
11228         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11229         always iterate over all inferiors.
11230         (gdbsim_cntrl_c): Adjust.
11231         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11232
11233 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11234
11235         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11236         index type is objfile-owned if the element type is as well.
11237
11238 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11239
11240         GDB 8.1 released.
11241
11242 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11243
11244         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11245         "features/s390x-linux64.c".
11246         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11247         s390_linux32 and s390x_linux64.
11248         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11249         default tdesc.
11250         * s390-tdep.c: Include "features/s390-linux32.c" and
11251         "features/s390x-linux64.c".
11252         (s390_tdesc_valid): Add check for tdesc_has_registers.
11253         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11254         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11255         tdesc_s390x_linux64.
11256         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11257         tdesc_s390x_linux64 to...
11258         * s390-tdep.h: ...here.
11259
11260 2018-01-30  Pedro Alves  <palves@redhat.com>
11261
11262         PR gdb/13211
11263         * config.in, configure: Regenerate.
11264         * configure.ac: Check for getpgid.
11265         * go32-nat.c (go32_pass_ctrlc): New.
11266         (go32_target): Install it.
11267         * inf-child.c (inf_child_target): Install
11268         child_terminal_save_inferior, child_pass_ctrlc and
11269         child_interrupt.
11270         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11271         (inf_ptrace_target): No longer install it.
11272         * infcmd.c (interrupt_target_1): Adjust.
11273         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11274         (child_interrupt): Declare.
11275         (inferior::terminal_state): New.
11276         * inflow.c (struct terminal_info): Update comments.
11277         (inferior_process_group): Delete.
11278         (terminal_is_ours): Delete.
11279         (gdb_tty_state): New.
11280         (child_terminal_init): Adjust.
11281         (is_gdb_terminal, sharing_input_terminal_1)
11282         (sharing_input_terminal): New functions.
11283         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11284         Set the process's actual process group in the foreground if
11285         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11286         mark terminal as the inferior's if not sharing GDB's terminal.
11287         Don't check attach_flag.
11288         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11289         pass down a target_terminal_state.
11290         (child_terminal_save_inferior): New, factored out from ...
11291         (child_terminal_ours_1): ... this.  Handle
11292         target_terminal_state::is_ours_for_output.
11293         (child_interrupt, child_pass_ctrlc): New.
11294         (inflow_inferior_exit): Clear the inferior's terminal_state.
11295         (copy_terminal_info): Copy the inferior's terminal state.
11296         (_initialize_inflow): Remove reference to terminal_is_ours.
11297         * inflow.h (inferior_process_group): Delete.
11298         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11299         * procfs.c (procfs_target): Don't install procfs_interrupt.
11300         (procfs_interrupt): Delete.
11301         * remote.c (remote_serial_quit_handler): Adjust.
11302         (remote_interrupt): Remove ptid parameter.  Adjust.
11303         * target-delegates.c: Regenerate.
11304         * target.c: Include "terminal.h".
11305         (target_terminal::terminal_state): Rename to ...
11306         (target_terminal::m_terminal_state): ... this.
11307         (target_terminal::init): Adjust.
11308         (target_terminal::inferior): Adjust to per-inferior
11309         terminal_state.
11310         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11311         (target_terminal::ours, target_terminal::ours_for_output): Use
11312         target_terminal_is_ours_kind.
11313         (target_interrupt): Remove ptid parameter.  Adjust.
11314         (default_target_pass_ctrlc): Adjust.
11315         * target.h (target_ops::to_terminal_save_inferior): New field.
11316         (target_ops::to_interrupt): Remove ptid_t parameter.
11317         (target_interrupt): Remove ptid_t parameter.  Update comment.
11318         (target_pass_ctrlc): Update comment.
11319         * target/target.h (target_terminal_state): New scoped enum,
11320         factored out of ...
11321         (target_terminal::terminal_state): ... here.
11322         (target_terminal::inferior): Update comments.
11323         (target_terminal::restore_inferior): New.
11324         (target_terminal::is_inferior, target_terminal::is_ours)
11325         (target_terminal::is_ours_for_output): Adjust.
11326         (target_terminal::scoped_restore_terminal_state): Adjust to
11327         rename, and call restore_inferior() instead of inferior().
11328         (target_terminal::scoped_restore_terminal_state::m_state): Change
11329         type.
11330         (target_terminal::terminal_state): Rename to ...
11331         (target_terminal::m_terminal_state): ... this and change type.
11332
11333 2018-01-30  Pedro Alves  <palves@redhat.com>
11334
11335         * linux-nat.c (wait_for_signal): New function.
11336         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11337         directly.
11338         (async_terminal_is_ours)
11339         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11340         (linux_nat_add_target): Don't override
11341         to_terminal_inferior/to_terminal_ours.
11342
11343 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11344
11345         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11346
11347 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11348
11349         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11350         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11351         dwarf2_per_objfile_free here.
11352         (dwarf2_per_objfile_free): Remove.
11353         (_initialize_dwarf2_read): Don't register
11354         dwarf2_per_objfile_free as a registry cleanup.
11355
11356 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11357
11358         Avoid compilation errors in MinGW native builds
11359
11360         The error is triggered by including python-internal.h, and the
11361         error message is:
11362
11363              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11364                       from build-gnulib/import/math.h:27,
11365                       from d:/usr/Python26/include/pyport.h:235,
11366                       from d:/usr/Python26/include/Python.h:58,
11367                       from python/python-internal.h:94,
11368                       from python/py-arch.c:24:
11369              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11370         using ::hypot;
11371                 ^~~~~
11372
11373         This happens because Python headers define 'hypot' to expand t
11374         '_hypot' in the Windows builds.
11375         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11376         'hypoth'.  This avoids a compilation error.
11377
11378 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11379
11380         * MAINTAINERS (Write After Approval): Fix ordering.
11381
11382 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11383
11384         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11385
11386 2018-01-26  Alan Modra  <amodra@gmail.com>
11387
11388         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11389         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11390         Remove nop.  Make const.  Comment.
11391         (powerpc32_plt_stub_so_2): New.
11392         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11393         Correct count.  Update uses.
11394         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11395         Move common code reading PLT entry word.  Correct
11396         powerpc32_plt_stub PLT address calculation.
11397         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11398         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11399         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11400         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11401         (ppc64_standard_linkage8): Likewise.
11402         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11403         Correct insns description.
11404         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11405
11406 2018-01-24  Pedro Alves  <palves@redhat.com>
11407
11408         GCC PR libstdc++/83906
11409         * gdbtypes.c (operator==(const dynamic_prop &,
11410         const dynamic_prop &)): New.
11411         (operator==(const range_bounds &, const range_bounds &)): New.
11412         (check_types_equal): Use them instead of memcmp.
11413         * gdbtypes.h (operator==(const dynamic_prop &,
11414         const dynamic_prop &)): Declare.
11415         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11416         (operator==(const range_bounds &, const range_bounds &)): Declare.
11417         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11418
11419 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11420
11421         * s390-linux-tdep.c (s390_record_address_mask)
11422         (s390_record_calc_disp_common, s390_record_calc_disp)
11423         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11424         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11425         (s390_process_record): Move to s390-tdep.c.
11426         (s390_linux_init_abi_any): Adjust.
11427         * s390-tdep.c (s390_record_address_mask)
11428         (s390_record_calc_disp_common, s390_record_calc_disp)
11429         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11430         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11431         (s390_process_record): Moved from s390-linux-tdep.c
11432         (s390_gdbarch_init): Adjust.
11433
11434 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11435
11436         * s390-linux-nat.c (s390-tdep.h): New include.
11437         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11438         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11439         (ALLDEPFILES): Add s390-tdep.c.
11440         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11441         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11442         * s390-tdep.h: ...this.  New file.
11443         * s390-linux-tdep.c (s390-tdep.h): New include.
11444         (_initialize_s390_tdep): Rename to...
11445         (_initialize_s390_linux_tdep): ...this and adjust.
11446         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11447         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11448         s390-tdep.h.
11449         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11450         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11451         (s390_is_partial_instruction, s390_software_single_step)
11452         (is_non_branch_ril, s390_displaced_step_copy_insn)
11453         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11454         (s390_prologue_data, s390_addr, s390_store, s390_load)
11455         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11456         (s390_register_call_saved, s390_guess_tracepoint_registers)
11457         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11458         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11459         (s390_pseudo_register_name, s390_pseudo_register_type)
11460         (s390_pseudo_register_read, s390_pseudo_register_write)
11461         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11462         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11463         (s390_addr_bits_remove, s390_address_class_type_flags)
11464         (s390_address_class_type_flags_to_name)
11465         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11466         (s390_function_arg_float, s390_function_arg_vector)
11467         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11468         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11469         (s390_frame_align, s390_register_return_value, s390_return_value)
11470         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11471         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11472         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11473         (s390_trad_frame_prev_register, s390_unwind_cache)
11474         (s390_prologue_frame_unwind_cache)
11475         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11476         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11477         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11478         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11479         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11480         (s390_frame_base_address, s390_local_base_address)
11481         (s390_frame_base, s390_gcc_target_options)
11482         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11483         (s390_validate_reg_range, s390_tdesc_valid)
11484         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11485         * s390-tdep.c: ...this.  New file.
11486
11487 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11488
11489         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11490         (s390_process_record, s390_gdbarch_tdep_alloc)
11491         (s390_linux_init_abi_any): Use/set new hook.
11492
11493 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11494
11495         * s390-linux-tdep.c (osabi.h): New include.
11496         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11497         (s390_linux_init_abi_any): New functions.
11498         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11499
11500 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11501
11502         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11503         tdesc_has_registers check
11504
11505 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11506
11507         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11508         (s390_validate_reg_range): New macro.
11509         (s390_gdbarch_init): Adjust.
11510
11511 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11512
11513         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11514         (s390_gdbarch_tdep_alloc): Adjust.
11515         (s390_gdbarch_init): Adjust.
11516
11517 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11518
11519         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11520         <have_tdb>: Change type to bool.
11521         (s390_gdbarch_tdep_alloc): Adjust.
11522         (s390_gdbarch_init): Adjust.
11523
11524 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11525
11526         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11527         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11528         (s390_gdbarch_tdep_alloc): New function.
11529         (s390_gdbarch_init): Allocate tdep at start and use its fields
11530         instead of separate variables.
11531
11532 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11533
11534         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11535         when looking for cached gdbarch and add comment for remaining.
11536
11537 2018-01-22  Pedro Alves  <palves@redhat.com>
11538             Sergio Durigan Junior  <sergiodj@redhat.com>
11539
11540         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11541         case.
11542
11543 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11544
11545         * MAINTAINERS: Update my company e-mail address.
11546
11547 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11548
11549         * regcache.c (cooked_write_test): New function.
11550         (_initialize_regcache): Register the test.
11551
11552 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11553
11554         * ia64-tdep.c (ia64_pseudo_register_read): Call
11555         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11556         * m32c-tdep.c (m32c_cat_read): Likewise.
11557         (m32c_r3r2r1r0_read): Likewise.
11558         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11559         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11560
11561 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11562
11563         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11564         method raw_read instead of regcache_raw_read.
11565         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11566         * arm-tdep.c (arm_neon_quad_read): Likewise.
11567         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11568         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11569         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11570         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11571         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11572         (i386_pseudo_register_read_into_value): Likewise.
11573         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11574         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11575         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11576         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11577         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11578         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11579         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11580         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11581         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11582
11583 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11584
11585         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11586         * configure.tgt: Remove target mt.
11587         * mt-tdep.c: Remove.
11588         * regcache.c (cooked_read_test): Remove the check for mt.
11589
11590 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11591
11592         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11593         instead of gdbarch_pseudo_register_read_value.
11594
11595 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11596
11597         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11598         language is Ada.
11599
11600 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11601
11602         * linespec.c (create_sals_line_offset): Remove code that preserved
11603         the symtab_and_line's line number.
11604
11605 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11606
11607         * varobj.c (varobj_create): Don't set valid_block when creating a
11608         floating varobj.
11609
11610 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11611
11612         * varobj.c (varobj_create): Remove out of date comment.
11613
11614 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11615
11616         PR mi/20395
11617         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11618         updating innermost block.
11619         * parse.c (innermost_block_tracker::update): Take extra type
11620         parameter, and check types match before updating innermost block.
11621         (write_dollar_variable): Update innermost block for registers.
11622         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11623         (innermost_block_tracker::innermost_block_tracker): Initialise
11624         m_types member.
11625         (innermost_block_tracker::reset): Take type parameter.
11626         (innermost_block_tracker::update): Take type parameter, and pass
11627         type through as needed.
11628         (innermost_block_tracker::m_types): New member.
11629         * varobj.c (varobj_create): Pass type when reseting innermost
11630         block.
11631
11632 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11633
11634         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11635         * ada-lang.c (resolve_subexp): Likewise.
11636         * breakpoint.c (set_breakpoint_condition) Likewise.
11637         (watch_command_1) Likewise.
11638         * c-exp.y (variable): Likewise.
11639         * d-exp.y (PrimaryExpression): Likewise.
11640         * f-exp.y (variable): Likewise.
11641         * go-exp.y (variable): Likewise.
11642         * m2-exp.y (variable): Likewise.
11643         * objfiles.c (objfile::~objfile): Likewise.
11644         * p-exp.y (variable): Likewise.
11645         * parse.c (innermost_block): Change type.
11646         * parser-defs.h (class innermost_block_tracker): New.
11647         (innermost_block): Change to innermost_block_tracker.
11648         * printcmd.c (display_command): Switch to innermost_block API.
11649         (do_one_display): Likewise.
11650         * rust-exp.y (do_one_display): Likewise.
11651         * symfile.c (clear_symtab_users): Likewise.
11652         * varobj.c (varobj_create): Switch to innermost_block API, replace
11653         use of innermost_block with block stored on varobj object.
11654
11655 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11656
11657         * expression.h (innermost_block): Remove declaration.
11658         * varobj.c: Add 'parser-defs.h' include.
11659
11660 2018-01-19  Tom Tromey  <tom@tromey.com>
11661
11662         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11663         symbols in the static and global blocks.
11664
11665 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11666
11667         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11668         gdb_ptrace.h, and move including gdb_wait.h ...
11669         * nat/linux-ptrace.h: ... to here.
11670
11671 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11672
11673         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11674         inf_ptrace_detach_success.
11675         (inf_ptrace_detach_success): Add inferior parameter, use it
11676         instead of inferior_ptid, pass it to detach_inferior.
11677         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11678         parameter.
11679         * inferior.c (detach_inferior): Add overload that takes an
11680         inferior object.
11681         * inferior.h (detach_inferior): Likewise.
11682         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11683         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11684         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11685
11686 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11687
11688         * target.h (struct target_ops) <to_detach>: Add inferior
11689         parameter.
11690         (target_detach): Likewise.
11691         * target.c (dispose_inferior): Pass inferior down.
11692         (target_detach): Pass inferior down.  Assert that it is equal to
11693         the current inferior.
11694         * aix-thread.c (aix_thread_detach): Pass inferior down.
11695         * corefile.c (core_file_command): Pass current_inferior() down.
11696         * corelow.c (core_detach): Add inferior parameter.
11697         * darwin-nat.c (darwin_detach): Likewise.
11698         * gnu-nat.c (gnu_detach): Likewise.
11699         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11700         * infcmd.c (detach_command): Pass current_inferior() down to
11701         target_detach.
11702         * infrun.c (follow_fork_inferior): Pass parent_inf to
11703         target_detach.
11704         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11705         target_detach.
11706         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11707         * linux-thread-db.c (thread_db_detach): Likewise.
11708         * nto-procfs.c (procfs_detach): Likewise.
11709         * procfs.c (procfs_detach): Likewise.
11710         * record.c (record_detach): Likewise.
11711         * record.h (struct inferior): Forward-declare.
11712         (record_detach): Add inferior parameter.
11713         * remote-sim.c (gdbsim_detach): Likewise.
11714         * remote.c (remote_detach_1): Likewise.
11715         (remote_detach): Likewise.
11716         (extended_remote_detach): Likewise.
11717         * sol-thread.c (sol_thread_detach): Likewise.
11718         * target-debug.h (target_debug_print_inferior_p): New macro.
11719         * target-delegates.c: Re-generate.
11720         * top.c (kill_or_detach): Pass inferior down to target_detach.
11721         * windows-nat.c (windows_detach): Add inferior parameter.
11722
11723 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11724
11725         * target.h (struct target_ops) <to_detach>: Remove args
11726         parameter.
11727         (target_detach): Likewise.
11728         * target.c (dispose_inferior): Adjust.
11729         (target_detach): Remove args parameter, adjust.
11730         * aix-thread.c (aix_thread_detach): Adjust.
11731         * corefile.c (core_file_command): Adjust.
11732         * corelow.c (core_detach): Adjust.
11733         * darwin-nat.c (darwin_detach): Adjust.
11734         * gnu-nat.c (gnu_detach): Adjust.
11735         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11736         * infcmd.c (detach_command): Adjust
11737         * infrun.c (follow_fork_inferior): Adjust.
11738         (handle_vfork_child_exec_or_exit): Adjust.
11739         * linux-fork.c (linux_fork_detach): Remove args parameter.
11740         * linux-fork.h (linux_fork_detach): Likewise.
11741         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11742         * linux-thread-db.c (thread_db_detach): Likewise.
11743         * nto-procfs.c (procfs_detach): Likewise.
11744         * procfs.c (procfs_detach): Likewise.
11745         (do_detach): Remove signo parameter.
11746         * record.c (record_detach): Remove args parameter.
11747         * record.h (record_detach): Likewise.
11748         * remote-sim.c (gdbsim_detach): Likewise.
11749         * remote.c (remote_detach_1): Likewise.
11750         (remote_detach): Likewise.
11751         (extended_remote_detach): Likewise.
11752         * sol-thread.c (sol_thread_detach): Likewise.
11753         * target-delegates.c: Re-generate.
11754         * top.c (struct qt_args) <args>: Remove field.
11755         (kill_or_detach): Don't pass args.
11756         (quit_force): Don't set args.
11757         * windows-nat.c (windows_detach): Remove args parameter.
11758
11759 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11760
11761         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11762         (arm_linux_init_abi): Install it.
11763
11764 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11765
11766         * osabi.c (gdb_osabi_names): Extend the regexp for
11767         arm-linux-gnueabihf.
11768
11769 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11770
11771         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11772         m_abbrevs.
11773         (abbrev_table::add_abbrev): Update.
11774         (abbrev_table::lookup_abbrev): Update.
11775
11776 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11777
11778         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11779
11780 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11781
11782         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11783         to "std::string".
11784
11785 2018-01-17  Tom Tromey  <tom@tromey.com>
11786
11787         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11788
11789 2018-01-17  Tom Tromey  <tom@tromey.com>
11790
11791         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11792         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11793         (create_array_type_with_stride): Update.
11794         * dwarf2read.c (set_die_type): Update.
11795
11796 2018-01-17  Tom Tromey  <tom@tromey.com>
11797
11798         * dwarf2read.c (delayed_method_info): Remove typedef.
11799         (dwarf2_cu::method_info): Now a std::vector.
11800         (add_to_method_list): Update.
11801         (free_delayed_list): Remove.
11802         (compute_delayed_physnames): Update.
11803         (process_full_comp_unit, process_full_type_unit): Clear the method
11804         list.  Remove cleanups.
11805         (psymtab_include_file_name): Add name_holder parameter.  Use
11806         unique_xmalloc_ptr.
11807         (dwarf_decode_lines): Update.
11808
11809 2018-01-17  Tom Tromey  <tom@tromey.com>
11810             Simon Marchi  <simon.marchi@ericsson.com>
11811
11812         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11813         (dwarf2_per_objfile::free_cached_comp_units)
11814         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11815         (init_cutu_and_read_dies_no_follow): Update.
11816         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11817         (dwarf2_cu::~dwarf2_cu): New.
11818         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11819         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11820
11821 2018-01-17  Tom Tromey  <tom@tromey.com>
11822             Simon Marchi  <simon.marchi@ericsson.com>
11823
11824         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11825         (struct die_reader_specs) <abbrev_table>: New member.
11826         (struct abbrev_table): Add constructor.
11827         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11828         <abbrev_obstack>: Now an auto_obstack.
11829         (abbrev_table_up): New typedef.
11830         (init_cu_die_reader): Add abbrev_table parameter.
11831         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11832         Add result_dwo_abbrev_table.
11833         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11834         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11835         Update.
11836         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11837         parameter.
11838         (skip_children): Update.
11839         (abbrev_table::alloc_abbrev): Rename from
11840         abbrev_table_alloc_abbrev.
11841         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11842         (abbrev_table::lookup_abbrev): Rename from
11843         abbrev_table_lookup_abbrev.
11844         (abbrev_table_read_table): Return abbrev_table_up.
11845         (abbrev_table_free, abbrev_table_free_cleanup)
11846         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11847         (load_partial_dies): Update.
11848
11849 2018-01-17  Tom Tromey  <tom@tromey.com>
11850
11851         * dwarf2read.c (dwarf2_compute_name): Update comment.
11852         (read_func_scope, read_variable): Update.
11853         (new_symbol): Remove.
11854         (new_symbol_full): Rename to new_symbol.
11855
11856 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11857
11858         PR gdb/16577
11859         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11860         a warning instead of throwing an error, set section size to 0 and return
11861         NULL.
11862         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11863
11864 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11865
11866         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11867         std::string.
11868         (linux_ptrace_attach_fail_reason_string): Likewise.
11869         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11870         Likewise.
11871         (linux_ptrace_attach_fail_reason_string): Likewise.
11872         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11873
11874 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11875
11876         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11877
11878 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11879
11880         PR gdb/21559
11881         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11882         checking for fs_base/gs_base fields in struct user_regs_struct.
11883         * configure: Regenerate.
11884
11885 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11886
11887         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11888         function.
11889         (aarch64_linux_init_abi): Install it to gdbarch hook
11890         gcc_target_options.
11891
11892 2018-01-15  Pedro Alves  <palves@redhat.com>
11893
11894         * common/signals-state-save-restore.c
11895         (save_original_signals_state): Fix typos.
11896
11897 2017-01-12  Tom Tromey  <tom@tromey.com>
11898             Sergio Durigan Junior  <sergiodj@redhat.com>
11899
11900         * Makefile.in (install-only): Install gdb-add-index.
11901
11902 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11903
11904         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11905
11906 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11907
11908         * infrun.c (keep_going_pass_signal): Clear step-over info when
11909         insert_breakpoints fails.
11910
11911 2018-01-11  Pedro Alves  <palves@redhat.com>
11912
11913         PR gdb/22583
11914         * infrun.c (resume): Rename to ...
11915         (resume_1): ... this.
11916         (resume): Reimplement as wrapper around resume_1.
11917
11918 2018-01-11  Pedro Alves  <palves@redhat.com>
11919
11920         PR remote/22597
11921         * remote.c (remote_parse_stop_reply): Default to the last-set
11922         general thread instead of to 'magic_null_ptid'.
11923
11924 2018-01-10  Pedro Alves  <palves@redhat.com>
11925
11926         * language.h (language_get_symbol_name_matcher): Rename ...
11927         (get_symbol_name_matcher): ... this.
11928         * language.c (language_get_symbol_name_matcher): Ditto.
11929         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
11930         callers adjusted.
11931
11932 2018-01-10  Pedro Alves  <palves@redhat.com>
11933
11934         PR gdb/22670
11935         * dwarf2read.c
11936         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
11937         Adjust to use language_get_symbol_name_matcher instead of
11938         language_defn::la_get_symbol_name_matcher.
11939         * language.c (language_get_symbol_name_matcher): If in Ada mode
11940         and the lookup name is a verbatim match, return Ada's matcher.
11941         * language.h (language_get_symbol_name_matcher): Adjust comment.
11942         (ada_lookup_name_info::verbatim_p):: New method.
11943
11944 2018-01-10  Pedro Alves  <palves@redhat.com>
11945
11946         PR gdb/22670
11947         * ada-lang.c (ada_collect_symbol_completion_matches): If the
11948         minsym's language is language_auto or language_cplus, pass down
11949         language_ada instead.
11950         * symtab.c (compare_symbol_name): Don't frob symbol language here.
11951
11952 2018-01-10  Pedro Alves  <palves@redhat.com>
11953
11954         PR gdb/22670
11955         * minsyms.c (linkage_name_str): New function.
11956         (iterate_over_minimal_symbols): Use it.
11957
11958 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11959
11960         * NEWS: Document that 'info proc' now works on FreeBSD.
11961
11962 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11963
11964         * configure.ac: Check for kinfo_getfile in libutil.
11965         * configure: Regenerate.
11966         * config.in: Regenerate.
11967         * fbsd-nat.c: Include "fbsd-tdep.h".
11968         (fbsd_fetch_cmdline): New.
11969         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11970         rather than calling error.
11971         (fbsd_info_proc): New.
11972         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11973         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11974         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11975
11976 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11977
11978         * fbsd-nat.c (struct free_deleter): Remove.
11979         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11980
11981 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11982
11983         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11984         NULL for an empty pathname.
11985
11986 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11987
11988         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11989         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11990         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11991         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11992         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11993         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11994         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11995         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11996         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11997         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11998         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11999         (fbsd_core_fetch_timeval, fbsd_print_sigset)
12000         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
12001         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
12002         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
12003
12004 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
12005
12006         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
12007         (gnu_xfer_auxv): New function.
12008         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
12009         TARGET_OBJECT_AUXV.
12010
12011 2018-01-08  Yao Qi  <yao.qi@linaro.org>
12012             Simon Marchi  <simon.marchi@ericsson.com>
12013
12014         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
12015         common/selftest.c.
12016         (COMMON_OBS): Remove selftest.o.
12017         * configure.ac: Append selftest-arch.c and common/selftest.c to
12018         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
12019         * configure: Re-generated.
12020         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
12021         GDB_SELF_TEST.
12022         (maintenance_info_selftests): Likewise.
12023
12024 2018-01-08  Xavier Roirand  <roirand@adacore.com>
12025
12026         * ada-valprint.c (val_print_packed_array_elements): Use
12027         proper number of elements when printing an array indexed
12028         by an enumeration type.
12029
12030 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12031
12032         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
12033         (dw2_get_file_names_reader): Adjust.
12034         (lookup_dwo_signatured_type): Adjust.
12035         (lookup_dwp_signatured_type): Adjust.
12036         (lookup_signatured_type): Adjust.
12037         (create_type_unit_group): Adjust.
12038         (get_type_unit_group): Adjust.
12039         (process_psymtab_comp_unit_reader): Adjust.
12040         (build_type_psymtabs_reader): Adjust.
12041         (scan_partial_symbols): Adjust.
12042         (add_partial_symbol): Adjust.
12043         (add_partial_subprogram): Adjust.
12044         (peek_die_abbrev): Adjust.
12045         (fixup_go_packaging): Adjust.
12046         (process_imported_unit_die): Adjust.
12047         (dwarf2_compute_name): Adjust.
12048         (dwarf2_physname): Adjust.
12049         (read_import_statement): Adjust.
12050         (handle_DW_AT_stmt_list): Adjust.
12051         (read_file_scope): Adjust.
12052         (read_func_scope): Adjust.
12053         (read_lexical_block_scope): Adjust.
12054         (read_call_site_scope): Adjust.
12055         (read_variable): Adjust.
12056         (dwarf2_rnglists_process): Adjust.
12057         (dwarf2_ranges_process): Adjust.
12058         (dwarf2_ranges_read): Adjust.
12059         (dwarf2_get_pc_bounds): Adjust.
12060         (dwarf2_record_block_ranges): Adjust.
12061         (dwarf2_add_field): Adjust.
12062         (dwarf2_add_member_fn): Adjust.
12063         (read_structure_type): Adjust.
12064         (process_structure_scope): Adjust.
12065         (read_enumeration_type): Adjust.
12066         (read_array_type): Adjust.
12067         (mark_common_block_symbol_computed): Adjust.
12068         (read_common_block): Adjust.
12069         (read_namespace_type): Adjust.
12070         (read_namespace): Adjust.
12071         (read_module_type): Adjust.
12072         (read_tag_pointer_type): Adjust.
12073         (read_tag_ptr_to_member_type): Adjust.
12074         (read_tag_string_type): Adjust.
12075         (read_subroutine_type): Adjust.
12076         (read_typedef): Adjust.
12077         (read_base_type): Adjust.
12078         (attr_to_dynamic_prop): Adjust.
12079         (read_subrange_type): Adjust.
12080         (read_unspecified_type): Adjust.
12081         (dwarf2_read_abbrevs): Adjust.
12082         (load_partial_dies): Adjust.
12083         (read_partial_die): Adjust.
12084         (find_partial_die): Adjust.
12085         (guess_partial_die_structure_name): Adjust.
12086         (fixup_partial_die): Adjust.
12087         (read_attribute_value): Adjust.
12088         (read_addr_index): Adjust.
12089         (read_addr_index_from_leb128): Adjust.
12090         (read_str_index): Adjust.
12091         (dwarf2_string_attr): Adjust.
12092         (get_debug_line_section): Adjust.
12093         (dwarf_decode_line_header): Adjust.
12094         (lnp_state_machine::check_line_address): Adjust.
12095         (dwarf_decode_lines_1): Adjust.
12096         (dwarf_decode_lines): Adjust.
12097         (dwarf2_start_symtab): Adjust.
12098         (var_decode_location): Adjust.
12099         (new_symbol_full): Adjust.
12100         (dwarf2_const_value_data): Adjust.
12101         (dwarf2_const_value_attr): Adjust.
12102         (dwarf2_const_value): Adjust.
12103         (die_type): Adjust.
12104         (die_containing_type): Adjust.
12105         (build_error_marker_type): Adjust.
12106         (lookup_die_type): Adjust.
12107         (guess_full_die_structure_name): Adjust.
12108         (anonymous_struct_prefix): Adjust.
12109         (determine_prefix): Adjust.
12110         (dwarf2_name): Adjust.
12111         (follow_die_ref_or_sig): Adjust.
12112         (follow_die_offset): Adjust.
12113         (follow_die_ref): Adjust.
12114         (follow_die_sig_1): Adjust.
12115         (follow_die_sig): Adjust.
12116         (get_signatured_type): Adjust.
12117         (get_DW_AT_signature_type): Adjust.
12118         (decode_locdesc): Adjust.
12119         (dwarf_decode_macros): Adjust.
12120         (cu_debug_loc_section): Adjust.
12121         (fill_in_loclist_baton): Adjust.
12122         (dwarf2_symbol_mark_computed): Adjust.
12123         (init_one_comp_unit): Don't assign
12124         dwarf2_cu::dwarf2_per_objfile.
12125         (set_die_type): Adjust.
12126
12127 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12128
12129         * dwarf2read.c (struct mapped_debug_names): Add constructor.
12130         <dwarf2_per_objfile>: New field.
12131         (dwarf2_per_objfile): Remove global.
12132         (get_dwarf2_per_objfile): New function.
12133         (set_dwarf2_per_objfile): New function.
12134         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12135         dwarf2_per_objfile.
12136         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12137         (read_abbrev_offset): Likewise.
12138         (read_indirect_string): Likewise.
12139         (read_indirect_line_string): Likewise.
12140         (read_indirect_string_at_offset): Likewise.
12141         (read_indirect_string_from_dwz): Likewise.
12142         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12143         dwarf2_per_objfile.
12144         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12145         (create_all_comp_units): Change objfile parameter to
12146         dwarf2_per_objfile.
12147         (create_all_type_units): Likewise.
12148         (process_queue): Add dwarf2_per_objfile parameter.
12149         (read_and_check_comp_unit_head): Likewise.
12150         (lookup_dwo_unit_in_dwp): Likewise.
12151         (get_dwp_file): Likewise.
12152         (process_cu_includes): Likewise.
12153         (struct free_dwo_file_cleanup_data): New struct.
12154         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12155         set_dwarf2_per_objfile.
12156         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12157         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12158         context, adjust calls.
12159         (dw2_instantiate_symtab): Likewise.
12160         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12161         (dw2_get_cu): Likewise.
12162         (create_cu_from_index_list): Change objfile parameter to
12163         dwarf2_per_objfile.
12164         (create_cus_from_index_list): Get dwarf2_per_objfile from
12165         context, adjust calls.
12166         (create_cus_from_index): Likewise.
12167         (create_signatured_type_table_from_index): Change objfile
12168         parameter to dwarf2_per_objfile.
12169         (create_signatured_type_table_from_debug_names): Change objfile
12170         parameter to dwarf2_per_objfile.
12171         (create_addrmap_from_index): Likewise.
12172         (create_addrmap_from_aranges): Likewise.
12173         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12174         (dw2_setup): Remove.
12175         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12176         context.
12177         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12178         get_dwarf2_per_objfile.
12179         (dw2_forget_cached_source_info): Likewise.
12180         (dw2_map_symtabs_matching_filename): Likewise.
12181         (struct dw2_symtab_iterator) <index>: Remove.
12182         <dwarf2_per_objfile>: New field.
12183         (dw2_symtab_iter_init): Replace index parameter with
12184         dwarf2_per_objfile.
12185         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12186         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12187         (dw2_print_stats): Likewise.
12188         (dw2_dump): Likewise.
12189         (dw2_expand_symtabs_for_function): Likewise.
12190         (dw2_expand_all_symtabs): Likewise.
12191         (dw2_expand_symtabs_with_fullname): Likewise.
12192         (dw2_expand_marked_cus): Replace index and objfile parameters
12193         with dwarf2_per_objfile.
12194         (dw_expand_symtabs_matching_file_matcher): Add
12195         dwarf2_per_objfile parameter and adjust calls.
12196         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12197         adjust calls.
12198         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12199         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12200         adjust calls.
12201         (create_cus_from_debug_names_list): Replace objfile parameter
12202         with dwarf2_per_objfile and adjust calls.
12203         (create_cus_from_debug_names): Likewise.
12204         (dwarf2_read_debug_names): Likewise.
12205         (mapped_debug_names::namei_to_name): Adjust call.
12206         (dw2_debug_names_iterator::next): Likewise.
12207         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12208         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12209         (dw2_debug_names_dump): Likewise.
12210         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12211         (dw2_debug_names_expand_symtabs_matching): Likewise.
12212         (dwarf2_initialize_objfile): Likewise.
12213         (dwarf2_build_psymtabs): Likewise.
12214         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12215         this_cu.
12216         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12217         (read_and_check_comp_unit_head): Likewise.
12218         (read_abbrev_offset): Likewise.
12219         (create_debug_type_hash_table): Likewise.
12220         (create_debug_types_hash_table): Likewise.
12221         (create_all_type_units): Replace objfile parameter with
12222         dwarf2_per_objfile.
12223         (add_type_unit): Add dwarf2_per_objfile parameter.
12224         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12225         with dwarf2_per_objfile.
12226         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12227         (lookup_dwp_signatured_type): Likewise.
12228         (lookup_signatured_type): Likewise.
12229         (read_cutu_die_from_dwo): Likewise.
12230         (init_tu_and_read_dwo_dies): Likewise.
12231         (init_cutu_and_read_dies): Likewise.
12232         (init_cutu_and_read_dies_no_follow): Likewise.
12233         (allocate_type_unit_groups_table): Add objfile parameter.
12234         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12235         (get_type_unit_group): Likewise.
12236         (process_psymtab_comp_unit): Update call.
12237         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12238         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12239         (print_tu_stats): Likewise.
12240         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12241         in void* parameter.
12242         (build_type_psymtabs): Change objfile parameter to
12243         dwarf2_per_objfile.
12244         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12245         passed in void* parameter.
12246         (process_skeletonless_type_units): Change objfile parameter to
12247         dwarf2_per_objfile.
12248         (set_partial_user): Likewise.
12249         (dwarf2_build_psymtabs_hard): Likewise.
12250         (read_comp_units_from_section): Likewise.
12251         (create_all_comp_units): Likewise.
12252         (scan_partial_symbols): Update calls.
12253         (add_partial_symbol): Likewise.
12254         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12255         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12256         (process_queue): Add dwarf2_per_objfile parameter.
12257         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12258         (compute_compunit_symtab_includes): Likewise.
12259         (process_cu_includes): Add dwarf2_per_objfile parameter.
12260         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12261         (process_full_type_unit): Likewise.
12262         (process_imported_unit_die): Update call.
12263         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12264         (read_file_scope): Likewise.
12265         (allocate_dwo_file_hash_table): Add objfile parameter.
12266         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12267         (create_cus_hash_table): Likewise.
12268         (create_dwp_hash_table): Likewise.
12269         (create_dwo_unit_in_dwp_v1): Likewise.
12270         (create_dwp_v2_section): Likewise.
12271         (create_dwo_unit_in_dwp_v2): Likewise.
12272         (lookup_dwo_unit_in_dwp): Likewise.
12273         (try_open_dwop_file): Likewise.
12274         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12275         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12276         cleanup to include a reference to dwarf2_per_objfile.
12277         (open_dwp_file): Add dwarf2_per_objfile parameter.
12278         (open_and_init_dwp_file): Likewise.
12279         (get_dwp_file): Likewise.
12280         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12281         (queue_and_load_all_dwo_tus): Update call.
12282         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12283         data.
12284         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12285         (dwarf2_ranges_process): Likewise.
12286         (dwarf2_get_pc_bounds): Likewise.
12287         (mark_common_block_symbol_computed): Likewise.
12288         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12289         (dwarf2_read_abbrevs): Update call.
12290         (read_partial_die): Use dwarf2_per_objfile from cu.
12291         (find_partial_die): Likewise.
12292         (fixup_partial_die): Likewise.
12293         (read_attribute_value): Likewise.
12294         (read_indirect_string_at_offset_from): Add objfile parameter.
12295         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12296         parameter.
12297         (read_indirect_string_from_dwz): Add objfile parameter.
12298         (read_indirect_string): Add objfile parameter.
12299         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12300         (read_addr_index): Use dwarf2_per_objfile from cu.
12301         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12302         call dw2_setup.
12303         (read_str_index): Use dwarf2_per_objfile from cu.
12304         (get_debug_line_section): Likewise.
12305         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12306         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12307         (new_symbol_full): Use dwarf2_per_objfile from cu.
12308         (build_error_marker_type): Likewise.
12309         (lookup_die_type): Likewise.
12310         (determine_prefix): Likewise.
12311         (follow_die_offset): Likewise.
12312         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12313         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12314         (dwarf2_fetch_die_type_sect_off): Likewise.
12315         (dwarf2_get_die_type): Likewise.
12316         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12317         (get_signatured_type): Likewise.
12318         (get_DW_AT_signature_type): Likewise.
12319         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12320         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12321         (cu_debug_loc_section): Likewise.
12322         (fill_in_loclist_baton): Likewise.
12323         (dwarf2_symbol_mark_computed): Likewise.
12324         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12325         dwarf2_per_objfile.
12326         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12327         parameter.
12328         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12329         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12330         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12331         (set_die_type): Use dwarf2_free_objfile from cu.
12332         (get_die_type_at_offset): Likewise.
12333         (dwarf2_per_objfile_free): Don't assign global variable.
12334         (debug_names) <constructor>: Add dwarf2_per_objfile
12335         parameter, update m_debugstrlookup construction.
12336         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12337         parameter.
12338         <m_dwarf2_per_objfile>: New field.
12339         <lookup>: Use m_dwarf2_per_objfile.
12340         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12341         (psyms_seen_size): Likewise.
12342         (write_gdbindex): Replace objfile parameter with
12343         dwarf2_per_objfile.
12344         (write_debug_names): Likewise.
12345         (write_psymtabs_to_index): Likewise.
12346         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12347         calls.
12348
12349 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12350
12351         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12352         <dwarf2_per_objfile>: New field.
12353         (struct dwarf2_per_cu_data) <objfile>: Remove.
12354         <dwarf2_per_objfile>: New field.
12355         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12356         of objfile.
12357         (create_signatured_type_table_from_index): Likewise.
12358         (create_debug_type_hash_table): Likewise.
12359         (fill_in_sig_entry_from_dwo_entry): Likewise.
12360         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12361         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12362         objfile.
12363         (create_partial_symtab): Access objfile through
12364         dwarf2_per_objfile.
12365         (process_psymtab_comp_unit_reader): Likewise.
12366         (read_comp_units_from_section): Likewise.
12367         (scan_partial_symbols): Likewise.
12368         (add_partial_symbol): Likewise.
12369         (add_partial_subprogram): Likewise.
12370         (peek_die_abbrev): Likewise.
12371         (fixup_go_packaging): Likewise.
12372         (process_full_comp_unit): Likewise.
12373         (process_full_type_unit): Likewise.
12374         (process_imported_unit_die): Likewise.
12375         (dwarf2_compute_name): Likewise.
12376         (dwarf2_physname): Likewise.
12377         (read_import_statement): Likewise.
12378         (create_cus_hash_table): Assign dwarf2_physname instead of
12379         objfile.
12380         (read_func_scope): Access objfile through dwarf2_per_objfile.
12381         (read_lexical_block_scope): Likewise.
12382         (read_call_site_scope): Likewise.
12383         (read_variable): Likewise.
12384         (dwarf2_rnglists_process): Likewise.
12385         (dwarf2_ranges_process): Likewise.
12386         (dwarf2_ranges_read): Likewise.
12387         (dwarf2_record_block_ranges): Likewise.
12388         (dwarf2_add_field): Likewise.
12389         (dwarf2_add_member_fn): Likewise.
12390         (read_structure_type): Likewise.
12391         (process_structure_scope): Likewise.
12392         (read_enumeration_type): Likewise.
12393         (read_array_type): Likewise.
12394         (read_common_block): Likewise.
12395         (read_namespace_type): Likewise.
12396         (read_namespace): Likewise.
12397         (read_module_type): Likewise.
12398         (read_tag_pointer_type): Likewise.
12399         (read_tag_ptr_to_member_type): Likewise.
12400         (read_tag_string_type): Likewise.
12401         (read_subroutine_type): Likewise.
12402         (read_typedef): Likewise.
12403         (read_base_type): Likewise.
12404         (attr_to_dynamic_prop): Likewise.
12405         (read_subrange_type): Likewise.
12406         (read_unspecified_type): Likewise.
12407         (load_partial_dies): Likewise.
12408         (read_partial_die): Likewise.
12409         (find_partial_die): Likewise.
12410         (guess_partial_die_structure_name): Likewise.
12411         (fixup_partial_die): Likewise.
12412         (read_attribute_value): Likewise.
12413         (read_addr_index_from_leb128): Likewise.
12414         (dwarf2_read_addr_index): Likewise.
12415         (dwarf2_string_attr): Likewise.
12416         (lnp_state_machine::check_line_address): Likewise.
12417         (dwarf_decode_lines_1): Likewise.
12418         (dwarf_decode_lines): Likewise.
12419         (dwarf2_start_symtab): Likewise.
12420         (var_decode_location): Likewise.
12421         (new_symbol_full): Likewise.
12422         (dwarf2_const_value_data): Likewise.
12423         (dwarf2_const_value_attr): Likewise.
12424         (dwarf2_const_value): Likewise.
12425         (die_type): Likewise.
12426         (die_containing_type): Likewise.
12427         (lookup_die_type): Likewise.
12428         (guess_full_die_structure_name): Likewise.
12429         (anonymous_struct_prefix): Likewise.
12430         (dwarf2_name): Likewise.
12431         (follow_die_ref_or_sig): Likewise.
12432         (follow_die_offset): Likewise.
12433         (follow_die_ref): Likewise.
12434         (dwarf2_fetch_die_loc_sect_off): Likewise.
12435         (dwarf2_fetch_constant_bytes): Likewise.
12436         (dwarf2_fetch_die_type_sect_off): Likewise.
12437         (dwarf2_get_die_type): Likewise.
12438         (follow_die_sig): Likewise.
12439         (decode_locdesc): Likewise.
12440         (dwarf2_per_cu_objfile): Likewise.
12441         (dwarf2_per_cu_text_offset): Likewise.
12442         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12443         objfile.
12444         (set_die_type): Access objfile through
12445         dwarf2_per_objfile.
12446
12447 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12448
12449         * valprint.c (converted_character_d): Remove typedef.
12450         (DEF_VEC_O (converted_character_d)): Remove.
12451         (count_next_character): Use std::vector.
12452         (print_converted_chars_to_obstack): Likewise.
12453         (generic_printstr): Likewise.
12454
12455 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12456
12457         * xml-support.h (struct gdb_xml_value): Add constructor.
12458         <value>: Change type to unique_xmalloc_ptr.
12459         (gdb_xml_value_s): Remove typedef.
12460         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12461         (gdb_xml_element_start_handler): Change parameter type to
12462         std::vector.
12463         (xml_find_attribute): Likewise.
12464         * xml-support.c (xml_find_attribute): Change parameter type to
12465         std::vector and adjust.
12466         (gdb_xml_values_cleanup): Remove.
12467         (gdb_xml_parser::start_element): Adjust to std::vector.
12468         (xinclude_start_include): Change paraeter type to std::vector
12469         and adjust.
12470         * btrace.c (check_xml_btrace_version): Likewise.
12471         (parse_xml_btrace_block): Likewise.
12472         (parse_xml_btrace_pt_config_cpu): Likewise.
12473         (parse_xml_btrace_pt): Likewise.
12474         (parse_xml_btrace_conf_bts): Likewise.
12475         (parse_xml_btrace_conf_pt): Likewise.
12476         * memory-map.c (memory_map_start_memory): Likewise.
12477         (memory_map_start_property): Likewise.
12478         * osdata.c (osdata_start_osdata): Likewise.
12479         (osdata_start_item): Likewise.
12480         (osdata_start_column): Likewise.
12481         * remote.c (start_thread): Likewise.
12482         * solib-aix.c (library_list_start_library): Likewise.
12483         (library_list_start_list): Likewise.
12484         * solib-svr4.c (library_list_start_library): Likewise.
12485         (svr4_library_list_start_list): Likewise.
12486         * solib-target.c (library_list_start_segment): Likewise.
12487         (library_list_start_section): Likewise.
12488         (library_list_start_library): Likewise.
12489         (library_list_start_list): Likewise.
12490         * tracepoint.c (traceframe_info_start_memory): Likewise.
12491         (traceframe_info_start_tvar): Likewise.
12492         * xml-syscall.c (syscall_start_syscall): Likewise.
12493         * xml-tdesc.c (tdesc_start_target): Likewise.
12494         (tdesc_start_feature): Likewise.
12495         (tdesc_start_reg): Likewise.
12496         (tdesc_start_union): Likewise.
12497         (tdesc_start_struct): Likewise.
12498         (tdesc_start_flags): Likewise.
12499         (tdesc_start_enum): Likewise.
12500         (tdesc_start_field): Likewise.
12501         (tdesc_start_enum_value): Likewise.
12502         (tdesc_start_vector): Likewise.
12503
12504 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12505
12506         * extension.h (struct xmethod_worker) <clone>: Remove.
12507         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12508         Remove.
12509         (python_xmethod_worker::clone): Remove.
12510         * valops.c (find_overload_match): Use std::move instead of
12511         clone.
12512
12513 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12514
12515         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12516         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12517         <free_xmethod_worker_data>: Remove.
12518         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12519         <get_xmethod_arg_types>: Remove.
12520         <get_xmethod_result_type>: Remove.
12521         <invoke_xmethod>: Remove.
12522         * extension.c (new_xmethod_worker): Remove.
12523         (clone_xmethod_worker): Remove.
12524         (get_matching_xmethod_workers): Return void, pass std::vector by
12525         pointer.
12526         (get_xmethod_arg_types): Rename to...
12527         (xmethod_worker::get_arg_types): ... this, and adjust.
12528         (get_xmethod_result_type): Rename to...
12529         (xmethod_worker::get_result_type): ... this, and adjust.
12530         (invoke_xmethod): Remove.
12531         (free_xmethod_worker): Remove.
12532         (free_xmethod_worker_vec): Remove.
12533         * extension.h (enum ext_lang_rc): Move here from
12534         extension-priv.h.
12535         (struct xmethod_worker): Add constructor and destructor.
12536         <data>: Remove.
12537         <value>: Remove.
12538         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12539         virtual pure methods.
12540         <get_arg_types, get_result_type>: New methods.
12541         (xmethod_worker_ptr): Remove typedef.
12542         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12543         (xmethod_worker_vec): Remove typedef.
12544         (xmethod_worker_up): New typedef.
12545         (invoke_xmethod): Remove.
12546         (clone_xmethod_worker): Remove.
12547         (free_xmethod_worker): Remove.
12548         (free_xmethod_worker_vec): Remove.
12549         (get_xmethod_arg_types): Remove.
12550         (get_xmethod_result_type): Remove.
12551         * valops.c (find_method_list): Use std::vector, don't use
12552         intermediate vector.
12553         (value_find_oload_method_list): Use std::vector.
12554         (find_overload_match): Use std::vector.
12555         (find_oload_champ): Use std::vector.
12556         * value.c (value_free): Use operator delete.
12557         (value_of_xmethod): Rename to...
12558         (value_from_xmethod): ... this.  Don't assign
12559         xmethod_worker::value, take rvalue-reference.
12560         (result_type_of_xmethod): Adjust.
12561         (call_xmethod): Adjust.
12562         * value.h: Include extension.h.
12563         (struct xmethod_worker): Don't forward-declare.
12564         (value_of_xmethod): Rename to...
12565         (value_from_xmethod): ... this, take rvalue-reference.
12566         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12567         (struct python_xmethod_worker): ... this, add constructor and
12568         destructor.
12569         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12570         (gdbpy_free_xmethod_worker_data): Rename to...
12571         (python_xmethod_worker::~python_xmethod_worker): ... this and
12572         adjust.
12573         (gdbpy_clone_xmethod_worker_data): Rename to...
12574         (python_xmethod_worker::clone): ... this and adjust.
12575         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12576         temporary vector.
12577         (gdbpy_get_xmethod_arg_types): Rename to...
12578         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12579         (gdbpy_get_xmethod_result_type): Rename to...
12580         (python_xmethod_worker::do_get_result_type): ... this and
12581         adjust.
12582         (gdbpy_invoke_xmethod): Rename to...
12583         (python_xmethod_worker::invoke): ... this and adjust.
12584         (new_python_xmethod_worker): Rename to...
12585         (python_xmethod_worker::python_xmethod_worker): ... this and
12586         adjust.
12587         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12588         Remove.
12589         (gdbpy_free_xmethod_worker_data): Remove.
12590         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12591         (gdbpy_get_xmethod_arg_types): Remove.
12592         (gdbpy_get_xmethod_result_type): Remove.
12593         (gdbpy_invoke_xmethod): Remove.
12594         * python/python.c (python_extension_ops): Remove obsolete
12595         callbacks.
12596
12597 2018-01-05  Pedro Alves  <palves@redhat.com>
12598
12599         PR gdb/18653
12600         * common/signals-state-save-restore.c
12601         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12602         find a custom handler preinstalled, instead of internal erroring.
12603         But only warn if !quiet.
12604         * common/signals-state-save-restore.h
12605         (save_original_signals_state): New parameter 'quiet'.
12606         * main.c (captured_main_1): Move save_original_signals_state call
12607         after option handling, and pass QUIET.
12608
12609 2018-01-05  Pedro Alves  <palves@redhat.com>
12610
12611         * spu-tdep.c (spu_catch_start): Pass
12612         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12613
12614 2018-01-05  Pedro Alves  <palves@redhat.com>
12615
12616         PR gdb/22670
12617         * ada-lang.c (literal_symbol_name_matcher): New function.
12618         (ada_get_symbol_name_matcher): Use it for
12619         symbol_name_match_type::SEARCH_NAME.
12620         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12621         it down instead of assuming symbol_name_match_type::FULL.
12622         * block.h (block_lookup_symbol): New parameter 'match_type'.
12623         * c-valprint.c (print_unpacked_pointer): Use
12624         lookup_symbol_search_name instead of lookup_symbol.
12625         * compile/compile-object-load.c (get_out_value_type): Pass down
12626         symbol_name_match_type::SEARCH_NAME.
12627         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12628         symbol_name_match_type::FULL.
12629         * cp-support.c (cp_get_symbol_name_matcher): Handle
12630         symbol_name_match_type::SEARCH_NAME.
12631         * infrun.c (insert_exception_resume_breakpoint): Use
12632         lookup_symbol_search_name.
12633         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12634         * psymtab.c (maintenance_check_psymtabs): Use
12635         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12636         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12637         SYMBOL_SEARCH_NAME.
12638         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12639         if symbol_name_match_type::SEARCH_NAME.
12640         (lookup_symbol_in_language): Pass down
12641         symbol_name_match_type::FULL.
12642         (lookup_symbol_search_name): New.
12643         (lookup_language_this): Pass down
12644         symbol_name_match_type::SEARCH_NAME.
12645         (lookup_symbol_aux, lookup_local_symbol): New parameter
12646         'match_type'.  Pass it down.
12647         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12648         (lookup_symbol_search_name): New declaration.
12649         (lookup_symbol_in_block): New 'match_type' parameter.
12650
12651 2018-01-05  Pedro Alves  <palves@redhat.com>
12652
12653         PR gdb/22670
12654         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12655         ada_lookup_symbol.
12656         (ada_lookup_symbol): Reimplement in terms of
12657         ada_lookup_symbol_list, bits factored out from
12658         ada_lookup_encoded_symbol.
12659
12660 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12661
12662         * ada-exp.y (write_object_renaming): When subscripting an array
12663         using a symbol as the index, pass the block in call to
12664         ada_lookup_encoded_symbol when looking that symbol up.
12665
12666 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12667
12668         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12669         TYPE_INDEX_TYPE.
12670
12671 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12672
12673         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12674         the case where VALUE_LVAL (val0) is not lval_memory.
12675
12676 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12677
12678         * ada-valprint.c (print_optional_low_bound): Handle
12679         character-indexed array printing like boolean-indexed array
12680         printing.
12681
12682 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12683
12684         * NEWS: Create a new section for the next release branch.
12685         Rename the section of the current branch, now that it has
12686         been cut.
12687
12688 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12689
12690         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12691         * version.in: Bump version to 8.1.50.DATE-git.
12692
12693 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12694
12695         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12696         Add field.
12697         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12698         Add field.
12699         (default_exception_support_info) <catch_handlers_sym>: Add field.
12700         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12701         (ada_exception_name_addr_1): Add "catch handlers" handling.
12702         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12703         Update all callers.
12704         (create_excep_cond_exprs) <ex>: Add parameter.
12705         (re_set_exception): Update create_excep_cond_exprs call.
12706         (print_it_exception, print_one_exception, print_mention_exception)
12707         (print_recreate_exception): Add "catch handler" handling.
12708         (allocate_location_catch_handlers, re_set_catch_handlers)
12709         (check_status_catch_handlers, print_it_catch_handlers)
12710         (print_one_catch_handlers, print_mention_catch_handlers)
12711         (print_recreate_catch_handlers): New function.
12712         (catch_handlers_breakpoint_ops): New variable.
12713         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12714         Add parameter.  Add "catch handler" handling.
12715         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12716         Add "catch handler" handling.
12717         (ada_exception_catchpoint_cond_string): Add "catch handler"
12718         handling.
12719         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12720         call.
12721         (catch_ada_handlers_command): New function.
12722         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12723         operations structure.
12724         (_initialize_ada_language): Add "catch handlers" command entry.
12725         * NEWS: Document "catch handlers" feature.
12726
12727 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12728
12729         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12730         account when creating the array type of the slice.
12731         (ada_value_slice): Likewise.
12732
12733 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12734
12735         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12736         New enum value.
12737         (create_array_type_with_stride): Add byte_stride_prop parameter.
12738         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12739         New parameter.  Update all callers in this file.
12740         (array_type_has_dynamic_stride): New function.
12741         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12742         of arrays with dynamic byte strides.
12743         * dwarf2read.c (read_array_type): Add support for dynamic
12744         DW_AT_byte_stride attributes.
12745
12746 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12747
12748         * dwarf2read.c (read_unspecified_type): Treat
12749         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12750
12751 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12752
12753         Update copyright year range in all GDB files.
12754
12755 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12756
12757         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12758         and gdb/testsuite/gdb.base/step-line.c.
12759
12760 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12761
12762         * copyright.py (main): Dump the contents of
12763         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12764         even if BY_HAND is empty.
12765
12766 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12767
12768         * top.c (print_gdb_version): Update Copyright year in version
12769         message.
12770
12771 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12772
12773         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12774
12775 For older changes see ChangeLog-2017.
12776 \f
12777 Local Variables:
12778 mode: change-log
12779 left-margin: 8
12780 fill-column: 74
12781 version-control: never
12782 coding: utf-8
12783 End: