C++ compile support
[external/binutils.git] / gdb / ChangeLog
1 2018-08-29  Keith Seitz  <keiths@redhat.com>
2
3         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
4         and compile-cplus-types.c.
5         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
6         * c-lang.c (cplus_language_defn): Set C++ compile functions.
7         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
8         Declare.
9         * compile/compile-c-support.c: Include compile-cplus.h.
10         (load_libcompile): Templatize.
11         (get_compile_context): "New" function.
12         (c_get_compile_context): Use get_compile_context.
13         (cplus_get_compile_context): New function.
14         (cplus_push_user_expression, cplus_pop_user_expression)
15         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
16         (cplus_compute_program): Define new structs/functions.
17         * compile/compile-cplus-symmbols.c: New file.
18         * compile/compile-cplus-types.c: New file.
19         * compile/compile-cplus.h: New file.
20         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
21         Declare.
22         * compile/compile-object-load.c (get_out_value_type): Use
23         strncmp_iw when comparing symbol names.
24         (compile_object_load): Add mst_bss and mst_data.
25         * compile/compile.c (_initialize_compile): Remove
26         -Wno-implicit-function-declaration from `compile_args'.
27         * compile/gcc-cp-plugin.h: New file.
28         * NEWS: Mention C++ compile support and new debug options.
29
30 2018-08-29  Keith Seitz  <keiths@redhat.com>
31
32         * linespec.c (collect_info::add_symbol): Make virtual.
33         (struct symbol_searcher_collect_info): New struct.
34         (symbol_searcher::find_all_symbols): New method.
35         * symtab.h (class symbol_searcher): New class.
36
37 2018-08-29  Keith Seitz  <keiths@redhat.com>
38
39         * linespec.c (struct linespec) <function_symbols, label_symbols>:
40         Change to vector of block_symbol.  Update all users.
41         (struct collect_info) <symbols>: Likewise.
42         (collect_info::add_symbol): Take block_symbol as argument.
43         Update all callers.
44         (decode_compound_collector) <m_symbols>: Change type to vector
45         of block_symbol.  Update all users.
46         (decode_compound_collector::operator ()): Change parameter type
47         to block_symbol.
48         (find_method, find_function_symbols, find_linespec_symbols)
49         (find_label_symbols_in_block, find_label_symbols): Change symbol
50         vectors to block_symbol vectors.
51         * symtab.h (symbol_found_callback_ftype): Change parameter type to
52         block_symbol.
53
54 2018-08-29  Keith Seitz  <keiths@redhat.com>
55
56         * linespec.c (symbolp): Remove typedef and VEC definitions.
57         (bound_minimal_symbol_d): Likewise.
58
59 2018-08-29  Keith Seitz  <keiths@redhat.com>
60
61         * linespec.c (decode_compound_collector::decode_compound_collector):
62         Remove initialization for `m_symtabs'.
63         (decode_compound_collector::release_symbols): Change return type
64         to std::vector.  Update all callers.
65         (class decode_compound_collector) <m_symbols>: Change type to
66         std::vector.
67         (lookup_prefix_sym): Change return type to std::vector.  Update all
68         callers.
69         (compare_symbols): Remove.
70         (std_compare_symbols): Rename to `compare_symbols'.
71         (find_method): Change `sym_classes' parameter to std::vector.
72         Update all callers.  Use std::sort to sort sym_classes.
73         (find_linespec_symbols): Remove cleanup.
74
75 2018-08-29  Keith Seitz  <keiths@redhat.com>
76
77         * linespec.c (struct linespec) <minimal_symbols>: Change type to
78         std::vector.  Update all users.
79         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
80         (struct collect_info) <minimal_symbols>: Likewise.
81         (compare_msymbols): Return bool.  Change parameters to const
82         bound_minimal_symbol references.
83         (find_method, find_function_symbols, find_linespec_symbols): Change
84         `minsyms' parameter to std::vector.  Update all callers.
85
86 2018-08-29  Keith Seitz  <keiths@redhat.com>
87
88         * linespec.c (struct linespec) <label_symbols>: Change type to
89         std::vector.  Update all users.
90         (find_label_symbols_in_block): Change `result' parameter to
91         std::vector.  Update all callers.
92         (find_label_symbols): Return std::vector.  Update all callers.
93
94 2018-08-29  Keith Seitz  <keiths@redhat.com>
95
96         * linespec.c (struct linespec) <function_symbols>: Change type to
97         std::vector.  Update all users.
98         (struct collect_info) <function_symbols>: Likewise.
99         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
100         (std_compare_symbols): New function.
101         (find_method, find_function_symbols, find_linespec_symbols)
102         (find_label_symbols_in_block): Change `symbols' parameter to
103         std::vector.  Update all callers.
104         (find_label_symbols): Likewise for `function_symbols' and
105         `label_funcs_ret'.
106
107 2018-08-29  Keith Seitz  <keiths@redhat.com>
108
109         * linespec.c (symtab_vector_up): Define.
110         (struct linespec) <file_symtabs>: Change type to std::vector *.
111         Update all uses.
112         (struct collect_info) <file_symtabs>: Likewise.
113         (collect_symtabs_from_filename): Return symtab_vector_up.
114         Update all callers.
115         (decode_objc): Remove cleanup.
116         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
117         (symtab_collector::release_symtabs): Return symtab_vector_up.
118         Update all callers.
119         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
120         Update all users.
121         (collect_symtabs_from_filename, symtabs_from_filename): Return
122         symtab_vector_up.  Update all callers.
123
124 2018-08-29  Tom Tromey  <tom@tromey.com>
125
126         * csky-tdep.c (csky_analyze_prologue): Use
127         core_addr_to_string_nz.
128
129 2018-08-29  Tom Tromey  <tom@tromey.com>
130
131         * windows-nat.c (struct xlate_exception) <them>: Change type to
132         DWORD.
133         (xlate): Fix formatting.  Remove last entry.
134         (struct xlate_exception, xlate): Comment out.
135         (windows_nat_target::resume): Use ranged for.
136
137 2018-08-29  Jim Wilson  <jimw@sifive.com>
138
139         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
140         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
141         of NT_PRFPREG.
142         (riscv_linux_nat_target::store_registers): Likewise.
143
144 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
145
146         PR gdb/23555
147         PR gdb/23558
148         * gnulib/aclocal.m4: Regenerate.
149         * gnulib/config.in: Regenerate.
150         * gnulib/configure: Regenerate.
151         * gnulib/import/Makefile.am: Update.
152         * gnulib/import/Makefile.in: Update.
153         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
154         * gnulib/import/_Noreturn.h: ... this.
155         * gnulib/import/alloca.in.h: Update.
156         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
157         * gnulib/import/arg-nonnull.h: ... this.
158         * gnulib/import/assure.h: Update.
159         * gnulib/import/at-func.c: Update.
160         * gnulib/import/basename-lgpl.c: Update.
161         * gnulib/import/extra/snippet/c++defs.h: Rename to...
162         * gnulib/import/c++defs.h: ... this.
163         * gnulib/import/canonicalize-lgpl.c: Update.
164         * gnulib/import/cdefs.h: Update.
165         * gnulib/import/chdir-long.c: Update.
166         * gnulib/import/chdir-long.h: Update.
167         * gnulib/import/cloexec.c: Update.
168         * gnulib/import/cloexec.h: Update.
169         * gnulib/import/close.c: Update.
170         * gnulib/import/closedir.c: Update.
171         * gnulib/import/config.charset: Update.
172         * gnulib/import/dirent-private.h: Update.
173         * gnulib/import/dirent.in.h: Update.
174         * gnulib/import/dirfd.c: Update.
175         * gnulib/import/dirname-lgpl.c: Update.
176         * gnulib/import/dirname.h: Update.
177         * gnulib/import/dosname.h: Update.
178         * gnulib/import/dup-safer-flag.c: Update.
179         * gnulib/import/dup-safer.c: Update.
180         * gnulib/import/dup.c: Update.
181         * gnulib/import/dup2.c: Update.
182         * gnulib/import/errno.in.h: Update.
183         * gnulib/import/error.c: Update.
184         * gnulib/import/error.h: Update.
185         * gnulib/import/exitfail.c: Update.
186         * gnulib/import/exitfail.h: Update.
187         * gnulib/import/extra/update-copyright: Update.
188         * gnulib/import/fchdir.c: Update.
189         * gnulib/import/fcntl.c: Update.
190         * gnulib/import/fcntl.in.h: Update.
191         * gnulib/import/fd-hook.c: Update.
192         * gnulib/import/fd-hook.h: Update.
193         * gnulib/import/fd-safer-flag.c: Update.
194         * gnulib/import/fd-safer.c: Update.
195         * gnulib/import/fdopendir.c: Update.
196         * gnulib/import/filename.h: Update.
197         * gnulib/import/filenamecat-lgpl.c: Update.
198         * gnulib/import/filenamecat.h: Update.
199         * gnulib/import/flexmember.h: Update.
200         * gnulib/import/float+.h: Update.
201         * gnulib/import/float.c: Update.
202         * gnulib/import/float.in.h: Update.
203         * gnulib/import/fnmatch.c: Update.
204         * gnulib/import/fnmatch.in.h: Update.
205         * gnulib/import/fnmatch_loop.c: Update.
206         * gnulib/import/fpucw.h: Update.
207         * gnulib/import/frexp.c: Update.
208         * gnulib/import/frexpl.c: Update.
209         * gnulib/import/fstat.c: Update.
210         * gnulib/import/fstatat.c: Update.
211         * gnulib/import/getcwd-lgpl.c: Update.
212         * gnulib/import/getcwd.c: Update.
213         * gnulib/import/getdtablesize.c: Update.
214         * gnulib/import/getlogin_r.c: Update.
215         * gnulib/import/getprogname.c: Update.
216         * gnulib/import/getprogname.h: Update.
217         * gnulib/import/gettext.h: Update.
218         * gnulib/import/gettimeofday.c: Update.
219         * gnulib/import/glob-libc.h: Update.
220         * gnulib/import/glob.c: Update.
221         * gnulib/import/glob.in.h: Update.
222         * gnulib/import/glob_internal.h: Update.
223         * gnulib/import/glob_pattern_p.c: Update.
224         * gnulib/import/globfree.c: Update.
225         * gnulib/import/hard-locale.c: Update.
226         * gnulib/import/hard-locale.h: Update.
227         * gnulib/import/intprops.h: Update.
228         * gnulib/import/inttypes.in.h: Update.
229         * gnulib/import/isnan.c: Update.
230         * gnulib/import/isnand-nolibm.h: Update.
231         * gnulib/import/isnand.c: Update.
232         * gnulib/import/isnanl-nolibm.h: Update.
233         * gnulib/import/isnanl.c: Update.
234         * gnulib/import/itold.c: Update.
235         * gnulib/import/libc-config.h: Update.
236         * gnulib/import/limits.in.h: Update.
237         * gnulib/import/localcharset.c: Update.
238         * gnulib/import/localcharset.h: Update.
239         * gnulib/import/localtime-buffer.c: Update.
240         * gnulib/import/localtime-buffer.h: Update.
241         * gnulib/import/lstat.c: Update.
242         * gnulib/import/m4/00gnulib.m4: Update.
243         * gnulib/import/m4/__inline.m4: Update.
244         * gnulib/import/m4/absolute-header.m4: Update.
245         * gnulib/import/m4/alloca.m4: Update.
246         * gnulib/import/m4/builtin-expect.m4: Update.
247         * gnulib/import/m4/canonicalize.m4: Update.
248         * gnulib/import/m4/chdir-long.m4: Update.
249         * gnulib/import/m4/close.m4: Update.
250         * gnulib/import/m4/closedir.m4: Update.
251         * gnulib/import/m4/configmake.m4: Update.
252         * gnulib/import/m4/d-ino.m4: Update.
253         * gnulib/import/m4/d-type.m4: Update.
254         * gnulib/import/m4/dirent_h.m4: Update.
255         * gnulib/import/m4/dirfd.m4: Update.
256         * gnulib/import/m4/dirname.m4: Update.
257         * gnulib/import/m4/double-slash-root.m4: Update.
258         * gnulib/import/m4/dup.m4: Update.
259         * gnulib/import/m4/dup2.m4: Update.
260         * gnulib/import/m4/eealloc.m4: Update.
261         * gnulib/import/m4/environ.m4: Update.
262         * gnulib/import/m4/errno_h.m4: Update.
263         * gnulib/import/m4/error.m4: Update.
264         * gnulib/import/m4/exponentd.m4: Update.
265         * gnulib/import/m4/exponentl.m4: Update.
266         * gnulib/import/m4/extensions.m4: Update.
267         * gnulib/import/m4/extern-inline.m4: Update.
268         * gnulib/import/m4/fchdir.m4: Update.
269         * gnulib/import/m4/fcntl-o.m4: Update.
270         * gnulib/import/m4/fcntl.m4: Update.
271         * gnulib/import/m4/fcntl_h.m4: Update.
272         * gnulib/import/m4/fdopendir.m4: Update.
273         * gnulib/import/m4/filenamecat.m4: Update.
274         * gnulib/import/m4/flexmember.m4: Update.
275         * gnulib/import/m4/float_h.m4: Update.
276         * gnulib/import/m4/fnmatch.m4: Update.
277         * gnulib/import/m4/fnmatch_h.m4: Update.
278         * gnulib/import/m4/fpieee.m4: Update.
279         * gnulib/import/m4/frexp.m4: Update.
280         * gnulib/import/m4/frexpl.m4: Update.
281         * gnulib/import/m4/fstat.m4: Update.
282         * gnulib/import/m4/fstatat.m4: Update.
283         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
284         * gnulib/import/m4/getcwd-path-max.m4: Update.
285         * gnulib/import/m4/getcwd.m4: Update.
286         * gnulib/import/m4/getdtablesize.m4: Update.
287         * gnulib/import/m4/getlogin.m4: Update.
288         * gnulib/import/m4/getlogin_r.m4: Update.
289         * gnulib/import/m4/getpagesize.m4: Update.
290         * gnulib/import/m4/getprogname.m4: Update.
291         * gnulib/import/m4/gettimeofday.m4: Update.
292         * gnulib/import/m4/glibc21.m4: Update.
293         * gnulib/import/m4/glob.m4: Update.
294         * gnulib/import/m4/glob_h.m4: Update.
295         * gnulib/import/m4/gnulib-cache.m4: Update.
296         * gnulib/import/m4/gnulib-common.m4: Update.
297         * gnulib/import/m4/gnulib-comp.m4: Update.
298         * gnulib/import/m4/gnulib-tool.m4: Update.
299         * gnulib/import/m4/hard-locale.m4: Update.
300         * gnulib/import/m4/include_next.m4: Update.
301         * gnulib/import/m4/inttypes-pri.m4: Update.
302         * gnulib/import/m4/inttypes.m4: Update.
303         * gnulib/import/m4/isnand.m4: Update.
304         * gnulib/import/m4/isnanl.m4: Update.
305         * gnulib/import/m4/largefile.m4: Update.
306         * gnulib/import/m4/limits-h.m4: Update.
307         * gnulib/import/m4/localcharset.m4: Update.
308         * gnulib/import/m4/locale-fr.m4: Update.
309         * gnulib/import/m4/locale-ja.m4: Update.
310         * gnulib/import/m4/locale-zh.m4: Update.
311         * gnulib/import/m4/localtime-buffer.m4: Update.
312         * gnulib/import/m4/longlong.m4: Update.
313         * gnulib/import/m4/lstat.m4: Update.
314         * gnulib/import/m4/malloc.m4: Update.
315         * gnulib/import/m4/malloca.m4: Update.
316         * gnulib/import/m4/math_h.m4: Update.
317         * gnulib/import/m4/mbrtowc.m4: Update.
318         * gnulib/import/m4/mbsinit.m4: Update.
319         * gnulib/import/m4/mbsrtowcs.m4: Update.
320         * gnulib/import/m4/mbstate_t.m4: Update.
321         * gnulib/import/m4/memchr.m4: Update.
322         * gnulib/import/m4/memmem.m4: Update.
323         * gnulib/import/m4/mempcpy.m4: Update.
324         * gnulib/import/m4/memrchr.m4: Update.
325         * gnulib/import/m4/mkdir.m4: Update.
326         * gnulib/import/m4/mkstemp.m4: Update.
327         * gnulib/import/m4/mmap-anon.m4: Update.
328         * gnulib/import/m4/mode_t.m4: Update.
329         * gnulib/import/m4/msvc-inval.m4: Update.
330         * gnulib/import/m4/msvc-nothrow.m4: Update.
331         * gnulib/import/m4/multiarch.m4: Update.
332         * gnulib/import/m4/nocrash.m4: Update.
333         * gnulib/import/m4/off_t.m4: Update.
334         * gnulib/import/m4/onceonly.m4: Update.
335         * gnulib/import/m4/open-cloexec.m4: Update.
336         * gnulib/import/m4/open.m4: Update.
337         * gnulib/import/m4/openat.m4: Update.
338         * gnulib/import/m4/opendir.m4: Update.
339         * gnulib/import/m4/pathmax.m4: Update.
340         * gnulib/import/m4/rawmemchr.m4: Update.
341         * gnulib/import/m4/readdir.m4: Update.
342         * gnulib/import/m4/readlink.m4: Update.
343         * gnulib/import/m4/realloc.m4: Update.
344         * gnulib/import/m4/rename.m4: Update.
345         * gnulib/import/m4/rewinddir.m4: Update.
346         * gnulib/import/m4/rmdir.m4: Update.
347         * gnulib/import/m4/save-cwd.m4: Update.
348         * gnulib/import/m4/secure_getenv.m4: Update.
349         * gnulib/import/m4/setenv.m4: Update.
350         * gnulib/import/m4/signal_h.m4: Update.
351         * gnulib/import/m4/ssize_t.m4: Update.
352         * gnulib/import/m4/stat-time.m4: Update.
353         * gnulib/import/m4/stat.m4: Update.
354         * gnulib/import/m4/std-gnu11.m4: Update.
355         * gnulib/import/m4/stdbool.m4: Update.
356         * gnulib/import/m4/stddef_h.m4: Update.
357         * gnulib/import/m4/stdint.m4: Update.
358         * gnulib/import/m4/stdio_h.m4: Update.
359         * gnulib/import/m4/stdlib_h.m4: Update.
360         * gnulib/import/m4/strchrnul.m4: Update.
361         * gnulib/import/m4/strdup.m4: Update.
362         * gnulib/import/m4/strerror.m4: Update.
363         * gnulib/import/m4/string_h.m4: Update.
364         * gnulib/import/m4/strstr.m4: Update.
365         * gnulib/import/m4/strtok_r.m4: Update.
366         * gnulib/import/m4/sys_socket_h.m4: Update.
367         * gnulib/import/m4/sys_stat_h.m4: Update.
368         * gnulib/import/m4/sys_time_h.m4: Update.
369         * gnulib/import/m4/sys_types_h.m4: Update.
370         * gnulib/import/m4/tempname.m4: Update.
371         * gnulib/import/m4/time_h.m4: Update.
372         * gnulib/import/m4/unistd-safer.m4: Update.
373         * gnulib/import/m4/unistd_h.m4: Update.
374         * gnulib/import/m4/warn-on-use.m4: Update.
375         * gnulib/import/m4/wchar_h.m4: Update.
376         * gnulib/import/m4/wchar_t.m4: Update.
377         * gnulib/import/m4/wctype_h.m4: Update.
378         * gnulib/import/m4/wint_t.m4: Update.
379         * gnulib/import/malloc.c: Update.
380         * gnulib/import/malloc/scratch_buffer.h: Update.
381         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
382         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
383         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
384         * gnulib/import/malloca.c: Update.
385         * gnulib/import/malloca.h: Update.
386         * gnulib/import/malloca.valgrind: Update.
387         * gnulib/import/math.in.h: Update.
388         * gnulib/import/mbrtowc.c: Update.
389         * gnulib/import/mbsinit.c: Update.
390         * gnulib/import/mbsrtowcs-impl.h: Update.
391         * gnulib/import/mbsrtowcs-state.c: Update.
392         * gnulib/import/mbsrtowcs.c: Update.
393         * gnulib/import/memchr.c: Update.
394         * gnulib/import/memmem.c: Update.
395         * gnulib/import/mempcpy.c: Update.
396         * gnulib/import/memrchr.c: Update.
397         * gnulib/import/mkdir.c: Update.
398         * gnulib/import/mkstemp.c: Update.
399         * gnulib/import/msvc-inval.c: Update.
400         * gnulib/import/msvc-inval.h: Update.
401         * gnulib/import/msvc-nothrow.c: Update.
402         * gnulib/import/msvc-nothrow.h: Update.
403         * gnulib/import/open.c: Update.
404         * gnulib/import/openat-die.c: Update.
405         * gnulib/import/openat-priv.h: Update.
406         * gnulib/import/openat-proc.c: Update.
407         * gnulib/import/openat.c: Update.
408         * gnulib/import/openat.h: Update.
409         * gnulib/import/opendir.c: Update.
410         * gnulib/import/pathmax.h: Update.
411         * gnulib/import/pipe-safer.c: Update.
412         * gnulib/import/rawmemchr.c: Update.
413         * gnulib/import/readdir.c: Update.
414         * gnulib/import/readlink.c: Update.
415         * gnulib/import/realloc.c: Update.
416         * gnulib/import/ref-add.sin: Update.
417         * gnulib/import/ref-del.sin: Update.
418         * gnulib/import/rename.c: Update.
419         * gnulib/import/rewinddir.c: Update.
420         * gnulib/import/rmdir.c: Update.
421         * gnulib/import/same-inode.h: Update.
422         * gnulib/import/save-cwd.c: Update.
423         * gnulib/import/save-cwd.h: Update.
424         * gnulib/import/scratch_buffer.h: Update.
425         * gnulib/import/secure_getenv.c: Update.
426         * gnulib/import/setenv.c: Update.
427         * gnulib/import/signal.in.h: Update.
428         * gnulib/import/stat-time.c: Update.
429         * gnulib/import/stat-time.h: Update.
430         * gnulib/import/stat-w32.c: Update.
431         * gnulib/import/stat-w32.h: Update.
432         * gnulib/import/stat.c: Update.
433         * gnulib/import/stdbool.in.h: Update.
434         * gnulib/import/stddef.in.h: Update.
435         * gnulib/import/stdint.in.h: Update.
436         * gnulib/import/stdio.in.h: Update.
437         * gnulib/import/stdlib.in.h: Update.
438         * gnulib/import/str-two-way.h: Update.
439         * gnulib/import/strchrnul.c: Update.
440         * gnulib/import/strdup.c: Update.
441         * gnulib/import/streq.h: Update.
442         * gnulib/import/strerror-override.c: Update.
443         * gnulib/import/strerror-override.h: Update.
444         * gnulib/import/strerror.c: Update.
445         * gnulib/import/string.in.h: Update.
446         * gnulib/import/stripslash.c: Update.
447         * gnulib/import/strnlen1.c: Update.
448         * gnulib/import/strnlen1.h: Update.
449         * gnulib/import/strstr.c: Update.
450         * gnulib/import/strtok_r.c: Update.
451         * gnulib/import/sys_stat.in.h: Update.
452         * gnulib/import/sys_time.in.h: Update.
453         * gnulib/import/sys_types.in.h: Update.
454         * gnulib/import/tempname.c: Update.
455         * gnulib/import/tempname.h: Update.
456         * gnulib/import/time.in.h: Update.
457         * gnulib/import/unistd--.h: Update.
458         * gnulib/import/unistd-safer.h: Update.
459         * gnulib/import/unistd.in.h: Update.
460         * gnulib/import/unsetenv.c: Update.
461         * gnulib/import/verify.h: Update.
462         * gnulib/import/extra/snippet/warn-on-use.h: Update.
463         * gnulib/import/wchar.in.h: Update.
464         * gnulib/import/wctype.in.h: Update.
465         * gnulib/import/xalloc-oversized.h: Update.
466         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
467         "53e2c179f26a890fa6685af4b6c1397ee370433b".
468
469 2018-08-16  Gary Benson <gbenson@redhat.com>
470
471         PR gdb/13000:
472         * gdb/main.c (captured_main_1): Exit with nonzero status
473         in batch mode if the last command to be executed failed.
474         * NEWS: Mention the above.
475
476 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
477
478         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
479         end of warning message.
480
481 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
482
483         PR gdb/22943:
484         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
485         (aarch64_extract_return_value): Use
486         aapcs_is_vfp_call_or_return_candidate.
487         (aarch64_return_in_memory): Likewise.
488         (aarch64_store_return_value): Likewise.
489
490 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
491
492         * aarch64-tdep.c
493         (aapcs_is_vfp_call_or_return_candidate): Make static
494         (pass_in_v_or_stack): Remove function.
495         (pass_in_v_vfp_candidate): New function.
496         (aarch64_push_dummy_call): Check for float register candidates.
497
498 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
499
500         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
501         (aapcs_is_vfp_call_or_return_candidate_1): New function.
502         (aapcs_is_vfp_call_or_return_candidate): Likewise.
503
504 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
505
506         PR build/23399
507         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
508         (struct ipa_sym_addresses): Rename to...
509         (struct ipa_sym_addresses_common): ... this.
510         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
511
512 2018-08-28  Tom Tromey  <tom@tromey.com>
513
514         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
515         (token_fifo): Now a std::vector.
516         (yylex, c_parse): Update.
517         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
518         (token_fifo): Now a std::vector.
519         (yylex, d_parse): Update.
520         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
521         (token_fifo): Now a std::vector.
522         (yylex, go_parse): Update.
523
524 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
525
526         * parser-defs.h (struct type_stack) <elements>: Change type to
527         std::vector<union type_stack_elt>.
528         <depth, size>: Remove.
529         * parse.c (parse_exp_in_context_1): Adjust.
530         (type_stack_reserve): Remove.
531         (check_type_stack_depth): Remove.
532         (insert_into_type_stack): Adjust to std::vector.
533         (insert_type): Likewise.
534         (push_type): Likewise.
535         (push_type_int): Likewise.
536         (insert_type_address_space): Likewise.
537         (pop_type): Likewise.
538         (pop_type_int): Likewise.
539         (pop_typelist): Likewise.
540         (pop_type_stack): Likewise.
541         (append_type_stack): Likewise.
542         (push_type_stack): Likewise.
543         (get_type_stack): Likewise.
544         (type_stack_cleanup): Likewise.
545         (push_typelist): Likewise.
546         (follow_types): Likewise.
547         (_initialize_parse): Likewise.
548
549 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
550
551         * NEWS: Mention csky target.
552
553 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
554             Hafiz Abid Qadeer  <abidh@codesourcery.com>
555             Don Breazeal  <donb@codesourcery.com>
556
557         * csky-linux-tdep.c: New file.
558         * csky-tdep.c: Likewise.
559         * csky-tdep.h: Likewise.
560         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
561         csky-tdep.o.
562         (HFILES_NO_SRCDIR): Add csky-tdep.h.
563         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
564         * configure.tgt: Add csky support.
565
566 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
567
568         * python/py-framefilter.c (py_print_frame): Print frame architecture
569         when printing on an MI output.
570
571 2018-08-27  Tom Tromey  <tom@tromey.com>
572
573         PR build/23087:
574         * configure: Rebuild.
575         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
576
577 2018-08-27  Tom Tromey  <tom@tromey.com>
578
579         * aarch64-linux-tdep.c
580         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
581         casts to int.
582
583 2018-08-27  Tom Tromey  <tom@tromey.com>
584
585         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
586         unsigned.
587         (ppc64_standard_linkage1, ppc64_standard_linkage2)
588         (ppc64_standard_linkage3, ppc64_standard_linkage4)
589         (ppc64_standard_linkage5, ppc64_standard_linkage6)
590         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
591         unsigned.
592
593 2018-08-27  Tom Tromey  <tom@tromey.com>
594
595         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
596         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
597
598 2018-08-27  Tom Tromey  <tom@tromey.com>
599
600         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
601         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
602         ULONGEST_MAX.
603         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
604         ULONGEST_MAX.
605         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
606         ULONGEST_MAX.
607         * sparc-linux-tdep.c (sparc32_linux_sigframe)
608         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
609         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
610         ULONGEST_MAX.
611         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
612         (ppc64_linux_sigaction_tramp_frame)
613         (ppc32_linux_sighandler_tramp_frame)
614         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
615         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
616         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
617         * mn10300-linux-tdep.c (am33_linux_sigframe)
618         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
619         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
620         * mips-linux-tdep.c (mips_linux_o32_sigframe)
621         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
622         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
623         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
624         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
625         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
626         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
627         * microblaze-linux-tdep.c
628         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
629         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
630         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
631         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
632         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
633         * common/common-types.h (ULONGEST_MAX): New define.
634         (CORE_ADDR_MAX): Fix formatting.
635         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
636         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
637         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
638         (arm_linux_rt_sigreturn_tramp_frame)
639         (arm_eabi_linux_sigreturn_tramp_frame)
640         (arm_eabi_linux_rt_sigreturn_tramp_frame)
641         (thumb2_eabi_linux_sigreturn_tramp_frame)
642         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
643         (arm_linux_restart_syscall_tramp_frame)
644         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
645         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
646         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
647         ULONGEST_MAX.
648         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
649
650 2018-08-27  Tom Tromey  <tom@tromey.com>
651
652         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
653         CORE_ADDR_MAX.
654         * mips-tdep.c (mips_deal_with_atomic_sequence)
655         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
656         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
657         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
658         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
659         CORE_ADDR_MAX.
660         * aarch64-tdep.c (aarch64_software_single_step): Use
661         CORE_ADDR_MAX.
662
663 2018-08-27  Tom Tromey  <tom@tromey.com>
664
665         * linespec.c (complete_linespec_component): Add cast to "char".
666         * completer.c (completion_tracker::build_completion_result): Add
667         cast to "char".
668
669 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
670
671         * solist.h (struct solist, struct target_so_ops): Fix
672         indentation.
673
674 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
675
676         * ada-tasks.c (ada_task_info_s): Remove typedef.
677         (DEF_VEC_O(ada_task_info_s)): Remove.
678         (struct ada_tasks_inferior_data): Initialize fields.
679         <task_list>: Make an std::vector.
680         (get_ada_tasks_inferior_data): Allocate with new.
681         (ada_get_task_number): Adjust.
682         (get_task_number_from_id): Likewise.
683         (valid_task_id): Likewise.
684         (ada_get_task_info_from_ptid): Likewise.
685         (iterate_over_live_ada_tasks): Likewise.
686         (add_ada_task): Likewise.
687         (read_known_tasks): Likewise.
688         (ada_build_task_list): Likewise.
689         (print_ada_task_info): Likewise.
690         (info_task): Likewise.
691         (task_command_1): Likewise.
692
693 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
694
695         * ada-lang.c (add_angle_brackets): Return std::string.
696
697 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
698
699         * python/py-threadevent.c (py_get_event_thread): Initialize
700         pythread.
701
702 2018-08-24  Pedro Alves  <palves@redhat.com>
703
704         * python/py-bpevent.c (create_breakpoint_event_object): Use
705         copy-initialization.
706         * python/py-continueevent.c (emit_continue_event): Use
707         copy-initialization.
708         * python/py-exitedevent.c (create_exited_event_object): Return a
709         gdbpy_ref<>.
710         (emit_exited_event): Use copy-initialization.
711         * python/py-inferior.c (python_new_inferior)
712         (python_inferior_deleted, add_thread_object): Use
713         copy-initialization.
714         * python/py-infevents.c (create_inferior_call_event_object)
715         (create_register_changed_event_object)
716         (create_memory_changed_event_object): Return a gdbpy_ref<>.
717         (emit_inferior_call_event, emit_memory_changed_event)
718         (emit_register_changed_event): Use copy-initialization.
719         * python/py-newobjfileevent.c (create_new_objfile_event_object):
720         Return a gdbpy_ref<>.
721         (emit_new_objfile_event): Use copy-initialization.
722         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
723         (emit_clear_objfiles_event): Use copy-initialization.
724         * python/py-signalevent.c (create_signal_event_object): Use
725         copy-initialization.
726         * python/py-threadevent.c (create_thread_event_object): Use
727         copy-initialization.
728
729 2018-08-24  Pedro Alves  <palves@redhat.com>
730             Simon Marchi  <simon.marchi@ericsson.com>
731
732         PR gdb/23379
733         * python/py-continueevent.c: Include "gdbthread.h".
734         (create_continue_event_object): Add intro comment.  Add 'ptid'
735         parameter.  Use it to find thread to pass to
736         create_thread_event_object.
737         (emit_continue_event): Pass PTID down to
738         create_continue_event_object.
739         * python/py-event.h (py_get_event_thread): Declare.
740         (create_thread_event_object): Remove default from 'thread'
741         parameter.
742         * python/py-stopevent.c (create_stop_event_object): Use
743         py_get_event_thread.
744         * python/py-threadevent.c (get_event_thread): Rename to ...
745         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
746         and use it to find the thread.
747         (create_thread_event_object): Assert that THREAD isn't null.
748         Don't find the event thread here.
749
750 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
751
752         * block.h (blockrange, blockranges): New struct declarations.
753         (struct block): Add new field named `ranges'.
754         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
755         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
756         macros for accessing ranges in struct block.
757         (make_blockranges): New declaration.
758         block.c (make_blockranges): New function.
759         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
760         for block.
761         * symtab.h (find_pc_partial_function): Add new parameter `block'.
762         * blockframe.c (cache_pc_function_block): New static global.
763         (clear_pc_function_cache): Clear cache_pc_function_block.
764         (find_pc_partial_function): Move comment to symtab.h.  Add
765         support for non-contiguous blocks.
766         * cli/cli-cmds.c (block.h): Include.
767         (print_disassembly): Handle printing of non-contiguous blocks.
768         (disassemble_current_function): Likewise.
769         (disassemble_command): Likewise.
770
771         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
772         BLOCK_START.
773         * blockframe.c (get_pc_function_start): Likewise.
774         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
775         (gcc_symbol_address): Likewise.
776         * compile/compile-object-run.c (compile_object_run): Likewise.
777         * compile/compile.c (get_expr_block_and_pc): Likewise.
778         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
779         (func_addr_to_tail_call_list): Likewise.
780         * findvar.c (default_read_var_value): Likewise.
781         * inline-frame.c (inline_frame_this_id): Likewise.
782         (skip-inline_frames): Likewise.
783         * infcmd.c (until_next_command): Likewise.
784         * linespec.c (convert_linespec_to_sals): Likewise.
785         * parse.c (parse_exp_in_context_1): Likewise.
786         * printcmd.c (build_address_symbolic): likewise.
787         (info_address_command): Likewise.
788         symtab.c (find_function_start_sal): Likewise.
789         (skip_prologue_sal): Likewise.
790         (find_function_alias_target): Likewise.
791         (find_gnu_ifunc): Likewise.
792         * stack.c (find_frame_funname): Likewise.
793         * symtab.c (fixup_symbol_section): Likewise.
794         (find_function_start_sal): Likewise.
795         (skip_prologue_sal): Likewsie.
796         (find_function_alias_target): Likewise.
797         (find_gnu_ifunc): Likewise.
798         * tracepoint.c (info_scope_command): Likewise.
799         * value.c (value_fn_field): Likewise.
800
801         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
802         in place of find_pc_partial_function.
803         * blockframe.c (find_function_entry_range_from_pc): New function.
804         * symtab.h (find_function_entry_range_from_pc): Declare and document.
805         * objfiles.c (objfile_relocate1): Relocate start and end addresses
806         for each range in a block.
807
808
809 2018-08-23  Xavier Roirand  <roirand@adacore.com>
810
811         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
812         incrementation.
813
814 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
815
816         * solib-svr4.c (read_program_headers_from_bfd): Return
817         gdb::optional<gdb::byte_vector>.
818         (svr4_exec_displacement): Adjust.
819
820 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
821
822         * solib-svr4.c (read_program_header): Return
823         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
824         (find_program_interpreter): Return
825         gdb::optional<gdb::byte_vector>.
826         (scan_dyntag_auxv): Adjust.
827         (enable_break): Adjust.
828         (svr4_exec_displacement): Adjust.
829
830 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
831
832         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
833         * inf-child.c (inf_child_target::terminal_save_inferior): New.
834
835 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
836
837         * guile/scm-string.c (gdbscm_scm_from_printf): Use
838         string_vprintf.
839         * guile/scm-utils.c (gdbscm_printf): Likewise.
840         * serial.c (serial_printf): Likewise.
841         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
842
843 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
844
845         * stack.c (print_frame): Print frame architecture when printing on
846         an MI output.
847         * NEWS: Mention new "arch" attribute in frame output.
848
849 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
850
851         * arch/aarch64.h (aarch64_regnum): Update comment.
852
853 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
854
855         * NEWS: Add SVE to 8.2 section.
856
857 2018-08-21  Pedro Alves  <palves@redhat.com>
858
859         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
860         out from gdbscm_parse_function_args.
861         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
862         gdbscm_parse_function_args_1.
863
864 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
865
866         PR gdb/17816
867         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
868         operator.
869
870 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
871
872         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
873
874 2018-08-19  Michael Spang  <spang@google.com>
875
876         PR gdb/11786
877         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
878         for PT_TLS segments.
879
880 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
881
882         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
883         dwarf_variable_value.
884         * dwarf2-frame.c (class dwarf_expr_executor):
885         Add override for dwarf_variable_value.
886         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
887         (class symbol_needs_eval_context): Likewise.
888         (indirect_synthetic_pointer): Add forward declaration.
889         (sect_variable_value): New function.
890         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
891         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
892         for DW_OP_GNU_variable_value.
893
894 2018-08-16  Tom Tromey  <tom@tromey.com>
895
896         * top.c (read_command_file): Update.
897         (command_line_input): Remove "repeat" argument.
898         * ada-lang.c (get_selections): Update.
899         * linespec.c (decode_line_2): Update.
900         * defs.h (command_line_input): Remove argument.
901         * cli/cli-script.c (read_next_line): Update.
902         * python/py-gdb-readline.c: Update.
903
904 2018-08-17  Tom Tromey  <tom@tromey.com>
905
906         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
907         command_line_input.
908
909 2018-08-15  Tom Tromey  <tom@tromey.com>
910
911         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
912
913 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
914
915         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
916         If used, use find_pc_partial_function to find address range
917         to disassemble.
918         * mi/mi-main.c (mi_cmd_list_features): Report
919         "data-disassemble-a-option" feature.
920         * NEWS: Mention new -data-disassemble option -a.
921
922 2018-08-13  Tom Tromey  <tom@tromey.com>
923
924         * common/common-defs.h (_FORTIFY_SOURCE): Define.
925
926 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
927
928         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
929         (aarch64_linux_collect_sve_regset): Likewise.
930         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
931         * regcache.h (regcache_map_entry_size): New function.
932
933 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
934
935         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
936         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
937         (SVE_HEADER_VL_LENGTH): Likewise.
938         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
939         (SVE_HEADER_FLAGS_LENGTH): Likewise.
940         (SVE_HEADER_RESERVED_LENGTH): Likewise.
941         (SVE_HEADER_SIZE_OFFSET): Likewise.
942         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
943         (SVE_HEADER_VL_OFFSET): Likewise.
944         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
945         (SVE_HEADER_FLAGS_OFFSET): Likewise.
946         (SVE_HEADER_RESERVED_OFFSET): Likewise.
947         (SVE_HEADER_SIZE): Likewise.
948         (aarch64_linux_core_read_vq): Add function.
949         (aarch64_linux_core_read_description): Check for SVE section.
950
951 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
952
953         * aarch64-fbsd-tdep.c
954         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
955         collect_size.
956         * aarch64-linux-tdep.c
957         (aarch64_linux_iterate_over_regset_sections): Likewise.
958         * alpha-linux-tdep.c
959         (alpha_linux_iterate_over_regset_sections):
960         * alpha-nbsd-tdep.c
961         (alphanbsd_iterate_over_regset_sections): Likewise.
962         * amd64-fbsd-tdep.c
963         (amd64fbsd_iterate_over_regset_sections): Likewise.
964         * amd64-linux-tdep.c
965         (amd64_linux_iterate_over_regset_sections): Likewise.
966         * arm-bsd-tdep.c
967         (armbsd_iterate_over_regset_sections): Likewise.
968         * arm-fbsd-tdep.c
969         (arm_fbsd_iterate_over_regset_sections): Likewise.
970         * arm-linux-tdep.c
971         (arm_linux_iterate_over_regset_sections): Likewise.
972         * corelow.c (get_core_registers_cb): Likewise.
973         (core_target::fetch_registers): Likewise.
974         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
975         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
976         * gdbarch.h (void): Regenerate.
977         * gdbarch.sh: Add supply_size and collect_size.
978         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
979         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
980         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
981         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
982         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
983         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
984         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
985         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
986         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
987         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
988         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
989         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
990         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
991         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
992         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
993         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
994         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
995         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
996         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
997         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
998         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
999         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1000         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1001         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1002         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1003         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1004         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1005         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1006         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1007         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1008
1009 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1010
1011         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1012         with string_printf.
1013
1014 2018-08-10  Keith Seitz  <keiths@redhat.com>
1015
1016         * compile/compile-c-support.c (add_code_header, add_code_footer):
1017         Move into policy class.
1018         (c_push_user_expression, pop_user_expression_nop)
1019         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1020         (compile_program): New host class.
1021         (c_compile_program): New typedef.
1022         (c_compute_porgram): Use c_compile_program.
1023
1024 2018-08-10  Keith Seitz  <keiths@redhat.com>
1025
1026         * compile/compile-internal.h (compile_instance::~compile_instance):
1027         Remove calls to htab_delete.
1028         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1029         * compile.c (compile_instance::compile_instance): Initialize
1030         htab unique pointers.
1031         (compile_instance::get_cached_type, compile_instance::insert_type)
1032         (compile_instance::error_symbol_once): Update for unique_ptr.
1033
1034 2018-08-10  Keith Seitz  <keiths@redhat.com>
1035
1036         * compile/compile-c-symbols.c (struct symbol_error)
1037         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1038         (compile_instance::insert_symbol_error)
1039         (compile_instance::error_symbol_once): Move to ...
1040         * compile/compile.c: ... here.
1041
1042 2018-08-10  Keith Seitz  <keiths@redhat.com>
1043
1044         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1045         instead of `new_compile_instance'.
1046         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1047         Update description.
1048         If the symbol error map is not initialized, create it.
1049         (generate_c_for_for_one_symbol): Do not check/initialize
1050         the symbol error map.
1051         * compile/compile-c-types.c (compile_c_instance): Make a class.
1052         Update all callers.
1053         (compile_instance::compile_instance): Initialize the type cache.
1054         (get_cached_type): New function.
1055         (insert_type): Update description.
1056         (compile_c_instance::m_default_cflags): Define.
1057         (convert_type): Update description.  Use get_cached_type.
1058         (delete_instance): Moved to destructor.
1059         (new_compile_instance): Moved to constructor.
1060         * compile/compile-c.h (compile_c_instance): Make class inheriting
1061         from compile_instance.
1062         <base>: Remove field.
1063         <type_map, symbol_err_map>: Move to base class.
1064         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1065         * compile/compile-internal.h (compile_instance): Make class.
1066         <type_map_t, symbol_err_map_t>: Define.
1067         <fe>: Rename to `m_gcc_fe'.
1068         <scope, block, gcc_target_options>: Add `m_' prefix.
1069         <m_type_map, m_symbol_err_map>: New fields, moved from
1070         compile_c_instance.
1071         <destroy>: Remove.
1072         (convert_type, new_compile_instance): Remove.
1073         * compile/compile.c (cleanup_compile_instance): Remove.
1074         (compile_to_object): Use unique_ptr to eliminate cleanups.
1075         (compile_instance::set_print_callback, compile_instance::version)
1076         (compile_instance::set_verbose)
1077         (compile_instance::set_driver_filename)
1078         (compile_instance::set_triplet_regexp)
1079         (compile_instance::set_arguments)
1080         (compile_instance::set_source_file)
1081         (compile_instance::compile): Define.
1082
1083 2018-08-10  Keith Seitz  <keiths@redhat.com>
1084
1085         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1086         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1087         gcc-c-fe.def to define C plugin.
1088         (delete_instance): Delete `c_plugin'.
1089         (new_compile_instance): Initialize `c_plugin'.
1090         * compile/compile-c.h: Include gcc_c_plugin.h.
1091         (struct compile_c_instance) <c_plugin>: New member.
1092         * gcc-c-plugin.h: New file.
1093         Update all callers with API change.
1094
1095 2018-08-10  Keith Seitz  <keiths@redhat.com>
1096
1097         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1098         (HFILES_NO_SRCDIR): ... to here.
1099         Add compile-internal.h and compile-c.h.
1100         * compile/compile-c-support.c: Include compile-c.h.
1101         * compile/compile-c-symbols.c: Include compile-c.h.
1102         (generate_c_for_variable_locations): Update comment.
1103         * compile/compile-c-types.c: Include compile-c.h.
1104         * compile/compile-c.h: New file -- moved C language declarations
1105         from other files here.
1106         * compile/compile-internal.h: Do not include hashtab.h or
1107         common/enum-flags.h.
1108         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1109         (gcc_convert_symbol, gcc_symbol_address)
1110         (generate_c_for_variable_locations, c_get_mode_for_size)
1111         (c_get_range_decl_name): Definitions moved to compile-c.h.
1112         * compile/compile-loc2c.c: Include compile-c.h.
1113
1114 2018-08-10  Keith Seitz  <keiths@redhat.com>
1115
1116         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1117         (c_symbol_substitution_name): ... this.
1118         Update all callers.
1119
1120 2018-08-10  Keith Seitz  <keiths@redhat.com>
1121
1122         * compile/compile-c-support.c (c_compute_program): Use
1123         unique_xmalloc_ptr to eliminate cleanup.
1124         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1125         Return a unique_xmalloc_ptr and eliminate cleanup.
1126         * compile/compile-internal.h (generate_c_for_variable_locations):
1127         Return unique_xmalloc_ptr and update description.
1128
1129 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1130
1131         * corelow.c (core_target::get_core_register_section): Rename
1132         min_size to section_min_size.
1133
1134 2018-08-09  Jim Wilson  <jimw@sifive.com>
1135
1136         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1137         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1138         * NEWS: Mention new GNU/Linux RISC-V target.
1139         * configure.host: Add riscv*-*-linux*.
1140         * configure.nat: Add riscv*.
1141         * configure.tgt: Add riscv*-*-linux*.
1142         * riscv-linux-nat.c: New file.
1143         * riscv-linux-tdep.c: New file.
1144
1145 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1146
1147         * infrun.c (resume): Make static, add forward declaration.
1148         (proceed): Update header comment.
1149         * infrun.h (resume): Delete declaration.
1150
1151 2018-08-09  Tom Tromey  <tom@tromey.com>
1152
1153         * riscv-tdep.h: Minor formatting fixes.
1154
1155 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1156
1157         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1158         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1159         (test_mkdir_recursive): Likewise.
1160         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1161
1162 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1163
1164         * valarith.c (value_subscripted_rvalue): If an array is not in
1165         memory, and we don't know the upper bound, then we can't know that
1166         the requested element exists or not.
1167
1168 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1169
1170         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1171         (target_options_to_string): Add comment.
1172
1173 2018-08-08  Tom Tromey  <tom@tromey.com>
1174
1175         * unittests/scoped_mmap-selftests.c: Check result of "write".
1176
1177 2018-08-08  Jim Wilson  <jimw@sifive.com>
1178
1179         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1180         (decode_register_index_short): New.
1181         (decode_j_type_insn, decode_cj_type_insn): New.
1182         (decode_b_type_insn, decode_cb_type_insn): New.
1183         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1184         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1185         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1186         is_c_sw_insn instead of is_sw_insn.
1187         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1188         (riscv_software_single_step): New.
1189         * riscv-tdep.h (riscv_software_single_step): Declare.
1190
1191         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1192         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1193
1194 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1195
1196         PR gdb/18050:
1197         * target.c (dispose_inferior): Don't dispose of inferiors that are
1198         already killed.
1199
1200 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1201
1202         * remote.c (remote_target::download_tracepoint): Change char* to
1203         const char*.
1204
1205 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1206
1207         * target.h (target_options_to_string): Return an std::string.
1208         * target.c (str_comma_list_concat_elem): Return void, use
1209         std::string.
1210         (do_option): Likewise.
1211         (target_options_to_string): Return an std::string.
1212         * linux-nat.c (linux_nat_target::wait): Adjust.
1213         * target-debug.h (target_debug_print_options): Adjust.
1214
1215 2018-08-07  Tom Tromey  <tom@tromey.com>
1216
1217         * Makefile.in (CPPFLAGS): New variable.
1218         (INTERNAL_CPPFLAGS): Use it.
1219
1220 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1221
1222         * NEWS: Mention the index cache.
1223
1224 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1225
1226         * common/pathstuff.h (get_standard_cache_dir): New.
1227         * common/pathstuff.c (get_standard_cache_dir): New.
1228         * build-id.h (build_id_to_string): New.
1229         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1230         DEBUG_STR_SUFFIX): Move to here.
1231         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1232         DEBUG_STR_SUFFIX): Move from there.
1233         (write_psymtabs_to_index): Make non-static, add basename
1234         parameter.  Write to temporary files, rename when done.
1235         (save_gdb_index_command): Adjust call to
1236         write_psymtabs_to_index.
1237         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1238         field.
1239         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1240         (get_gdb_index_contents_from_cache): New.
1241         (get_gdb_index_contents_from_cache_dwz): New.
1242         (dwarf2_initialize_objfile): Read index from cache.
1243         (dwarf2_build_psymtabs): Save to index.
1244         * dwarf-index-cache.h: New file.
1245         * dwarf-index-cache.c: New file.
1246         * dwarf-index-write.h: New file.
1247
1248 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1249
1250         * gnulib/aclocal.m4: Re-generate.
1251         * gnulib/config.in: Re-generate.
1252         * gnulib/configure: Re-generate.
1253         * gnulib/import/Makefile.am: Re-generate.
1254         * gnulib/import/Makefile.in: Re-generate.
1255         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1256         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1257         * gnulib/import/m4/mkdir.m4: New file.
1258         * gnulib/import/mkdir.c: New file.
1259         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1260         module.
1261
1262 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1263
1264         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1265         * common/scoped_mmap.c: New file.
1266         * common/scoped_mmap.h (destroy): New method.
1267         (~scoped_mmap, reset): Use destroy.
1268         (scoped_mmap): New move constructor.
1269         (mmap_file): New declaration.
1270         * unittests/scoped_mmap-selftests.c (test_normal,
1271         test_invalid_filename, run_tests): New functions.
1272         (_initialize_scoped_mmap_selftests): Register selftest.
1273
1274 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1275
1276         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1277         (read_gdb_index_from_buffer): ... this.  Remove section
1278         parameter, add buffer parameter.
1279         (get_gdb_index_contents_ftype,
1280         get_gdb_index_contents_dwz_ftype): New typedefs.
1281         (dwarf2_read_gdb_index): Add callback parameters to get the
1282         index contents.
1283         (get_gdb_index_contents_from_section): New.
1284         (dwarf2_initialize_objfile): Update call to
1285         dwarf2_read_gdb_index.
1286
1287 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1288
1289         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1290         (gdb_open_cloexec): Likewise.
1291         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1292         (commandline_from_pid): Likewise.
1293         (linux_xfer_osdata_threads): Likewise.
1294         (linux_xfer_osdata_fds): Likewise.
1295         * ada-lang.c (is_package_name): Likewise.
1296         * auxv.c (procfs_xfer_auxv): Likewise.
1297         * breakpoint.c (print_one_breakpoint_location): Use
1298         uiout::field_fmt.
1299         (print_one_catch_solib): Use string_printf.
1300         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1301         (add_pe_forwarded_sym): Likewise.
1302         * dwarf2read.c (create_type_unit_group): Likewise.
1303         (build_error_marker_type): Likewise.
1304         * infcall.c (get_function_name): Likewise.
1305         * valprint.c (print_converted_chars_to_obstack): Likewise.
1306         * xtensa-tdep.c (xtensa_register_type): Likewise.
1307
1308 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1309
1310         * remote.c (remote_target::download_tracepoint): Fix format
1311         string errors.
1312
1313 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1314
1315         * tracefile.c: Include common/byte-vector.h.
1316         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1317         with trace_regblock_size if needed.  Update uses of buf.
1318
1319 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1320
1321         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1322         std::vector<unsigned char>.
1323         * tracepoint.c (collection_list::collection_list): Remove
1324         m_regs_mask initializer from initializer list.  Resize
1325         m_regs_mask using the largest remote register number.
1326         (collection_list::add_remote_register): Remove size check on
1327         m_regs_mask.  Use at to access element.
1328         (collection_list::stringify): Change type of temp_buf to
1329         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1330         stringify the register mask.  Use pack_hex_byte for the register
1331         mask.
1332
1333 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1334
1335         * tracepoint.h (class collection_list) <add_register>: Remove.
1336         <add_remote_register, add_ax_registers, add_local_register>:
1337         Declare.
1338         <add_memrange>: Add scope parameter.
1339         * tracepoint.c (encode_actions_1): Likewise.
1340         (collection_list::add_register): Rename to ...
1341         (collection_list::add_remote_register): ... this.  Update
1342         comment.
1343         (collection_list::add_ax_registers, add_local_register): New
1344         methods.
1345         (collection_list::add_memrange): Add scope parameter.  Call
1346         add_local_register instead of add_register.
1347         (finalize_tracepoint_aexpr): New function.
1348         (collection_list::collect_symbol): Update calls to add_memrange.
1349         Call add_local_register instead of add_register.  Call
1350         add_ax_registers.  Call finalize_tracepoint_aexpr.
1351         (encode_actions_1): Get remote regnos for $reg action.  Call
1352         add_remote_register, add_ax_registers, and add_local_register.
1353         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1354         (validate_actionline): Call finalize_tracepoint_aexpr.
1355
1356 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1357
1358         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1359         Replace array buf with gdb::char_vector buf, of size
1360         get_remote_packet_size ().  Replace references to buf and
1361         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1362         and xsnprintf with snprintf.  Raise errors if the buffer is too
1363         small.
1364
1365 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1366
1367         * remote.c (remote_target::download_tracepoint): Fix the has_more
1368         predicate in the QTDP action list iteration.
1369
1370 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1371
1372         * remote.c (remote_target::download_tracepoint): Fix indentation
1373         in for block.
1374
1375 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1376
1377         * proc-api.c (_initialize_proc_api): Remove c, unused.
1378         * procfs.c (procfs_init_inferior): Remove signals, unused.
1379         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1380         unused.
1381
1382 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1383             Andrew Burgess  <andrew.burgess@embecosm.com>
1384
1385         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1386         'W_STOPCODE (0)' as this could be ambiguous.
1387
1388 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1389
1390         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1391         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1392         "ai_socktype").
1393
1394 2018-08-02  Tom Tromey  <tom@tromey.com>
1395
1396         PR symtab/16842.
1397         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1398         symbols.
1399         (process_structure_scope): Likewise.
1400
1401 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1402
1403         PR gdb/22629:
1404         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1405         kill inferior.
1406
1407 2018-08-02  Tom Tromey  <tom@tromey.com>
1408
1409         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1410         (darwin_suspend_inferior, darwin_resume_inferior)
1411         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1412         (darwin_check_new_threads): Check result of get_darwin_inferior.
1413
1414 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1415
1416         GDB 8.1.1 released.
1417
1418 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1419
1420         * varobj.c (varobj_get_path_expr_parent): Report an error if
1421         parent is a dynamic varobj.
1422
1423 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1424
1425         * gnulib/aclocal.m4: Re-generate.
1426         * gnulib/config.in: Re-generate.
1427         * gnulib/configure: Re-generate.
1428         * gnulib/import/Makefile.in: Re-generate.
1429         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1430         * gnulib/import/m4/onceonly.m4: Re-generate.
1431
1432 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1433
1434         * target-descriptions.c (struct xml_test_tdesc): New.
1435         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1436         (record_xml_tdesc): Update.
1437         (maintenance_check_xml_descriptions): Update.
1438         * target-descriptions.h (record_xml_tdesc): Update comment.
1439
1440 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1441
1442         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1443         checking array bounds are defined.
1444
1445 2018-07-30  Tom Tromey  <tom@tromey.com>
1446
1447         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1448         irreflexivity violation.
1449
1450 2018-07-30  Tom Tromey  <tom@tromey.com>
1451
1452         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1453         * value.c (unpack_long): Remove lint code.
1454         * valops.c (value_ind): Remove lint code.
1455         * valarith.c (value_x_binop, value_x_unop, value_equal)
1456         (value_pos): Remove lint code.
1457
1458 2018-07-28  Tom de Vries  <tdevries@suse.de>
1459
1460         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1461         with undefined upper bound as <optimized out>.
1462
1463 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1464
1465         * gcore.in: Rename variable "name" to "prefix".  Expand
1466         "usage" text.
1467
1468 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1469
1470         * windows-nat.c (windows_nat_target::create_inferior): Update to
1471         call close() in global namespace.
1472
1473 2018-07-26  Tom Tromey  <tom@tromey.com>
1474
1475         * dwarf-index-write.c (add_address_entry): Don't add objfile
1476         offsets.
1477         * dbxread.c (find_stab_function): Rename from
1478         find_stab_function_addr.  Return a bound_minimal_symbol.
1479         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1480         Don't add objfile offsets.
1481         (end_psymtab): Use raw_text_low, raw_text_high,
1482         MSYMBOL_VALUE_RAW_ADDRESS.
1483         (read_ofile_symtab): Update.
1484         (process_one_symbol): Update.
1485         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1486         offsets.
1487         (dw2_relocate): Remove.
1488         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1489         searching addrmap.
1490         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1491         Update.
1492         (process_psymtab_comp_unit_reader, add_partial_symbol)
1493         (add_partial_subprogram, dwarf2_ranges_read): Update.
1494         (load_partial_dies): Update.
1495         (add_address_entry): Don't add objfile offsets.
1496         (dwarf2_build_include_psymtabs): Update.
1497         (create_addrmap_from_aranges): Don't add objfile offsets.
1498         (dw2_find_pc_sect_compunit_symtab): Update.
1499         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1500         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1501         Update.
1502         (parse_partial_symbols): Don't add objfile offsets.  Use
1503         raw_text_low, raw_text_high.  Update.
1504         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1505         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1506         or call 'relocate' quick function.  Clear psymbol_map.
1507         * psympriv.h (struct partial_symbol) <address>: Add section
1508         offset.
1509         <set_unrelocated_address>: Rename from set_address.
1510         <raw_text_low, raw_text_high>: New methods.
1511         <text_low, text_high>: Add objfile parameter.
1512         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1513         set_unrelocated_address.
1514         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1515         (find_pc_psymbol): Update.
1516         (fixup_psymbol_section, relocate_psymtabs): Remove.
1517         (dump_psymtab, psym_functions): Update.
1518         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1519         parameter.
1520         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1521         (start_psymtab_common): Update.
1522         * symfile-debug.c (debug_qf_relocate): Remove.
1523         (debug_sym_quick_functions): Update.
1524         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1525         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1526         Update.
1527
1528 2018-07-26  Tom Tromey  <tromey@redhat.com>
1529
1530         * dbxread.c (end_psymtab): Use text_high_valid and
1531         text_low_valid.
1532         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1533         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1534         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1535         Update comment.
1536         <text_low_valid, text_high_valid>: New fields.
1537         <set_text_low, set_text_high>: Update.
1538         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1539
1540 2018-07-26  Tom Tromey  <tom@tromey.com>
1541
1542         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1543         Update.
1544         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1545         textlow and texthigh fields.
1546         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1547         Update.
1548         * mdebugread.c (parse_lines, parse_partial_symbols)
1549         (psymtab_to_symtab_1): Update.
1550         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1551         Rename fields.  Update comment.  Now private.
1552         <text_low, text_high, set_text_low, set_text_high>: New methods.
1553         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1554         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1555         (start_psymtab_common, maintenance_info_psymtabs)
1556         (maintenance_check_psymtabs): Update.
1557         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1558         texthigh fields.
1559         (scan_xcoff_symtab): Update.
1560
1561 2018-07-26  Tom Tromey  <tromey@redhat.com>
1562
1563         * psympriv.h (struct partial_symbol) <unrelocated_address,
1564         address, set_address>: New methods.
1565         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1566         (fixup_psymbol_section, relocate_psymtabs): Update.
1567         (print_partial_symbols): Add 'objfile' parameter.  Update.
1568         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1569         Update.
1570
1571 2018-07-26  Tom Tromey  <tom@tromey.com>
1572
1573         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1574         (debug_names::write_psymbols): Update.
1575         * psympriv.h (struct partial_symbol): Derive from
1576         general_symbol_info.
1577         <obj_section>: New method.
1578         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1579         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1580         (find_pc_sect_psymbol, fixup_psymbol_section)
1581         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1582         (print_partial_symbols, recursively_search_psymtabs)
1583         (compare_psymbols, psymbol_hash, psymbol_compare)
1584         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1585         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1586
1587 2018-07-26  Tom Tromey  <tromey@redhat.com>
1588
1589         * dbxread.c (end_psymtab): Remove dead code.
1590
1591 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1592
1593         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1594         DWARF unwinders are disabled.
1595         * dwarf2-frame.c: Add dwarf2read.h include.
1596         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1597         disabled.
1598         (dwarf2_frame_unwinders_enabled_p): Define.
1599         (show_dwarf_unwinders_enabled_p): New function.
1600         (_initialize_dwarf2_frame): Register switch to control DWARF
1601         unwinder use.
1602         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1603         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1604         (show_dwarf_cmdlist): Remove static keyword.
1605         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1606         (show_dwarf_cmdlist): Declare.
1607         * NEWS: Document new feature.
1608
1609 2018-07-26  Tom de Vries  <tdevries@suse.de>
1610
1611         PR breakpoints/23366
1612         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1613
1614 2018-07-26  Tom de Vries  <tdevries@suse.de>
1615
1616         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1617         DW_AT_count can't be translated to a dynamic prop.
1618
1619 2018-07-25  Tom de Vries  <tdevries@suse.de>
1620
1621         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1622         try/catch.
1623
1624 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1625
1626         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1627
1628 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1629
1630         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1631
1632 2018-07-24  Keith Seitz  <keiths@redhat.comt
1633
1634         PR symtab/23010
1635         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1636         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1637         instead of add_symbol_to_list.
1638         (read_file_scope): Call prepare_one_comp_unit before reading
1639         any other DIEs.
1640
1641 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1642
1643         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1644
1645 2018-07-24  Tom Tromey  <tom@tromey.com>
1646
1647         * utils.c (malloc, realloc, free): Don't declare.
1648         * configure, config.in: Rebuild.
1649         * configure.ac: Don't check for declarations of free, malloc, or
1650         realloc.
1651
1652 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1653
1654         * aarch64-linux-nat.c
1655         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1656         variable.
1657         * arm-linux-nat.c (fetch_regs): Likewise.
1658         (store_regs): Likewise.
1659         (fetch_vfp_regs): Likewise.
1660         (store_vfp_regs): Likewise.
1661         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1662         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1663         (arm_linux_nat_target::insert_watchpoint): Likewise.
1664         (arm_linux_nat_target::remove_watchpoint): Likewise.
1665         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1666         Likewise.
1667         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1668         Likewise.
1669         * ppc-linux-nat.c (fetch_register): Likewise.
1670         (fetch_all_gp_regs): Likewise.
1671         (fetch_ppc_registers): Likewise.
1672         (store_all_gp_regs): Likewise.
1673         (store_ppc_registers): Likewise.
1674         (hwdebug_insert_point): Likewise.
1675         (can_use_watchpoint_cond_accel): Likewise.
1676         * remote-sim.c (gdb_os_write_stdout): Likewise.
1677
1678 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1679             Tom Tromey  <tom@tromey.com>
1680
1681         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1682         test for it.
1683         * configure: Rebuild.
1684
1685 2018-07-22  Tom Tromey  <tom@tromey.com>
1686
1687         * regformats/regdat.sh: Define xmltarget_${name} inside
1688         #ifndef IN_PROCESS_AGENT.
1689
1690 2018-07-22  Tom Tromey  <tom@tromey.com>
1691
1692         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1693
1694 2018-07-22  Tom Tromey  <tom@tromey.com>
1695
1696         * symfile.c (reread_symbols): Notify iter, not objfile.
1697
1698 2018-07-22  Tom Tromey  <tom@tromey.com>
1699
1700         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1701         Use arch_ops.
1702         (ravenscar_thread_target::prepare_to_store): Likewise.
1703
1704 2018-07-22  Tom Tromey  <tom@tromey.com>
1705
1706         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1707         unused variable.  Call value_fetch_lazy when needed.
1708         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1709         Remove unused variable.  Call value_fetch_lazy when needed.
1710
1711 2018-07-22  Tom Tromey  <tom@tromey.com>
1712
1713         * m32c-tdep.c (mark_dma): Return void.
1714         (make_regs): Remove unused declarations.
1715
1716 2018-07-22  Tom Tromey  <tom@tromey.com>
1717
1718         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1719         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1720         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1721         bkscm_get_valid_block_smob_arg_unsafe for effect.
1722
1723 2018-07-22  Tom Tromey  <tom@tromey.com>
1724
1725         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1726         value_type.
1727
1728 2018-07-22  Tom Tromey  <tom@tromey.com>
1729
1730         * windows-nat.c (saved_context): Conditionally define.
1731         * remote.c (remote_target::remote_btrace_maybe_reopen):
1732         Conditionally declare "warned".
1733         * inflow.c (sigquit_ours): Conditionally define.
1734         (new_tty): Move "tty" declaration inside #if.
1735         * guile/guile.c (guile_datadir): Conditionally define.
1736         * charset.c (set_be_le_names): Move some declarations inside #if.
1737         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1738         #if.
1739         (parse_xml_btrace_conf): Likewise.
1740
1741 2018-07-22  Tom Tromey  <tom@tromey.com>
1742
1743         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1744
1745 2018-07-22  Tom Tromey  <tom@tromey.com>
1746
1747         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1748         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1749         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1750         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1751         * stack.c (frame_apply_level_command): Remove unused variable.
1752         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1753         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1754         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1755         unused variable.
1756         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
1757         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
1758         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
1759         variable.
1760         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
1761         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
1762         variable.
1763         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
1764         Remove unused variable.
1765         * cli/cli-script.c (recurse_read_control_structure): Remove unused
1766         variable.
1767         * common/tdesc.c (print_xml_feature::visit): Remove unused
1768         variable.
1769         * compile/compile-object-load.c (store_regs): Remove unused
1770         variables.
1771         * complaints.c (clear_complaints): Remove unused variable.
1772         * corelow.c (core_target_open): Remove unused variable.
1773         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
1774         variable.
1775         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
1776         variable.
1777         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
1778         variable.
1779         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
1780         variable.
1781         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
1782         variable.
1783         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
1784         variable.
1785         * ia64-tdep.c (examine_prologue): Remove unused variable.
1786         * infcall.c (run_inferior_call): Remove unused variable.
1787         * inferior.c (exit_inferior): Remove unused variable.
1788         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
1789         * linespec.c (decode_line_2): Remove unused variable.
1790         * linux-nat.c (super_close): Remove.
1791         * linux-tdep.c (linux_info_proc): Remove unused variable.
1792         * mi/mi-main.c (mi_execute_command): Remove unused variable.
1793         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
1794         Remove unused variable.
1795         * parse.c (find_minsym_type_and_address): Remove unused variable.
1796         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1797         variable.
1798         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1799         variable.
1800         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1801         variables.
1802         * record-btrace.c (record_btrace_target::store_registers): Remove
1803         unused variable.
1804         (cmd_show_record_btrace_cpu): Remove unused variable.
1805         * riscv-tdep.c (riscv_register_reggroup_p)
1806         (riscv_push_dummy_call, riscv_return_value): Remove unused
1807         variable.
1808         * rust-exp.y (literal): Remove unused variable.
1809         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1810         unused variable.
1811         <STRUCTOP_ANONYMOUS>: Likewise.
1812         * s390-linux-tdep.c (s390_linux_init_abi_31)
1813         (s390_linux_init_abi_64): Remove unused variable.
1814         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1815         (file_select_thread, net_windows_open, _initialize_ser_windows):
1816         Remove unused variables.
1817         * symtab.c (find_pc_sect_line): Remove unused variable.
1818         * target-memory.c (compute_garbled_blocks): Remove unused
1819         variable.
1820         (target_write_memory_blocks): Remove unused variable.
1821         * target.c (target_stack::unpush): Remove unused variables.
1822         * tracepoint.c (start_tracing, all_tracepoint_actions)
1823         (merge_uploaded_trace_state_variables)
1824         (print_one_static_tracepoint_marker): Remove unused variable.
1825         * unittests/basic_string_view/element_access/char/1.cc (test01):
1826         Remove unused variable.
1827         * windows-nat.c (windows_continue, windows_add_all_dlls)
1828         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1829         Remove unused variables.
1830
1831 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1832
1833         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1834         attr_profile in HAVE_ELF.
1835         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1836         HAVE_ELF.
1837
1838 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1839
1840         * frame.c (frame_register_unwind): Change parameter name.
1841         (frame_unwind_register): Likewise.
1842         (frame_unwind_register_value): Likewise.
1843         (frame_unwind_register_signed): Likewise.
1844         (frame_unwind_register_unsigned): Likewise.
1845         * frame.h (frame_register_unwind): Likewise.
1846         (frame_unwind_register): Likewise.
1847         (frame_unwind_register_value): Likewise.
1848         (frame_unwind_register_signed): Likewise.
1849         (frame_unwind_register_unsigned): Likewise.
1850         (frame_unwind_arch): Likewise.
1851
1852 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1853
1854         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1855         ISA maintenance.
1856
1857 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1858
1859         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1860         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1861         hand.
1862
1863 2018-07-20  Keith Seitz  <keiths@redhat.com>
1864
1865         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1866         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1867         m_compunit_symtab, m_language>: Add "m_" prefix.
1868         Update all uses.
1869         * buildsym.c: Update all uses.
1870
1871 2018-07-20  Tom Tromey  <tom@tromey.com>
1872
1873         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1874         * buildsym.h (record_line_ftype): Remove typedef.
1875
1876 2018-07-20  Tom Tromey  <tom@tromey.com>
1877
1878         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1879         (end_expandable_symtab): Likewise.
1880         (end_symtab_get_static_block): Likewise.
1881         (end_symtab_from_static_block): Likewise.
1882         * buildsym-legacy.c (augment_type_symtab): Remove.
1883         (end_expandable_symtab): Remove.
1884         (end_symtab_get_static_block): Remove.
1885         (end_symtab_from_static_block): Remove.
1886
1887 2018-07-20  Tom Tromey  <tom@tromey.com>
1888
1889         * dwarf2read.c: Include buildsym.h.
1890         (struct dwarf2_cu) <builder>: New method.
1891         (fixup_go_packaging): Update.
1892         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1893         use scoped_free_pendings.
1894         (using_directives): Add "cu" parameter, remove "language".
1895         (read_import_statement, setup_type_unit_groups, )
1896         (read_func_scope, read_lexical_block_scope)
1897         (dwarf2_record_block_ranges, read_namespace): Update.
1898         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1899         (lnp_state_machine::handle_end_sequence): Update.
1900         (class lnp_state_machine) <m_cu>: New member.
1901         <m_record_line_callback>: Remove.
1902         <m_currently_recording_lines>: New member.
1903         (lnp_state_machine::handle_set_file): Update.
1904         (noop_record_line): Remove.
1905         (dwarf_record_line_p): Add cu parameter.
1906         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1907         (lnp_state_machine::record_line)
1908         (lnp_state_machine::lnp_state_machine)
1909         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1910         (dwarf_decode_lines): Update.
1911         (dwarf2_start_subfile): Add cu parameter.
1912         (dwarf2_start_symtab, new_symbol): Update.
1913         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1914         Remove dwarf2_per_objfile parameter.
1915         (dwarf_decode_macros): Update.
1916
1917 2018-07-20  Tom Tromey  <tom@tromey.com>
1918
1919         * stabsread.c (define_symbol): Update.
1920         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1921         * dwarf2read.c (new_symbol): Update.
1922         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1923         * cp-namespace.c: Include buildsym.h.
1924         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1925         * buildsym-legacy.c (get_buildsym_compunit): New function.
1926
1927 2018-07-20  Tom Tromey  <tom@tromey.com>
1928
1929         * xcoffread.c: Include buildsym-legacy.h.
1930         * windows-nat.c: Include buildsym-legacy.h.
1931         * stabsread.c: Include buildsym-legacy.h.
1932         * mdebugread.c: Include buildsym-legacy.h.
1933         * buildsym-legacy.h: New file.
1934         * buildsym-legacy.c: New file, from buildsym.c.
1935         * go32-nat.c: Include buildsym-legacy.h.
1936         * dwarf2read.c: Include buildsym-legacy.h.
1937         * dbxread.c: Include buildsym-legacy.h.
1938         * cp-namespace.c: Include buildsym-legacy.h.
1939         * coffread.c: Include buildsym-legacy.h.
1940         * buildsym.h: Move some contents to buildsym-legacy.h.
1941         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1942         buildsym-legacy.c.
1943         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1944
1945 2018-07-20  Tom Tromey  <tom@tromey.com>
1946
1947         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1948         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1949         (buildsym_compunit::buildsym_compunit)
1950         (buildsym_compunit::~buildsym_compunit)
1951         (buildsym_compunit::get_macro_table): Define.
1952
1953 2018-07-20  Tom Tromey  <tom@tromey.com>
1954
1955         * buildsym.c (reset_symtab_globals): Remove.
1956         (buildsym_compunit::end_symtab_from_static_block): Update.
1957         (buildsym_compunit::augment_type_symtab): Update.
1958         (end_symtab_from_static_block): Call free_buildsym_compunit.
1959         (augment_type_symtab, end_symtab, end_expandable_symtab):
1960         Likewise.
1961
1962 2018-07-20  Tom Tromey  <tom@tromey.com>
1963
1964         * arch-utils.c: Do not include buildsym.h.
1965         * mipsread.c: Do not include buildsym.h.
1966         * machoread.c: Do not include buildsym.h.
1967         * elfread.c: Do not include buildsym.h.
1968
1969 2018-07-20  Tom Tromey  <tom@tromey.com>
1970
1971         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
1972         initialization.
1973         (buildsym_compunit): Add new constructor.
1974         (struct buildsym_compunit) <get_last_source_file, finish_block,
1975         record_block_range, start_subfile, patch_subfile_names,
1976         push_subfile, pop_subfile, record_line, get_compunit_symtab,
1977         set_last_source_start_addr, get_last_source_start_addr,
1978         get_local_using_directives, set_local_using_directives,
1979         get_global_using_directives, outermost_context_p,
1980         get_current_context_stack, get_context_stack_depth,
1981         get_current_subfile, get_local_symbols, get_file_symbols,
1982         get_global_symbols, record_debugformat, record_producer,
1983         push_context, pop_context, end_symtab_get_static_block,
1984         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
1985         New public methods.
1986         <record_pending_block, finish_block_internal, make_blockvector,
1987         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
1988         private methods.
1989         Update all users.
1990
1991 2018-05-22  Tom Tromey  <tom@tromey.com>
1992
1993         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1994         parameter.
1995         (finish_block_internal): Update.
1996
1997 2018-07-20  Tom Tromey  <tom@tromey.com>
1998
1999         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2000         parameter.
2001         (finish_block_internal): Update.
2002
2003 2018-07-20  Tom Tromey  <tom@tromey.com>
2004
2005         * buildsym.h (EXTERN): Don't define or undef.
2006         * buildsym.c (EXTERN): Don't define.
2007
2008 2018-07-20  Tom Tromey  <tom@tromey.com>
2009
2010         * buildsym.c: Remove TODO comment.
2011
2012 2018-07-20  Tom Tromey  <tom@tromey.com>
2013
2014         * coffread.c (coff_symtab_read): Update.
2015         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2016         (xcoff_new_init): Update.
2017         * mipsread.c (mipscoff_new_init): Update.
2018         * mdebugread.c (mdebug_build_psymtabs): Update.
2019         * elfread.c (elf_new_init): Update.
2020         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2021         Update.
2022         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2023         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2024         (stabsect_build_psymtabs): Update.
2025         * buildsym.h (buildsym_init): Don't declare.
2026         * buildsym.c: Update comment.
2027         (prepare_for_building): Remove.
2028         (start_symtab, restart_symtab): Update.
2029         (reset_symtab_globals): Update comment.
2030         (buildsym_init): Remove.
2031
2032 2018-07-20  Tom Tromey  <tom@tromey.com>
2033
2034         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2035         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2036         (read_enum_type, common_block_start, common_block_end)
2037         (cleanup_undefined_types_1, finish_global_stabs): Update.
2038         * mdebugread.c (psymtab_to_symtab_1): Update.
2039         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2040         (read_lexical_block_scope, new_symbol): Update.
2041         * dbxread.c (process_one_symbol): Update.
2042         * coffread.c (coff_symtab_read, process_coff_symbol)
2043         (coff_read_enum_type): Update.
2044         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2045         declare.
2046         (get_local_symbols, get_file_symbols, get_global_symbols): New
2047         functions.
2048         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2049         m_global_symbols.
2050         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2051         (~scoped_free_pendings): Update.
2052         (finish_block, prepare_for_building, reset_symtab_globals)
2053         (end_symtab_get_static_block, end_symtab_with_blockvector)
2054         (augment_type_symtab, push_context): Update.
2055         (get_local_symbols, get_file_symbols, get_global_symbols): New
2056         functions.
2057         (buildsym_init): Update.
2058
2059 2018-07-20  Tom Tromey  <tom@tromey.com>
2060
2061         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2062         (process_full_type_unit): Likewise.
2063         (dwarf2_start_symtab): Set list_in_scope.
2064
2065 2018-07-20  Tom Tromey  <tom@tromey.com>
2066
2067         * dwarf2read.c (process_psymtab_comp_unit_reader)
2068         (build_type_psymtabs_reader): Do not set list_in_scope.
2069
2070 2018-07-20  Tom Tromey  <tom@tromey.com>
2071
2072         * buildsym.c (free_pendings): Remove.
2073         (add_symbol_to_list, scoped_free_pendings)
2074         (finish_block_internal, buildsym_init): Update.
2075
2076 2018-07-20  Tom Tromey  <tom@tromey.com>
2077
2078         * xcoffread.c (read_xcoff_symtab): Update.
2079         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2080         Update.
2081         * dbxread.c (process_one_symbol): Update.
2082         * coffread.c (coff_symtab_read): Update.
2083         * buildsym.h (finish_block): Update.
2084         * buildsym.c (finish_block): Remove "listhead" argument.
2085         (end_symtab_get_static_block): Update.
2086
2087 2018-07-20  Tom Tromey  <tom@tromey.com>
2088
2089         * buildsym.h (class scoped_free_pendings): Remove constructor.
2090         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2091         method.
2092         <m_pending_block_obstack, m_pending_blocks>: New members.
2093         (pending_block_obstack, pending_blocks): Remove.
2094         (scoped_free_pendings::scoped_free_pendings): Default.
2095         (~scoped_free_pendings): Update.
2096         (free_pending_blocks): Remove.
2097         (finish_block_internal, record_pending_block, make_blockvector)
2098         (end_symtab_get_static_block, augment_type_symtab, push_context)
2099         (buildsym_init): Update.
2100
2101 2018-07-20  Tom Tromey  <tom@tromey.com>
2102
2103         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2104         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2105         members.
2106         (pending_addrmap, pending_addrmap_obstack)
2107         (pending_addrmap_interesting): Remove.
2108         (scoped_free_pendings, record_block_range, make_blockvector)
2109         (prepare_for_building, reset_symtab_globals, buildsym_init):
2110         Update.
2111
2112 2018-07-20  Tom Tromey  <tom@tromey.com>
2113
2114         * xcoffread.c (process_linenos): Update.
2115         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2116         * mdebugread.c (psymtab_to_symtab_1): Update.
2117         * dwarf2read.c (setup_type_unit_groups)
2118         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2119         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2120         * dbxread.c (process_one_symbol): Update.
2121         * coffread.c (coff_symtab_read, enter_linenos)
2122         (process_coff_symbol): Update.
2123         * buildsym.h (current_subfile): Don't declare.
2124         (get_current_subfile): Declare.
2125         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2126         member.
2127         (start_subfile, free_buildsym_compunit, push_subfile)
2128         (prepare_for_building, start_symtab): Update.
2129         (get_current_subfile): New function.
2130
2131 2018-07-20  Tom Tromey  <tom@tromey.com>
2132
2133         * coffread.c (coff_symtab_read): Update.
2134         * xcoffread.c (read_xcoff_symtab): Update.
2135         * dwarf2read.c (new_symbol): Update.
2136         (read_func_scope, read_lexical_block_scope): Update.
2137         * dbxread.c (process_one_symbol): Update.
2138         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2139         (outermost_context_p): Remove macro.
2140         (outermost_context_p, get_current_context_stack)
2141         (get_context_stack_depth): Declare.
2142         (pop_context): Return struct context_stack.
2143         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2144         member.
2145         (context_stack_size): Remove.
2146         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2147         (prepare_for_building, end_symtab_get_static_block)
2148         (augment_type_symtab, push_context): Update.
2149         (pop_context): Return struct context_stack.
2150         (outermost_context_p, get_current_context_stack)
2151         (get_context_stack_depth): New functions.
2152         (buildsym_init): Update.
2153
2154 2018-07-20  Tom Tromey  <tom@tromey.com>
2155
2156         * rust-exp.y: Now a pure parser.  Update all rules.
2157         (%union): Move earlier.
2158         (current_parser, work_obstack): Remove globals.
2159         (rust_parser, ~rust_parser): Update.
2160         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2161         lex_character, lex_number, lex_string, lex_identifier,
2162         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2163         convert_name, convert_params_to_expression,
2164         convert_ast_to_expression, ast_basic_type, ast_operation,
2165         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2166         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2167         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2168         ast_array_type, ast_slice_type, ast_reference_type,
2169         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2170         (rust_parse): Update.
2171         (rustyyerror, rustyylex): Add parser parameter.
2172         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2173         (rust_lex_stringish_test, rust_lex_test_sequence)
2174         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2175         (rust_lex_test_push_back, rust_lex_tests): Update.
2176
2177 2018-07-19  Pedro Alves  <palves@redhat.com>
2178
2179         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2180         gdb::unique_xmalloc_ptr.
2181         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2182         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2183         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2184         copy-initialization.
2185         * guile/scm-pretty-print.c (ppscm_print_children): Use
2186         gdb::unique_xmalloc_ptr instead of cleanups.
2187         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2188         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2189         gdb::unique_xmalloc_ptr.
2190         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2191         Adjust to use gdb::unique_xmalloc_ptr.
2192         * guile/scm-utils.c (extract_arg): Adjust.
2193         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2194         gdb::unique_xmalloc_ptr instead of a cleanup.
2195
2196 2018-07-19  Tom Tromey  <tom@tromey.com>
2197
2198         * utils.c (do_value_free_to_mark)
2199         (make_cleanup_value_free_to_mark): Remove.
2200         * utils.h (make_cleanup_value_free_to_mark): Remove.
2201
2202 2018-07-19  Pedro Alves  <palves@redhat.com>
2203
2204         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2205         forwarding reference.
2206
2207 2018-07-18  Pedro Alves  <palves@redhat.com>
2208
2209         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2210         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2211         cleanup.
2212
2213 2018-07-18  Pedro Alves  <palves@redhat.com>
2214
2215         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2216         exceptions.
2217         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2218         (gdbscm_wrap): New.
2219         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2220         directly instead of a cleanup.
2221         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2222         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2223         (vlscm_binop_gdbthrow): New, factored out from ...
2224         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2225         (vlscm_rich_compare): Use gdbscm_wrap.
2226         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2227         instead of a cleanup.
2228         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2229         cleanup.
2230         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2231         Use xfree directly instead of a cleanup.
2232         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2233         Adjust to use gdbscm_wrap and scoped_value_mark.
2234         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2235         (gdbscm_value_address, gdbscm_value_dereference)
2236         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2237         scoped_value_mark.
2238         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2239         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2240         scoped_value_mark.
2241         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2242         gdbscm_wrap and scoped_value_mark.
2243         (gdbscm_value_to_string): Use xfree directly instead of a
2244         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2245         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2246         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2247         scoped_value_mark.
2248         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2249         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2250         scoped_value_mark.
2251         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2252         gdbscm_wrap.
2253
2254 2018-07-18  Tom de Vries  <tdevries@suse.de>
2255
2256         * findvar.c (default_read_var_value): Also resolve dynamic type for
2257         LOC_OPTIMIZED_OUT vars.
2258
2259 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2260
2261         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2262         decoding.
2263
2264 2018-07-17  Tom Tromey  <tom@tromey.com>
2265
2266         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2267         (compute_enum_list, pascm_set_param_value_x)
2268         (gdbscm_parameter_value): Update.
2269         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2270         (gdbscm_scm_to_host_string): Update.
2271         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2272         Update.
2273         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2274         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2275         * guile/scm-string.c (gdbscm_scm_to_string): Return
2276         unique_xmalloc_ptr.
2277         (gdbscm_scm_to_host_string): Likewise.
2278
2279 2018-07-17  Tom Tromey  <tom@tromey.com>
2280
2281         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2282         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2283         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2284         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2285         unique_xmalloc_ptr.
2286
2287 2018-07-17  Tom Tromey  <tom@tromey.com>
2288
2289         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2290         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2291         Update.
2292         * guile/scm-cmd.c (cmdscm_function): Update.
2293         * guile/scm-pretty-print.c
2294         (ppscm_print_exception_unless_memory_error): Update.
2295         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2296         Return unique_xmalloc_ptr.
2297
2298 2018-07-17  Tom Tromey  <tom@tromey.com>
2299
2300         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2301         Use string_printf.
2302
2303 2018-07-17  Jim Wilson  <jimw@sifive.com>
2304
2305         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2306         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2307         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2308         unecessary braces after EF_RISCV_RVC test.  Delete call to
2309         set_gdbarch_decr_pc_after_break.
2310
2311         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2312         RISCV_LAST_FP_REGNUM + 1.
2313         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2314
2315 2018-07-17  Tom Tromey  <tom@tromey.com>
2316
2317         * configure.ac: Remove --disable-gdbcli.
2318         * configure: Rebuild.
2319         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2320         (SUBDIR_CLI_CFLAGS): Remove.
2321         (SFILES): Use SUBDIR_CLI_SRCS.
2322         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2323
2324 2018-07-17  Tom Tromey  <tom@tromey.com>
2325
2326         PR gdb/18624:
2327         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2328
2329 2018-07-16  Jim Wilson  <jimw@sifive.com>
2330
2331         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2332
2333 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2334
2335         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2336         variable.
2337         (libunwind_frame_sniffer): Likewise.
2338         (libunwind_frame_prev_register): Likewise.
2339         (libunwind_sigtramp_frame_sniffer): Likewise.
2340         * ia64-tdep.c (ia64_access_reg): Likewise.
2341         (ia64_access_rse_reg): Likewise.
2342         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2343         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2344
2345 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2346
2347         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2348
2349 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2350
2351         * remote-sim.c (gdbsim_target::close,
2352         gdbsim_target::mourn_inferior): Remove unused variables.
2353
2354 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2355
2356         * ia64-tdep.c (ktab_buf): New global.
2357         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2358         (get_kernel_table): Adjust.
2359
2360 2018-07-16  Tom Tromey  <tom@tromey.com>
2361
2362         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2363         * dwarf2read.c (using_directives, new_symbol): Use
2364         outermost_context_p.
2365         * dbxread.c (process_one_symbol): Use outermost_context_p.
2366         * coffread.c (coff_symtab_read): Use outermost_context_p.
2367
2368 2018-07-16  Tom Tromey  <tom@tromey.com>
2369
2370         * dwarf2read.c (using_directives, read_func_scope)
2371         (read_lexical_block_scope): Update.
2372         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2373         * buildsym.h (local_using_directives, global_using_directives):
2374         Don't declare.
2375         (get_local_using_directives, set_local_using_directives)
2376         (get_global_using_directives): Declare.
2377         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2378         m_global_using_directives>: New members.
2379         (finish_block_internal, prepare_for_building)
2380         (reset_symtab_globals, end_symtab_get_static_block)
2381         (push_context): Update.
2382         (get_local_using_directives, set_local_using_directives)
2383         (get_global_using_directives): New functions.
2384         (buildsym_init): Update.
2385
2386 2018-07-16  Tom Tromey  <tom@tromey.com>
2387
2388         * xcoffread.c (xcoff_initial_scan): Don't call
2389         free_pending_blocks.
2390         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2391         * buildsym.h (class scoped_free_pendings): Add constructor.
2392         (free_pending_blocks): Don't declare.
2393         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2394         (free_pending_blocks): Now static.
2395
2396 2018-07-16  Tom Tromey  <tom@tromey.com>
2397
2398         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2399         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2400         member.
2401         (struct subfile_stack): Remove.
2402         (subfile_stack): Remove.
2403         (push_subfile, pop_subfile, buildsym_init): Update.
2404
2405 2018-07-16  Tom Tromey  <tom@tromey.com>
2406
2407         * buildsym.c (push_subfile): Use gdb_assert.
2408         (pop_subfile): Use gdb_assert.
2409
2410 2018-07-16  Tom Tromey  <tom@tromey.com>
2411
2412         * buildsym.h (merge_symbol_lists): Remove.
2413         * buildsym.c (merge_symbol_lists): Remove.
2414
2415 2018-07-16  Tom Tromey  <tom@tromey.com>
2416
2417         * stabsread.c (scan_file_globals): Update comment.
2418         * stabsread.h (scan_file_globals): Move from buildsym.h.
2419         * buildsym.h (scan_file_globals): Move to stabsread.h.
2420
2421 2018-07-16  Tom Tromey  <tom@tromey.com>
2422
2423         * xcoffread.c (xcoff_new_init): Update.
2424         * mipsread.c (mipscoff_new_init): Update.
2425         * mdebugread.c (mdebug_build_psymtabs): Update.
2426         * elfread.c (elf_new_init): Update.
2427         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2428         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2429         * buildsym.h (buildsym_new_init): Don't declare.
2430         * buildsym.c (buildsym_new_init): Remove.
2431
2432 2018-07-16  Tom Tromey  <tom@tromey.com>
2433
2434         * stabsread.h (within_function): Move from buildsym.h.
2435         * stabsread.c (start_stabs): Clear within_function.
2436         * coffread.c (coff_start_symtab): Clear within_function.
2437         * buildsym.h (within_function): Move to stabsread.h.
2438         * buildsym.c (prepare_for_building): Update.
2439
2440 2018-07-16  Tom Tromey  <tom@tromey.com>
2441
2442         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2443         * dwarf2read.c (dwarf2_start_symtab): Don't set
2444         processing_gcc_compilation.
2445         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2446
2447 2018-07-16  Tom Tromey  <tom@tromey.com>
2448
2449         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2450         (next_symbol_text_func): Move from buildsym.h.
2451         * stabsread.c (hashname): Move from buildsym.c.
2452         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2453         (next_symbol_text_func, hashname): Move to stabsread.h.
2454         * buildsym.c: Don't include bcache.h
2455         (hashname): Move to stasbread.c.
2456
2457 2018-07-16  Tom Tromey  <tom@tromey.com>
2458
2459         * buildsym.h (context_stack_size): Don't declare.
2460         * buildsym.c (context_stack_size): New global.
2461
2462 2018-07-16  Tom Tromey  <tom@tromey.com>
2463
2464         * dbxread.c (processing_acc_compilation): New global.
2465         * buildsym.h (processing_acc_compilation): Don't declare.
2466
2467 2018-07-16  Tom Tromey  <tom@tromey.com>
2468
2469         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2470         * dbxread.c (read_ofile_symtab): Update.
2471         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2472         * buildsym.h (last_source_start_addr): Remove.
2473         (set_last_source_start_addr, get_last_source_start_addr):
2474         Declare.
2475         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2476         parameter.
2477         (struct buildsym_compunit) <m_last_source_start_addr>: New
2478         member.
2479         (prepare_for_building): Remove start_addr parameter.
2480         (start_symtab, restart_symtab, end_symtab_get_static_block)
2481         (end_symtab_with_blockvector): Update.
2482         (set_last_source_start_addr, get_last_source_start_addr): New
2483         functions.
2484
2485 2018-07-16  Tom Tromey  <tom@tromey.com>
2486
2487         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2488         member.
2489         (have_line_numbers): Remove.
2490         (record_line, prepare_for_building, end_symtab_get_static_block)
2491         (augment_type_symtab): Update.
2492
2493 2018-07-16  Tom Tromey  <tom@tromey.com>
2494
2495         * buildsym.c (~buildsym_compunit): Free the macro table.
2496         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2497         methods.
2498         <m_pending_macros>: New member.
2499         (pending_macros): Remove.
2500         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2501         (reset_symtab_globals, end_symtab_get_static_block)
2502         (end_symtab_with_blockvector, augment_type_symtab)
2503         (buildsym_init): Update.
2504
2505 2018-07-16  Tom Tromey  <tom@tromey.com>
2506
2507         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2508         parameter.
2509         (buildsym_compunit::set_last_source_file): New method.
2510         <m_last_source_file>: New member.
2511         (prepare_for_building): Remove "name" parameter.
2512         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2513         (last_source_file): Remove.
2514         (set_last_source_file, get_last_source_file): Update.
2515
2516 2018-07-16  Tom Tromey  <tom@tromey.com>
2517
2518         * buildsym.c (prepare_for_building): Add assert.
2519
2520 2018-07-16  Tom Tromey  <tom@tromey.com>
2521
2522         * buildsym.c (~buildsym_compunit): Update.
2523         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2524         (start_subfile, patch_subfile_names)
2525         (end_symtab_with_blockvector): Update.
2526
2527 2018-07-16  Tom Tromey  <tom@tromey.com>
2528
2529         * buildsym.c (struct buildsym_compunit): Add constructor,
2530         destructor, initializers.
2531         (start_buildsym_compunit): Remove.
2532         (free_buildsym_compunit): Use "delete".
2533         (start_symtab, restart_symtab): Use "new".
2534
2535 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2536
2537         * symfile.c (set_objfile_default_section_offset): Remove struct
2538         keyword.
2539
2540 2018-07-14  Stafford Horne  <shorne@gmail.com>
2541
2542         * (Responsible Maintainers): Add myself as or1k maintainer.
2543
2544 2018-07-13  Tom Tromey  <tom@tromey.com>
2545
2546         * symfile.c (set_objfile_default_section_offset): Use extra braces
2547         around initializer.
2548
2549 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2550
2551         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2552         non-branching basr.
2553
2554 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2555
2556         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2557         unittests/cli-utils-selftests.c
2558         * unittests/cli-utils-selftests.c: New file.
2559
2560 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2561
2562         * NEWS: Mention new commands. Mention change to 'thread apply'.
2563
2564 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2565
2566         * thread.c (thr_try_catch_cmd): New function.
2567         (thread_apply_all_command): Handle qcs flags.
2568         (thread_apply_command): Handle qcs flags.
2569         (taas_command): New function.
2570         (tfaas_command): New function.
2571         (_initialize_thread): Update to setup the new commands 'taas
2572         and 'tfaas'. Change doc string for 'thread apply'.
2573
2574 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2575
2576         * stack.c: (trailing_outermost_frame): New function, mostly
2577         extracted from backtrace_command_1.
2578         (leading_innermost_frame): New function.
2579         (backtrace_command_1): Update to call trailing_outermost_frame.
2580         (frame_apply_command_count): New function.
2581         (frame_apply_level_command): New function.
2582         (frame_apply_all_command): New function.
2583         (frame_apply_command): New function.
2584         (faas_command): New function.
2585         (frame_cmd_list): New variable.
2586         (_initialize_stack): Update to setup the new commands 'frame apply'
2587         and 'faas'.
2588
2589 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2590
2591         * cli-utils.c (number_or_range_parser::get_number): Only handle
2592         numbers or convenience var as numbers.
2593         (parse_flags): New function.
2594         (parse_flags_qcs): New function.
2595         (number_or_range_parser::finished): Ensure parsing end is detected
2596         before end of string.
2597         * cli-utils.h (parse_flags): New function.
2598         (parse_flags_qcs): New function.
2599         (number_or_range_parser): Remove m_finished bool.
2600         (number_or_range_parser::skip_range): Set m_in_range to false.
2601
2602 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2603
2604         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2605         on Windows.
2606
2607 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2608             Jan Kratochvil  <jan.kratochvil@redhat.com>
2609             Paul Fertser  <fercerpav@gmail.com>
2610             Tsutomu Seki  <sekiriki@gmail.com>
2611             Pedro Alves  <palves@redhat.com>
2612
2613         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2614         'unittests/parse-connection-spec-selftests.c'.
2615         (COMMON_SFILES): Add 'common/netstuff.c'.
2616         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2617         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2618         * common/netstuff.c: New file.
2619         * common/netstuff.h: New file.
2620         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2621         (wait_for_connect): Update comment.  New parameter
2622         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2623         Use 'sock' directly instead of 'scb->fd'.
2624         (try_connect): New function, with code from 'net_open'.
2625         (net_open): Rewrite main loop to deal with multiple
2626         sockets/addresses.  Handle IPv6-style hostnames; implement
2627         support for IPv6 connections.
2628         * unittests/parse-connection-spec-selftests.c: New file.
2629
2630 2018-07-11  Pedro Alves  <palves@redhat.com>
2631
2632         PR gdb/23377
2633         * remote.c (remote_target::remote_detach_pid): Call
2634         set_current_process.
2635
2636 2018-07-11  Pedro Alves  <palves@redhat.com>
2637
2638         * h8300-tdep.c (h8300_gdbarch_init): Remove
2639         set_gdbarch_ecoff_reg_to_regnum calls.
2640
2641 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2642
2643         PR c++/23373
2644         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2645         offsets/sizes for static members of a class/struct.
2646
2647 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2648
2649         * target-descriptions.c (tdesc_register_bitsize): Rename.
2650         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2651         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2652         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2653
2654 2018-07-10  Tom Tromey  <tom@tromey.com>
2655
2656         * breakpoint.c (moribund_locations): Now static and a
2657         std::vector.
2658         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2659         (build_bpstat_chain, update_global_location_list)
2660         (breakpoint_retire_moribund): Update.
2661         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2662         VEC.
2663
2664 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2665
2666         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2667         (riscv_register_reggroup_p): Use new function, remove unneeded
2668         parenthesis.
2669         (riscv_push_dummy_call): Extend assert to compare against xlen or
2670         flen based on register type.
2671
2672 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2673
2674         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2675
2676 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2677
2678         * remote.c (show_hardware_watchpoint_limit): New function.
2679         (show_hardware_watchpoint_length_limit): New function.
2680         (show_hardware_breakpoint_limit): New function.
2681         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2682         where appropriate, update help text.
2683
2684 2018-07-09  Tom Tromey  <tom@tromey.com>
2685
2686         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2687         (CLIBS): Don't mention NAT_CLIBS.
2688
2689 2018-07-09  Tom Tromey  <tom@tromey.com>
2690
2691         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2692         (LIBGDB_OBS, clean mostlyclean): Update.
2693         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2694
2695 2018-07-09  Tom Tromey  <tom@tromey.com>
2696
2697         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2698         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2699         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2700
2701 2018-07-09  Tom Tromey  <tom@tromey.com>
2702
2703         * Makefile.in (ALLDEPFILES): Remove exec.c.
2704         (COMMON_OBS): Remove exec.o.
2705         (COMMON_SFILES): Add exec.c.
2706
2707 2018-07-09  Tom Tromey  <tom@tromey.com>
2708
2709         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2710
2711 2018-07-09  Tom Tromey  <tom@tromey.com>
2712
2713         * Makefile.in (clean mostlyclean): Remove stamp-version.
2714         (version.c): Depend on stamp-version.
2715         (stamp-version): New rule, from version.c rule.
2716
2717 2018-07-09  Tom Tromey  <tom@tromey.com>
2718
2719         * Makefile.in (init.c): Depend on stamp-init.
2720         (stamp-init): New rule, from init.c rule.
2721         (clean mostlyclean): Remove stamp-init.
2722
2723 2018-07-09  Tom Tromey  <tom@tromey.com>
2724
2725         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2726         SUBDIR_GCC_COMPILE_SRCS.
2727
2728 2018-07-09  Tom Tromey  <tom@tromey.com>
2729
2730         * Makefile.in (init.c): Remove some unused sed rules.
2731
2732 2018-07-09  Tom Tromey  <tom@tromey.com>
2733
2734         * Makefile.in (TSOBS): Remove.
2735         (INIT_FILES): Update.
2736         (LIBGDB_OBS): Update.
2737         (COMMON_SFILES): Add inflow.c.
2738         (SFILES): Remove inflow.c.
2739
2740 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2741
2742         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2743
2744 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2745
2746         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2747         get_saveloc_name, is_signal_frame_name, step_name,
2748         init_remote_name, create_addr_space_name,
2749         destroy_addr_space_name, search_unwind_table_name,
2750         find_dyn_list_name): Constify.
2751
2752 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2753
2754         * darwin-nat.c (darwin_pthread_kill): New function.
2755         (darwin_resume_thread): Use darwin_pthread_kill.
2756
2757 2018-07-05  Tom de Vries  <tdevries@suse.de>
2758
2759         * macroexp.c (macro_buffer) <operator=>: New member function.
2760
2761 2018-07-04  Tom Tromey  <tom@tromey.com>
2762
2763         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
2764
2765 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
2766
2767         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
2768         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
2769         * maint.c: Likewise.
2770         * top.c: Likewise.
2771
2772 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2773
2774         * NEWS: Create a new section for the next release branch.
2775         Rename the section of the current branch, now that it has
2776         been cut.
2777
2778 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2779
2780         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
2781         * version.in: Bump version to 8.2.50.DATE-git.
2782
2783 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
2784             Pedro Alves  <palves@redhat.com>
2785
2786         * linux-nat.c (linux_init_ptrace): Rename to ...
2787         (linux_init_ptrace_procfs): ... this.  Call
2788         linux_proc_init_warnings.
2789         (linux_nat_target::post_attach)
2790         (linux_nat_target::post_startup_inferior): Adjust.
2791         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
2792         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
2793
2794 2018-07-04  Tom de Vries  <tdevries@suse.de>
2795
2796         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2797         check ...
2798         (read_comp_unit_head): ... here.
2799
2800 2018-07-03  Tom Tromey  <tom@tromey.com>
2801
2802         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2803         (stop_tracing, tstatus_command)
2804         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2805         (print_one_static_tracepoint_marker): Update.
2806         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2807         std::vector.
2808         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2809         VEC.
2810         (all_tracepoints, static_tracepoints_here): Return std::vector.
2811
2812 2018-07-03  Tom Tromey  <tom@tromey.com>
2813
2814         * common/ptid.c (ptid_equal): Remove.
2815         * common/ptid.h (ptid_equal): Don't declare.
2816         * ada-tasks.c: Update.
2817         * breakpoint.c: Update.
2818         * common/agent.c: Update.
2819         * corelow.c: Update.
2820         * darwin-nat-info.c: Update.
2821         * darwin-nat.c: Update.
2822         * dcache.c: Update.
2823         * dtrace-probe.c: Update.
2824         * dummy-frame.c: Update.
2825         * fbsd-nat.c: Update.
2826         * frame.c: Update.
2827         * gdbthread.h: Update.
2828         * gnu-nat.c: Update.
2829         * go32-nat.c: Update.
2830         * inf-loop.c: Update.
2831         * inf-ptrace.c: Update.
2832         * infcall.c: Update.
2833         * infcmd.c: Update.
2834         * inflow.c: Update.
2835         * infrun.c: Update.
2836         * linux-fork.c: Update.
2837         * linux-nat.c: Update.
2838         * linux-thread-db.c: Update.
2839         * mi/mi-cmd-var.c: Update.
2840         * mi/mi-interp.c: Update.
2841         * mi/mi-main.c: Update.
2842         * nto-procfs.c: Update.
2843         * ppc-linux-tdep.c: Update.
2844         * procfs.c: Update.
2845         * python/py-inferior.c: Update.
2846         * python/py-record-btrace.c: Update.
2847         * python/py-record.c: Update.
2848         * ravenscar-thread.c: Update.
2849         * regcache.c: Update.
2850         * remote-sim.c: Update.
2851         * remote.c: Update.
2852         * sol-thread.c: Update.
2853         * solib.c: Update.
2854         * target.c: Update.
2855         * tui/tui-stack.c: Update.
2856         * varobj.c: Update.
2857         * windows-nat.c: Update.
2858         * windows-tdep.c: Update.
2859
2860 2018-07-03  Tom Tromey  <tom@tromey.com>
2861
2862         * common/ptid.c (ptid_match): Remove.
2863         * common/ptid.h (ptid_match): Don't declare.
2864         * fbsd-nat.c: Update.
2865         * infcmd.c: Update.
2866         * infrun.c: Update.
2867         * linux-nat.c: Update.
2868         * record-btrace.c: Update.
2869         * regcache.c: Update.
2870         * remote.c: Update.
2871
2872 2018-07-03  Tom Tromey  <tom@tromey.com>
2873
2874         * common/ptid.c (ptid_tid_p): Remove.
2875         * common/ptid.h (ptid_tid_p): Don't declare.
2876         * sol-thread.c: Update.
2877
2878 2018-07-03  Tom Tromey  <tom@tromey.com>
2879
2880         * common/ptid.c (ptid_lwp_p): Remove.
2881         * common/ptid.h (ptid_lwp_p): Don't declare.
2882         * fbsd-nat.c: Update.
2883         * linux-nat.c: Update.
2884         * nat/linux-procfs.c: Update.
2885         * nat/x86-linux-dregs.c: Update.
2886         * sol-thread.c: Update.
2887
2888 2018-07-03  Tom Tromey  <tom@tromey.com>
2889
2890         * common/ptid.c (ptid_is_pid): Remove.
2891         * common/ptid.h (ptid_is_pid): Don't declare.
2892         * infrun.c: Update.
2893         * linux-nat.c: Update.
2894         * mi/mi-interp.c: Update.
2895         * remote.c: Update.
2896         * thread.c: Update.
2897
2898 2018-07-03  Tom Tromey  <tom@tromey.com>
2899
2900         * common/ptid.c (ptid_get_tid): Remove.
2901         * common/ptid.h (ptid_get_tid): Don't declare.
2902         * ada-tasks.c: Update.
2903         * aix-thread.c: Update.
2904         * bsd-uthread.c: Update.
2905         * darwin-nat.c: Update.
2906         * fbsd-nat.c: Update.
2907         * i386-darwin-nat.c: Update.
2908         * infrun.c: Update.
2909         * linux-tdep.c: Update.
2910         * nto-procfs.c: Update.
2911         * ppc-ravenscar-thread.c: Update.
2912         * python/py-infthread.c: Update.
2913         * ravenscar-thread.c: Update.
2914         * sol-thread.c: Update.
2915         * sparc-ravenscar-thread.c: Update.
2916         * windows-nat.c: Update.
2917
2918 2018-07-03  Tom Tromey  <tom@tromey.com>
2919
2920         * common/ptid.c (ptid_get_lwp): Remove.
2921         * common/ptid.h (ptid_get_lwp): Don't declare.
2922         * aarch64-linux-nat.c: Update.
2923         * ada-tasks.c: Update.
2924         * aix-thread.c: Update.
2925         * amd64-linux-nat.c: Update.
2926         * arm-linux-nat.c: Update.
2927         * corelow.c: Update.
2928         * fbsd-nat.c: Update.
2929         * fbsd-tdep.c: Update.
2930         * gnu-nat.c: Update.
2931         * i386-cygwin-tdep.c: Update.
2932         * i386-gnu-nat.c: Update.
2933         * i386-linux-nat.c: Update.
2934         * ia64-linux-nat.c: Update.
2935         * inf-ptrace.c: Update.
2936         * infrun.c: Update.
2937         * linux-fork.c: Update.
2938         * linux-nat.c: Update.
2939         * linux-tdep.c: Update.
2940         * linux-thread-db.c: Update.
2941         * mips-linux-nat.c: Update.
2942         * nat/aarch64-linux-hw-point.c: Update.
2943         * nat/aarch64-linux.c: Update.
2944         * nat/linux-btrace.c: Update.
2945         * nat/linux-osdata.c: Update.
2946         * nat/linux-procfs.c: Update.
2947         * nat/x86-linux-dregs.c: Update.
2948         * obsd-nat.c: Update.
2949         * ppc-fbsd-nat.c: Update.
2950         * ppc-linux-nat.c: Update.
2951         * procfs.c: Update.
2952         * python/py-infthread.c: Update.
2953         * ravenscar-thread.c: Update.
2954         * remote.c: Update.
2955         * s390-linux-nat.c: Update.
2956         * sol-thread.c: Update.
2957         * sol2-tdep.c: Update.
2958         * spu-linux-nat.c: Update.
2959         * x86-linux-nat.c: Update.
2960         * xtensa-linux-nat.c: Update.
2961
2962 2018-07-03  Tom Tromey  <tom@tromey.com>
2963
2964         * common/ptid.c (ptid_get_pid): Remove.
2965         * common/ptid.h (ptid_get_pid): Don't declare.
2966         * aarch64-linux-nat.c: Update.
2967         * ada-lang.c: Update.
2968         * aix-thread.c: Update.
2969         * alpha-bsd-nat.c: Update.
2970         * amd64-fbsd-nat.c: Update.
2971         * amd64-linux-nat.c: Update.
2972         * arm-linux-nat.c: Update.
2973         * arm-nbsd-nat.c: Update.
2974         * auxv.c: Update.
2975         * break-catch-syscall.c: Update.
2976         * breakpoint.c: Update.
2977         * bsd-uthread.c: Update.
2978         * corelow.c: Update.
2979         * ctf.c: Update.
2980         * darwin-nat.c: Update.
2981         * fbsd-nat.c: Update.
2982         * fbsd-tdep.c: Update.
2983         * gcore.c: Update.
2984         * gnu-nat.c: Update.
2985         * hppa-nbsd-nat.c: Update.
2986         * hppa-obsd-nat.c: Update.
2987         * i386-fbsd-nat.c: Update.
2988         * ia64-linux-nat.c: Update.
2989         * inf-ptrace.c: Update.
2990         * infcmd.c: Update.
2991         * inferior.c: Update.
2992         * inferior.h: Update.
2993         * inflow.c: Update.
2994         * infrun.c: Update.
2995         * linux-fork.c: Update.
2996         * linux-nat.c: Update.
2997         * linux-tdep.c: Update.
2998         * linux-thread-db.c: Update.
2999         * m68k-bsd-nat.c: Update.
3000         * mi/mi-interp.c: Update.
3001         * mi/mi-main.c: Update.
3002         * mips-linux-nat.c: Update.
3003         * mips-nbsd-nat.c: Update.
3004         * mips64-obsd-nat.c: Update.
3005         * nat/aarch64-linux-hw-point.c: Update.
3006         * nat/aarch64-linux.c: Update.
3007         * nat/linux-btrace.c: Update.
3008         * nat/linux-osdata.c: Update.
3009         * nat/linux-procfs.c: Update.
3010         * nat/x86-linux-dregs.c: Update.
3011         * nto-procfs.c: Update.
3012         * obsd-nat.c: Update.
3013         * ppc-linux-nat.c: Update.
3014         * ppc-nbsd-nat.c: Update.
3015         * ppc-obsd-nat.c: Update.
3016         * proc-service.c: Update.
3017         * procfs.c: Update.
3018         * python/py-inferior.c: Update.
3019         * python/py-infthread.c: Update.
3020         * ravenscar-thread.c: Update.
3021         * record.c: Update.
3022         * remote-sim.c: Update.
3023         * remote.c: Update.
3024         * rs6000-nat.c: Update.
3025         * s390-linux-nat.c: Update.
3026         * sh-nbsd-nat.c: Update.
3027         * sol-thread.c: Update.
3028         * sparc-nat.c: Update.
3029         * sparc64-tdep.c: Update.
3030         * spu-linux-nat.c: Update.
3031         * spu-tdep.c: Update.
3032         * target-debug.h: Update.
3033         * target.c: Update.
3034         * thread.c: Update.
3035         * tid-parse.c: Update.
3036         * tracefile-tfile.c: Update.
3037         * vax-bsd-nat.c: Update.
3038         * windows-nat.c: Update.
3039         * x86-linux-nat.c: Update.
3040         * x86-nat.c: Update.
3041
3042 2018-07-03  Tom Tromey  <tom@tromey.com>
3043
3044         * common/ptid.c (pid_to_ptid): Remove.
3045         * common/ptid.h (pid_to_ptid): Don't declare.
3046         * aix-thread.c: Update.
3047         * arm-linux-nat.c: Update.
3048         * common/ptid.c: Update.
3049         * common/ptid.h: Update.
3050         * corelow.c: Update.
3051         * ctf.c: Update.
3052         * darwin-nat.c: Update.
3053         * fbsd-nat.c: Update.
3054         * fork-child.c: Update.
3055         * gnu-nat.c: Update.
3056         * go32-nat.c: Update.
3057         * inf-ptrace.c: Update.
3058         * infcmd.c: Update.
3059         * inferior.c: Update.
3060         * infrun.c: Update.
3061         * linux-fork.c: Update.
3062         * linux-nat.c: Update.
3063         * nat/aarch64-linux-hw-point.c: Update.
3064         * nat/fork-inferior.c: Update.
3065         * nat/x86-linux-dregs.c: Update.
3066         * nto-procfs.c: Update.
3067         * obsd-nat.c: Update.
3068         * procfs.c: Update.
3069         * progspace.c: Update.
3070         * remote.c: Update.
3071         * rs6000-nat.c: Update.
3072         * s390-linux-nat.c: Update.
3073         * sol-thread.c: Update.
3074         * spu-linux-nat.c: Update.
3075         * target.c: Update.
3076         * top.c: Update.
3077         * tracefile-tfile.c: Update.
3078         * windows-nat.c: Update.
3079
3080 2018-07-03  Tom Tromey  <tom@tromey.com>
3081
3082         * common/ptid.h (ptid_build): Don't declare.
3083         * common/ptid.c (ptid_build): Remove.
3084         * aix-thread.c: Update.
3085         * bsd-kvm.c: Update.
3086         * bsd-uthread.c: Update.
3087         * common/agent.c: Update.
3088         * common/ptid.c: Update.
3089         * common/ptid.h: Update.
3090         * corelow.c: Update.
3091         * darwin-nat.c: Update.
3092         * fbsd-nat.c: Update.
3093         * gnu-nat.c: Update.
3094         * linux-fork.c: Update.
3095         * linux-nat.c: Update.
3096         * linux-thread-db.c: Update.
3097         * nat/linux-osdata.c: Update.
3098         * nat/linux-procfs.c: Update.
3099         * nto-procfs.c: Update.
3100         * obsd-nat.c: Update.
3101         * proc-service.c: Update.
3102         * procfs.c: Update.
3103         * ravenscar-thread.c: Update.
3104         * remote-sim.c: Update.
3105         * remote.c: Update.
3106         * sol-thread.c: Update.
3107         * target.c: Update.
3108         * windows-nat.c: Update.
3109
3110 2018-07-03  Tom Tromey  <tom@tromey.com>
3111
3112         * infrun.c (follow_exec): Use exit_inferior_silent.
3113         * inferior.c (exit_inferior_num_silent): Remove.
3114         * inferior.h (exit_inferior_num_silent): Don't declare.
3115
3116 2018-07-03  Tom Tromey  <tom@tromey.com>
3117
3118         PR cli/23340:
3119         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3120         inferior_ptid on error.
3121
3122 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3123             Simon Marchi  <simon.marchi@polymtl.ca>
3124
3125         PR tdep/8282
3126         * disasm.h (gdb_disassembler): Add
3127         `m_disassembler_options_holder'. member
3128         * disasm.c (get_all_disassembler_options): New function.
3129         (gdb_disassembler::gdb_disassembler): Use it.
3130         (gdb_buffered_insn_length_init_dis): Likewise.
3131         (gdb_buffered_insn_length): Adjust accordingly.
3132         (set_disassembler_options): Handle options with arguments.
3133         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3134         line if showing options with descriptions.
3135         (disassembler_options_completer): Adapt to using the
3136         `disasm_options_and_args_t' structure.
3137         * mips-tdep.c (mips_disassembler_options): New variable.
3138         (mips_disassembler_options_o32): Likewise.
3139         (mips_disassembler_options_n32): Likewise.
3140         (mips_disassembler_options_n64): Likewise.
3141         (gdb_print_insn_mips): Don't set `disassembler_options'.
3142         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3143         functions.
3144         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3145         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3146         `gdbarch_disassembler_options_implicit' and
3147         `gdbarch_valid_disassembler_options'.
3148         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3149         `disasm_options_and_args_t' structure.
3150         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3151         method.
3152         (valid_disassembler_options): Switch from `disasm_options_t' to
3153         the `disasm_options_and_args_t' structure.
3154         * NEWS: Document `set disassembler-options' support for the MIPS
3155         target.
3156         * gdbarch.h: Regenerate.
3157         * gdbarch.c: Regenerate.
3158
3159 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3160
3161         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3162
3163 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3164
3165         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3166         parameter in call to amd64_target_description.
3167         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3168         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3169         (amd64fbsd_init_abi): Likewise.
3170         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3171         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3172         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3173         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3174
3175 2018-06-29  Pedro Alves  <palves@redhat.com>
3176
3177         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3178         "segments" parameter.
3179         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3180         (_initialize_amd64_tdep): Update call to
3181         amd64_create_target_description.
3182         (amd64_target_description): Add "segments" parameter.  Adjust
3183         the implementation to use it.
3184         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3185         call to amd64_create_target_description.
3186         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3187         * gdb/arch/amd64.h (amd64_create_target_description): Add
3188         "segments" register.
3189         * gdb/arch/amd64.c (amd64_create_target_description): Add
3190         "segments" parameter.  Call create_feature_i386_64bit_segments
3191         only if SEGMENTS is true.
3192         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3193         call to amd64_create_target_description.
3194
3195 2018-06-29  Pedro Alves  <palves@redhat.com>
3196
3197         * thread.c (thread_target_id_str): New, factored out from ...
3198         (print_thread_info_1): ... here.  Use it to compute the max
3199         "Target Id" column width.
3200
3201 2018-06-29  Pedro Alves  <palves@redhat.com>
3202
3203         * remote.c (remote_target::extra_thread_info): Delete
3204         'display_buf' and 'n' locals.  from the cache, regardless of
3205         packet mechanims is in use.  Use cache for qThreadExtra and qP
3206         methods too.
3207
3208 2018-06-29  Pedro Alves  <palves@redhat.com>
3209
3210         * blockframe.c (find_pc_sect_containing_function): New function.
3211         * breakpoint.c (print_breakpoint_location): Don't call
3212         find_pc_sect_function.
3213         * linespec.c (create_sals_line_offset): Record the location's
3214         symbol in the sal.
3215         * linespec.c (convert_address_location_to_sals): Fill in sal's
3216         symbol with find_pc_sect_containing_function.
3217         * symtab.c (find_function_start_sal): Rename to ...
3218         (find_function_start_sal_1): ... this.
3219         (find_function_start_sal): Reimplement as wrapper around
3220         find_function_start_sal_1, and use
3221         find_pc_sect_containing_function to fill in the sal's symbol.
3222         (find_function_start_sal(symbol*, bool)): Adjust.
3223         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3224         comments.
3225         (find_pc_sect_containing_function): Declare.
3226
3227 2018-06-29  Pedro Alves  <palves@redhat.com>
3228
3229         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3230         true if the the location has no symbol.
3231
3232 2018-06-28  Tom Tromey  <tom@tromey.com>
3233
3234         * NEWS: Mention --enable-codesign.
3235         * silent-rules.mk (ECHO_SIGN): New variable.
3236         * configure.ac: Add --enable-codesign.
3237         * configure: Rebuild.
3238         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3239         (gdb$(EXEEXT)): Optionally invoke codesign.
3240
3241 2018-06-28  Pedro Alves  <palves@redhat.com>
3242
3243         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3244         comments.
3245         (switch_to_thread_no_regs): Adjust comment.
3246         * infcmd.c (stop_pc): Delete.
3247         (post_create_inferior, info_program_command): Replace references
3248         to stop_pc with references to thread_info->suspend.stop_pc.
3249         * inferior.h (stop_pc): Delete declaration.
3250         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3251         (handle_inferior_event_1, handle_signal_stop)
3252         (process_event_stop_test, keep_going_stepped_thread)
3253         (handle_step_into_function, handle_step_into_function_backward)
3254         (print_stop_location): Replace references to stop_pc with
3255         references to thread_info->suspend.stop_pc.
3256         (struct infcall_suspend_state) <stop_pc>: Delete field.
3257         (save_infcall_suspend_state, restore_infcall_suspend_state):
3258         Remove references to inf_stat->stop_pc.
3259         * linux-fork.c (fork_load_infrun_state): Likewise.
3260         * record-btrace.c (record_btrace_set_replay): Likewise.
3261         * record-full.c (record_full_goto_entry): Likewise.
3262         * remote.c (print_one_stopped_thread): Likewise.
3263         * target.c (target_resume): Extend comment.
3264         * thread.c (set_executing_thread): New.
3265         (set_executing): Use it.
3266         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3267         Remove references to stop_pc.
3268
3269 2018-06-28  Pedro Alves  <palves@redhat.com>
3270
3271         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3272         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3273
3274 2018-06-28  Tom Tromey  <tom@tromey.com>
3275
3276         * coffread.c (coff_symfile_finish): Update.
3277         * xcoffread.c (xcoff_symfile_finish): Update.
3278         * elfread.c (elf_symfile_finish): Update.
3279         * symfile.h (dwarf2_free_objfile): Don't declare.
3280         * dwarf2read.c (_initialize_dwarf2_read): Use
3281         register_objfile_data_with_cleanup.
3282         (dwarf2_free_objfile): Now static.  Change signature.
3283
3284 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3285
3286         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3287         option "-o" to add-symbol-file-load to add an offset to each
3288         section's load address.
3289         * symfile.c (set_objfile_default_section_offset): New function.
3290
3291 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3292
3293         * symfile.c (add_symbol_file_command): Make sure that sections
3294         with the same name are sorted in the same order.
3295
3296 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3297
3298         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3299         require the second argument.  If omitted, load sections at the
3300         addresses specified in the file.
3301
3302 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3303
3304         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3305         (_initialize_symfile): Add option "-o" to symbol-file to add an
3306         offset to each section of the symbol file.
3307
3308 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3309
3310         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3311
3312 2018-06-27  Tom Tromey  <tom@tromey.com>
3313
3314         * stack.c (_initialize_stack): Update "func" help text.
3315
3316 2018-06-27  Tom Tromey  <tom@tromey.com>
3317
3318         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3319         std::vector.
3320         (unwind_infopy_str, pyuw_create_unwind_info)
3321         (unwind_infopy_add_saved_register, pyuw_sniffer)
3322         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3323         Update.
3324         (struct saved_reg): Add constructor.
3325         <value>: Now a gdbpy_ref<>.
3326
3327 2018-06-27  Tom Tromey  <tom@tromey.com>
3328
3329         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3330
3331 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3332
3333         * gdb-gdb.py.in: Format using autopep8.
3334
3335 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3336
3337         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3338         (type_lookup_function): Recognize CORE_ADDR values.
3339
3340 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3341
3342         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3343         print tag_name.
3344
3345 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3346
3347         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3348         <__lt__>: Add.
3349
3350 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3351
3352         * gdb-gdb.py: Move to...
3353         * gdb-gdb.py.in: ... here.
3354         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3355         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3356         dependencies.
3357         (distclean): Remove gdb-gdb.py when cleaning.
3358         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3359         * configure: Re-generate.
3360
3361 2018-06-27  Pedro Alves  <palves@redhat.com>
3362
3363         * proc-service.c (get_ps_regcache): New.
3364         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3365         (ps_lsetfpregs): Use it.
3366
3367 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3368
3369         PR gdb/21695
3370         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3371         (dwarf_decode_lines_1): Adjust.
3372
3373 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3374
3375         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3376         override.
3377         <info_proc>: Likewise.
3378
3379 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3380
3381         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3382         to windows_fetch_one_register, and only handle the case of
3383         fetching one register.  Move the code that reloads the context
3384         and iterates over all registers if R is negative to...
3385         (windows_nat_target::fetch_registers): ... here.
3386         (do_windows_store_inferior_registers): Rename to
3387         windows_store_one_register, and only handle the case of storing
3388         one register.  Move the code that handles the case where r is
3389         negative to...
3390         (windows_nat_target::store_registers) ... here.
3391
3392 2018-06-26  Tom Tromey  <tom@tromey.com>
3393
3394         PR rust/22574:
3395         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3396         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3397         Update.
3398         (rust_internal_print_type): Add podata parameter.
3399         (rust_print_type): Update.
3400
3401 2018-06-26  Tom Tromey  <tom@tromey.com>
3402
3403         * typeprint.h (struct print_offset_data) <update, finish,
3404         maybe_print_hole>: New methods.
3405         <indentation>: New constant.
3406         * typeprint.c (print_offset_data::indentation): Define.
3407         (print_offset_data::maybe_print_hole, print_offset_data::update)
3408         (print_offset_data::finish): Move from c-typeprint.c and rename.
3409         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3410         (print_spaces_filtered_with_print_options): Update.
3411         (c_print_type_union_field_offset, maybe_print_hole)
3412         (c_print_type_struct_field_offset): Move to typeprint.c and
3413         rename.
3414         (c_type_print_base_struct_union): Update.
3415
3416 2018-06-25  Pedro Alves  <palves@redhat.com>
3417
3418         * gdbthread.h (thread_info_ref, delete_thread)
3419         (delete_thread_silent, first_thread_of_inferior)
3420         (any_thread_of_inferior, switch_to_thread)
3421         (enable_thread_stack_temporaries)
3422         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3423         (get_last_thread_stack_temporary)
3424         (value_in_thread_stack_temporaries, can_access_registers_thread):
3425         Spell out "struct thread_info" instead of just "thread_info".
3426         * inferior.h (notice_new_inferior): Likewise.
3427
3428 2018-06-25  Pedro Alves  <palves@redhat.com>
3429
3430         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3431         pass thread_info pointer to delete_thread.
3432         (windows_nat_target::detach): Pass inferior pointer to
3433         detach_inferior.
3434         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3435         delete_thread.
3436         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3437         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3438         and pass a thread_info pointer to delete_thread.
3439         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3440         pass thread_info pointer to delete_thread.
3441         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3442         delete_thread_silent call.
3443         * procfs.c (procfs_target::detach): Pass inferior pointer to
3444         detach_inferior.
3445         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3446         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3447         delete_thread_silent call.
3448         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3449         pass thread_info pointer to delete_thread.
3450         (windows_nat_target::detach): Pass inferior pointer to
3451         delete_inferior.
3452
3453 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3454
3455         * regcache.c (readable_regcache::read_part): Fix asserts.
3456         (reg_buffer::raw_collect_part): New function.
3457         (regcache::write_part): Fix asserts.
3458         (reg_buffer::raw_supply_part): New function.
3459         (regcache::transfer_regset_register): New helper function.
3460         (regcache::transfer_regset): Call new functions.
3461         (regcache_supply_regset): Use gdb_byte*.
3462         (regcache::supply_regset): Likewise.
3463         (regcache_collect_regset): Likewise.
3464         (regcache::collect_regset): Likewise.
3465         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3466         (reg_buffer::raw_supply_part): Likewise.
3467         (regcache::transfer_regset_register): Likewise.
3468         (regcache::transfer_regset): Use gdb_byte*.
3469
3470 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3471
3472         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3473
3474 2018-06-21  Pedro Alves  <palves@redhat.com>
3475
3476         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3477         instead of a ptid_t.  All callers adjusted.
3478         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3479         adjusted.
3480         (print_ada_task_info, display_current_task_id, task_command_1):
3481         Adjust.
3482         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3483         inferior_thread.
3484         (breakpoint_kind): Adjust.
3485         (remove_breakpoints_pid): Rename to ...
3486         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3487         pointer.  All callers adjusted.
3488         (bpstat_clear_actions): Use inferior_thread.
3489         (get_bpstat_thread): New.
3490         (bpstat_do_actions): Use it.
3491         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3492         to take a thread_info pointer.  All callers adjusted.
3493         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3494         (breakpoint_re_set_thread): Use inferior_thread.
3495         * breakpoint.h (struct inferior): Forward declare.
3496         (bpstat_stop_status): Update.
3497         (remove_breakpoints_pid): Delete.
3498         (remove_breakpoints_inf): New.
3499         * bsd-uthread.c (bsd_uthread_target::wait)
3500         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3501         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3502         (maint_btrace_packet_history_cmd)
3503         (maint_btrace_clear_packet_history_cmd): Adjust.
3504         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3505         inferior_thread.
3506         * cli/cli-interp.c: Include "inferior.h".
3507         * common/refcounted-object.h (struct
3508         refcounted_object_ref_policy): New.
3509         * compile/compile-object-load.c: Include gdbthread.h.
3510         (store_regs): Use inferior_thread.
3511         * corelow.c (core_target::close): Use current_inferior.
3512         (core_target_open): Adjust to use first_thread_of_inferior and use
3513         the current inferior.
3514         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3515         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3516         <thread>: ... this new field.  All references adjusted.
3517         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3518         Take a thread_info pointer instead of a ptid_t.
3519         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3520         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3521         thread_info pointer instead of a ptid_t.
3522         * elfread.c: Include "inferior.h".
3523         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3524         Use inferior_thread.
3525         * eval.c (evaluate_subexp): Likewise.
3526         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3527         inferior_thread.
3528         * gdb_proc_service.h (struct thread_info): Forward declare.
3529         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3530         <thread>: ... this new field.  All references adjusted.
3531         * gdbarch.h, gdbarch.c: Regenerate.
3532         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3533         'thread' parameter.  All implementations and callers adjusted.
3534         * gdbthread.h (thread_info) <set_running>: New method.
3535         (delete_thread, delete_thread_silent): Take a thread_info pointer
3536         instead of a ptid.
3537         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3538         (first_thread_of_process): Delete, replaced by ...
3539         (first_thread_of_inferior): ... this new function.  All callers
3540         adjusted.
3541         (any_live_thread_of_process): Delete, replaced by ...
3542         (any_live_thread_of_inferior): ... this new function.  All callers
3543         adjusted.
3544         (switch_to_thread, switch_to_no_thread): Declare.
3545         (is_executing): Delete.
3546         (enable_thread_stack_temporaries): Update comment.
3547         <enable_thread_stack_temporaries>: Take a thread_info pointer
3548         instead of a ptid_t.  Incref the thread.
3549         <~enable_thread_stack_temporaries>: Decref the thread.
3550         <m_ptid>: Delete
3551         <m_thr>: New.
3552         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3553         (get_last_thread_stack_temporary)
3554         (value_in_thread_stack_temporaries, can_access_registers_thread):
3555         Take a thread_info pointer instead of a ptid_t.  All callers
3556         adjusted.
3557         * infcall.c (get_call_return_value): Use inferior_thread.
3558         (run_inferior_call): Work with thread pointers instead of ptid_t.
3559         (call_function_by_hand_dummy): Work with thread pointers instead
3560         of ptid_t.  Use thread_info_ref.
3561         * infcmd.c (proceed_thread_callback): Access thread's state
3562         directly.
3563         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3564         access thread's state directly.
3565         (continue_command): Use inferior_thread.
3566         (info_program_command): Use find_thread_ptid and access thread
3567         state directly.
3568         (proceed_after_attach_callback): Use thread state directly.
3569         (notice_new_inferior): Take a thread_info pointer instead of a
3570         ptid_t.  All callers adjusted.
3571         (exit_inferior): Take an inferior pointer instead of a pid.  All
3572         callers adjusted.
3573         (exit_inferior_silent): New.
3574         (detach_inferior): Delete.
3575         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3576         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3577         (detach_inferior_command, kill_inferior_command): Use
3578         find_inferior_id instead of valid_gdb_inferior_id and
3579         gdb_inferior_id_to_pid.
3580         (inferior_command): Use inferior and thread pointers.
3581         * inferior.h (struct thread_info): Forward declare.
3582         (notice_new_inferior): Take a thread_info pointer instead of a
3583         ptid_t.  All callers adjusted.
3584         (detach_inferior): Delete declaration.
3585         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3586         instead of a pid.  All callers adjusted.
3587         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3588         (valid_gdb_inferior_id): Delete.
3589         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3590         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3591         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3592         ...
3593         <inf>: ... this new field.
3594         <step_ptid>: Delete, replaced by ...
3595         <step_thread>: ... this new field.
3596         (get_displaced_stepping_state): Take an inferior pointer instead
3597         of a pid.  All callers adjusted.
3598         (displaced_step_in_progress_any_inferior): Adjust.
3599         (displaced_step_in_progress_thread): Take a thread pointer instead
3600         of a ptid_t.  All callers adjusted.
3601         (displaced_step_in_progress, add_displaced_stepping_state): Take
3602         an inferior pointer instead of a pid.  All callers adjusted.
3603         (get_displaced_step_closure_by_addr): Adjust.
3604         (remove_displaced_stepping_state): Take an inferior pointer
3605         instead of a pid.  All callers adjusted.
3606         (displaced_step_prepare_throw, displaced_step_prepare)
3607         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3608         All callers adjusted.
3609         (start_step_over): Adjust.
3610         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3611         displaced step queue.
3612         (do_target_resume): Adjust.
3613         (fetch_inferior_event): Use inferior_thread.
3614         (context_switch, get_inferior_stop_soon): Take an
3615         execution_control_state pointer instead of a ptid_t.  All callers
3616         adjusted.
3617         (switch_to_thread_cleanup): Delete.
3618         (stop_all_threads): Use scoped_restore_current_thread.
3619         * inline-frame.c: Include "gdbthread.h".
3620         (inline_state) <inline_state>: Take a thread pointer instead of a
3621         ptid_t.  All callers adjusted.
3622         <ptid>: Delete, replaced by ...
3623         <thread>: ... this new field.
3624         (find_inline_frame_state): Take a thread pointer instead of a
3625         ptid_t.  All callers adjusted.
3626         (skip_inline_frames, step_into_inline_frame)
3627         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3628         pointer instead of a ptid_t.  All callers adjusted.
3629         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3630         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3631         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3632         pointers directly.
3633         * linux-nat.c (get_detach_signal): Likewise.
3634         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3635         (thread_db_notice_clone): Adjust.
3636         (thread_db_find_new_threads_silently)
3637         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3638         a thread pointer instead of a ptid_t.  All callers adjusted.
3639         * mi/mi-cmd-var.c: Include "inferior.h".
3640         (mi_cmd_var_update_iter): Update to use thread pointers.
3641         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3642         inferior directly.
3643         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3644         out to ...
3645         (mi_output_running): ... this new function.
3646         (mi_on_resume_1): Adjust to use it.
3647         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3648         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3649         directly.
3650         (interrupt_thread_callback): : Adjust to use thread and inferior
3651         pointers.
3652         * proc-service.c: Include "gdbthread.h".
3653         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3654         * progspace-and-thread.c: Include "inferior.h".
3655         * progspace.c: Include "inferior.h".
3656         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3657         hold a reference to an inferior_object.
3658         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3659         inferior_thread.
3660         * python/py-inferior.c (struct inferior_object): Give the type a
3661         tag name instead of a typedef.
3662         (python_on_normal_stop): No need to check if the current thread is
3663         listed.
3664         (inferior_to_inferior_object): Change return type to
3665         inferior_object.  All callers adjusted.
3666         (find_thread_object): Delete, bits factored out to ...
3667         (thread_to_thread_object): ... this new function.
3668         * python/py-infthread.c (create_thread_object): Use
3669         inferior_to_inferior_object.
3670         (thpy_is_stopped): Use thread pointer directly.
3671         (gdbpy_selected_thread): Use inferior_thread.
3672         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3673         field, replaced with ...
3674         <thread>: ... this new field.  All users adjusted.
3675         (btpy_insn_or_gap_new): Drop const.
3676         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3677         callers adjusted.
3678         * python/py-record.c: Include "gdbthread.h".
3679         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3680         a ptid_t.  All callers adjusted.
3681         (gdbpy_current_recording): Use inferior_thread.
3682         * python/py-record.h (recpy_record_object) <ptid>: Delete
3683         field, replaced with ...
3684         <thread>: ... this new field.  All users adjusted.
3685         (recpy_element_object) <ptid>: Delete
3686         field, replaced with ...
3687         <thread>: ... this new field.  All users adjusted.
3688         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3689         a ptid_t.  All callers adjusted.
3690         * python/py-threadevent.c: Include "gdbthread.h".
3691         (get_event_thread): Use thread_to_thread_object.
3692         * python/python-internal.h (struct inferior_object): Forward
3693         declare.
3694         (find_thread_object, find_inferior_object): Delete declarations.
3695         (thread_to_thread_object, inferior_to_inferior_object): New
3696         declarations.
3697         * record-btrace.c: Include "inferior.h".
3698         (require_btrace_thread): Use inferior_thread.
3699         (record_btrace_frame_sniffer)
3700         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3701         (get_thread_current_frame): Use scoped_restore_current_thread and
3702         switch_to_thread.
3703         (get_thread_current_frame): Use thread pointer directly.
3704         (record_btrace_replay_at_breakpoint): Use thread's inferior
3705         pointer directly.
3706         * record-full.c: Include "inferior.h".
3707         * regcache.c: Include "gdbthread.h".
3708         (get_thread_arch_regcache): Use the inferior's address space
3709         directly.
3710         (get_thread_regcache, registers_changed_thread): New.
3711         * regcache.h (get_thread_regcache(thread_info *thread)): New
3712         overload.
3713         (registers_changed_thread): New.
3714         (remote_target) <remote_detach_1>: Swap order of parameters.
3715         (remote_add_thread): <remote_add_thread>: Return the new thread.
3716         (get_remote_thread_info(ptid_t)): New overload.
3717         (remote_target::remote_notice_new_inferior): Use thread pointers
3718         directly.
3719         (remote_target::process_initial_stop_replies): Use
3720         thread_info::set_running.
3721         (remote_target::remote_detach_1, remote_target::detach)
3722         (extended_remote_target::detach): Adjust.
3723         * stack.c (frame_show_address): Use inferior_thread.
3724         * target-debug.h (target_debug_print_thread_info_pp): New.
3725         * target-delegates.c: Regenerate.
3726         * target.c (default_thread_address_space): Delete.
3727         (memory_xfer_partial_1): Use current_inferior.
3728         (target_detach): Use current_inferior.
3729         (target_thread_address_space): Delete.
3730         (generic_mourn_inferior): Use current_inferior.
3731         * target.h (struct target_ops) <thread_address_space>: Delete.
3732         (target_thread_address_space): Delete.
3733         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3734         pointers directly.
3735         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3736         thread pointer instead of a ptid_t.  Adjust all callers.
3737         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3738         (first_thread_of_process): Delete, replaced by ...
3739         (first_thread_of_inferior): ... this new function.  All callers
3740         adjusted.
3741         (any_thread_of_process): Rename to ...
3742         (any_thread_of_inferior): ... this, and take an inferior pointer.
3743         (any_live_thread_of_process): Rename to ...
3744         (any_live_thread_of_inferior): ... this, and take an inferior
3745         pointer.
3746         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3747         (value_in_thread_stack_temporaries)
3748         (get_last_thread_stack_temporary): Take a thread pointer instead
3749         of a ptid_t.  Adjust all callers.
3750         (thread_info::set_running): New.
3751         (validate_registers_access): Use inferior_thread.
3752         (can_access_registers_ptid): Rename to ...
3753         (can_access_registers_thread): ... this, and take a thread
3754         pointer.
3755         (print_thread_info_1): Adjust to compare thread pointers instead
3756         of ptids.
3757         (switch_to_no_thread, switch_to_thread): Make extern.
3758         (scoped_restore_current_thread::~scoped_restore_current_thread):
3759         Use m_thread pointer directly.
3760         (scoped_restore_current_thread::scoped_restore_current_thread):
3761         Use inferior_thread.
3762         (thread_command): Use thread pointer directly.
3763         (thread_num_make_value_helper): Use inferior_thread.
3764         * top.c (execute_command): Use inferior_thread.
3765         * tui/tui-interp.c: Include "inferior.h".
3766         * varobj.c (varobj_create): Use inferior_thread.
3767         (value_of_root_1): Use find_thread_global_id instead of
3768         global_thread_id_to_ptid.
3769
3770 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
3771
3772         * regcache.c (readable_regcache::read_part): Avoid memcpy when
3773         possible.
3774         (regcache::write_part): Likewise.
3775         (readable_regcache::cooked_read_part): Update comment.
3776         (readable_regcache::cooked_write_part): Likewise.
3777         * regcache.h: (readable_regcache::read_part): Likewise.
3778         (regcache::write_part): Likewise.
3779
3780 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
3781             Dirk Schubert  <dirk.schubert@arm.com>
3782
3783         * aarch64-linux-nat.c (post_attach): New.
3784         (aarch64_linux_nat_target::post_attach): Override post_attach to
3785         record the number of hardware debug registers.
3786
3787 2018-06-20  Tom Tromey  <tom@tromey.com>
3788
3789         * python/py-param.c (add_setshow_generic): Make parameters const.
3790         (parmpy_init): Update.
3791
3792 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3793
3794         * regcache.h (regcache_cooked_read_ftype): Rename to...
3795         (register_read_ftype): ...this, change type to function_view.
3796         (class reg_buffer) <save>: Remove src parameter.
3797         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3798         parameter non-const in first overload.  Remove src parameter in
3799         second overload.
3800         * regcache.c (do_cooked_read): Remove.
3801         (readonly_detached_regcache::readonly_detached_regcache): Make
3802         parameter non-const, adjust call to other constructor.
3803         (reg_buffer::save): Remove src parameter.
3804         * frame.c (do_frame_register_read): Remove.
3805         (frame_save_as_regcache): Use lambda function.
3806         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3807         parameter to ppu2spu_data *.
3808         (ppu2spu_sniffer): Use lambda function.
3809
3810 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3811
3812         * record-full.c (record_full_target::insert_breakpoint): Remove
3813         "struct" keyword, add const.
3814
3815 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3816
3817         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3818         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3819         * configure.ac: Remove AC_PREREQ, add missing quoting.
3820         * gnulib/configure.ac: Modernize usage of
3821         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3822         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3823         (AUTOMAKE_VERSION): Bump to 1.15.1.
3824         * configure: Re-generate.
3825         * config.in: Re-generate.
3826         * aclocal.m4: Re-generate.
3827         * gnulib/aclocal.m4: Re-generate.
3828         * gnulib/config.in: Re-generate.
3829         * gnulib/configure: Re-generate.
3830         * gnulib/import/Makefile.in: Re-generate.
3831
3832 2018-06-19  Pedro Alves  <palves@redhat.com>
3833
3834         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3835         (lookup_minimal_symbol_by_pc_section): ... here with
3836         gdb_assert_not_reached added.
3837
3838 2018-06-19  Pedro Alves  <palves@redhat.com>
3839
3840         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3841         parameter with a block parameter.  Compare location's block symbol
3842         with the frame's block instead of addresses.
3843         (skip_inline_frames): Pass the current block instead of the
3844         frame's address.  Break out as soon as we determine the frame
3845         should not be skipped.
3846
3847 2018-06-18  Tom Tromey  <tom@tromey.com>
3848
3849         * solib-aix.c (solib_aix_get_section_offsets): Return
3850         unique_xmalloc_ptr.
3851         (solib_aix_solib_create_inferior_hook): Update.
3852
3853 2018-06-18  Tom Tromey  <tom@tromey.com>
3854
3855         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3856
3857 2018-06-18  Tom Tromey  <tom@tromey.com>
3858
3859         * solib-frv.c (frv_relocate_main_executable): Use
3860         unique_xmalloc_ptr.
3861         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3862         unique_xmalloc_ptr.
3863
3864 2018-06-18  Tom Tromey  <tom@tromey.com>
3865
3866         * objfiles.h (inhibit_section_map_updates): Update.
3867         (resume_section_map_updates, resume_section_map_updates_cleanup):
3868         Remove.
3869         * solib-svr4.c (svr4_handle_solib_event): Update.
3870         * objfiles.c (inhibit_section_map_updates): Return
3871         scoped_restore_tmpl<int>.
3872         (resume_section_map_updates, resume_section_map_updates_cleanup):
3873         Remove.
3874
3875 2018-06-18  Tom Tromey  <tom@tromey.com>
3876
3877         * valprint.h (read_string): Update.
3878         * valprint.c (read_string): Change type of "buffer".
3879         (val_print_string): Update.
3880         * python/py-value.c (valpy_string): Update.
3881         * language.h (struct language_defn) <la_get_string>: Change
3882         type of "buffer".
3883         (default_get_string, c_get_string): Update.
3884         * language.c (default_get_string): Change type of "buffer".
3885         * guile/scm-value.c (gdbscm_value_to_string): Update.
3886         * c-lang.c (c_get_string): Change type of "buffer".
3887
3888 2018-06-18  Tom Tromey  <tom@tromey.com>
3889
3890         * ser-mingw.c (struct pipe_state_destroyer): New.
3891         (pipe_state_up): New typedef.
3892         (cleanup_pipe_state): Remove.
3893         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3894
3895 2018-06-18  Tom Tromey  <tom@tromey.com>
3896
3897         * rust-lang.h (rust_yyerror): Don't declare.
3898         * rust-lang.c (rust_language_defn): Update.
3899         * rust-exp.y (yyerror): Now static.
3900         * parse.c (parse_exp_in_context_1): Update.
3901         * p-lang.h (p_yyerror): Don't declare.
3902         * p-lang.c (p_language_defn): Update.
3903         * p-exp.y (yyerror): Now static.
3904         * opencl-lang.c (opencl_language_defn): Update.
3905         * objc-lang.c (objc_language_defn): Update.
3906         * m2-lang.h (m2_yyerror): Don't declare.
3907         * m2-lang.c (m2_language_defn): Update.
3908         * m2-exp.y (yyerror): Now static.
3909         * language.h (struct language_defn) <la_error>: Remove.
3910         * language.c (unk_lang_error): Remove.
3911         (unknown_language_defn, auto_language_defn): Remove.
3912         * go-lang.h (go_yyerror): Don't declare.
3913         * go-lang.c (go_language_defn): Update.
3914         * go-exp.y (yyerror): Now static.
3915         * f-lang.h (f_yyerror): Don't declare.
3916         * f-lang.c (f_language_defn): Update.
3917         * f-exp.y (yyerror): Now static.
3918         * d-lang.h (d_yyerror): Don't declare.
3919         * d-lang.c (d_language_defn): Update.
3920         * d-exp.y (yyerror): Now static.
3921         * c-lang.h (c_yyerror): Don't declare.
3922         * c-lang.c (c_language_defn, cplus_language_defn)
3923         (asm_language_defn, minimal_language_defn): Update.
3924         * c-exp.y (yyerror): Now static.
3925         * ada-lang.h (ada_yyerror): Don't declare.
3926         * ada-lang.c (ada_language_defn): Update.
3927         * ada-exp.y (yyerror): Now static.
3928
3929 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3930
3931         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3932         (store_sveregs_to_thread): Likewise.
3933         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3934         (aarch64_linux_store_inferior_registers): Likewise.
3935         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3936         function.
3937         (aarch64_sve_regs_copy_to_regcache): Likewise.
3938         (aarch64_sve_regs_copy_from_regcache): Likewise.
3939         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3940         declaration.
3941         (aarch64_sve_regs_copy_to_regcache): Likewise.
3942         (aarch64_sve_regs_copy_from_regcache): Likewise.
3943         (sve_context): Structure from Linux headers.
3944         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3945         (SVE_SIG_ZREG_SIZE): Likewise.
3946         (SVE_SIG_PREG_SIZE): Likewise.
3947         (SVE_SIG_FFR_SIZE): Likewise.
3948         (SVE_SIG_REGS_OFFSET): Likewise.
3949         (SVE_SIG_ZREGS_OFFSET): Likewise.
3950         (SVE_SIG_ZREG_OFFSET): Likewise.
3951         (SVE_SIG_ZREGS_SIZE): Likewise.
3952         (SVE_SIG_PREGS_OFFSET): Likewise.
3953         (SVE_SIG_PREG_OFFSET): Likewise.
3954         (SVE_SIG_PREGS_SIZE): Likewise.
3955         (SVE_SIG_FFR_OFFSET): Likewise.
3956         (SVE_SIG_REGS_SIZE): Likewise.
3957         (SVE_SIG_CONTEXT_SIZE): Likewise.
3958         (SVE_PT_REGS_MASK): Likewise.
3959         (SVE_PT_REGS_FPSIMD): Likewise.
3960         (SVE_PT_REGS_SVE): Likewise.
3961         (SVE_PT_VL_INHERIT): Likewise.
3962         (SVE_PT_VL_ONEXEC): Likewise.
3963         (SVE_PT_REGS_OFFSET): Likewise.
3964         (SVE_PT_FPSIMD_OFFSET): Likewise.
3965         (SVE_PT_FPSIMD_SIZE): Likewise.
3966         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3967         (SVE_PT_SVE_PREG_SIZE): Likewise.
3968         (SVE_PT_SVE_FFR_SIZE): Likewise.
3969         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3970         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3971         (__SVE_SIG_TO_PT): Likewise.
3972         (SVE_PT_SVE_OFFSET): Likewise.
3973         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
3974         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
3975         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
3976         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
3977         (SVE_PT_SVE_PREG_OFFSET): Likewise.
3978         (SVE_PT_SVE_PREGS_SIZE): Likewise.
3979         (SVE_PT_SVE_FFR_OFFSET): Likewise.
3980         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
3981         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
3982         (SVE_PT_SVE_SIZE): Likewise.
3983         (SVE_PT_SIZE): Likewise.
3984         (HAS_SVE_STATE): New define.
3985
3986 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3987
3988         * nat/aarch64-sve-linux-sigcontext.h: New file.
3989         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
3990         new files.
3991         (SVE_VQ_MIN): Likewise.
3992         (SVE_VQ_MAX): Likewise.
3993         (SVE_VL_MIN): Likewise.
3994         (SVE_VL_MAX): Likewise.
3995         (SVE_NUM_ZREGS): Likewise.
3996         (SVE_NUM_PREGS): Likewise.
3997         (sve_vl_valid): Likewise.
3998         (struct user_sve_header): Likewise.
3999
4000 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4001             Richard Bunt <Richard.Bunt@arm.com>
4002
4003         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4004         was requested by GDB.
4005
4006 2018-06-15  Tom de Vries  <tdevries@suse.de>
4007
4008         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4009
4010 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4011
4012         * gnulib/update-gnulib.sh: Print expected versions of
4013         autoconf/aclocal.
4014
4015 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4016
4017         * arch-utils.c (default_type_align): Use type_length_units.
4018         * gdbtypes.c (type_align): Use type_length_units.
4019
4020 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4021
4022         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4023         of 'define' command.
4024
4025 2018-06-14  Tom de Vries  <tdevries@suse.de>
4026
4027         PR cli/22573
4028         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4029         get_no_prettyformat_print_options.
4030
4031 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4032
4033         * sparc-nat.h: Include target.h.
4034         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4035         <fetch_registers>: Remove this argument in function call.
4036         <store_registers>: Remove this argument in function call, remove
4037         extra semicolon.
4038         <low_forget_process>: Call sparc64_forget_process instead of
4039         sparc_forget_process.
4040
4041 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4042
4043         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4044         (procfs_target::make_corefile_notes): Adjust to new
4045         target_read_alloc return type.
4046
4047 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4048             Stephen Roberts  <stephen.roberts@arm.com>
4049
4050         PR gdb/22882
4051         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4052         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4053         Move should_notify_stop local into more inner scope.
4054
4055 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4056             Stephen Roberts  <stephen.roberts@arm.com>
4057
4058         PR gdb/22882
4059         * infrun.c (resume_1): Add call to mark_async_event_handler.
4060
4061 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4062
4063         * infrun.c (do_target_wait): Change old version of $pc printed.
4064
4065 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4066
4067         * dwarf2read.c (read_index_from_section): Rename to...
4068         (read_gdb_index_from_section): ... this, update all callers.
4069         (dwarf2_read_index): Rename to...
4070         (dwarf2_read_gdb_index): ... this, update all callers.
4071
4072 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4073
4074         * gdb/hppa-linux-nat.c
4075         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4076         hppa_linux_nat_target::fetch_registers.
4077
4078 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4079
4080         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4081         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4082         (AARCH64_DWARF_SVE_FFR): Likewise.
4083         (AARCH64_DWARF_SVE_P0): Likewise.
4084         (AARCH64_DWARF_SVE_Z0): Likewise.
4085
4086 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4087
4088         * common/common-regcache.h (raw_compare): New function.
4089         * regcache.c (regcache::raw_compare): Likewise.
4090         * regcache.h (regcache::raw_compare): New declaration.
4091
4092 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4093
4094         * common/common-regcache.h (reg_buffer_common): New structure.
4095         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4096         (reg_buffer::raw_supply): Likewise.
4097         (reg_buffer::raw_supply_integer): Likewise.
4098         (reg_buffer::raw_supply_zeroed): Likewise.
4099         (reg_buffer::raw_collect): Likewise.
4100         (reg_buffer::raw_collect_integer): Likewise.
4101         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4102         (reg_buffer::raw_supply): Likewise.
4103         (reg_buffer::raw_supply_integer): Likewise.
4104         (reg_buffer::raw_supply_zeroed): Likewise.
4105         (reg_buffer::raw_collect): Likewise.
4106         (reg_buffer::raw_collect_integer): Likewise.
4107
4108 2018-06-10  Tom Tromey  <tom@tromey.com>
4109
4110         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4111         (class remote_state) <stop_reply_queue>: Now std::vector.
4112         (remote_state::~remote_state)
4113         (remote_target::stop_reply_queue_length): Update.
4114         (struct queue_iter_param, remove_child_of_pending_fork)
4115         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4116         (check_pending_event_prevents_wildcard_vcont_callback)
4117         (remove_stop_reply_for_inferior)
4118         (remove_stop_reply_of_remote_state)
4119         (remote_notif_remove_once_on_match)
4120         (stop_reply_match_ptid_and_ws)
4121         (remote_kill_child_of_pending_fork): Remove.
4122         (remote_target::remove_new_fork_children)
4123         (remote_target::check_pending_events_prevent_wildcard_vcont)
4124         (remote_target::discard_pending_stop_replies)
4125         (remote_target::discard_pending_stop_replies_in_queue)
4126         (remote_target::remote_notif_remove_queued_reply)
4127         (remote_target::queued_stop_reply)
4128         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4129         (remote_target::wait, remote_target::kill_new_fork_children)
4130         (remote_target::async): Update.
4131
4132 2018-06-10  Tom Tromey  <tom@tromey.com>
4133
4134         * record-full.c (record_full_arch_list_cleanups): Remove.
4135         (record_full_message): Use try/catch.
4136         (record_full_wait_cleanups): Remove.
4137         (record_full_wait_1): Use try/catch.
4138         (record_full_restore): Likewise.
4139
4140 2018-06-10  Tom Tromey  <tom@tromey.com>
4141
4142         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4143         declare VEC.  Add constructor.
4144         <in_target_beneath>: Now bool.
4145         (record_full_breakpoints): Now a std::vector, static.
4146         (record_full_sync_record_breakpoints)
4147         (record_full_init_record_breakpoints)
4148         (record_full_target::insert_breakpoint)
4149         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4150
4151 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4152
4153         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4154         * serial.c (serial_interface_lookup): Remove struct keyword.
4155
4156 2018-06-10  Tom Tromey  <tom@tromey.com>
4157
4158         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4159         method.
4160         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4161         a method.
4162         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4163         method.
4164         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4165         "beneath" as a method.
4166         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4167         Use "beneath" as a method.
4168
4169 2018-06-10  Tom Tromey  <tom@tromey.com>
4170
4171         * tracefile.c (struct trace_file_writer_deleter): New.
4172         <operator()>: Rename from trace_file_writer_xfree.
4173         (trace_file_writer_up): New typedef.
4174         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4175
4176 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4177
4178         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4179         <m_registers, m_register_status>: Change type to
4180         std::unique_ptr.
4181         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4182         XCNEWVEC.
4183
4184 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4185
4186         * common/common-regcache.h (enum register_status): Add
4187         underlying type "signed char".
4188         * regcache.h (reg_buffer) <m_register_status>: Change type to
4189         register_status *.
4190         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4191         register_status instead of signed char.
4192         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4193         (reg_buffer::get_register_status): Remove cast.
4194         (readable_regcache::raw_read): Remove cast.
4195         (readable_regcache::cooked_read): Remove cast.
4196
4197 2018-06-09  Tom Tromey  <tom@tromey.com>
4198
4199         * source.c (reverse_search_command, forward_search_command): Use
4200         scoped_fd.
4201
4202 2018-06-09  Tom Tromey  <tom@tromey.com>
4203
4204         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4205         (serial_ops_list): Now static, std::vector.
4206         (serial_interface_lookup, serial_add_interface): Update.
4207
4208 2018-06-09  Tom Tromey  <tom@tromey.com>
4209
4210         * dwarf2read.c (process_cu_includes): Update.
4211         (process_full_comp_unit): Update.
4212         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4213         std::vector.
4214
4215 2018-06-08  Paul Koning  <paul_koning@dell.com>
4216
4217         PR gdb/23252
4218
4219         * python/python.c (do_start_initialization):
4220         Avoid call to internal Python API.
4221         (init__gdb_module): New function.
4222
4223 2018-06-08  Gary Benson <gbenson@redhat.com>
4224
4225         * linux-thread-db.c (valprint.h): New include.
4226         (struct check_thread_db_info): New structure.
4227         (check_thread_db_on_load, tdb_testinfo): New static globals.
4228         (check_thread_db, check_thread_db_callback): New functions.
4229         (try_thread_db_load_1): Run integrity checks if requested.
4230         (maintenance_check_libthread_db): New function.
4231         (_initialize_thread_db): Register "maint check libthread-db"
4232         and "maint set/show check-libthread-db".
4233         * NEWS: Mention the above new commands.
4234
4235 2018-06-08  Tom Tromey  <tom@tromey.com>
4236
4237         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4238         now a method.
4239
4240 2018-06-08  Tom Tromey  <tom@tromey.com>
4241
4242         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4243
4244 2018-06-08  Tom Tromey  <tom@tromey.com>
4245
4246         * common/btrace-common.h (struct btrace_data): Add constructor,
4247         destructor, move assignment operator.
4248         <empty, clear, fini>: New methods.
4249         <format>: Initialize.
4250         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4251         (btrace_data_empty): Don't declare.
4252         * common/btrace-common.c (btrace_data_init): Remove.
4253         (btrace_data::fini): Rename from btrace_data_fini.
4254         (btrace_data::empty): Rename from btrace_data_empty.
4255         (btrace_data::clear): Rename from btrace_data_clear.  Return
4256         bool.
4257         * btrace.h (make_cleanup_btrace_data): Don't declare.
4258         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4259         (parse_xml_btrace): Update.
4260         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4261         (maint_btrace_clear_packet_history_cmd): Update.
4262
4263 2018-06-07  Pedro Alves  <palves@redhat.com>
4264
4265         * target.h (target_ops) <beneath>: Now a method.  All references
4266         updated.
4267         (class target_stack): New.
4268         * target.c (g_target_stack): New.
4269         (g_current_top_target): Delete.
4270         (current_top_target): Get the top target out of g_target_stack.
4271         (target_stack::push, target_stack::unpush): New.
4272         (push_target, unpush_target): Reimplement.
4273         (target_is_pushed): Reimplement in terms of g_target_stack.
4274         (target_ops::beneath, target_stack::find_beneath): New.
4275
4276 2018-06-07  Pedro Alves  <palves@redhat.com>
4277
4278         * target.h (find_target_beneath): Delete declaration.
4279         * target.c (find_target_beneath): Delete definition.
4280         * aix-thread.c: All callers of find_target_beneath adjusted to
4281         call target_ops::beneath instead.
4282         * bsd-uthread.c: Likewise.
4283         * linux-thread-db.c: Likewise.
4284         * ravenscar-thread.c: Likewise.
4285         * sol-thread.c: Likewise.
4286         * spu-multiarch.c: Likewise.
4287
4288 2018-06-07  Pedro Alves  <palves@redhat.com>
4289
4290         * target.h (target_ops) <beneath>: Now a method.  All references
4291         updated.
4292         (target_ops) <m_beneath>: New.
4293         * target.c (target_ops::beneath): New.
4294         * corelow.c: Adjust all references to target_ops::beneath.
4295         * linux-thread-db.c: Likewise.
4296         * make-target-delegates: Likewise.
4297         * record-btrace.c: Likewise.
4298         * record-full.c: Likewise.
4299         * remote.c: Likewise.
4300         * target.c: Likewise.
4301         * target-delegates.c: Regenerate.
4302
4303 2018-06-07  Pedro Alves  <palves@redhat.com>
4304
4305         * target.h (target_stack): Delete.
4306         (current_top_target): Declare function.
4307         * target.c (target_stack): Delete.
4308         (g_current_top_target): New.
4309         (current_top_target): New function.
4310         * auxv.c: Use current_top_target instead of target_stack
4311         throughout.
4312         * avr-tdep.c: Likewise.
4313         * breakpoint.c: Likewise.
4314         * corefile.c: Likewise.
4315         * elfread.c: Likewise.
4316         * eval.c: Likewise.
4317         * exceptions.c: Likewise.
4318         * frame.c: Likewise.
4319         * gdbarch-selftests.c: Likewise.
4320         * gnu-v3-abi.c: Likewise.
4321         * ia64-tdep.c: Likewise.
4322         * ia64-vms-tdep.c: Likewise.
4323         * infcall.c: Likewise.
4324         * infcmd.c: Likewise.
4325         * infrun.c: Likewise.
4326         * linespec.c: Likewise.
4327         * linux-tdep.c: Likewise.
4328         * minsyms.c: Likewise.
4329         * ppc-linux-nat.c: Likewise.
4330         * ppc-linux-tdep.c: Likewise.
4331         * procfs.c: Likewise.
4332         * regcache.c: Likewise.
4333         * remote.c: Likewise.
4334         * rs6000-tdep.c: Likewise.
4335         * s390-linux-nat.c: Likewise.
4336         * s390-tdep.c: Likewise.
4337         * solib-aix.c: Likewise.
4338         * solib-darwin.c: Likewise.
4339         * solib-dsbt.c: Likewise.
4340         * solib-spu.c: Likewise.
4341         * solib-svr4.c: Likewise.
4342         * solib-target.c: Likewise.
4343         * sparc-tdep.c: Likewise.
4344         * sparc64-tdep.c: Likewise.
4345         * spu-tdep.c: Likewise.
4346         * symfile.c: Likewise.
4347         * symtab.c: Likewise.
4348         * target-descriptions.c: Likewise.
4349         * target-memory.c: Likewise.
4350         * target.c: Likewise.
4351         * target.h: Likewise.
4352         * tracefile-tfile.c: Likewise.
4353         * tracepoint.c: Likewise.
4354         * valops.c: Likewise.
4355         * valprint.c: Likewise.
4356         * value.c: Likewise.
4357         * windows-tdep.c: Likewise.
4358         * mi/mi-main.c: Likewise.
4359
4360 2018-06-07  Tom Tromey  <tom@tromey.com>
4361
4362         * valprint.h (build_address_symbolic): Declare.
4363         * printcmd.c (print_address_symbolic): Update.
4364         (build_address_symbolic): Change "name" and "filename" to
4365         std::string.
4366         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4367         Update.
4368         * defs.h (build_address_symbolic): Remove declaration.
4369
4370 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4371
4372         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4373         (aarch64_vnv_type): Add function.
4374         (aarch64_pseudo_register_name): Add V regs for SVE.
4375         (aarch64_pseudo_register_type): Likewise.
4376         (aarch64_pseudo_register_reggroup_p): Likewise.
4377         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4378         (aarch64_pseudo_read_value): Add V regs for SVE.
4379         (aarch64_pseudo_write_2): Use V0 offset for SVE
4380         (aarch64_pseudo_write): Add V regs for SVE.
4381         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4382
4383 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4384
4385         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4386         (sve_vl_from_vq): Likewise.
4387
4388 2018-06-05  Tom Tromey  <tom@tromey.com>
4389
4390         * cli/cli-cmds.c (show_version): Update.
4391         * top.c (print_gdb_version): Add "interactive" parameter.
4392         Update.
4393         * main.c (captured_main_1): Update.
4394         * top.h (print_gdb_version): Add "interactive" parameter and a
4395         comment.
4396
4397 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4398
4399         * common/enum-flags.h: Add trailing semicolon to example in
4400         comment.
4401
4402 2018-06-05  Tom Tromey  <tom@tromey.com>
4403
4404         PR cli/12326:
4405         * NEWS: Add entry about pager.
4406         * utils.c (pagination_disabled_for_command): New global.
4407         (prompt_for_continue): Allow "c" response to prompt.
4408         (reinitialize_more_filter): Clear
4409         pagination_disabled_for_command.
4410         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4411
4412 2018-06-04  Tom Tromey  <tom@tromey.com>
4413
4414         * ada-lang.h (ada_lookup_symbol_list): Update.
4415         * ada-lang.c (resolve_subexp): Update.
4416         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4417         parameter.
4418         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4419         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4420         results parameter to std::vector.
4421         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4422         Update.
4423         * ada-exp.y (block_lookup): Update.
4424         (select_possible_type_sym): Change type of syms.  Remove nsyms
4425         parameter.
4426         (write_var_or_type, write_name_assoc): Update.
4427
4428 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4429
4430         * windows-nat.c (windows_nat_target::xfer_partial): Return
4431         TARGET_XFER_E_IO if we need to delegate to the target beneath
4432         but BENEATH is NULL.
4433
4434 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4435
4436         * Makefile.in (config.status): Add configure.nat as a
4437         dependency.
4438
4439 2018-06-04  Tom Tromey  <tom@tromey.com>
4440
4441         * cp-name-parser.y (cpname_state): Add method declarations.
4442         (HANDLE_QUAL): Update.
4443         (cpname_state::d_grab, cpname_state::fill_comp)
4444         (cpname_state::make_operator, cpname_state::make_dtor)
4445         (cpname_state::make_builtin_type, cpname_state::make_name)
4446         (cpname_state::d_qualify, cpname_state::d_int_type)
4447         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4448         (%union): Move earlier.
4449
4450 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4451
4452         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4453
4454 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4455
4456         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4457         (aarch64_pseudo_write_1): Likewise.
4458         (aarch64_pseudo_read_value): Use helper.
4459         (aarch64_pseudo_write): Likewise.
4460
4461 2018-06-04  Pedro Alves  <palves@redhat.com>
4462
4463         * darwin-nat.c (darwin_ops): Delete.
4464         (darwin_attach_pid): Use get_native_target.
4465
4466 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4467
4468         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4469         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4470
4471 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4472
4473         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4474         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4475         (aarch64_gdbarch_init): Check for SVE.
4476         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4477
4478 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4479
4480         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4481         * aarch64-tdep.h (aarch64_read_description): Likewise.
4482         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4483         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4484         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4485         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4486         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4487
4488 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4489
4490         * value.c (value_fetch_lazy_bitfield): New.
4491         (value_fetch_lazy_memory): New.
4492         (value_fetch_lazy_register): New.
4493         (value_fetch_lazy): Factor out to smaller functions.
4494
4495 2018-06-01  Tom Tromey  <tom@tromey.com>
4496
4497         * cp-name-parser.y (backslashable, represented): Now const.
4498
4499 2018-06-01  Tom Tromey  <tom@tromey.com>
4500
4501         * cp-name-parser.y: Include parser-defs.h.
4502         (parser_fprintf): Remove declaration.
4503
4504 2018-06-01  Tom Tromey  <tom@tromey.com>
4505
4506         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4507         %parse-param.
4508         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4509         (global_result): Remove globals.
4510         (struct cpname_state): New.
4511         (yyparse): Don't declare.
4512         (yylex, yyerror): Move declarations after %union.
4513         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4514         (make_name): Add state parameter.
4515         Update all callers.
4516         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4517         parameter.
4518         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4519         Update.
4520         (yylex): Add lvalp, state parameters.
4521         (yyerror): Add state parameter.
4522         (cp_demangled_name_to_comp): Update.
4523
4524 2018-06-01  Tom Tromey  <tom@tromey.com>
4525
4526         * cp-name-parser.y (parser_fprintf): Declare.
4527         (GDB_YY_REMAP_PREFIX): Define.
4528         Include yy-remap.h.  Don't redefine yy* identifiers.
4529
4530 2018-06-01  Tom Tromey  <tom@tromey.com>
4531
4532         * python/py-type.c (typy_legacy_template_argument): Update.
4533         * cp-support.h (cp_demangled_name_to_comp): Update.
4534         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4535         parameter to be a "std::string *".
4536         (main): Update.
4537
4538 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4539
4540         * ada-lex.l: Include "diagnostics.h" instead of
4541         "common/diagnostics.h".
4542         * unittests/environ-selftests.c: Likewise.
4543         * common/diagnostics.h: Moved to ../include.
4544
4545 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4546
4547         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4548         to language_mode_manual while calling breakpoint_re_set_one.
4549
4550 2018-06-01  Tom Tromey  <tom@tromey.com>
4551
4552         * valops.c (value_cast_structs, destructor_name_p): Update.
4553         * symtab.c (gdb_mangle_name): Update.
4554         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4555         Update.
4556         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4557         (pascal_object_print_value_fields, pascal_object_print_value):
4558         Update.
4559         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4560         * linespec.c (find_methods): Update.
4561         * gdbtypes.h (type_name_no_tag): Remove.
4562         (type_name_or_error): Rename from type_name_no_tag_or_error.
4563         * gdbtypes.c (type_name_no_tag): Remove.
4564         (type_name_or_error): Rename from type_name_no_tag_or_error.
4565         (lookup_struct_elt_type, check_typedef): Update.
4566         * expprint.c (print_subexp_standard): Update.
4567         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4568         * d-namespace.c (d_lookup_nested_symbol): Update.
4569         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4570         (cp_print_class_member): Update.
4571         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4572         * completer.c (add_struct_fields): Update.
4573         * c-typeprint.c (cp_type_print_derivation_info)
4574         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4575         Update.
4576         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4577         (ada_prefer_type, ada_is_exception_sym): Update.
4578
4579 2018-06-01  Tom Tromey  <tom@tromey.com>
4580
4581         * valops.c (enum_constant_from_type, value_namespace_elt)
4582         (value_maybe_namespace_elt): Update.
4583         * valarith.c (find_size_for_pointer_math): Update.
4584         * target-descriptions.c (make_gdb_type): Update.
4585         * symmisc.c (print_symbol): Update.
4586         * stabsread.c (define_symbol, read_type)
4587         (complain_about_struct_wipeout, add_undefined_type)
4588         (cleanup_undefined_types_1): Update.
4589         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4590         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4591         (rust_internal_print_type, rust_composite_type)
4592         (rust_evaluate_funcall, rust_evaluate_subexp)
4593         (rust_inclusive_range_type_p): Update.
4594         * python/py-type.c (typy_get_tag): Update.
4595         * p-typeprint.c (pascal_type_print_base): Update.
4596         * mdebugread.c (parse_symbol, parse_type): Update.
4597         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4598         Update.
4599         * guile/scm-type.c (gdbscm_type_tag): Update.
4600         * go-lang.c (sixg_string_p): Update.
4601         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4602         Update.
4603         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4604         (TYPE_TAG_NAME): Remove.
4605         * gdbtypes.c (type_name_no_tag): Simplify.
4606         (check_typedef, check_types_equal, recursive_dump_type)
4607         (copy_type_recursive, arch_composite_type): Update.
4608         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4609         in summary mode when needed.
4610         * eval.c (evaluate_funcall): Update.
4611         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4612         (process_structure_scope, read_enumeration_type)
4613         (read_namespace_type, read_module_type, determine_prefix): Update.
4614         * cp-support.c (inspect_type): Update.
4615         * coffread.c (process_coff_symbol, decode_base_type): Update.
4616         * c-varobj.c (c_is_path_expr_parent): Update.
4617         * c-typeprint.c (c_type_print_base_struct_union): Update.
4618         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4619         summary when using C language.
4620         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4621         (gen_maybe_namespace_elt): Update.
4622         * ada-lang.c (ada_type_name): Simplify.
4623         (empty_record, ada_template_to_fixed_record_type_1)
4624         (template_to_static_fixed_type)
4625         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4626
4627 2018-06-01  Tom Tromey  <tom@tromey.com>
4628
4629         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4630         c_print_type.
4631         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4632         (c_print_type): Update.
4633         (c_print_type): New overload.
4634         (c_type_print_varspec_prefix, c_type_print_args)
4635         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4636         (c_type_print_base_struct_union, c_type_print_base_1)
4637         (cp_type_print_method_args): Add "language" parameter.
4638         (c_type_print_base): Update.
4639         * c-lang.h (c_print_type): Add new overload.
4640
4641 2018-06-01  Tom Tromey  <tom@tromey.com>
4642
4643         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4644         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4645
4646 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4647
4648         * aarch64-tdep.c (aarch64_sve_register_names): New const
4649         var.
4650         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4651         (AARCH64_SVE_Z_REGS_NUM): New define.
4652         (AARCH64_SVE_P_REGS_NUM): Likewise.
4653         (AARCH64_SVE_NUM_REGS): Likewise.
4654
4655 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4656
4657         * nat/linux-ptrace.h [__alpha__]
4658         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4659         definitions.
4660
4661 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4662
4663         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4664         the endianness selected.
4665         * NEWS: Document `set endian auto' mode operation update.
4666
4667 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4668
4669         * Makefile.in: Add new header.
4670         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4671         (sve_vl_from_vg): Likewise.
4672         (sve_vq_from_vl): Likewise.
4673         (sve_vl_from_vq): Likewise.
4674         (sve_vq_from_vg): Likewise.
4675         (sve_vg_from_vq): Likewise.
4676         * configure.nat: Add new c file.
4677         * nat/aarch64-sve-linux-ptrace.c: New file.
4678         * nat/aarch64-sve-linux-ptrace.h: New file.
4679
4680 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4681
4682         * aarch64-linux-nat.c (aarch64_linux_read_description):
4683         Add parmeter zero.
4684         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4685         Likewise.
4686         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4687         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4688         (aarch64_gdbarch_init): Add parmeter zero.
4689         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4690         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4691         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4692         parmeter.
4693         * doc/gdb.texinfo: Describe SVE feature
4694         * features/aarch64-sve.c: New file.
4695
4696 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4697
4698         PR gdb/23210
4699         * gdbarch.sh (significant_addr_bit): Default to zero when
4700         not set by target architecture.
4701         * gdbarch.c: Re-generated.
4702         * utils.c (address_significant): Update.
4703
4704 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4705
4706         * stack.c (func_command): Remove trailing newline in call to error.
4707
4708 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4709
4710         * regcache.h (regcache_raw_collect): Remove, update callers to
4711         use regcache::raw_collect.
4712         * regcache.c (regcache_raw_collect): Remove.
4713
4714 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4715
4716         * regcache.h (regcache_raw_supply): Remove, update callers to
4717         use detached_regcache::raw_supply.
4718         * regcache.c (regcache_raw_supply): Remove.
4719
4720 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4721
4722         * regcache.h (regcache_cooked_write_part): Remove, update
4723         callers to use regcache::cooked_write_part.
4724         * regcache.c (regcache_cooked_write_part): Remove.
4725
4726 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4727
4728         * regcache.h (regcache_cooked_read_part): Remove, update callers
4729         to use readable_regcache::cooked_read_part.
4730         * regcache.c (regcache_cooked_read_part): Remove.
4731
4732 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4733
4734         * regcache.h (regcache_cooked_read_value): Remove, update
4735         callers to use readable_regcache::cooked_read_value.
4736         * regcache.c (regcache_cooked_read_value): Remove.
4737
4738 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4739
4740         * regcache.h (regcache_cooked_write): Remove, update callers to
4741         use regcache::cooked_write.
4742         * regcache.c (regcache_cooked_write): Remove.
4743
4744 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4745
4746         * regcache.h (regcache_invalidate): Remove, update callers to
4747         use detached_regcache::invalidate instead.
4748         * regcache.c (regcache_invalidate): Remove.
4749
4750 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4751
4752         * regcache.h (regcache_raw_write_part): Remove, update callers
4753         to use regcache::raw_write_part instead.
4754         * regcache.c (regcache_raw_write_part): Remove.
4755
4756 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4757
4758         * regcache.h (regcache_raw_read_part): Remove, update callers to
4759         use readable_regcache::raw_read_part instead.
4760         * regcache.c (regcache_raw_read_part): Remove.
4761
4762 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4763
4764         * regcache.h (regcache_cooked_read): Remove, update callers to
4765         use readable_regcache::cooked_read instead.
4766         * regcache.c (regcache_cooked_read): Remove.
4767
4768 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4769
4770         * regcache.h (regcache_raw_write): Remove, update callers to use
4771         regcache::raw_write instead.
4772         * regcache.c (regcache_raw_write): Remove.
4773
4774 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4775
4776         * regcache.h (regcache_raw_read): Remove, update callers to use
4777         readable_regcache::raw_read instead.
4778         * regcache.c (regcache_raw_read): Remove.
4779
4780 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4781
4782         * regcache.h (regcache_raw_update): Remove, update callers to
4783         use readable_regcache::raw_update instead.
4784         * regcache.c (regcache_raw_update): Remove.
4785
4786 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4787
4788         * regcache.h (regcache_register_status): Remove, update callers
4789         to use reg_buffer::get_register_status directly instead.
4790         * regcache.c (regcache_register_status): Remove.
4791
4792 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4793
4794         * regcache.h (regcache_get_ptid): Remove, update all callers to
4795         call regcache::ptid instead.
4796         * regcache.c (regcache_get_ptid): Remove.
4797
4798 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4799
4800         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4801
4802 2018-05-30  Pedro Alves  <palves@redhat.com>
4803
4804         * common/common-exceptions.h (exception_rethrow): Use
4805         ATTRIBUTE_NORETURN.
4806
4807 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4808
4809         * breakpoint.c (print_solib_event, check_status_catch_solib):
4810         Remove struct keyword in range-based for loops.
4811         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4812         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4813         Likewise.
4814         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4815         Likewise.
4816         * symfile.c (addr_info_make_relative): Likewise.
4817         * thread.c (value_in_thread_stack_temporaries): Likewise.
4818
4819 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4820
4821         PR gdb/16841
4822         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4823         aggregate type to get its real type before accessing it.
4824
4825 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4826
4827         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4828         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4829         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4830         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4831         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4832         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4833         * printcmd.c (info_address_command): Likewise.
4834
4835 2018-05-29  Tom Tromey  <tom@tromey.com>
4836
4837         * windows-nat.c (handle_exception): Update fall-through comment.
4838
4839 2018-05-29  Tom Tromey  <tom@tromey.com>
4840
4841         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4842         (struct program_space) <added_solibs>: Now a std::vector.
4843         * breakpoint.c (print_solib_event): Update.
4844         (check_status_catch_solib): Update.
4845         * progspace.c (clear_program_space_solib_cache): Update.
4846         * solib.c (update_solib_list): Update.
4847
4848 2018-05-29  Tom Tromey  <tom@tromey.com>
4849
4850         * python/py-type.c (typy_richcompare): Update.
4851         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4852         * gdbtypes.h (types_deeply_equal): Return bool.
4853         (types_equal): Likewise.
4854         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4855         declare VEC.
4856         (check_types_equal): Change worklist to std::vector.  Return
4857         bool.
4858         (struct type_equality_entry): Add constructor.
4859         (compare_maybe_null_strings): Return bool.
4860         (check_types_worklist): Return bool.  Change worklist to
4861         std::vector.
4862         (types_deeply_equal): Use std::vector.
4863         (types_equal): Return bool.
4864         (compare_maybe_null_strings): Simplify.
4865
4866 2018-05-29  Tom Tromey  <tom@tromey.com>
4867
4868         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4869
4870 2018-05-29  Tom Tromey  <tom@tromey.com>
4871
4872         * objc-lang.h: Don't include cp-support.h.
4873         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4874         declare VEC.
4875
4876 2018-05-27  Tom Tromey  <tom@tromey.com>
4877
4878         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4879
4880 2018-05-25  Tom Tromey  <tom@tromey.com>
4881
4882         * value.c (value::location): Initialize.
4883
4884 2018-05-25  Tom Tromey  <tom@tromey.com>
4885
4886         * dbxread.c (init_bincl_list): Remove.
4887         (bincl_list): Now a std::vector.
4888         (bincls_allocated, next_bincl): Remove.
4889         (free_bincl_list, do_free_bincl_list_cleanup)
4890         (make_cleanup_free_bincl_list): Remove.
4891         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4892         unique_xmalloc_ptr.
4893         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4894         (struct header_file_location): Add constructor.
4895         (add_bincl_to_list): Remove.
4896
4897 2018-05-25  Tom Tromey  <tom@tromey.com>
4898
4899         * tui/tui.c (tui_enable): Update.
4900         * mi/mi-interp.c (mi_interp::init): Update.
4901         * interps.h (class interp) <name>: New method.
4902         <m_name>: Rename from name.
4903         (~scoped_restore_interp): Update.
4904         * interps.c (interp::interp): Update.
4905         (interp_add, interp_set, interp_lookup_existing)
4906         (current_interp_named_p): Update.
4907
4908 2018-05-25  Tom Tromey  <tom@tromey.com>
4909
4910         * interps.c (interp_name): Remove.
4911         * mi/mi-interp.c (mi_interp::init): Update.
4912         * interps.h (interp_name): Remove.
4913         (~scoped_restore_interp): Update.
4914         * tui/tui.c (tui_enable): Update.
4915
4916 2018-05-25  Tom Tromey  <tom@tromey.com>
4917
4918         * utils.c (fputs_maybe_filtered): Update.
4919         * linespec.c (decode_line_full): Update.
4920         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4921         (mi_print_breakpoint_for_event, mi_solib_loaded)
4922         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4923         (mi_user_selected_context_changed): Update.
4924         * mi/mi-main.c (mi_execute_command): Update.
4925         * cli/cli-script.c (execute_control_command): Update.
4926         * python/python.c (execute_gdb_command): Update.
4927         * solib.c (info_sharedlibrary_command): Update.
4928         * interps.c (interp_ui_out): Remove.
4929         * interps.h (interp_ui_out): Remove.
4930
4931 2018-05-25  Tom Tromey  <tom@tromey.com>
4932
4933         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4934         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4935         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4936
4937 2018-05-25  Tom Tromey  <tom@tromey.com>
4938
4939         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4940         * interps.c (interp_exec): Use scoped_restore.
4941
4942 2018-05-25  Tom Tromey  <tom@tromey.com>
4943
4944         * remote.c (remote_target::remote_file_get): Use
4945         gdb::byte_vector.
4946         (remote_target::remote_file_put): Likewise.
4947
4948 2018-05-25  Tom Tromey  <tom@tromey.com>
4949
4950         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4951         a std::string.
4952         (get_pe_section_index, add_pe_exported_sym): Update.
4953         (read_pe_exported_syms): Use gdb::def_vector.
4954
4955 2018-05-25  Tom Tromey  <tom@tromey.com>
4956
4957         * frame.c (remove_prev_frame): Remove.
4958         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4959
4960 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4961
4962         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4963         Remove prototypes.
4964         * mips-linux-nat.c (supply_fpregset): Always call
4965         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4966         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4967         `mips_fill_fpregset'.
4968         * mips-linux-tdep.c (mips_supply_fpregset)
4969         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4970         (mips_fill_fpregset_wrapper): Remove functions.
4971         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
4972         (mips_linux_fpregset): Remove variable.
4973         (mips_linux_iterate_over_regset_sections): Use
4974         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
4975         (mips_linux_o32_sigframe_init): Remove comment.
4976
4977 2018-05-25  Pedro Alves  <palves@redhat.com>
4978
4979         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
4980         (struct readahead_cache, struct packet_reg, struct
4981         remote_arch_state, class remote_state): Move higher up in the
4982         file.
4983         (remote_target::m_remote_state): Now an object instead of a pointer.
4984         (remote_target::get_remote_state): Adjust.
4985
4986 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4987
4988         * stack.c (select_and_print_frame): Delete.
4989         (struct function_bounds): Move struct within function.
4990         (func_command): Most content moved into new function
4991         find_frame_for_function, use new function, print result, add
4992         function comment.
4993         (find_frame_for_function): New function, now returns a result.
4994
4995 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4996
4997         * stack.c (iterate_over_block_arg_vars): Fix comment.
4998         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
4999
5000 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5001
5002         PR gdb/23203
5003         * frame.c
5004         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5005         Define.
5006         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5007         Define.
5008         * frame.h (class scoped_restore_selected_frame): New class.
5009         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5010         of any exception, use scoped_restore_selected_frame to restore the
5011         frame instead.
5012
5013 2018-05-24  Pedro Alves  <palves@redhat.com>
5014
5015         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5016         override.
5017
5018 2018-05-23  Tom Tromey  <tom@tromey.com>
5019
5020         * complaints.c (struct complaints): Remove.
5021         (symfile_complaint_book): Remove.
5022         (series): New global.
5023         (complaint_internal): Update.
5024         (clear_complaints): Update.
5025
5026 2018-05-23  Tom Tromey  <tom@tromey.com>
5027
5028         * complaints.c (counters): New global.
5029         (struct complain): Remove.
5030         (struct complaints) <root>: Remove.
5031         (complaint_sentinel): Remove.
5032         (symfile_complaint_book): Update.
5033         (find_complaint) Remove.
5034         (complaint_internal, clear_complaints): Update.
5035
5036 2018-05-23  Tom Tromey  <tom@tromey.com>
5037
5038         * complaints.c (struct complain) <file, line>: Remove.
5039         (find_complaint): Remove file, line parameters.
5040         (complaint_internal): Update.
5041
5042 2018-05-23  Tom Tromey  <tom@tromey.com>
5043
5044         * complaints.c (vcomplaint): Remove.
5045         (complaint_internal) Merge in contents of vcomplaint.
5046
5047 2018-05-23  Tom Tromey  <tom@tromey.com>
5048
5049         * complaints.c (struct complaints) <explanation>: Remove.
5050         (symfile_explanations): Remove.
5051         (symfile_complaint_book): Update.
5052         (vcomplaint): Update.
5053         (struct explanation): Remove.
5054
5055 2018-05-23  Tom Tromey  <tom@tromey.com>
5056
5057         * complaints.c (symfile_complaints): Remove.
5058         (complaint_internal): Remove "complaints" parameter.
5059         (clear_complaints, vcomplaint): Remove "c" parameter.
5060         (get_complaints): Remove.
5061         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5062         (dwarf2_debug_line_missing_file_complaint)
5063         (dwarf2_debug_line_missing_end_sequence_complaint)
5064         (dwarf2_complex_location_expr_complaint)
5065         (dwarf2_const_value_length_mismatch_complaint)
5066         (dwarf2_section_buffer_overflow_complaint)
5067         (dwarf2_macro_malformed_definition_complaint)
5068         (dwarf2_invalid_attrib_class_complaint)
5069         (create_addrmap_from_index, dw2_symtab_iter_next)
5070         (dw2_expand_marked_cus)
5071         (dw2_debug_names_iterator::find_vec_in_debug_names)
5072         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5073         (create_debug_type_hash_table, init_cutu_and_read_dies)
5074         (partial_die_parent_scope, add_partial_enumeration)
5075         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5076         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5077         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5078         (create_cus_hash_table, create_dwp_hash_table)
5079         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5080         (dwarf2_rnglists_process, dwarf2_ranges_process)
5081         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5082         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5083         (handle_struct_member_die, process_structure_scope)
5084         (read_array_type, read_common_block, read_module_type)
5085         (read_tag_pointer_type, read_typedef, read_base_type)
5086         (read_subrange_type, load_partial_dies, partial_die_info::read)
5087         (partial_die_info::read, partial_die_info::read)
5088         (partial_die_info::read, read_checked_initial_length_and_offset)
5089         (dwarf2_string_attr, read_formatted_entries)
5090         (dwarf_decode_line_header)
5091         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5092         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5093         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5094         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5095         (get_signatured_type, get_DW_AT_signature_type)
5096         (decode_locdesc, file_file_name, consume_improper_spaces)
5097         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5098         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5099         (dwarf2_symbol_mark_computed, set_die_type)
5100         (read_attribute_value): Update.
5101         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5102         Update.
5103         * dbxread.c (unknown_symtype_complaint)
5104         (lbrac_mismatch_complaint, repeated_header_complaint)
5105         (set_namestring, function_outside_compilation_unit_complaint)
5106         (read_dbx_symtab, process_one_symbol): Update.
5107         * gdbtypes.c (stub_noname_complaint): Update.
5108         * windows-nat.c (handle_unload_dll): Update.
5109         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5110         (decode_base_type): Update.
5111         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5112         (eb_complaint, record_include_begin, record_include_end)
5113         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5114         (process_xcoff_symbol, read_symbol)
5115         (function_outside_compilation_unit_complaint)
5116         (scan_xcoff_symtab): Update.
5117         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5118         * buildsym.c (finish_block_internal, make_blockvector)
5119         (end_symtab_get_static_block, augment_type_symtab): Update.
5120         * dtrace-probe.c (dtrace_process_dof)
5121         (dtrace_static_probe_ops::get_probes): Update.
5122         * complaints.h (struct complaint): Don't declare.
5123         (symfile_complaints): Remove.
5124         (complaint_internal): Remove "complaints" parameter.
5125         (complaint): Likewise.
5126         (clear_complaints): Likewise.
5127         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5128         (reread_symbols): Update.
5129         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5130         (dwarf2_frame_cache, decode_frame_entry): Update.
5131         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5132         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5133         (info_selectors_command): Update.
5134         * macrotab.c (macro_include, check_for_redefinition)
5135         (macro_undef): Update.
5136         * objfiles.c (filter_overlapping_sections): Update.
5137         * stabsread.c (invalid_cpp_abbrev_complaint)
5138         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5139         (define_symbol, error_type, read_type, rs6000_builtin_type)
5140         (stabs_method_name_from_physname, read_member_functions)
5141         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5142         (attach_fields_to_type, complain_about_struct_wipeout)
5143         (read_range_type, read_args, common_block_start)
5144         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5145         Update.
5146         * mdebugread.c (index_complaint, unknown_ext_complaint)
5147         (basic_type_complaint, bad_tag_guess_complaint)
5148         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5149         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5150         (parse_procedure, parse_lines)
5151         (function_outside_compilation_unit_complaint)
5152         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5153         (bad_tag_guess_complaint, reg_value_complaint): Update.
5154         * cp-support.c (demangled_name_complaint): Update.
5155         * macroscope.c (sal_macro_scope): Update.
5156         * dwarf-index-write.c (class debug_names): Update.
5157
5158 2018-05-23  Tom Tromey  <tom@tromey.com>
5159
5160         * complaints.c (clear_complaints): Remove "noisy" parameter.
5161         * complaints.h (clear_complaints): Update.
5162         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5163         (reread_symbols): Update.
5164
5165 2018-05-23  Tom Tromey  <tom@tromey.com>
5166
5167         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5168         SUBSEQUENT_MESSAGE.
5169         (vcomplaint, clear_complaints): Update.
5170         (symfile_explanations): Remove some messages.
5171
5172 2018-05-23  Tom Tromey  <tom@tromey.com>
5173
5174         * complaints.c (internal_complaint): Remove.
5175         * complaints.h (internal_complaint): Remove.
5176
5177 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5178
5179         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5180
5181 2018-05-22  Pedro Alves  <palves@redhat.com>
5182
5183         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5184         (remote_fileio_badfd, remote_fileio_return_errno)
5185         (remote_fileio_return_success, remote_fileio_func_open)
5186         (remote_fileio_func_open, remote_fileio_func_close)
5187         (remote_fileio_func_read, remote_fileio_func_write)
5188         (remote_fileio_func_lseek, remote_fileio_func_rename)
5189         (remote_fileio_func_unlink, remote_fileio_func_stat)
5190         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5191         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5192         remote_target parameter.
5193         (remote_fio_func_map) <func>: Add remote_target parameter.
5194         (do_remote_fileio_request, remote_fileio_request):
5195         * remote-fileio.h (remote_fileio_request):
5196         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5197         remote_target parameter.
5198         (remote_notif_process, handle_notification): Adjust to pass down
5199         the remote.
5200         (remote_notif_state_allocate): Add remote_target parameter.  Save
5201         it.
5202         * remote-notif.h (struct remote_target): Forward declare.
5203         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5204         remote_target parameter.
5205         (struct remote_notif_state) <remote>: New field.
5206         (remote_notif_ack, remote_notif_parse): Add remote_target
5207         parameter.
5208         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5209         remote_target parameter.
5210         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5211         (threads_listing_context, rmt_thread_action, protocol_feature)
5212         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5213         (packet_result, struct threads_listing_context, remote_state):
5214         Move definitions and declarations higher up.
5215         (remote_target) <~remote_target>: Declare.
5216         (remote_download_command_source, remote_file_put, remote_file_get)
5217         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5218         (remote_hostio_pread_vFile, remote_hostio_send_command)
5219         (remote_hostio_set_filesystem, remote_hostio_open)
5220         (remote_hostio_close, remote_hostio_unlink, remote_state)
5221         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5222         (get_memory_write_packet_size, get_memory_read_packet_size)
5223         (append_pending_thread_resumptions, remote_detach_1)
5224         (append_resumption, remote_resume_with_vcont)
5225         (add_current_inferior_and_thread, wait_ns, wait_as)
5226         (process_stop_reply, remote_notice_new_inferior)
5227         (process_initial_stop_replies, remote_add_thread)
5228         (btrace_sync_conf, remote_btrace_maybe_reopen)
5229         (remove_new_fork_children, kill_new_fork_children)
5230         (discard_pending_stop_replies, stop_reply_queue_length)
5231         (check_pending_events_prevent_wildcard_vcont)
5232         (discard_pending_stop_replies_in_queue, stop_reply)
5233         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5234         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5235         (remote_interrupt_as, remote_interrupt_ns)
5236         (remote_get_noisy_reply, remote_query_attached)
5237         (remote_add_inferior, remote_current_thread, get_current_thread)
5238         (set_thread, set_general_thread, set_continue_thread)
5239         (set_general_process, write_ptid)
5240         (remote_unpack_thread_info_response, remote_get_threadinfo)
5241         (parse_threadlist_response, remote_get_threadlist)
5242         (remote_threadlist_iterator, remote_get_threads_with_ql)
5243         (remote_get_threads_with_qxfer)
5244         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5245         (get_offsets, remote_check_symbols, remote_supported_packet)
5246         (remote_query_supported, remote_packet_size)
5247         (remote_serial_quit_handler, remote_detach_pid)
5248         (remote_vcont_probe, remote_resume_with_hc)
5249         (send_interrupt_sequence, interrupt_query)
5250         (remote_notif_get_pending_events, fetch_register_using_p)
5251         (send_g_packet, process_g_packet, fetch_registers_using_g)
5252         (store_register_using_P, store_registers_using_G)
5253         (set_remote_traceframe, check_binary_download)
5254         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5255         (remote_xfer_live_readonly_partial, remote_read_bytes)
5256         (remote_send_printf, remote_flash_write, readchar)
5257         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5258         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5259         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5260         (extended_remote_disable_randomization, extended_remote_run)
5261         (send_environment_packet, extended_remote_environment_support)
5262         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5263         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5264         (packet_command): Now methods of ...
5265         (remote_target): ... this class.
5266         (m_remote_state) <remote_target>: New field.
5267         (struct remote_state) <stop_reply_queue,
5268         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5269         fields.
5270         (remote_state::remote_state): Allocate stop_reply_queue.
5271         (remote_state): Delete global.
5272         (get_remote_state_raw): Delete.
5273         (remote_target::get_remote_state): Allocate m_remote_state on
5274         demand.
5275         (get_current_remote_target): New.
5276         (remote_ops, extended_remote_ops): Delete.
5277         (wait_forever_enabled_p, remote_async_inferior_event_token):
5278         Delete, moved to struct remote_state.
5279         (remote_target::close): Delete self.  Destruction bits split to
5280         ...
5281         (remote_target::~remote_target): ... this.
5282         (show_memory_packet_size): Adjust to use
5283         get_current_remote_target.
5284         (struct protocol_feature) <func>: Add remote_target parameter.
5285         All callers adjusted.
5286         (curr_quit_handler_target): New.
5287         (remote_serial_quit_handler): Reimplement.
5288         (remote_target::open_1): Adjust to use get_current_remote_target.
5289         Heap-allocate remote_target/extended_remote_target instances.
5290         (vcont_builder::vcont_builder): Add remote_target parameter, and
5291         save it in m_remote.  All callers adjusted.
5292         (vcont_builder::m_remote): New field.
5293         (vcont_builder::restart, vcont_builder::flush)
5294         (vcont_builder::push_action): Use it.
5295         (remote_target::commit_resume): Use it.
5296         (struct queue_iter_param) <remote>: New field.
5297         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5298         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5299         (check_pending_event_prevents_wildcard_vcont_callback)
5300         (remote_target::check_pending_events_prevent_wildcard_vcont)
5301         (remote_target::discard_pending_stop_replies)
5302         (remote_target::discard_pending_stop_replies_in_queue)
5303         (remote_target::remote_notif_remove_queued_reply): Fill in
5304         'remote' field.
5305         (remote_notif_get_pending_events): New.
5306         (remote_target::readchar, remote_target::remote_serial_write):
5307         Save/restore curr_quit_handler_target.
5308         (putpkt): New.
5309         (kill_new_fork_children): Fill in 'remote' field.
5310         (packet_command): Use get_current_remote_target, defer to
5311         remote_target method of same name.
5312         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5313         parameter, and save it in m_remote.  All callers adjusted.
5314         (scoped_remote_fd::release): Use m_remote.
5315         (scoped_remote_fd::m_remote): New field.
5316         (remote_file_put, remote_file_get, remote_file_delete): Use
5317         get_current_remote_target, defer to remote_target method of same
5318         name.
5319         (remote_btrace_reset): Add remote_state paremeter.  Update all
5320         callers.
5321         (remote_async_inferior_event_handler). Pass down 'data'.
5322         (remote_new_objfile): Use get_current_remote_target.
5323         (remote_target::vcont_r_supported): New.
5324         (set_range_stepping): Use get_current_remote_target and
5325         remote_target::vcont_r_supported.
5326         (_initialize_remote): Don't allocate 'remote_state' and
5327         'stop_reply_queue' globals.
5328         * remote.h (struct remote_target): Forward declare.
5329         (getpkt, putpkt, remote_notif_get_pending_events): Add
5330         'remote_target' parameter.
5331
5332 2018-05-22  Pedro Alves  <palves@redhat.com>
5333
5334         * remote.c (vcont_builder): Now a class.  Make all data members
5335         private.
5336         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5337         Declare methods.
5338         (vcont_builder_restart): Rename to ...
5339         (vcont_builder::restart): ... this.
5340         (vcont_builder_flush): Rename to ...
5341         (vcont_builder::flush): ... this.
5342         (vcont_builder_push_action): Rename to ...
5343         (vcont_builder::push_action): ... this.
5344         (remote_target::commit_resume): Adjust.
5345
5346 2018-05-22  Pedro Alves  <palves@redhat.com>
5347
5348         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5349         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5350         (get_fixed_memory_packet_size): New.
5351         (get_memory_packet_size): Use it.
5352         (set_memory_packet_size): Don't override the config size with
5353         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5354         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5355         Don't refer to get_memory_packet_size if not connected to a remote
5356         target.  Show "(default)" if configured size is 0.
5357
5358 2018-05-22  Pedro Alves  <palves@redhat.com>
5359
5360         * remote.c (remote_target::mourn_inferior): Move
5361         discard_pending_stop_replies call here from ...
5362         (_initialize_remote): ... here.
5363
5364 2018-05-22  Pedro Alves  <palves@redhat.com>
5365
5366         * remote.c (compare_section_command): Remove set_general_process
5367         call.
5368
5369 2018-05-22  Pedro Alves  <palves@redhat.com>
5370
5371         * remote.c (struct packet_reg, struct remote_arch_state):
5372         Move higher up in the file.
5373         (remote_state) <m_arch_states>: Store remote_arch_state values
5374         instead of remote_arch_state pointers.
5375         (remote_state::get_remote_arch_state): Adjust.
5376
5377 2018-05-22  Pedro Alves  <palves@redhat.com>
5378
5379         * remote.c: Include <unordered_map>.
5380         (remote_state): Now a class.
5381         (remote_state) <get_remote_arch_state>: Declare method.
5382         <get_remote_arch_state>: New field.
5383         (remote_arch_state) <remote_arch_state>: Declare ctor.
5384         <regs>: Now a unique_ptr.
5385         (remote_gdbarch_data_handle): Delete.
5386         (get_remote_arch_state): Delete.
5387         (remote_state::get_remote_arch_state): New.
5388         (get_remote_state): Adjust to call remote_state's
5389         get_remote_arch_state method.
5390         (init_remote_state): Delete, bits factored out to ...
5391         (remote_arch_state::remote_arch_state): ... this new method.
5392         (get_remote_packet_size, get_memory_packet_size)
5393         (process_g_packet, remote_target::fetch_registers)
5394         (remote_target::prepare_to_store, store_registers_using_G)
5395         (remote_target::store_registers, remote_target::get_trace_status):
5396         Adjust to call remote_state's method.
5397         (_initialize_remote): Remove reference to
5398         remote_gdbarch_data_handle.
5399
5400 2018-05-22  Pedro Alves  <palves@redhat.com>
5401
5402         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5403         pread>: New method declarations.
5404         (remote_target::open_1): Adjust.
5405         (readahead_cache_invalidate): Rename to ...
5406         (readahead_cache::invalidate): ... this, and adjust to be a class
5407         method.
5408         (readahead_cache_invalidate_fd): Rename to ...
5409         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5410         class method.
5411         (remote_hostio_pwrite): Adjust.
5412         (remote_hostio_pread_from_cache): Rename to ...
5413         (readahead_cache::pread): ... this, and adjust to be a class
5414         method.
5415         (remote_hostio_close): Adjust.
5416
5417 2018-05-22  Pedro Alves  <palves@redhat.com>
5418
5419         * remote.c (remote_hostio_close_cleanup): Delete.
5420         (class scoped_remote_fd): New.
5421         (remote_file_put, remote_file_get): Use it.
5422
5423 2018-05-22  Pedro Alves  <palves@redhat.com>
5424
5425         (struct vCont_action_support): Use bool and initialize all fields.
5426         (struct readahead_cache): Initialize all fields.
5427         (remote_state): Use bool and initialize all fields.
5428         (remote_state::remote_state, remote_state::~remote_state): New.
5429         (new_remote_state): Delete.
5430         (_initialize_remote): Use new to allocate remote_state.
5431
5432 2018-05-22  Pedro Alves  <palves@redhat.com>
5433             張俊芝  <zjz@zjz.name>
5434
5435         PR gdb/22973
5436         * c-exp.y: Include "c-support.h".
5437         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5438         of tolower.  Use c_ident_is_alpha to scan names.
5439         * c-lang.c: Include "c-support.h".
5440         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5441         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5442         * c-support.h: New file, with bits factored out from ...
5443         * cp-name-parser.y: ... this file.
5444         Include "c-support.h".
5445         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5446         c-support.h and renamed.
5447         (symbol_end, yylex): Adjust.
5448
5449 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5450
5451         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5452         parameter type to CORE_ADDR.
5453         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5454         parameter type in declaration to CORE_ADDR.
5455         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5456         target_auxv_search to get AT_HWCAP and use the result to get the
5457         target description.
5458         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5459         to CORE_ADDR. Remove the cast of the return value to unsigned
5460         long. Fix error predicate of target_auxv_search.
5461         (ppc_linux_nat_target::read_description): Change the type of the
5462         hwcap variable to CORE_ADDR.
5463
5464 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5465
5466         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5467         if the size of fpscr is larger than 32 bits.
5468
5469 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5470
5471         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5472         (ppc32_linux_vsxregmap): New global.
5473         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5474         regcache_supply_regset, and regcache_collect_regset.
5475         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5476         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5477         (fetch_vsx_register, store_vsx_register): Remove.
5478         (fetch_vsx_registers): Add regno parameter. Get regset using
5479         ppc_linux_vsxregset. Use regset to supply registers.
5480         (store_vsx_registers): Add regno parameter. Get regset using
5481         ppc_linux_vsxregset. Use regset to collect registers.
5482         (fetch_register): Call fetch_vsx_registers instead of
5483         fetch_vsx_register.
5484         (store_register): Call store_vsx_registers instead of
5485         store_vsx_register.
5486         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5487         new regno parameter.
5488         (store_ppc_registers): Call store_vsx_registers with -1 for the
5489         new regno parameter.
5490         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5491         (ppc_collect_vsxregset): Remove.
5492
5493 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5494
5495         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5496         offset fields.
5497         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5498         for vector register offset fields.
5499         (ppc64_fbsd_reg_offsets): Likewise.
5500         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5501         to vector register offset fields.
5502         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5503         to vector register offset fields.
5504         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5505         vector register offset fields.
5506         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5507         initializers for vector register offset fields.
5508         (rs6000_aix64_reg_offsets): Likewise.
5509         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5510         (ppc_supply_vrregset): Remove.
5511         (ppc_collect_vrregset): Remove.
5512         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5513         (ppc_linux_vrregset) : New function.
5514         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5515         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5516         (ppc32_linux_vrregset): Remove.
5517         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5518         and use result instead of ppc32_linux_vrregset.
5519         (ppc32_linux_reg_offsets): Remove initializers for vector register
5520         offset fields.
5521         (ppc64_linux_reg_offsets): Likewise.
5522         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5523         * ppc-linux-nat.c: Include regset.h.
5524         (gdb_vrregset_t): Adjust comment to account for little-endian
5525         mode.
5526         (supply_vrregset, fill_vrregset): Remove.
5527         (fetch_altivec_register, store_altivec_register): Remove.
5528         (fetch_altivec_registers): Add regno parameter. Get regset using
5529         ppc_linux_vrregset. Use regset to supply registers.
5530         (store_altivec_registers): Add regno parameter. Get regset using
5531         ppc_linux_vrregset. Use regset to collect registers.
5532         (fetch_register): Call fetch_altivec_registers instead of
5533         fetch_altivec_register.
5534         (store_register): Call store_altivec_registers instead of
5535         store_altivec_register.
5536         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5537         the new regno parameter.
5538         (store_ppc_registers): Call store_altivec_registers with -1 for
5539         the new regno parameter.
5540
5541 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5542
5543         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5544         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5545         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5546         (gdb_vrregset_t): Change array type size to
5547         PPC_LINUX_SIZEOF_VRREGSET.
5548         (gdb_vsxregset_t): Change array type size to
5549         PPC_LINUX_SIZEOF_VSXREGSET.
5550         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5551         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5552         PPC_LINUX_SIZEOF_VSXREGSET.
5553
5554 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5555
5556         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5557         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5558         nat/ppc-linux.c.
5559         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5560         ppc_linux_target_wordsize with tid.
5561         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5562         wordsize with tid.
5563         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5564         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5565         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5566         tid parameter. Remove static specifier.
5567         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5568         (ppc_linux_target_wordsize): New declaration.
5569
5570 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5571
5572         * arch/ppc-linux-common.c: New file.
5573         * arch/ppc-linux-common.h: New file.
5574         * arch/ppc-linux-tdesc.h: New file.
5575         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5576         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5577         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5578         arch/ppc-linux-tdesc.h.
5579         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5580         arch/ppc-linux-tdesc.h.
5581         (ppc_linux_nat_target::read_description): Remove target
5582         description matching code. Fill a ppc_linux_features struct and
5583         call ppc_linux_match_description with it. Move comment about ISA
5584         2.05 to ppc-linux-common.c.
5585         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5586         arch/ppc-linux-tdesc.h.
5587         (ppc_linux_core_read_description): Remove target description
5588         matching code. Fill a ppc_linux_features struct and call
5589         ppc_linux_match_description with it.
5590         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5591         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5592         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5593         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5594         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5595         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5596         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5597         (tdesc_powerpc_e500l): Remove.
5598
5599 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5600
5601         * ada-lang.c (catch_assert_command): Pass empty string instead
5602         of NULL for excep_string argument.
5603
5604 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5605
5606         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5607         the width of the requested register exceeds the width of the
5608         `ptrace' data type.
5609
5610 2018-05-21  Tom Tromey  <tom@tromey.com>
5611
5612         * printcmd.c (output_command): Remove.
5613         (output_command_const): Rename to output_command.
5614         * valprint.h (output_command): Rename from output_command_const.
5615         * tracepoint.c (trace_dump_actions): Call output_command.
5616
5617 2018-05-21  Tom Tromey  <tom@tromey.com>
5618
5619         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5620         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5621         * ada-lang.h (create_ada_exception_catchpoint): Update.
5622         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5623         std::string.
5624         (create_excep_cond_exprs, ~ada_catchpoint)
5625         (should_stop_exception, print_one_exception)
5626         (print_mention_exception, print_recreate_exception): Update.
5627         (ada_get_next_arg): Remove.
5628         (catch_ada_exception_command_split): Use std::string.  Change type
5629         of "excep_string", "cond_string".
5630         (catch_ada_exception_command): Update.
5631         (create_ada_exception_catchpoint): Change type of excep_string.
5632         (ada_exception_sal): Remove excep_string parameter.
5633         (~ada_catchpoint): Remove.
5634
5635 2018-05-21  Tom Tromey  <tom@tromey.com>
5636
5637         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5638         cleanup.
5639
5640 2018-05-21  Tom Tromey  <tom@tromey.com>
5641
5642         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5643         Return unique_xmalloc_ptr.
5644         (print_it_exception): Update.
5645
5646 2018-05-21  Tom Tromey  <tom@tromey.com>
5647
5648         * tracepoint.c (trace_dump_actions): Use std::string.
5649
5650 2018-05-21  Tom Tromey  <tom@tromey.com>
5651
5652         * symfile.c (reread_symbols): Use std::string for original_name.
5653
5654 2018-05-21  Tom Tromey  <tom@tromey.com>
5655
5656         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5657         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5658         constructor.
5659
5660 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5661
5662         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5663         instance to...
5664         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5665         * objfiles.c (get_objfile_bfd_data): Allocate
5666         objfile_per_bfd_storage with obstack_new when allocating on
5667         obstack.
5668
5669 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5670
5671         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5672         OBSTACK_ZALLOC.
5673         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5674         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5675         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5676         (add_pending): Likewise.
5677         (parse_symbol): Likewise.
5678         (parse_partial_symbols): Likewise.
5679         (psymtab_to_symtab_1): Likewise.
5680         (new_psymtab): Likewise.
5681         (elfmdebug_build_psymtabs): Likewise.
5682         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5683         * objfiles.c (get_objfile_bfd_data): Likewise.
5684         (objfile_register_static_link): Likewise.
5685         * psymtab.c (allocate_psymtab): Likewise.
5686         * stabsread.c (read_member_functions): Likewise.
5687         * xcoffread.c (xcoff_end_psymtab): Likewise.
5688
5689 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5690
5691         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5692         compiler supports std::is_trivially_constructible.
5693         * common/poison.h: Include obstack.h.
5694         (IsMallocable): Define to is_trivially_constructible if the
5695         compiler supports it, define to true_type otherwise.
5696         (xobnew): New.
5697         (XOBNEW): Redefine.
5698         (xobnewvec): New.
5699         (XOBNEWVEC): Redefine.
5700         * gdb_obstack.h (obstack_zalloc): New.
5701         (OBSTACK_ZALLOC): Redefine.
5702         (obstack_calloc): New.
5703         (OBSTACK_CALLOC): Redefine.
5704         (obstack_new): New.
5705         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5706         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5707         gdbarch.c.
5708         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5709         obstack_calloc/obstack_zalloc.
5710         (gdbarch_obstack_zalloc): Remove.
5711         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5712
5713 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5714
5715         * stack.c (backtrace_command_1): Remove useless variable int i.
5716
5717 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5718
5719         * stack.c (print_frame_info): Fix comment.
5720
5721 2018-05-18  Tom Tromey  <tom@tromey.com>
5722
5723         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5724         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5725         (~dwarf2_per_objfile): Update
5726         (dwarf2_get_dwz_file): Use new.
5727         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5728         unique_ptr.
5729
5730 2018-05-18  Tom Tromey  <tom@tromey.com>
5731
5732         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5733         unique_ptr.
5734         * dwarf2read.c (struct dwp_file): Add constructor and
5735         initializers.
5736         (open_and_init_dwp_file): Return a unique_ptr.
5737         (dwarf2_per_objfile, create_dwp_hash_table)
5738         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5739         (lookup_dwo_unit_in_dwp): Update.
5740         (open_and_init_dwp_file, get_dwp_file): Update.
5741
5742 2018-05-18  Tom Tromey  <tom@tromey.com>
5743
5744         * dwarf2read.c (dwarf2_per_objfile): Update.
5745         (struct mapped_index): Add initializers.
5746         (dwarf2_read_index): Use new.
5747         (dw2_symtab_iter_init): Update.
5748         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5749         unique_ptr.
5750
5751 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5752
5753         * dwarf2read.c (mapped_index) <total_size>: Remove.
5754
5755 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5756
5757         * unittests/format_pieces-selftests.c (test_format_specifier):
5758         Add ARI comments.
5759
5760 2018-05-18  Tom Tromey  <tom@tromey.com>
5761
5762         * c-typeprint.c (maybe_print_hole): New function.
5763         (c_print_type_struct_field_offset): Update.
5764         (c_type_print_base_struct_union): Call maybe_print_hole.
5765
5766 2018-05-17  Keith Seitz  <keiths@redhat.com>
5767
5768         * breakpoint.c (build_bpstat_chain): New function, moved from
5769         bpstat_stop_status.
5770         (bpstat_stop_status): Add optional parameter, `stop_chain'.
5771         If no stop chain is passed, call build_bpstat_chain to build it.
5772         * breakpoint.h (build_bpstat_chain): Declare.
5773         (bpstat_stop_status): Move documentation here from breakpoint.c.
5774         * infrun.c (handle_signal_stop): Before eliding inlined frames,
5775         build the stop chain and pass it to skip_inline_frames.
5776         Pass this stop chain to bpstat_stop_status.
5777         * inline-frame.c: Include breakpoint.h.
5778         (stopped_by_user_bp_inline_frame): New function.
5779         (skip_inline_frames): Add parameter `stop_chain'.
5780         Move documention to inline-frame.h.
5781         If non-NULL, use stopped_by_user_bp_inline_frame to determine
5782         whether the frame should be elided.
5783         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
5784         Add moved documentation and update for new parameter.
5785
5786 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5787
5788         PR cli/14975
5789         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5790         unittests/format_pieces-selftests.c.
5791         * common/format.h (format_piece) <operator==>: New.
5792         (format_pieces) <operator[]>: Remove.
5793         * common/format.c (format_pieces::format_pieces): Handle \e.
5794         * unittests/format_pieces-selftests.c: New.
5795
5796 2018-05-17  Tom Tromey  <tom@tromey.com>
5797
5798         PR symtab/23010:
5799         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5800         (dw2_instantiate_symtab): Add skip_partial parameter.
5801         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5802         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5803         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5804         (dw2_expand_symtabs_matching_one)
5805         (dw2_find_pc_sect_compunit_symtab)
5806         (dw2_debug_names_lookup_symbol)
5807         (dw2_debug_names_expand_symtabs_for_function): Update.
5808         (init_cutu_and_read_dies): Add skip_partial parameter.
5809         (process_psymtab_comp_unit, build_type_psymtabs_1)
5810         (process_skeletonless_type_unit, load_partial_comp_unit)
5811         (psymtab_to_symtab_1): Update.
5812         (load_full_comp_unit): Add skip_partial parameter.
5813         (process_imported_unit_die, dwarf2_read_addr_index)
5814         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5815         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5816         (read_signatured_type): Update.
5817
5818 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5819
5820         * value.c (release_value): Remove unused variable.
5821         (record_latest_value): Likewise.
5822         (access_value_history): Likewise.
5823         (preserve_values): Likewise.
5824
5825 2018-05-17  Tom Tromey  <tom@tromey.com>
5826
5827         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5828         Initialize.
5829
5830 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5831
5832         PR gdb/22286
5833         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5834         Also handle registers whose width is not a multiple of
5835         PTRACE_TYPE_RET.
5836         (linux_nat_trad_target::store_register): Likewise.
5837
5838 2018-05-16  Tom Tromey  <tom@tromey.com>
5839
5840         * gdbcore.h (core_bfd): Redefine.
5841         * corelow.c (core_target::close): Update.
5842         (core_target_open): Update.
5843         * progspace.h (struct program_space) <cbfd>: Now a
5844         gdb_bfd_ref_ptr.
5845
5846 2018-05-16  Tom Tromey  <tom@tromey.com>
5847
5848         PR cli/19551:
5849         * symfile-add-flags.h (enum symfile_add_flags)
5850         <SYMFILE_NOT_FILENAME>: New constant.
5851         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5852         objfile name from BFD.
5853         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5854         * minidebug.c (find_separate_debug_file_in_section): Put
5855         ".gnu_debugdata" into BFD's file name.
5856
5857 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5858
5859         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5860         Remove.
5861
5862 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5863
5864         PR binutils/21446
5865         * aarch64-tdep.c (aarch64_analyze_prologue,
5866         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5867         Indicate not interested in errors.
5868
5869 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5870
5871         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5872         Supply the MIPS_ZERO_REGNUM register.
5873
5874 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5875
5876         * mips-tdep.c (mask_address_var): Make variable static.
5877
5878 2018-05-14  Tom Tromey  <tom@tromey.com>
5879
5880         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5881
5882 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5883
5884         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5885         FXSAVE_ADDR for the mxcsr register.
5886
5887 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5888
5889         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5890
5891 2018-05-11  Pedro Alves  <palves@redhat.com>
5892
5893         * corelow.c (core_target) <core_target>: No longer inline.
5894         Initialize m_core_gdbarch, m_core_vec and build the section table
5895         here.
5896         <~core_target>: New.
5897         <core_gdbarch, get_core_register_section>: New methods.
5898         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5899         factored out from ...
5900         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5901         (core_ops): Delete.
5902         (sniff_core_bfd): Add gdbarch parameter.
5903         (core_close): Delete, merged into ...
5904         (core_target::close): ... here.  Delete self.
5905         (core_close_cleanup): Delete.
5906         (core_target_open): Allocate a core_target on the heap.  Use a
5907         unique_ptr instead of a cleanup.  Bits moved into the core_target
5908         ctor.  Adjust to use core_target methods instead of globals.
5909         (get_core_register_section): Rename to ...
5910         (core_target::get_core_register_section): ... this and adjust.
5911         (struct get_core_registers_cb_data): New.
5912         (get_core_registers_cb): Use it.  Use bool.
5913         (core_target::fetch_registers, core_target::files_info)
5914         (core_target::xfer_partial, core_target::read_description)
5915         (core_target::pid_to, core_target::thread_name): Adjust to
5916         reference class fields instead of globals.
5917         * target.h (struct target_ops_deleter, target_ops_up): New.
5918
5919 2018-05-11  Pedro Alves  <palves@redhat.com>
5920
5921         * corefile.c (core_file_command): Move to corelow.c.
5922         * corelow.c (the_core_target): Delete.
5923         (core_file_command): Moved from corefile.c.  Check exec_bfd
5924         instead of the_core_target.  Use target_detach instead of calling
5925         into the_core_target directly.
5926         (maybe_say_no_core_file_now): New.
5927         (core_target::detach): Use it.
5928         (_initialize_corelow): Remove references to the_core_target.
5929         * gdbcore.h (the_core_target): Delete.
5930
5931 2018-05-11  Tom Tromey  <tromey@redhat.com>
5932             Pedro Alves  <palves@redhat.com>
5933
5934         * corefile.c (core_bfd): Remove.
5935         * gdbcore.h (core_bfd): Now a macro.
5936         * progspace.h (struct program_space) <cbfd>: New field.
5937
5938 2018-05-11  Tom Tromey  <tom@tromey.com>
5939
5940         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5941         gdb::def_vector.
5942
5943 2018-05-10  Tom Tromey  <tom@tromey.com>
5944
5945         * configure: Rebuild.
5946         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5947
5948 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5949
5950         PR server/23158:
5951         * regformats/regdat.sh: Adjust script, following the addition
5952         of the new expedite_regs parameter to init_target_desc.
5953
5954 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5955     
5956         PR gdb/23127
5957         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5958         set_gdbarch_significant_addr_bit.
5959         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5960         set_gdbarch_significant_addr_bit.
5961         * utils.c (address_significant): Update to sign extend addr.
5962
5963 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5964
5965         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5966         (xtensa_linux_init_abi): Limit tdep->num_regs by
5967         tdep->num_nopriv_regs.
5968         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5969         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5970         not initialized.
5971
5972 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
5973
5974         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
5975
5976 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
5977
5978         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
5979         (I387_MXCSR_INIT_VAL): New constant.
5980         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
5981         buffer if it was supplied by the inferior.
5982         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
5983         (i387_xsave_get_clear_bv): New function.
5984         (i387_supply_xsave): Only read x87 control registers from the
5985         xsave buffer if the feature is enabled, and the state will have
5986         been written, otherwise, provide a suitable default.
5987         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
5988         including x87 control registers.  Update control registers if they
5989         have changed from the default value, and mark features as enabled
5990         as required.
5991         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
5992
5993 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
5994
5995         * spu-tdep.c (info_spu_event_command): Fix output formatting.
5996
5997 2018-05-07  Tom Tromey  <tom@tromey.com>
5998
5999         * configure: Rebuild.
6000         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6001
6002 2018-05-07  Tom Tromey  <tom@tromey.com>
6003
6004         PR tdep/20362:
6005         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6006         bit.  Use correct value for VDIV.
6007
6008 2018-05-04  Tom Tromey  <tom@tromey.com>
6009
6010         * configure: Rebuild.
6011         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6012
6013 2018-05-04  Tom Tromey  <tom@tromey.com>
6014
6015         * linux-record.c (record_linux_system_call) <case
6016         RECORD_SYS_RECVFROM>: Add "break".
6017
6018 2018-05-04  Tom Tromey  <tom@tromey.com>
6019
6020         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6021         Add missing "break".
6022         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6023         Add missing "break".
6024
6025 2018-05-04  Tom Tromey  <tom@tromey.com>
6026
6027         * rs6000-tdep.c (ppc_process_record_op4)
6028         (ppc_process_record_op63): Add fall-through comment.
6029
6030 2018-05-04  Tom Tromey  <tom@tromey.com>
6031
6032         * i386-tdep.c (i386_process_record): Add fall-through comment.
6033
6034 2018-05-04  Tom Tromey  <tom@tromey.com>
6035
6036         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6037         comment.
6038
6039 2018-05-04  Tom Tromey  <tom@tromey.com>
6040
6041         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6042         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6043         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6044         comment.
6045         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6046         comment.
6047         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6048         comment.
6049
6050 2018-05-04  Tom Tromey  <tom@tromey.com>
6051
6052         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6053
6054 2018-05-04  Tom Tromey  <tom@tromey.com>
6055
6056         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6057         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6058         * symfile.c (section_is_mapped): Fix fall-through comment.
6059         * stabsread.c (define_symbol, read_member_functions): Fix
6060         fall-through comment.
6061         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6062         comment.
6063         * remote.c (remote_wait_as): Fix fall-through comment.
6064         * p-exp.y (yylex): Fix fall-through comment.
6065         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6066         comment.
6067         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6068         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6069         * jv-exp.y (yylex): Fix fall-through comment.
6070         * go-exp.y (lex_one_token): Fix fall-through comment.
6071         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6072         fall-through comment.
6073         * f-exp.y (yylex): Fix fall-through comment.
6074         * dwarf2read.c (process_die): Fix fall-through comments.
6075         * dbxread.c (process_one_symbol): Fix fall-through comment.
6076         * d-exp.y (lex_one_token): Fix fall-through comment.
6077         * cp-name-parser.y (yylex): Fix fall-through comment.
6078         * coffread.c (coff_symtab_read): Fix fall-through comment.
6079         * c-exp.y (lex_one_token): Fix fall-through comment.
6080         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6081         comment.
6082         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6083         comment.
6084
6085 2018-05-04  Tom Tromey  <tom@tromey.com>
6086
6087         PR python/22730:
6088         * NEWS: Mention gdb.execute change.
6089         * gdbcmd.h (execute_control_command): Don't declare.
6090         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6091         execute_control_commands, execute_control_commands_to_string.
6092         * cli/cli-script.h (execute_control_commands)
6093         (execute_control_commands_to_string): Declare.
6094         (execute_control_command): Add from_tty parameter.
6095         * cli/cli-script.c (execute_control_commands)
6096         (execute_control_commands_to_string): New functions.
6097         (execute_user_command): Use execute_control_commands.
6098         (execute_control_command_1): Add "from_tty" parameter.  Update.
6099         (execute_control_command): Likewise.
6100
6101 2018-05-04  Tom Tromey  <tom@tromey.com>
6102
6103         PR python/22731:
6104         * NEWS: Mention that breakpoint commands are writable.
6105         * python/py-breakpoint.c (bppy_set_commands): New function.
6106         (breakpoint_object_getset) <"commands">: Use it.
6107
6108 2018-05-04  Tom Tromey  <tom@tromey.com>
6109
6110         * tracepoint.c (actions_command): Update.
6111         * mi/mi-cmd-break.c (mi_command_line_array)
6112         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6113         (mi_read_next_line): Remove.
6114         (mi_cmd_break_commands): Update.
6115         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6116         function_view.
6117         * cli/cli-script.c (get_command_line): Update.
6118         (process_next_line): Use function_view.  Constify.
6119         (recurse_read_control_structure, read_command_lines)
6120         (read_command_lines_1): Change argument types to function_view.
6121         (do_define_command, document_command): Update.
6122         * breakpoint.h (check_tracepoint_command): Don't declare.
6123         * breakpoint.c (check_tracepoint_command): Remove.
6124         (commands_command_1, create_tracepoint_from_upload): Update.
6125
6126 2018-05-04  Tom Tromey  <tom@tromey.com>
6127
6128         PR gdb/11750:
6129         * cli/cli-script.h (enum command_control_type) <define_control>:
6130         New constant.
6131         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6132         (build_command_line, execute_control_command_1)
6133         (process_next_line): Likewise.
6134         (do_define_command): New function, extracted from define_command.
6135         (define_command): Use it.
6136
6137 2018-05-04  Tom Tromey  <tom@tromey.com>
6138
6139         * tracepoint.c (actions_command): Update.
6140         * cli/cli-script.h (read_command_lines): Update.
6141         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6142         (MAX_TMPBUF): Remove define.
6143         (define_command): Use string_printf.
6144         (document_command): Likewise.
6145         * breakpoint.c (commands_command_1): Update.
6146
6147 2018-05-04  Tom Tromey  <tom@tromey.com>
6148
6149         * top.c (execute_command): Update.
6150         * cli/cli-script.h (print_command_lines): Now varargs.
6151         * cli/cli-script.c (print_command_lines): Now varargs.
6152         (execute_control_command_1) <case while_control, case if_control>:
6153         Update.
6154
6155 2018-05-04  Tom Tromey  <tom@tromey.com>
6156
6157         * tracepoint.c (all_tracepoint_actions): Rename from
6158         all_tracepoint_actions_and_cleanup.  Change return type.
6159         (actions_command, encode_actions_1, encode_actions)
6160         (trace_dump_actions, tdump_command): Update.
6161         * remote.c (remote_download_command_source): Update.
6162         * python/python.c (gdbpy_eval_from_control_command)
6163         (python_command, python_interactive_command): Update.
6164         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6165         * guile/guile.c (guile_command)
6166         (gdbscm_eval_from_control_command, guile_command): Update.
6167         * compile/compile.c (compile_code_command)
6168         (compile_print_command, compile_to_object): Update.
6169         * cli/cli-script.h (struct command_lines_deleter): New.
6170         (counted_command_line): New typedef.
6171         (struct command_line): Add constructor, destructor.
6172         <body_list>: Remove.
6173         <body_list_0, body_list_1>: New members.
6174         (command_line_up): Remove typedef.
6175         (read_command_lines, read_command_lines_1, get_command_line):
6176         Update.
6177         (copy_command_lines): Don't declare.
6178         * cli/cli-script.c (build_command_line): Use "new".
6179         (get_command_line): Return counted_command_line.
6180         (print_command_lines, execute_user_command)
6181         (execute_control_command_1, while_command, if_command): Update.
6182         (realloc_body_list): Remove.
6183         (process_next_line, recurse_read_control_structure): Update.
6184         (read_command_lines, read_command_lines_1): Return counted_command_line.
6185         (free_command_lines): Use "delete".
6186         (copy_command_lines): Remove.
6187         (define_command, document_command, show_user_1): Update.
6188         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6189         a counted_command_line.
6190         * breakpoint.h (counted_command_line): Remove typedef.
6191         (breakpoint_set_commands): Update.
6192         * breakpoint.c (check_no_tracepoint_commands)
6193         (validate_commands_for_breakpoint): Update.
6194         (breakpoint_set_commands): Change commands to be a
6195         counted_command_line.
6196         (commands_command_1, update_dprintf_command_list)
6197         (create_tracepoint_from_upload): Update.
6198
6199 2018-05-04  Tom Tromey  <tom@tromey.com>
6200
6201         * cli/cli-decode.h (cmd_list_element): New constructor.
6202         (~cmd_list_element): New destructor.
6203         (struct cmd_list_element): Add initializers.
6204         * cli/cli-decode.c (do_add_cmd): Use "new".
6205         (delete_cmd): Use "delete".
6206
6207 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6208             Pedro Alves <palves@redhat.com>
6209
6210         PR breakpoints/19806 and support for PR external/20207.
6211         * NEWS: Mention Aarch64 watchpoint improvements.
6212         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6213         watchpoints and PR external/20207 watchpoints.
6214         * nat/aarch64-linux-hw-point.c
6215         (kernel_supports_any_contiguous_range): New.
6216         (aarch64_watchpoint_offset): New.
6217         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6218         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6219         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6220         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6221         next_addr_orig_p.  Support PR external/20207 watchpoints.
6222         (aarch64_downgrade_regs): New.
6223         (aarch64_dr_state_insert_one_point): New parameters offset and
6224         addr_orig.
6225         (aarch64_dr_state_remove_one_point): Likewise.
6226         (aarch64_handle_breakpoint): Update caller.
6227         (aarch64_handle_aligned_watchpoint): Likewise.
6228         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6229         aligned_offset.
6230         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6231         aarch64_downgrade_regs.
6232         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6233         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6234         (DR_CONTROL_MASK): ... this.
6235         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6236         (unsigned int aarch64_watchpoint_offset): New prototype.
6237         (aarch64_linux_set_debug_regs): Remove const from state.
6238         * utils.c (align_up, align_down): Move to ...
6239         * common/common-utils.c (align_up, align_down): ... here.
6240         * utils.h (align_up, align_down): Move to ...
6241         * common/common-utils.h (align_up, align_down): ... here.
6242
6243 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6244
6245         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6246         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6247         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6248         Re-implement to match the ABI as summarized in GCC's
6249         gcc/config/sparc/sparc.c.  All callers updated.
6250         (sparc32_store_arguments): Remove assertion.
6251
6252 2018-05-04  Tom Tromey  <tom@tromey.com>
6253
6254         * printcmd.c: Don't include tui.h.
6255         (decode_format): Use skip_spaces.
6256
6257 2018-05-04  Tom Tromey  <tom@tromey.com>
6258
6259         PR gdb/22619:
6260         * printcmd.c (last_count): New global.
6261         (x_command): Use saved count when repeating.
6262
6263 2018-05-04  Tom Tromey  <tom@tromey.com>
6264
6265         * nto-procfs.c (do_closedir_cleanup): Remove.
6266         (procfs_pidlist): Use gdb_dir_up.
6267         * procfs.c (do_closedir_cleanup): Remove.
6268         (proc_update_threads): Use gdb_dir_up.
6269         * common/filestuff.h (struct gdb_dir_deleter): New.
6270         (gdb_dir_up): New typedef.
6271
6272 2018-05-04  Tom Tromey  <tom@tromey.com>
6273
6274         * ada-lang.c (print_mention_exception): Use std::string.
6275
6276 2018-05-04  Tom Tromey  <tom@tromey.com>
6277
6278         * ada-lang.c (create_excep_cond_exprs): Update.
6279         (ada_exception_catchpoint_cond_string): Use std::string.
6280
6281 2018-05-04  Tom Tromey  <tom@tromey.com>
6282
6283         * ada-lang.c (xget_renaming_scope): Return std::string.
6284         (old_renaming_is_invisible): Update.
6285
6286 2018-05-04  Tom Tromey  <tom@tromey.com>
6287
6288         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6289         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6290
6291 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6292
6293         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6294
6295 2018-05-04  Tom Tromey  <tom@tromey.com>
6296
6297         * remote.c (remote_query_supported_append): Change type.
6298         (remote_check_symbols): Update.
6299
6300 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6301
6302         PR gdb/11420
6303         * configure.ac: Prepend libpython.
6304         * python/python-config.py: Likewise.
6305         * configure: Regenerate.
6306
6307 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6308
6309         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6310
6311 2018-05-03  Pedro Alves  <palves@redhat.com>
6312
6313         * s390-linux-nat.c
6314         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6315         override.  Write 'true' instead of '1'.
6316         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6317         declaration.
6318
6319 2018-05-02  Pedro Alves  <palves@redhat.com>
6320
6321         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6322         add_inf_child_target.
6323         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6324         add_inf_child_target.
6325         * aix-thread.c (aix_thread_target_info): New.
6326         (aix_thread_target) <shortname, longname, doc>: Delete.
6327         <info>: New.
6328         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6329         add_inf_child_target.
6330         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6331         add_inf_child_target.
6332         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6333         add_inf_child_target.
6334         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6335         add_inf_child_target.
6336         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6337         add_inf_child_target.
6338         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6339         add_inf_child_target.
6340         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6341         add_inf_child_target.
6342         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6343         add_inf_child_target.
6344         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6345         add_inf_child_target.
6346         * bfd-target.c (target_bfd_target_info): New.
6347         (target_bfd) <shortname, longname, doc>: Delete.
6348         <info>: New.
6349         * bsd-kvm.c (bsd_kvm_target_info): New.
6350         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6351         <info>: New.
6352         (bsd_kvm_target::open): Rename to ...
6353         (bsd_kvm_target_open): ... this.  Adjust.
6354         * bsd-uthread.c (bsd_uthread_target_info): New.
6355         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6356         <info>: New.
6357         * corefile.c (core_file_command): Adjust.
6358         * corelow.c (core_target_info): New.
6359         (core_target) <shortname, longname, doc>: Delete.
6360         <info>: New.
6361         (core_target::open): Rename to ...
6362         (core_target_open): ... this.  Adjust.
6363         * ctf.c (ctf_target_info): New.
6364         (ctf_target) <shortname, longname, doc>: Delete.
6365         <info>: New.
6366         (ctf_target::open): Rename to ...
6367         (ctf_target_open): ... this.
6368         (_initialize_ctf): Adjust.
6369         * exec.c (exec_target_info): New.
6370         (exec_target) <shortname, longname, doc>: Delete.
6371         <info>: New.
6372         (exec_target::open): Rename to ...
6373         (exec_target_open): ... this.
6374         * gdbcore.h (core_target_open): Declare.
6375         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6376         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6377         add_inf_child_target.
6378         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6379         add_inf_child_target.
6380         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6381         add_inf_child_target.
6382         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6383         add_inf_child_target.
6384         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6385         add_inf_child_target.
6386         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6387         add_inf_child_target.
6388         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6389         add_inf_child_target.
6390         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6391         add_inf_child_target.
6392         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6393         add_inf_child_target.
6394         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6395         add_inf_child_target.
6396         * inf-child.c (inf_child_target_info): New.
6397         (inf_child_target::info): New.
6398         (inf_child_open_target): Remove 'target' parameter.  Use
6399         get_native_target instead.
6400         (inf_child_target::open): Delete.
6401         (add_inf_child_target): New.
6402         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6403         Delete.
6404         <info>: New.
6405         (add_inf_child_target): Declare.
6406         (inf_child_open_target): Declare.
6407         * linux-thread-db.c (thread_db_target_info): New.
6408         (thread_db_target) <shortname, longname, doc>: Delete.
6409         <info>: New.
6410         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6411         add_inf_child_target.
6412         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6413         add_inf_child_target.
6414         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6415         add_inf_child_target.
6416         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6417         add_inf_child_target.
6418         * make-target-delegates (print_class): Adjust.
6419         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6420         add_inf_child_target.
6421         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6422         add_inf_child_target.
6423         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6424         add_inf_child_target.
6425         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6426         add_inf_child_target.
6427         * nto-procfs.c (nto_native_target_info): New.
6428         (nto_procfs_target_native) <shortname, longname, doc>:
6429         Delete.
6430         <info>: New.
6431         (nto_procfs_target_info): New.
6432         (nto_procfs_target_procfs) <shortname, longname, doc>:
6433         Delete.
6434         <info>: New.
6435         (init_procfs_targets): Adjust.
6436         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6437         add_inf_child_target.
6438         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6439         add_inf_child_target.
6440         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6441         add_inf_child_target.
6442         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6443         add_inf_child_target.
6444         * ravenscar-thread.c (ravenscar_target_info): New.
6445         (ravenscar_thread_target) <shortname, longname, doc>:
6446         Delete.
6447         <info>: New.
6448         * record-btrace.c (record_btrace_target_info):
6449         (record_btrace_target) <shortname, longname, doc>: Delete.
6450         <info>: New.
6451         (record_btrace_target::open): Rename to ...
6452         (record_btrace_target_open): ... this.  Adjust.
6453         * record-full.c (record_longname, record_doc): New.
6454         (record_full_base_target) <shortname, longname, doc>: Delete.
6455         <info>: New.
6456         (record_full_target_info): New.
6457         (record_full_target): <shortname>: Delete.
6458         <info>: New.
6459         (record_full_core_open_1, record_full_open_1): Update comments.
6460         (record_full_base_target::open): Rename to ...
6461         (record_full_open): ... this.
6462         (cmd_record_full_restore): Update.
6463         (_initialize_record_full): Update.
6464         * remote-sim.c (remote_sim_target_info): New.
6465         (gdbsim_target) <shortname, longname, doc>: Delete.
6466         <info>: New.
6467         (gdbsim_target::open): Rename to ...
6468         (gdbsim_target_open): ... this.
6469         (_initialize_remote_sim): Adjust.
6470         * remote.c (remote_doc): New.
6471         (remote_target_info): New.
6472         (remote_target) <shortname, longname, doc>: Delete.
6473         <info>: New.
6474         (extended_remote_target_info): New.
6475         (extended_remote_target) <shortname, longname, doc>: Delete.
6476         <info>: New.
6477         (remote_target::open_1): Make static.  Adjust.
6478         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6479         * s390-linux-nat.c (_initialize_s390_nat): Use
6480         add_inf_child_target.
6481         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6482         add_inf_child_target.
6483         * sol-thread.c (thread_db_target_info): New.
6484         (sol_thread_target) <shortname, longname, doc>: Delete.
6485         <info>: New.
6486         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6487         add_inf_child_target.
6488         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6489         add_inf_child_target.
6490         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6491         add_inf_child_target.
6492         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6493         add_inf_child_target.
6494         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6495         add_inf_child_target.
6496         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6497         add_inf_child_target.
6498         * spu-linux-nat.c (_initialize_spu_nat): Use
6499         add_inf_child_target.
6500         * spu-multiarch.c (spu_multiarch_target_info): New.
6501         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6502         <info>: New.
6503         * target-delegates.c: Regenerate.
6504         * target.c: Include <unordered_map>.
6505         (target_ops_p): Delete.
6506         (DEF_VEC_P(target_ops_p)): Delete.
6507         (target_factories): New.
6508         (test_target_info): New.
6509         (test_target_ops::info): New.
6510         (open_target): Adjust to use target_factories.
6511         (add_target_with_completer): Rename to ...
6512         (add_target): ... this.  Change prototype.  Register target_info
6513         and open callback in target_factories.  Register target_info in
6514         command context instead of target_ops.
6515         (add_target): Delete old implementation.
6516         (add_deprecated_target_alias): Change prototype.  Adjust.
6517         (the_native_target): New.
6518         (set_native_target, get_native_target): New.
6519         (find_default_run_target): Use the_native_target.
6520         (find_attach_target, find_run_target): Simplify.
6521         (target_ops::open): Delete.
6522         (dummy_target_info): New.
6523         (dummy_target::shortname, dummy_target::longname)
6524         (dummy_target::doc): Delete.
6525         (dummy_target::info): New.
6526         (debug_target::shortname, debug_target::longname)
6527         (debug_target::doc): Delete.
6528         (debug_target::info): New.
6529         * target.h (struct target_info): New.
6530         (target_ops::~target_ops): Add comment.
6531         (target_ops::info): New.
6532         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6533         longer virtual.  Implement in terms of target_info.
6534         (set_native_target, get_native_target): Declare.
6535         (target_open_ftype): New.
6536         (add_target, add_target_with_completer)
6537         (add_deprecated_target_alias): Change prototype.
6538         (test_target) <shortname, longname, doc>: Delete.
6539         <info>: New.
6540         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6541         add_inf_child_target.
6542         * tracefile-tfile.c (tfile_target_info): New.
6543         (tfile_target) <shortname, longname, doc>: Delete.
6544         <info>: New.
6545         (tfile_target::open): Rename to ...
6546         (tfile_target_open): ... this.
6547         (_initialize_tracefile_tfile): Adjust.
6548         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6549         add_inf_child_target.
6550         * windows-nat.c (_initialize_windows_nat): Use
6551         add_inf_child_target.
6552         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6553         add_inf_child_target.
6554
6555 2018-05-02  Pedro Alves  <palves@redhat.com>
6556
6557         * linux-nat.h (linux_nat_target) <low_new_thread,
6558         low_delete_thread, low_new_fork, low_forget_process,
6559         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6560         New virtual methods.
6561         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6562         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6563         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6564         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6565         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6566         Delete.
6567         * linux-fork.c (delete_fork): Adjust to call low method.
6568         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6569         (linux_nat_new_fork, linux_nat_forget_process_hook)
6570         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6571         (linux_nat_status_is_event):
6572         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6573         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6574         to call low method.
6575         (sigtrap_is_event): Rename to ...
6576         (linux_nat_target::low_status_is_event): ... this.
6577         (linux_nat_set_status_is_event): Delete.
6578         (save_stop_reason, linux_nat_wait_1)
6579         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6580         low methods.
6581         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6582         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6583         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6584         (linux_nat_set_prepare_to_resume): Delete.
6585         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6586         low virtual methods.
6587         * amd64-linux-nat.c: Likewise.
6588         * arm-linux-nat.c: Likewise.
6589         * i386-linux-nat.c: Likewise.
6590         * ia64-linux-nat.c: Likewise.
6591         * mips-linux-nat.c: Likewise.
6592         * ppc-linux-nat.c: Likewise.
6593         * s390-linux-nat.c: Likewise.
6594         * sparc64-linux-nat.c: Likewise.
6595         * x86-linux-nat.c: Likewise.
6596         * x86-linux-nat.h: Include "nat/x86-linux.h".
6597         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6598         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6599         Override methods.
6600
6601 2018-05-02  Pedro Alves  <palves@redhat.com>
6602
6603         * target.h (target_ops)
6604         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6605         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6606         stopped_by_watchpoint, have_continuable_watchpoint,
6607         stopped_data_address, watchpoint_addr_within_range,
6608         can_accel_watchpoint_condition, can_run, thread_alive,
6609         has_all_memory, has_memory, has_stack, has_registers,
6610         has_execution, can_async_p, is_async_p, supports_non_stop,
6611         always_non_stop_p, can_execute_reverse, supports_multi_process,
6612         supports_enable_disable_tracepoint,
6613         supports_disable_randomization, supports_string_tracing,
6614         supports_evaluation_of_breakpoint_conditions,
6615         can_run_breakpoint_commands, filesystem_is_local,
6616         can_download_tracepoint, get_trace_state_variable_value,
6617         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6618         record_is_replaying, record_will_replay,
6619         augmented_libraries_svr4_read>: Adjust to return bool.
6620         * aarch64-linux-nat.c: All implementations adjusted.
6621         * aix-thread.c: All implementations adjusted.
6622         * arm-linux-nat.c: All implementations adjusted.
6623         * breakpoint.c: All implementations adjusted.
6624         * bsd-kvm.c: All implementations adjusted.
6625         * bsd-uthread.c: All implementations adjusted.
6626         * corelow.c: All implementations adjusted.
6627         * ctf.c: All implementations adjusted.
6628         * darwin-nat.c: All implementations adjusted.
6629         * darwin-nat.h: All implementations adjusted.
6630         * exec.c: All implementations adjusted.
6631         * fbsd-nat.c: All implementations adjusted.
6632         * fbsd-nat.h: All implementations adjusted.
6633         * gnu-nat.c: All implementations adjusted.
6634         * gnu-nat.h: All implementations adjusted.
6635         * go32-nat.c: All implementations adjusted.
6636         * ia64-linux-nat.c: All implementations adjusted.
6637         * inf-child.c: All implementations adjusted.
6638         * inf-child.h: All implementations adjusted.
6639         * inf-ptrace.c: All implementations adjusted.
6640         * inf-ptrace.h: All implementations adjusted.
6641         * linux-nat.c: All implementations adjusted.
6642         * linux-nat.h: All implementations adjusted.
6643         * mips-linux-nat.c: All implementations adjusted.
6644         * nto-procfs.c: All implementations adjusted.
6645         * ppc-linux-nat.c: All implementations adjusted.
6646         * procfs.c: All implementations adjusted.
6647         * ravenscar-thread.c: All implementations adjusted.
6648         * record-btrace.c: All implementations adjusted.
6649         * record-full.c: All implementations adjusted.
6650         * remote-sim.c: All implementations adjusted.
6651         * remote.c: All implementations adjusted.
6652         * s390-linux-nat.c: All implementations adjusted.
6653         * sol-thread.c: All implementations adjusted.
6654         * spu-multiarch.c: All implementations adjusted.
6655         * target-delegates.c: All implementations adjusted.
6656         * target.c: All implementations adjusted.
6657         * target.h: All implementations adjusted.
6658         * tracefile-tfile.c: All implementations adjusted.
6659         * tracefile.c: All implementations adjusted.
6660         * tracefile.h: All implementations adjusted.
6661         * windows-nat.c: All implementations adjusted.
6662         * x86-linux-nat.h: All implementations adjusted.
6663         * x86-nat.h: All implementations adjusted.
6664
6665 2018-05-02  Pedro Alves  <palves@redhat.com>
6666
6667         * make-target-delegates (scan_target_h): Don't trim lines here.
6668         Replace sequences of tabs and/or whitespace with a single
6669         whitespace.
6670         (top level, parsing methods): Trim each line before processing it
6671         here.
6672
6673 2018-05-02  Pedro Alves  <palves@redhat.com>
6674             John Baldwin  <jhb@freebsd.org>
6675
6676         * target.h (enum strata) <debug_stratum>: New.
6677         (struct target_ops) <all delegation methods>: Replace by C++
6678         virtual methods, and drop "to_" prefix.  All references updated
6679         throughout.
6680         <to_shortname, to_longname, to_doc, to_data,
6681         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6682         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6683         virtual methods.  All references updated throughout.
6684         <can_attach, supports_terminal_ours, can_create_inferior,
6685         get_thread_control_capabilities, attach_no_wait>: New
6686         virtual methods.
6687         <insert_breakpoint, remove_breakpoint>: Now
6688         TARGET_DEFAULT_NORETURN methods.
6689         <info_proc>: Now returns bool.
6690         <to_magic>: Delete.
6691         (OPS_MAGIC): Delete.
6692         (current_target): Delete.  All references replaced by references
6693         to ...
6694         (target_stack): ... this.  New.
6695         (target_shortname, target_longname): Adjust.
6696         (target_can_run): Now a function declaration.
6697         (default_child_has_all_memory, default_child_has_memory)
6698         (default_child_has_stack, default_child_has_registers)
6699         (default_child_has_execution): Remove target_ops parameter.
6700         (complete_target_initialization): Delete.
6701         (memory_breakpoint_target): New template class.
6702         (test_target_ops): Refactor as a C++ class with virtual methods.
6703         * make-target-delegates (NAME_PART): Tighten.
6704         (POINTER_PART, CP_SYMBOL): New.
6705         (SIMPLE_RETURN_PART): Reimplement.
6706         (VEC_RETURN_PART): Expect less.
6707         (RETURN_PART, VIRTUAL_PART): New.
6708         (METHOD): Adjust to C++ virtual methods.
6709         (scan_target_h): Remove reference to C99.
6710         (dname): Output "target_ops::" prefix.
6711         (write_function_header): Adjust to output a C++ class method.
6712         (write_declaration): New.
6713         (write_delegator): Adjust to output a C++ class method.
6714         (tdname): Output "dummy_target::" prefix.
6715         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6716         method.
6717         (tdefault_names, debug_names): Delete.
6718         (return_types, tdefaults, styles, argtypes_array): New.
6719         (top level): All methods are delegators.
6720         (print_class): New.
6721         (top level): Print dummy_target and debug_target classes.
6722         * target-delegates.c: Regenerate.
6723         * target-debug.h (target_debug_print_enum_info_proc_what)
6724         (target_debug_print_thread_control_capabilities)
6725         (target_debug_print_thread_info_p): New.
6726         * target.c (dummy_target): Delete.
6727         (the_dummy_target, the_debug_target): New.
6728         (target_stack): Now extern.
6729         (set_targetdebug): Push/unpush debug target.
6730         (default_child_has_all_memory, default_child_has_memory)
6731         (default_child_has_stack, default_child_has_registers)
6732         (default_child_has_execution): Remove target_ops parameter.
6733         (complete_target_initialization): Delete.
6734         (add_target_with_completer): No longer call
6735         complete_target_initialization.
6736         (target_supports_terminal_ours): Use regular delegation.
6737         (update_current_target): Delete.
6738         (push_target): No longer check magic number.  Don't call
6739         update_current_target.
6740         (unpush_target): Don't call update_current_target.
6741         (target_is_pushed): No longer check magic number.
6742         (target_require_runnable): Skip for all stratums over
6743         process_stratum.
6744         (target_ops::info_proc): New.
6745         (target_info_proc): Use find_target_at and
6746         find_default_run_target.
6747         (target_supports_disable_randomization): Use regular delegation.
6748         (target_get_osdata): Use find_target_at.
6749         (target_ops::open, target_ops::close, target_ops::can_attach)
6750         (target_ops::attach, target_ops::can_create_inferior)
6751         (target_ops::create_inferior, target_ops::can_run)
6752         (target_can_run): New.
6753         (default_fileio_target): Use regular delegation.
6754         (target_ops::fileio_open, target_ops::fileio_pwrite)
6755         (target_ops::fileio_pread, target_ops::fileio_fstat)
6756         (target_ops::fileio_close, target_ops::fileio_unlink)
6757         (target_ops::fileio_readlink): New.
6758         (target_fileio_open_1, target_fileio_unlink)
6759         (target_fileio_readlink): Always call the target method.  Handle
6760         FILEIO_ENOSYS.
6761         (return_zero, return_zero_has_execution): Delete.
6762         (init_dummy_target): Delete.
6763         (dummy_target::dummy_target, dummy_target::shortname)
6764         (dummy_target::longname, dummy_target::doc)
6765         (debug_target::debug_target, debug_target::shortname)
6766         (debug_target::longname, debug_target::doc): New.
6767         (target_supports_delete_record): Use regular delegation.
6768         (setup_target_debug): Delete.
6769         (maintenance_print_target_stack): Skip debug_stratum.
6770         (initialize_targets): Instantiate the_dummy_target and
6771         the_debug_target.
6772         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
6773         use target_stack.
6774         (target_auxv_search, fprint_target_auxv): Adjust.
6775         (info_auxv_command): Adjust to use target_stack.
6776         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
6777         * exceptions.c (print_flush): Handle a NULL target_stack.
6778         * regcache.c (target_ops_no_register): Refactor as class with
6779         virtual methods.
6780
6781         * exec.c (exec_target): New class.
6782         (exec_ops): Now an exec_target.
6783         (exec_open, exec_close_1, exec_get_section_table)
6784         (exec_xfer_partial, exec_files_info, exec_has_memory)
6785         (exec_make_note_section): Refactor as exec_target methods.
6786         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
6787         Delete.
6788         (exec_target::find_memory_regions): New.
6789         (_initialize_exec): Don't call init_exec_ops.
6790         * gdbcore.h (exec_file_clear): Delete.
6791
6792         * corefile.c (core_target): Delete.
6793         (core_file_command): Adjust.
6794         * corelow.c (core_target): New class.
6795         (the_core_target): New.
6796         (core_close): Remove target_ops parameter.
6797         (core_close_cleanup): Adjust.
6798         (core_target::close): New.
6799         (core_open, core_detach, get_core_registers, core_files_info)
6800         (core_xfer_partial, core_thread_alive, core_read_description)
6801         (core_pid_to_str, core_thread_name, core_has_memory)
6802         (core_has_stack, core_has_registers, core_info_proc): Rework as
6803         core_target methods.
6804         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6805         (_initialize_corelow): Initialize the_core_target.
6806         * gdbcore.h (core_target): Delete.
6807         (the_core_target): New.
6808
6809         * ctf.c: (ctf_target): New class.
6810         (ctf_ops): Now a ctf_target.
6811         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6812         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6813         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6814         methods.
6815         (init_ctf_ops): Delete.
6816         (_initialize_ctf): Don't call it.
6817         * tracefile-tfile.c (tfile_target): New class.
6818         (tfile_ops): Now a tfile_target.
6819         (tfile_open, tfile_close, tfile_files_info)
6820         (tfile_get_tracepoint_status, tfile_trace_find)
6821         (tfile_fetch_registers, tfile_xfer_partial)
6822         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6823         Refactor as tfile_target methods.
6824         (tfile_xfer_partial_features): Remove target_ops parameter.
6825         (init_tfile_ops): Delete.
6826         (_initialize_tracefile_tfile): Don't call it.
6827         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6828         (tracefile_has_stack, tracefile_has_registers)
6829         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6830         tracefile_target methods.
6831         (init_tracefile_ops): Delete.
6832         (tracefile_target::tracefile_target): New.
6833         * tracefile.h: Include "target.h".
6834         (tracefile_target): New class.
6835         (init_tracefile_ops): Delete.
6836
6837         * spu-multiarch.c (spu_multiarch_target): New class.
6838         (spu_ops): Now a spu_multiarch_target.
6839         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6840         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6841         (spu_search_memory, spu_mourn_inferior): Refactor as
6842         spu_multiarch_target methods.
6843         (init_spu_ops): Delete.
6844         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6845         complete_target_initialization.
6846
6847         * ravenscar-thread.c (ravenscar_thread_target): New class.
6848         (ravenscar_ops): Now a ravenscar_thread_target.
6849         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6850         (ravenscar_thread_alive, ravenscar_pid_to_str)
6851         (ravenscar_fetch_registers, ravenscar_store_registers)
6852         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6853         (ravenscar_stopped_by_hw_breakpoint)
6854         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6855         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6856         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6857         methods.
6858         (init_ravenscar_thread_ops): Delete.
6859         (_initialize_ravenscar): Remove references to
6860         init_ravenscar_thread_ops and complete_target_initialization.
6861
6862         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6863         (bsd_uthread_target): New class.
6864         (bsd_uthread_ops): Now a bsd_uthread_target.
6865         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6866         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6867         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6868         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6869         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6870         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6871         (bsd_uthread_target): Delete function.
6872         (_initialize_bsd_uthread): Remove reference to
6873         complete_target_initialization.
6874
6875         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6876         (target_bfd): ... this new class.
6877         (target_bfd_xfer_partial, target_bfd_get_section_table)
6878         (target_bfd_close): Refactor as target_bfd methods.
6879         (target_bfd::~target_bfd): New.
6880         (target_bfd_reopen): Adjust.
6881         (target_bfd::close): New.
6882
6883         * record-btrace.c (record_btrace_target): New class.
6884         (record_btrace_ops): Now a record_btrace_target.
6885         (record_btrace_open, record_btrace_stop_recording)
6886         (record_btrace_disconnect, record_btrace_close)
6887         (record_btrace_async, record_btrace_info)
6888         (record_btrace_insn_history, record_btrace_insn_history_range)
6889         (record_btrace_insn_history_from, record_btrace_call_history)
6890         (record_btrace_call_history_range)
6891         (record_btrace_call_history_from, record_btrace_record_method)
6892         (record_btrace_is_replaying, record_btrace_will_replay)
6893         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6894         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6895         (record_btrace_store_registers, record_btrace_prepare_to_store)
6896         (record_btrace_to_get_unwinder)
6897         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6898         (record_btrace_commit_resume, record_btrace_wait)
6899         (record_btrace_stop, record_btrace_can_execute_reverse)
6900         (record_btrace_stopped_by_sw_breakpoint)
6901         (record_btrace_supports_stopped_by_sw_breakpoint)
6902         (record_btrace_stopped_by_hw_breakpoint)
6903         (record_btrace_supports_stopped_by_hw_breakpoint)
6904         (record_btrace_update_thread_list, record_btrace_thread_alive)
6905         (record_btrace_goto_begin, record_btrace_goto_end)
6906         (record_btrace_goto, record_btrace_stop_replaying_all)
6907         (record_btrace_execution_direction)
6908         (record_btrace_prepare_to_generate_core)
6909         (record_btrace_done_generating_core): Refactor as
6910         record_btrace_target methods.
6911         (init_record_btrace_ops): Delete.
6912         (_initialize_record_btrace): Remove reference to
6913         init_record_btrace_ops.
6914         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6915         the execution_direction global.
6916         (record_full_base_target, record_full_target)
6917         (record_full_core_target): New classes.
6918         (record_full_ops): Now a record_full_target.
6919         (record_full_core_ops): Now a record_full_core_target.
6920         (record_full_target::detach, record_full_target::disconnect)
6921         (record_full_core_target::disconnect)
6922         (record_full_target::mourn_inferior, record_full_target::kill):
6923         New.
6924         (record_full_open, record_full_close, record_full_async): Refactor
6925         as methods of the record_full_base_target class.
6926         (record_full_resume, record_full_commit_resume): Refactor
6927         as methods of the record_full_target class.
6928         (record_full_wait, record_full_stopped_by_watchpoint)
6929         (record_full_stopped_data_address)
6930         (record_full_stopped_by_sw_breakpoint)
6931         (record_full_supports_stopped_by_sw_breakpoint)
6932         (record_full_stopped_by_hw_breakpoint)
6933         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6934         methods of the record_full_base_target class.
6935         (record_full_store_registers, record_full_xfer_partial)
6936         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6937         Refactor as methods of the record_full_target class.
6938         (record_full_can_execute_reverse, record_full_get_bookmark)
6939         (record_full_goto_bookmark, record_full_execution_direction)
6940         (record_full_record_method, record_full_info, record_full_delete)
6941         (record_full_is_replaying, record_full_will_replay)
6942         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6943         (record_full_stop_replaying): Refactor as methods of the
6944         record_full_base_target class.
6945         (record_full_core_resume, record_full_core_kill)
6946         (record_full_core_fetch_registers)
6947         (record_full_core_prepare_to_store)
6948         (record_full_core_store_registers, record_full_core_xfer_partial)
6949         (record_full_core_insert_breakpoint)
6950         (record_full_core_remove_breakpoint)
6951         (record_full_core_has_execution): Refactor
6952         as methods of the record_full_core_target class.
6953         (record_full_base_target::supports_delete_record): New.
6954         (init_record_full_ops): Delete.
6955         (init_record_full_core_ops): Delete.
6956         (record_full_save): Refactor as method of the
6957         record_full_base_target class.
6958         (_initialize_record_full): Remove references to
6959         init_record_full_ops and init_record_full_core_ops.
6960
6961         * remote.c (remote_target, extended_remote_target): New classes.
6962         (remote_ops): Now a remote_target.
6963         (extended_remote_ops): Now an extended_remote_target.
6964         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6965         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6966         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6967         (remote_pass_signals, remote_set_syscall_catchpoint)
6968         (remote_program_signals, )
6969         (remote_thread_always_alive): Remove target_ops parameter.
6970         (remote_thread_alive, remote_thread_name)
6971         (remote_update_thread_list, remote_threads_extra_info)
6972         (remote_static_tracepoint_marker_at)
6973         (remote_static_tracepoint_markers_by_strid)
6974         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
6975         (remote_open): Refactor as methods of remote_target.
6976         (extended_remote_open, extended_remote_detach)
6977         (extended_remote_attach, extended_remote_post_attach):
6978         (extended_remote_supports_disable_randomization)
6979         (extended_remote_create_inferior): : Refactor as method of
6980         extended_remote_target.
6981         (remote_set_permissions, remote_open_1, remote_detach)
6982         (remote_follow_fork, remote_follow_exec, remote_disconnect)
6983         (remote_resume, remote_commit_resume, remote_stop)
6984         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
6985         (remote_terminal_ours, remote_wait, remote_fetch_registers)
6986         (remote_prepare_to_store, remote_store_registers)
6987         (remote_flash_erase, remote_flash_done, remote_files_info)
6988         (remote_kill, remote_mourn, remote_insert_breakpoint)
6989         (remote_remove_breakpoint, remote_insert_watchpoint)
6990         (remote_watchpoint_addr_within_range)
6991         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
6992         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
6993         (remote_supports_stopped_by_sw_breakpoint)
6994         (remote_stopped_by_hw_breakpoint)
6995         (remote_supports_stopped_by_hw_breakpoint)
6996         (remote_stopped_by_watchpoint, remote_stopped_data_address)
6997         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
6998         (remote_verify_memory): Refactor as methods of remote_target.
6999         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7000         parameter.
7001         (remote_xfer_partial, remote_get_memory_xfer_limit)
7002         (remote_search_memory, remote_rcmd, remote_memory_map)
7003         (remote_pid_to_str, remote_get_thread_local_address)
7004         (remote_get_tib_address, remote_read_description): Refactor as
7005         methods of remote_target.
7006         (remote_target::fileio_open, remote_target::fileio_pwrite)
7007         (remote_target::fileio_pread, remote_target::fileio_close): New.
7008         (remote_hostio_readlink, remote_hostio_fstat)
7009         (remote_filesystem_is_local, remote_can_execute_reverse)
7010         (remote_supports_non_stop, remote_supports_disable_randomization)
7011         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7012         (remote_supports_enable_disable_tracepoint)
7013         (remote_supports_string_tracing)
7014         (remote_can_run_breakpoint_commands, remote_trace_init)
7015         (remote_download_tracepoint, remote_can_download_tracepoint)
7016         (remote_download_trace_state_variable, remote_enable_tracepoint)
7017         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7018         (remote_trace_start, remote_get_trace_status)
7019         (remote_get_tracepoint_status, remote_trace_stop)
7020         (remote_trace_find, remote_get_trace_state_variable_value)
7021         (remote_save_trace_data, remote_get_raw_trace_data)
7022         (remote_set_disconnected_tracing, remote_core_of_thread)
7023         (remote_set_circular_trace_buffer, remote_traceframe_info)
7024         (remote_get_min_fast_tracepoint_insn_len)
7025         (remote_set_trace_buffer_size, remote_set_trace_notes)
7026         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7027         (remote_disable_btrace, remote_teardown_btrace)
7028         (remote_read_btrace, remote_btrace_conf)
7029         (remote_augmented_libraries_svr4_read, remote_load)
7030         (remote_pid_to_exec_file, remote_can_do_single_step)
7031         (remote_execution_direction, remote_thread_handle_to_thread_info):
7032         Refactor as methods of remote_target.
7033         (init_remote_ops, init_extended_remote_ops): Delete.
7034         (remote_can_async_p, remote_is_async_p, remote_async)
7035         (remote_thread_events, remote_upload_tracepoints)
7036         (remote_upload_trace_state_variables): Refactor as methods of
7037         remote_target.
7038         (_initialize_remote): Remove references to init_remote_ops and
7039         init_extended_remote_ops.
7040
7041         * remote-sim.c (gdbsim_target): New class.
7042         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7043         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7044         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7045         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7046         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7047         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7048         Refactor as methods of gdbsim_target.
7049         (gdbsim_ops): Now a gdbsim_target.
7050         (init_gdbsim_ops): Delete.
7051         (gdbsim_cntrl_c): Adjust.
7052         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7053
7054         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7055         (the_amd64_linux_nat_target): New.
7056         (amd64_linux_fetch_inferior_registers)
7057         (amd64_linux_store_inferior_registers): Refactor as methods of
7058         amd64_linux_nat_target.
7059         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7060         * i386-linux-nat.c: Don't include "linux-nat.h".
7061         (i386_linux_nat_target): New class.
7062         (the_i386_linux_nat_target): New.
7063         (i386_linux_fetch_inferior_registers)
7064         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7065         as methods of i386_linux_nat_target.
7066         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7067         * inf-child.c (inf_child_ops): Delete.
7068         (inf_child_fetch_inferior_registers)
7069         (inf_child_store_inferior_registers): Delete.
7070         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7071         methods of inf_child_target.
7072         (inf_child_target::supports_terminal_ours)
7073         (inf_child_target::terminal_init)
7074         (inf_child_target::terminal_inferior)
7075         (inf_child_target::terminal_ours_for_output)
7076         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7077         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7078         New.
7079         (inf_child_open, inf_child_disconnect, inf_child_close)
7080         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7081         (inf_child_post_startup_inferior, inf_child_can_run)
7082         (inf_child_pid_to_exec_file): Refactor as methods of
7083         inf_child_target.
7084         (inf_child_follow_fork): Delete.
7085         (inf_child_target::can_create_inferior)
7086         (inf_child_target::can_attach): New.
7087         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7088         (inf_child_target::has_stack, inf_child_target::has_registers)
7089         (inf_child_target::has_execution): New.
7090         (inf_child_fileio_open, inf_child_fileio_pwrite)
7091         (inf_child_fileio_pread, inf_child_fileio_fstat)
7092         (inf_child_fileio_close, inf_child_fileio_unlink)
7093         (inf_child_fileio_readlink, inf_child_use_agent)
7094         (inf_child_can_use_agent): Refactor as methods of
7095         inf_child_target.
7096         (return_zero, inf_child_target): Delete.
7097         (inf_child_target::inf_child_target): New.
7098         * inf-child.h: Include "target.h".
7099         (inf_child_target): Delete function prototype.
7100         (inf_child_target): New class.
7101         (inf_child_open_target, inf_child_mourn_inferior)
7102         (inf_child_maybe_unpush_target): Delete.
7103         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7104         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7105         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7106         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7107         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7108         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7109         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7110         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7111         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7112         methods of inf_ptrace_target.
7113         (inf_ptrace_target): Delete function.
7114         * inf-ptrace.h: Include "inf-child.h".
7115         (inf_ptrace_target): Delete function declaration.
7116         (inf_ptrace_target): New class.
7117         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7118         * linux-nat.c (linux_target): New.
7119         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7120         (linux_nat_target::~linux_nat_target): New.
7121         (linux_child_post_attach, linux_child_post_startup_inferior)
7122         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7123         (linux_child_remove_fork_catchpoint)
7124         (linux_child_insert_vfork_catchpoint)
7125         (linux_child_remove_vfork_catchpoint)
7126         (linux_child_insert_exec_catchpoint)
7127         (linux_child_remove_exec_catchpoint)
7128         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7129         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7130         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7131         (linux_nat_stopped_data_address)
7132         (linux_nat_stopped_by_sw_breakpoint)
7133         (linux_nat_supports_stopped_by_sw_breakpoint)
7134         (linux_nat_stopped_by_hw_breakpoint)
7135         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7136         (linux_nat_kill, linux_nat_mourn_inferior)
7137         (linux_nat_xfer_partial, linux_nat_thread_alive)
7138         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7139         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7140         (linux_child_static_tracepoint_markers_by_strid)
7141         (linux_nat_is_async_p, linux_nat_can_async_p)
7142         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7143         (linux_nat_supports_multi_process)
7144         (linux_nat_supports_disable_randomization, linux_nat_async)
7145         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7146         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7147         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7148         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7149         methods of linux_nat_target.
7150         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7151         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7152         parameter.
7153         (check_stopped_by_watchpoint): Adjust.
7154         (linux_xfer_partial): Delete.
7155         (linux_target_install_ops, linux_target, linux_nat_add_target):
7156         Delete.
7157         (linux_nat_target::linux_nat_target): New.
7158         * linux-nat.h: Include "inf-ptrace.h".
7159         (linux_nat_target): New.
7160         (linux_target, linux_target_install_ops, linux_nat_add_target):
7161         Delete function declarations.
7162         (linux_target): Declare global.
7163         * linux-thread-db.c (thread_db_target): New.
7164         (thread_db_target::thread_db_target): New.
7165         (thread_db_ops): Delete.
7166         (the_thread_db_target): New.
7167         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7168         (thread_db_update_thread_list, thread_db_pid_to_str)
7169         (thread_db_extra_thread_info)
7170         (thread_db_thread_handle_to_thread_info)
7171         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7172         (thread_db_resume): Refactor as methods of thread_db_target.
7173         (init_thread_db_ops): Delete.
7174         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7175         * x86-linux-nat.c: Don't include "linux-nat.h".
7176         (super_post_startup_inferior): Delete.
7177         (x86_linux_nat_target::~x86_linux_nat_target): New.
7178         (x86_linux_child_post_startup_inferior)
7179         (x86_linux_read_description, x86_linux_enable_btrace)
7180         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7181         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7182         methods of x86_linux_nat_target.
7183         (x86_linux_create_target): Delete.  Bits folded ...
7184         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7185         pointer.
7186         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7187         (x86_linux_nat_target): New class.
7188         (x86_linux_create_target): Delete.
7189         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7190         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7191         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7192         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7193         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7194         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7195         make extern.
7196         (x86_use_watchpoints): Delete.
7197         * x86-nat.h: Include "breakpoint.h" and "target.h".
7198         (x86_use_watchpoints): Delete.
7199         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7200         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7201         (x86_insert_watchpoint, x86_remove_watchpoint)
7202         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7203         (x86_stopped_by_hw_breakpoint): New declarations.
7204         (x86_nat_target): New template class.
7205
7206         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7207         (the_ppc_linux_nat_target): New.
7208         (ppc_linux_fetch_inferior_registers)
7209         (ppc_linux_can_use_hw_breakpoint)
7210         (ppc_linux_region_ok_for_hw_watchpoint)
7211         (ppc_linux_ranged_break_num_registers)
7212         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7213         (ppc_linux_insert_mask_watchpoint)
7214         (ppc_linux_remove_mask_watchpoint)
7215         (ppc_linux_can_accel_watchpoint_condition)
7216         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7217         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7218         (ppc_linux_watchpoint_addr_within_range)
7219         (ppc_linux_masked_watch_num_registers)
7220         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7221         (ppc_linux_read_description): Refactor as methods of
7222         ppc_linux_nat_target.
7223         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7224
7225         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7226         (procfs_target): New class.
7227         (the_procfs_target): New.
7228         (procfs_target): Delete function.
7229         (procfs_auxv_parse, procfs_attach, procfs_detach)
7230         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7231         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7232         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7233         (procfs_create_inferior, procfs_update_thread_list)
7234         (procfs_thread_alive, procfs_pid_to_str)
7235         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7236         (procfs_stopped_data_address, procfs_insert_watchpoint)
7237         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7238         (proc_find_memory_regions, procfs_info_proc)
7239         (procfs_make_note_section): Refactor as methods of procfs_target.
7240         (_initialize_procfs): Adjust.
7241         * sol-thread.c (sol_thread_target): New class.
7242         (sol_thread_ops): Now a sol_thread_target.
7243         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7244         (sol_thread_fetch_registers, sol_thread_store_registers)
7245         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7246         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7247         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7248         (init_sol_thread_ops): Delete.
7249         (_initialize_sol_thread): Adjust.  Remove references to
7250         init_sol_thread_ops and complete_target_initialization.
7251
7252         * windows-nat.c (windows_nat_target): New class.
7253         (windows_fetch_inferior_registers)
7254         (windows_store_inferior_registers, windows_resume, windows_wait)
7255         (windows_attach, windows_detach, windows_pid_to_exec_file)
7256         (windows_files_info, windows_create_inferior)
7257         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7258         (windows_close, windows_pid_to_str, windows_xfer_partial)
7259         (windows_get_tib_address, windows_get_ada_task_ptid)
7260         (windows_thread_name, windows_thread_alive): Refactor as
7261         windows_nat_target methods.
7262         (do_initial_windows_stuff): Adjust.
7263         (windows_target): Delete function.
7264         (_initialize_windows_nat): Adjust.
7265
7266         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7267         (darwin_mourn_inferior, darwin_kill_inferior)
7268         (darwin_create_inferior, darwin_attach, darwin_detach)
7269         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7270         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7271         (darwin_supports_multi_process): Refactor as darwin_nat_target
7272         methods.
7273         (darwin_resume_to, darwin_files_info): Delete.
7274         (_initialize_darwin_inferior): Rename to ...
7275         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7276         * darwin-nat.h: Include "inf-child.h".
7277         (darwin_nat_target): New class.
7278         (darwin_complete_target): Delete.
7279         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7280         (darwin_target): New.
7281         (i386_darwin_fetch_inferior_registers)
7282         (i386_darwin_store_inferior_registers): Refactor as methods of
7283         darwin_nat_target.
7284         (darwin_complete_target): Delete, with ...
7285         (_initialize_i386_darwin_nat): ... bits factored out here.
7286
7287         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7288         (the_alpha_linux_nat_target): New.
7289         (alpha_linux_register_u_offset): Refactor as
7290         alpha_linux_nat_target method.
7291         (_initialize_alpha_linux_nat): Adjust.
7292         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7293         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7294         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7295         methods of linux_nat_trad_target.
7296         (linux_trad_target): Delete.
7297         * linux-nat-trad.h (linux_trad_target): Delete function.
7298         (linux_nat_trad_target): New class.
7299         * mips-linux-nat.c (mips_linux_nat_target): New class.
7300         (super_fetch_registers, super_store_registers, super_close):
7301         Delete.
7302         (the_mips_linux_nat_target): New.
7303         (mips64_linux_regsets_fetch_registers)
7304         (mips64_linux_regsets_store_registers)
7305         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7306         (mips_linux_register_u_offset, mips_linux_read_description)
7307         (mips_linux_can_use_hw_breakpoint)
7308         (mips_linux_stopped_by_watchpoint)
7309         (mips_linux_stopped_data_address)
7310         (mips_linux_region_ok_for_hw_watchpoint)
7311         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7312         (mips_linux_close): Refactor as methods of mips_linux_nat.
7313         (_initialize_mips_linux_nat): Adjust to C++ification.
7314
7315         * aix-thread.c (aix_thread_target): New class.
7316         (aix_thread_ops): Now an aix_thread_target.
7317         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7318         (aix_thread_fetch_registers, aix_thread_store_registers)
7319         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7320         (aix_thread_thread_alive, aix_thread_pid_to_str)
7321         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7322         Refactor as methods of aix_thread_target.
7323         (init_aix_thread_ops): Delete.
7324         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7325         and complete_target_initialization.
7326         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7327         (rs6000_nat_target): New class.
7328         (the_rs6000_nat_target): New.
7329         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7330         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7331         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7332         (super_create_inferior): Delete.
7333         (_initialize_rs6000_nat): Adjust to C++ification.
7334
7335         * arm-linux-nat.c (arm_linux_nat_target): New class.
7336         (the_arm_linux_nat_target): New.
7337         (arm_linux_fetch_inferior_registers)
7338         (arm_linux_store_inferior_registers, arm_linux_read_description)
7339         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7340         (arm_linux_remove_hw_breakpoint)
7341         (arm_linux_region_ok_for_hw_watchpoint)
7342         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7343         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7344         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7345         arm_linux_nat_target.
7346         (_initialize_arm_linux_nat): Adjust to C++ification.
7347
7348         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7349         (the_aarch64_linux_nat_target): New.
7350         (aarch64_linux_fetch_inferior_registers)
7351         (aarch64_linux_store_inferior_registers)
7352         (aarch64_linux_child_post_startup_inferior)
7353         (aarch64_linux_read_description)
7354         (aarch64_linux_can_use_hw_breakpoint)
7355         (aarch64_linux_insert_hw_breakpoint)
7356         (aarch64_linux_remove_hw_breakpoint)
7357         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7358         (aarch64_linux_region_ok_for_hw_watchpoint)
7359         (aarch64_linux_stopped_data_address)
7360         (aarch64_linux_stopped_by_watchpoint)
7361         (aarch64_linux_watchpoint_addr_within_range)
7362         (aarch64_linux_can_do_single_step): Refactor as methods of
7363         aarch64_linux_nat_target.
7364         (super_post_startup_inferior): Delete.
7365         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7366
7367         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7368         (the_hppa_linux_nat_target): New.
7369         (hppa_linux_fetch_inferior_registers)
7370         (hppa_linux_store_inferior_registers): Refactor as methods of
7371         hppa_linux_nat_target.
7372         (_initialize_hppa_linux_nat): Adjust to C++ification.
7373
7374         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7375         (the_ia64_linux_nat_target): New.
7376         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7377         (ia64_linux_stopped_data_address)
7378         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7379         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7380         ia64_linux_nat_target methods.
7381         (super_xfer_partial): Delete.
7382         (_initialize_ia64_linux_nat): Adjust to C++ification.
7383
7384         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7385         (the_m32r_linux_nat_target): New.
7386         (m32r_linux_fetch_inferior_registers)
7387         (m32r_linux_store_inferior_registers): Refactor as
7388         m32r_linux_nat_target methods.
7389         (_initialize_m32r_linux_nat): Adjust to C++ification.
7390
7391         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7392         (the_m68k_linux_nat_target): New.
7393         (m68k_linux_fetch_inferior_registers)
7394         (m68k_linux_store_inferior_registers): Refactor as
7395         m68k_linux_nat_target methods.
7396         (_initialize_m68k_linux_nat): Adjust to C++ification.
7397
7398         * s390-linux-nat.c (s390_linux_nat_target): New class.
7399         (the_s390_linux_nat_target): New.
7400         (s390_linux_fetch_inferior_registers)
7401         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7402         (s390_insert_watchpoint, s390_remove_watchpoint)
7403         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7404         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7405         (s390_auxv_parse, s390_read_description): Refactor as methods of
7406         s390_linux_nat_target.
7407         (_initialize_s390_nat): Adjust to C++ification.
7408
7409         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7410         (the_sparc_linux_nat_target): New.
7411         (_initialize_sparc_linux_nat): Adjust to C++ification.
7412         * sparc-nat.c (sparc_fetch_inferior_registers)
7413         (sparc_store_inferior_registers): Remove target_ops parameter.
7414         * sparc-nat.h (sparc_fetch_inferior_registers)
7415         (sparc_store_inferior_registers): Remove target_ops parameter.
7416         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7417         (the_sparc64_linux_nat_target): New.
7418         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7419
7420         * spu-linux-nat.c (spu_linux_nat_target): New class.
7421         (the_spu_linux_nat_target): New.
7422         (spu_child_post_startup_inferior, spu_child_post_attach)
7423         (spu_child_wait, spu_fetch_inferior_registers)
7424         (spu_store_inferior_registers, spu_xfer_partial)
7425         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7426         methods.
7427         (_initialize_spu_nat): Adjust to C++ification.
7428
7429         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7430         (the_tilegx_linux_nat_target): New.
7431         (fetch_inferior_registers, store_inferior_registers):
7432         Refactor as methods.
7433         (_initialize_tile_linux_nat): Adjust to C++ification.
7434
7435         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7436         (the_xtensa_linux_nat_target): New.
7437         (xtensa_linux_fetch_inferior_registers)
7438         (xtensa_linux_store_inferior_registers): Refactor as
7439         xtensa_linux_nat_target methods.
7440         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7441
7442         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7443         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7444         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7445         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7446         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7447         (fbsd_stopped_by_sw_breakpoint)
7448         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7449         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7450         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7451         (fbsd_post_startup_inferior, fbsd_post_attach)
7452         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7453         (fbsd_set_syscall_catchpoint)
7454         (super_xfer_partial, super_resume, super_wait)
7455         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7456         (fbsd_handle_debug_trap): Remove target_ops parameter.
7457         (fbsd_nat_add_target): Delete.
7458         * fbsd-nat.h: Include "inf-ptrace.h".
7459         (fbsd_nat_add_target): Delete.
7460         (USE_SIGTRAP_SIGINFO): Define.
7461         (fbsd_nat_target): New class.
7462
7463         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7464         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7465         (amd64bsd_target): Delete.
7466         * amd64-bsd-nat.h: New file.
7467         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7468         "x86-bsd-nat.h".
7469         (amd64_fbsd_nat_target): New class.
7470         (the_amd64_fbsd_nat_target): New.
7471         (amd64fbsd_read_description): Refactor as method of
7472         amd64_fbsd_nat_target.
7473         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7474         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7475         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7476         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7477         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7478         (i386bsd_target): Delete.
7479         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7480         (i386bsd_fetch_inferior_registers)
7481         (i386bsd_store_inferior_registers): Declare.
7482         (i386_bsd_nat_target): New class.
7483         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7484         (the_i386_fbsd_nat_target): New.
7485         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7486         i386_fbsd_nat_target methods.
7487         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7488         (_initialize_i386fbsd_nat): Adjust to C++ification.
7489         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7490         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7491         (_initialize_x86_bsd_nat): Adjust to C++ification.
7492         * x86-bsd-nat.h: Include "x86-nat.h".
7493         (x86bsd_target): Delete declaration.
7494         (x86bsd_nat_target): New class.
7495
7496         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7497         (the_aarch64_fbsd_nat_target): New.
7498         (aarch64_fbsd_fetch_inferior_registers)
7499         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7500         aarch64_fbsd_nat_target.
7501         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7502         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7503         (the_alpha_bsd_nat_target): New.
7504         (alphabsd_fetch_inferior_registers)
7505         (alphabsd_store_inferior_registers): Refactor as
7506         alpha_bsd_nat_target methods.
7507         (_initialize_alphabsd_nat): Refactor as methods of
7508         alpha_bsd_nat_target.
7509         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7510         (the_amd64_nbsd_nat_target): New.
7511         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7512         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7513         (the_amd64_obsd_nat_target): New.
7514         (_initialize_amd64obsd_nat): Adjust to C++ification.
7515         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7516         (the_arm_fbsd_nat_target): New.
7517         (arm_fbsd_fetch_inferior_registers)
7518         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7519         (_initialize_arm_fbsd_nat): Refactor as methods of
7520         arm_fbsd_nat_target.
7521         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7522         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7523         (the_arm_netbsd_nat_target): New.
7524         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7525         arm_netbsd_nat_target.
7526         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7527         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7528         (the_hppa_nbsd_nat_target): New.
7529         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7530         hppa_nbsd_nat_target methods.
7531         (_initialize_hppanbsd_nat): Adjust to C++ification.
7532         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7533         (the_hppa_obsd_nat_target): New.
7534         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7535         methods of hppa_obsd_nat_target.
7536         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7537         add_target.
7538         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7539         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7540         add_target.
7541         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7542         (_initialize_i386obsd_nat): Use add_target.
7543         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7544         (the_m68k_bsd_nat_target): New.
7545         (m68kbsd_fetch_inferior_registers)
7546         (m68kbsd_store_inferior_registers): Refactor as methods of
7547         m68k_bsd_nat_target.
7548         (_initialize_m68kbsd_nat): Adjust to C++ification.
7549         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7550         (the_mips_fbsd_nat_target): New.
7551         (mips_fbsd_fetch_inferior_registers)
7552         (mips_fbsd_store_inferior_registers): Refactor as methods of
7553         mips_fbsd_nat_target.
7554         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7555         add_target.
7556         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7557         (the_mips_nbsd_nat_target): New.
7558         (mipsnbsd_fetch_inferior_registers)
7559         (mipsnbsd_store_inferior_registers): Refactor as methods of
7560         mips_nbsd_nat_target.
7561         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7562         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7563         (the_mips64_obsd_nat_target): New.
7564         (mips64obsd_fetch_inferior_registers)
7565         (mips64obsd_store_inferior_registers): Refactor as methods of
7566         mips64_obsd_nat_target.
7567         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7568         add_target.
7569         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7570         nbsd_nat_target.
7571         * nbsd-nat.h: Include "inf-ptrace.h".
7572         (nbsd_nat_target): New class.
7573         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7574         (obsd_wait): Refactor as methods of obsd_nat_target.
7575         (obsd_add_target): Delete.
7576         * obsd-nat.h: Include "inf-ptrace.h".
7577         (obsd_nat_target): New class.
7578         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7579         (the_ppc_fbsd_nat_target): New.
7580         (ppcfbsd_fetch_inferior_registers)
7581         (ppcfbsd_store_inferior_registers): Refactor as methods of
7582         ppc_fbsd_nat_target.
7583         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7584         add_target.
7585         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7586         (the_ppc_nbsd_nat_target): New.
7587         (ppcnbsd_fetch_inferior_registers)
7588         (ppcnbsd_store_inferior_registers): Refactor as methods of
7589         ppc_nbsd_nat_target.
7590         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7591         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7592         (the_ppc_obsd_nat_target): New.
7593         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7594         methods of ppc_obsd_nat_target.
7595         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7596         add_target.
7597         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7598         (the_sh_nbsd_nat_target): New.
7599         (shnbsd_fetch_inferior_registers)
7600         (shnbsd_store_inferior_registers): Refactor as methods of
7601         sh_nbsd_nat_target.
7602         (_initialize_shnbsd_nat): Adjust to C++ification.
7603         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7604         (inf_ptrace_xfer_partial): Delete.
7605         (sparc_xfer_partial, sparc_target): Delete.
7606         * sparc-nat.h (sparc_fetch_inferior_registers)
7607         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7608         (sparc_target): Delete function declaration.
7609         (sparc_target): New template class.
7610         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7611         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7612         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7613         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7614         add_target.
7615         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7616         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7617         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7618         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7619         add_target.
7620         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7621         (the_vax_bsd_nat_target): New.
7622         (vaxbsd_fetch_inferior_registers)
7623         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7624         methods.
7625         (_initialize_vaxbsd_nat): Adjust to C++ification.
7626
7627         * bsd-kvm.c (bsd_kvm_target): New class.
7628         (bsd_kvm_ops): Now a bsd_kvm_target.
7629         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7630         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7631         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7632         bsd_kvm_target.
7633         (bsd_kvm_return_one): Delete.
7634         (bsd_kvm_add_target): Adjust to C++ification.
7635
7636         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7637         (nto_procfs_target_procfs): New classes.
7638         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7639         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7640         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7641         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7642         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7643         (procfs_remove_hw_breakpoint, procfs_resume)
7644         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7645         (procfs_kill_inferior, procfs_store_registers)
7646         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7647         as methods of nto_procfs_target.
7648         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7649         (nto_native_ops): Delete.
7650         (procfs_open, procfs_native_open): Delete.
7651         (nto_native_ops): Now an nto_procfs_target_native.
7652         (init_procfs_targets): Adjust to C++ification.
7653         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7654         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7655         Refactor as methods of nto_procfs_target.
7656
7657         * go32-nat.c (go32_nat_target): New class.
7658         (the_go32_nat_target): New.
7659         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7660         (go32_store_registers, go32_xfer_partial, go32_files_info)
7661         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7662         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7663         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7664         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7665         (go32_target): Delete.
7666         (_initialize_go32_nat): Adjust to C++ification.
7667
7668         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7669         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7670         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7671         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7672         gnu_nat_target.
7673         (gnu_target): Delete.
7674         * gnu-nat.h (gnu_target): Delete.
7675         (gnu_nat_target): New class.
7676         * i386-gnu-nat.c (gnu_base_target): New.
7677         (i386_gnu_nat_target): New class.
7678         (the_i386_gnu_nat_target): New.
7679         (_initialize_i386gnu_nat): Adjust to C++ification.
7680
7681 2018-05-02  Pedro Alves  <palves@redhat.com>
7682
7683         * bfd-target.c (target_bfd_xclose): Rename to ...
7684         (target_bfd_close): ... this.
7685         (target_bfd_reopen): Adjust.
7686         * target.c (target_close): Remove references to to_xclose.
7687         * target.h (target_ops::to_xclose): Delete.
7688         (target_ops::to_close): Update comments.
7689
7690 2018-05-02  Pedro Alves  <palves@redhat.com>
7691
7692         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7693         "linux-nat.h".
7694         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7695         * inf-ptrace.c (inf_ptrace_register_u_offset)
7696         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7697         (inf_ptrace_store_register, inf_ptrace_store_registers)
7698         (inf_ptrace_trad_target): Move to ...
7699         * linux-nat-trad.c: ... this new file.
7700         * linux-nat-trad.h: New file.
7701         * linux-nat.c (linux_target_install_ops): Make extern.
7702         (linux_trad_target): Delete.
7703         * linux-nat.h (linux_trad_target): Delete declaration.
7704         (linux_target_install_ops): Declare.
7705         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7706         "linux-nat.h".
7707
7708 2018-05-02  Pedro Alves  <palves@redhat.com>
7709
7710         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7711         procfs_target/add_target here.
7712         * procfs.c (procfs_target): Make static.
7713         (_initialize_procfs): Call add_target here.
7714         * procfs.h (struct target_ops): Remove forward declaration.
7715         (procfs_target): Remove declaration.
7716         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7717
7718 2018-05-02  Pedro Alves  <palves@redhat.com>
7719
7720         * procfs.c (procfs_stopped_by_watchpoint)
7721         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7722         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7723         Forward declare.
7724         (procfs_use_watchpoints): Delete, move contents...
7725         (procfs_target): ... here.
7726         * procfs.h (procfs_use_watchpoints): Delete declaration.
7727         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7728         procfs_use_watchpoints.
7729         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7730         procfs_use_watchpoints.
7731
7732 2018-05-02  Tom Tromey  <tom@tromey.com>
7733
7734         PR python/20084:
7735         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7736         and var_zuinteger_unlimited.
7737         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7738         and PARAM_ZUINTEGER_UNLIMITED.
7739         (set_parameter_value): Handle var_zuinteger and
7740         var_zuinteger_unlimited.
7741         (add_setshow_generic): Likewise.
7742         (parmpy_init): Likewise.
7743
7744 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7745
7746         PR rust/23124
7747         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7748         pointer is not null before dereferencing it.
7749
7750 2018-04-30  Tom Tromey  <tom@tromey.com>
7751
7752         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7753         is_mi_like_p.
7754
7755 2018-04-30  Tom Tromey  <tom@tromey.com>
7756
7757         * breakpoint.c (mention): Remove use of is_mi_like_p.
7758         (print_mention_ranged_breakpoint): Likewise.
7759         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
7760         of is_mi_like_p.
7761
7762 2018-04-30  Tom Tromey  <tom@tromey.com>
7763
7764         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
7765
7766 2018-04-30  Tom Tromey  <tom@tromey.com>
7767
7768         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
7769         (info_spu_event_command): Remove some uses of is_mi_like_p.
7770
7771 2018-04-30  Tom Tromey  <tom@tromey.com>
7772
7773         * python/py-framefilter.c (py_print_single_arg)
7774         (enumerate_locals, py_print_args, py_print_frame): Remove some
7775         uses of is_mi_like_p.
7776
7777 2018-04-30  Tom Tromey  <tom@tromey.com>
7778
7779         * ui-out.c: Update.
7780         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
7781         * ui-out.h (ui_out::is_mi_like_p): Now const.
7782         (ui_out::do_is_mi_like_p): Now const.
7783         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
7784
7785 2018-04-30  Tom Tromey  <tom@tromey.com>
7786
7787         * varobj.c (varobj_set_visualizer): Use new_reference.
7788         * python/python.c (gdbpy_decode_line): Use new_reference.
7789         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
7790         new_reference.
7791
7792 2018-04-30  Tom Tromey  <tom@tromey.com>
7793
7794         * varobj.c (install_new_value): Use new_reference.
7795         * value.h (value_incref): Return void.  Swap intro comment with
7796         value_decref.
7797         * value.c (set_value_parent): Use new_reference.
7798         (value_incref): Return void.  Update intro comment.
7799         (release_value): Use new_reference.
7800         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7801
7802 2018-04-30  Tom Tromey  <tom@tromey.com>
7803
7804         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7805         * gdb_bfd.h (new_bfd_ref): Remove.
7806         (gdb_bfd_open): Update comment.
7807         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7808         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7809         (gdb_bfd_fdopenr): Use new_reference.
7810         * exec.c (exec_file_attach): Use new_reference.
7811
7812 2018-04-30  Tom Tromey  <tom@tromey.com>
7813
7814         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7815         method.
7816
7817 2018-04-30  Tom Tromey  <tom@tromey.com>
7818
7819         * jit.c (jit_read_code_entry): Use type_align.
7820         * i386-tdep.c (i386_gdbarch_init): Don't call
7821         set_gdbarch_long_long_align_bit.
7822         * gdbarch.sh: Remove long_long_align_bit.
7823         * gdbarch.c, gdbarch.h: Rebuild.
7824         * arc-tdep.c (arc_type_align): New function.
7825         (arc_gdbarch_init): Use arc_type_align.  Don't call
7826         set_gdbarch_long_long_align_bit.
7827
7828 2018-04-30  Tom Tromey  <tom@tromey.com>
7829
7830         * rust-lang.c (rust_type_alignment): Remove.
7831         (rust_composite_type): Use type_align.
7832
7833 2018-04-30  Tom Tromey  <tom@tromey.com>
7834
7835         * NEWS: Mention Type.align.
7836         * python/py-type.c (typy_get_alignof): New function.
7837         (type_object_getset): Add "alignof".
7838
7839 2018-04-30  Tom Tromey  <tom@tromey.com>
7840
7841         PR exp/17095:
7842         * NEWS: Update.
7843         * std-operator.def (UNOP_ALIGNOF): New operator.
7844         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7845         New.
7846         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7847         * c-lang.c (c_op_print_tab): Add alignof.
7848         * c-exp.y (ALIGNOF): New token.
7849         (exp): Add "ALIGNOF" production.
7850         (ident_tokens): Add _Alignof and alignof.
7851
7852 2018-04-30  Tom Tromey  <tom@tromey.com>
7853
7854         * i386-tdep.c (i386_type_align): New function.
7855         (i386_gdbarch_init): Update.
7856         * gdbarch.sh (type_align): New method.
7857         * gdbarch.c, gdbarch.h: Rebuild.
7858         * arch-utils.h (default_type_align): Declare.
7859         * arch-utils.c (default_type_align): New function.
7860         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7861         (struct type) <align_log2>: New field.
7862         <instance_flags>: Now a bitfield.
7863         (TYPE_RAW_ALIGN): New macro.
7864         (type_align, type_raw_align, set_type_align): Declare.
7865         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7866         functions.
7867         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7868         (get_alignment, maybe_set_alignment): New functions.
7869         (read_structure_type, read_enumeration_type, read_array_type)
7870         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7871         (read_subrange_type, read_base_type): Set type alignment.
7872
7873 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7874
7875         * dwarf2read.c (read_index_from_section): Use bool.
7876
7877 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7878
7879         PR gdb/22950
7880         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7881         with #ifdef.
7882
7883 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7884
7885         PR build/22873
7886         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7887         last step, and do it atomically.
7888
7889 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7890
7891         * compile/compile-c-types.c (convert_int, convert_float):
7892         Update for C FE v1.
7893
7894 2018-04-27  Tom Tromey  <tom@tromey.com>
7895
7896         PR rust/22545:
7897         * rust-lang.c (rust_inclusive_range_type_p): New function.
7898         (rust_range): Handle inclusive ranges.
7899         (rust_compute_range): Likewise.
7900         * rust-exp.y (struct rust_op) <inclusive>: New field.
7901         (DOTDOTEQ): New constant.
7902         (range_expr): Add "..=" productions.
7903         (operator_tokens): Add "..=" token.
7904         (ast_range): Add "inclusive" parameter.
7905         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7906         ranges.
7907         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7908         bounds values.
7909         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7910         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7911         Update comments.
7912         * expprint.c (print_subexp_standard): Handle new bounds values.
7913         (dump_subexp_body_standard): Likewise.
7914
7915 2018-04-27  Tom Tromey  <tom@tromey.com>
7916
7917         * configure: Rebuild.
7918         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7919         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7920         "OVERRIDE".
7921         (class symbol_needs_eval_context): Likewise.
7922         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7923         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7924         "virtual".
7925         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7926         "override".
7927         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7928         * aarch64-tdep.c (instruction_reader::read): Use "override".
7929         (instruction_reader_test::read): Likewise.
7930         * arm-tdep.c (instruction_reader::read): Use "override".
7931         (instruction_reader_thumb::read): Likewise.
7932
7933 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7934
7935         PR remote/9665
7936         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7937         instead of remote_send.
7938         (remote_send): Remove.
7939
7940 2018-04-26  Pedro Alves  <palves@redhat.com>
7941
7942         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7943         find_function_start_sal instead of find_pc_line.
7944
7945 2018-04-26  Pedro Alves  <palves@redhat.com>
7946
7947         * breakpoint.c (set_breakpoint_location_function): Handle
7948         mst_data_gnu_ifunc.
7949         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7950         * elfread.c (elf_symtab_read): Give data symbols with
7951         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7952         (elf_rel_plt_read): Update comment.
7953         * linespec.c (convert_linespec_to_sals): Handle
7954         mst_data_gnu_ifunc.
7955         (minsym_found): Handle mst_data_gnu_ifunc.
7956         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7957         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7958         * parse.c (find_minsym_type_and_address): Handle
7959         mst_data_gnu_ifunc.
7960         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7961         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7962         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7963         comment.
7964         <mst_data_gnu_ifunc>: New enumerator.
7965
7966 2018-04-26  Pedro Alves  <palves@redhat.com>
7967
7968         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7969         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7970         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7971         Handle it.
7972         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
7973         (lookup_minimal_symbol_by_pc): Adjust.
7974         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
7975         (lookup_solib_trampoline_symbol_by_pc): Adjust.
7976         * minsyms.h (lookup_msym_prefer): New enum.
7977         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7978         parameter by a lookup_msym_prefer parameter.
7979
7980 2018-04-26  Pedro Alves  <palves@redhat.com>
7981
7982         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
7983         ends in "@plt" instead of looking at the symbol's section.
7984
7985 2018-04-26  Pedro Alves  <palves@redhat.com>
7986
7987         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
7988         all references.
7989         (find_pc_partial_function_gnu_ifunc): Rename to ...
7990         (find_pc_partial_function): ... this, and remove references to
7991         'is_gnu_ifunc_p'.
7992         (find_pc_partial_function): Delete old implementation.
7993         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
7994
7995 2018-04-26  Pedro Alves  <palves@redhat.com>
7996
7997         * linespec.c (struct bound_minimal_symbol_search_key): New.
7998         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
7999         skip first line if we found a GNU ifunc minimal symbol by name.
8000         (compare_msymbols): Change parameters to work with a destructured
8001         lhs minsym.
8002         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8003         functions.
8004
8005 2018-04-26  Pedro Alves  <palves@redhat.com>
8006
8007         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8008         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8009         address/name.
8010         (add_location_to_breakpoint): Store the minsym and the objfile in
8011         the breakpoint location.
8012         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8013         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8014         Record the minsym in the sal.
8015         * symtab.h (symtab_and_line) <msymbol>: New field.
8016
8017 2018-04-26  Pedro Alves  <palves@redhat.com>
8018
8019         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8020         unless we actually resolved the ifunc.
8021
8022 2018-04-26  Pedro Alves  <palves@redhat.com>
8023
8024         * c-exp.y (variable production): Prefer ifunc minsyms over
8025         regular function symbols.
8026         * symtab.c (find_gnu_ifunc): New function.
8027         * minsyms.h (lookup_msym_prefer): New enum.
8028         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8029         parameter by a lookup_msym_prefer parameter.
8030         * symtab.h (find_gnu_ifunc): New declaration.
8031
8032 2018-04-26  Pedro Alves  <palves@redhat.com>
8033
8034         * blockframe.c (find_gnu_ifunc_target_type): New function.
8035         (find_function_type): New.
8036         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8037         return a value with a memory address.
8038         (eval_call): For calls to GNU ifunc functions, try to find the
8039         type of the target function from the type that the resolver
8040         returns.
8041         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8042         symbols.
8043         * infcall.c (find_function_return_type): Delete.
8044         (find_function_addr): Add 'function_type' parameter.  For calls to
8045         GNU ifunc functions, try to find the type of the target function
8046         from the type that the resolver returns, and return it via
8047         FUNCTION_TYPE.
8048         (call_function_by_hand_dummy): Adjust to use the function type
8049         returned by find_function_addr.
8050         (find_function_addr): Add 'function_type' parameter and move
8051         description here.
8052         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8053         declarations.
8054
8055 2018-04-26  Pedro Alves  <palves@redhat.com>
8056
8057         * c-exp.y (variable production): Skip finding an alias for ifunc
8058         symbols.
8059
8060 2018-04-26  Pedro Alves  <palves@redhat.com>
8061
8062         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8063
8064 2018-04-25  Pedro Alves  <palves@redhat.com>
8065
8066         * infcmd.c (kill_command): Print the pid as string, not the whole
8067         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8068         message.
8069         * remote.c (remote_detach_1): Print the pid as string, not the
8070         whole thread's ptid.
8071
8072 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8073             Sergio Durigan Junior  <sergiodj@redhat.com>
8074             Pedro Alves  <palves@redhat.com>
8075
8076         * infcmd.c (kill_command): Print message when inferior has
8077         been killed.
8078         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8079         '1'.
8080         (add_inferior): Improve message printed when
8081         'print_inferior_events' is on.
8082         (exit_inferior): Remove message printed when
8083         'print_inferior_events' is on.
8084         (detach_inferior): Improve message printed when
8085         'print_inferior_events' is on.
8086         (initialize_inferiors): Use 'add_inferior_silent' to set
8087         'current_inferior_'.
8088         * inferior.h (print_inferior_events): Declare here as
8089         'extern'.
8090         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8091         '[Detaching...]' messages when 'print_inferior_events' is on.
8092         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8093         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8094         'Detaching after fork from child...', replace it by '... from
8095         parent...'.
8096         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8097         prefix/suffix when printing 'Detaching...' messages.  Print
8098         them when 'print_inferior_events' is on.
8099         * remote.c (remote_detach_1): Print message when detaching
8100         from inferior and '!is_fork_parent'.
8101
8102 2018-04-24  Tom Tromey  <tom@tromey.com>
8103
8104         * cli-out.h: Reindent.
8105
8106 2018-04-24  Tom Tromey  <tom@tromey.com>
8107
8108         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8109         (cli_ui_out::do_field_string): Use fputs_filtered.
8110         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8111
8112 2018-04-23  Tom Tromey  <tom@tromey.com>
8113
8114         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8115         gdb::unique_xmalloc_ptr.
8116
8117 2018-04-23  Tom Tromey  <tom@tromey.com>
8118
8119         * configure: Rebuild.
8120
8121 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8122
8123         PR gdb/23095
8124         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8125         prepare_for_testing.  Set normal_bp to r_debug_state if target
8126         is bsd.
8127
8128 2018-04-21  Pedro Alves  <palves@redhat.com>
8129             Rajendra SY  <rajendra.sy@gmail.com>
8130
8131         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8132         * remote.c (extended_remote_attach): In all-stop mode, mark the
8133         thread as executing.
8134
8135 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8136
8137         * thread.c (thread_apply_all_command): Fix comment.
8138         (thread_command): Fix comment.
8139
8140 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8141
8142         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8143         parameter.
8144         * features/aarch64-core.c (create_feature_aarch64_core):
8145         Regenerate.
8146         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8147         Likewise.
8148         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8149         Likewise.
8150         * features/i386/32bit-avx512.c
8151         (create_feature_i386_32bit_avx512): Likewise.
8152         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8153         Likewise.
8154         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8155         Likewise.
8156         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8157         Likewise.
8158         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8159         Likewise.
8160         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8161         Likewise.
8162         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8163         Likewise.
8164         * features/i386/64bit-avx512.c
8165         (create_feature_i386_64bit_avx512): Likewise.
8166         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8167         Likewise.
8168         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8169         Likewise.
8170         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8171         Likewise.
8172         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8173         Likewise.
8174         * features/i386/64bit-segments.c
8175         (create_feature_i386_64bit_segments): Likewise.
8176         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8177         Likewise.
8178         * features/i386/x32-core.c
8179         (create_feature_i386_x32_core): Likewise.
8180         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8181         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8182         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8183         * target-descriptions.c: In generated code, don't pass xml
8184         filename.
8185
8186 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8187
8188         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8189         (print_xml_feature::visit_post): Likewise.
8190         (print_xml_feature::visit): Likewise.
8191         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8192         (print_xml_feature): Add new class.
8193         * regformats/regdat.sh: Null xmltarget on feature targets.
8194         * target-descriptions.c (struct target_desc): Add xmltarget.
8195         (maintenance_check_tdesc_xml_convert): Add unittest function.
8196         (tdesc_get_features_xml): Add function to get xml.
8197         (maintenance_check_xml_descriptions): Test xml generation.
8198         * xml-tdesc.c (string_read_description_xml): Add function.
8199         * xml-tdesc.h (string_read_description_xml): Add declaration.
8200
8201 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8202
8203         * features/Makefile: Add feature marker to targets with new style
8204         target descriptions.
8205         * regformats/aarch64.dat: Regenerate.
8206         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8207         * regformats/i386/amd64-avx-linux.dat: Likewise.
8208         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8209         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8210         * regformats/i386/amd64-linux.dat: Likewise.
8211         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8212         * regformats/i386/amd64.dat: Likewise.
8213         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8214         * regformats/i386/i386-avx-linux.dat: Likewise.
8215         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8216         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8217         * regformats/i386/i386-linux.dat: Likewise.
8218         * regformats/i386/i386-mmx-linux.dat: Likewise.
8219         * regformats/i386/i386-mpx-linux.dat: Likewise.
8220         * regformats/i386/i386.dat: Likewise.
8221         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8222         * regformats/i386/x32-avx-linux.dat: Likewise.
8223         * regformats/i386/x32-linux.dat: Likewise.
8224         * regformats/tic6x-c62x-linux.dat: Likewise.
8225         * regformats/tic6x-c64x-linux.dat: Likewise.
8226         * regformats/tic6x-c64xp-linux.dat: Likewise.
8227         * regformats/regdat.sh: Parse feature marker.
8228
8229 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8230
8231         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8232         (tdesc_osabi_name): Likewise.
8233         * target-descriptions.c (tdesc_architecture_name): Add new
8234         function.
8235         (tdesc_osabi_name): Likewise.
8236
8237 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8238
8239         * common/tdesc.c (tdesc_predefined_type): Move to here.
8240         (tdesc_named_type): Likewise.
8241         (tdesc_create_vector): Likewise.
8242         (tdesc_create_struct): Likewise.
8243         (tdesc_set_struct_size): Likewise.
8244         (tdesc_create_union): Likewise.
8245         (tdesc_create_flags): Likewise.
8246         (tdesc_create_enum): Likewise.
8247         (tdesc_add_field): Likewise.
8248         (tdesc_add_typed_bitfield): Likewise.
8249         (tdesc_add_bitfield): Likewise.
8250         (tdesc_add_flag): Likewise.
8251         (tdesc_add_enum_value): Likewise.
8252         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8253         (struct tdesc_type_vector): Likewise.
8254         (struct tdesc_type_field): Likewise.
8255         (struct tdesc_type_with_fields): Likewise.
8256         (tdesc_create_enum): Add declaration.
8257         (tdesc_add_typed_bitfield): Likewise.
8258         (tdesc_add_enum_value): Likewise.
8259         * target-descriptions.c (tdesc_type_field): Move from here.
8260         (tdesc_type_builtin): Likewise.
8261         (tdesc_type_vector): Likewise.
8262         (tdesc_type_with_fields): Likewise.
8263         (tdesc_predefined_types): Likewise.
8264         (tdesc_named_type): Likewise.
8265         (tdesc_create_vector): Likewise.
8266         (tdesc_create_struct): Likewise.
8267         (tdesc_set_struct_size): Likewise.
8268         (tdesc_create_union): Likewise.
8269         (tdesc_create_flags): Likewise.
8270         (tdesc_create_enum): Likewise.
8271         (tdesc_add_field): Likewise.
8272         (tdesc_add_typed_bitfield): Likewise.
8273         (tdesc_add_bitfield): Likewise.
8274         (tdesc_add_flag): Likewise.
8275         (tdesc_add_enum_value): Likewise.
8276         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8277         (tdesc_add_typed_bitfield): Likewise.
8278         (tdesc_add_enum_value): Likewise.
8279
8280 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8281
8282         * common/tdesc.c (tdesc_feature::accept): Move to here.
8283         (tdesc_feature::operator==): Likewise.
8284         (tdesc_create_reg): Likewise.
8285         * common/tdesc.h (tdesc_type_kind): Likewise.
8286         (struct tdesc_type): Likewise.
8287         (struct tdesc_feature): Likewise.
8288         * regformats/regdat.sh: Create a feature.
8289         * target-descriptions.c (tdesc_type_kind): Move from here.
8290         (tdesc_type): Likewise.
8291         (tdesc_type_up): Likewise.
8292         (tdesc_feature): Likewise.
8293         (tdesc_create_reg): Likewise.
8294
8295 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8296
8297         * Makefile.in: Add arch/tdesc.c
8298         * common/tdesc.c: New file.
8299         * common/tdesc.h (tdesc_element_visitor): Move to here.
8300         (tdesc_element): Likewise.
8301         (tdesc_reg): Likewise.
8302         (tdesc_reg_up): Likewise.
8303         * regformats/regdef.h (reg): Add offset to constructors.
8304         * target-descriptions.c (tdesc_element_visitor): Move from here.
8305         (tdesc_element): Likewise.
8306         (tdesc_reg): Likewise.
8307         (tdesc_reg_up): Likewise.
8308
8309 2018-04-17  Tom Tromey  <tom@tromey.com>
8310
8311         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8312         discriminant field.
8313
8314 2018-04-17  Tom Tromey  <tom@tromey.com>
8315
8316         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8317
8318 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8319
8320         * symtab.c (print_symbol_info): Skip printing filename and line
8321         number when `last' is NULL.
8322         (symtab_symbol_info): Use empty string instead of NULL for first
8323         invocation of print_symbol_info.
8324         (rbreak_command): Pass NULL to `last' parameter of
8325         print_symbol_info.
8326
8327 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8328
8329         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8330         instead of nullptr.
8331
8332 2018-04-16  Pedro Alves  <palves@redhat.com>
8333
8334         * MAINTAINERS (sh): Remove.
8335         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8336         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8337         (ALLDEPFILES): Remove sh64-tdep.c.
8338         * NEWS: Mentions that support for SH-5/SH64 is removed.
8339         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8340         (sh*-*-openbsd*): Ditto.
8341         (sh64-*-elf*): Remove.
8342         (sh*): Remove.
8343         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8344         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8345         * sh-tdep.c: No longer include "sh64-tdep.h".
8346         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8347         * sh64-tdep.c, sh64-tdep.h: Remove files.
8348
8349 2018-04-16  Pedro Alves  <palves@redhat.com>
8350
8351         * MAINTAINERS: Remove m88k.
8352         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8353         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8354         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8355         * NEWS: Mention that support for m88k was removed.
8356         * configure.host (m88*-*-*): Remove support.
8357         * configure.nat (m88k-*-*): Remove support.
8358         * configure.tgt (m88*-*-openbsd*): Remove.
8359         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8360
8361 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8362
8363         * configure.tgt (x86_tobjs): New variable.
8364         (amd64_tobjs, i386_tobjs): Use it.
8365
8366 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8367
8368         * symtab.c (print_symbol_info): Precede the symbol definition by
8369         the line number when available.
8370         * NEWS: Advertise this enhancement.
8371
8372 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8373
8374         * NEWS (New options): announce set/show record btrace cpu.
8375         * btrace.c: Include record-btrace.h.
8376         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8377         the vendor is unknown.
8378         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8379         Maybe overwrite the btrace configuration's cpu.
8380         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8381         (btrace_fetch): Add cpu parameter.  Update callers.
8382         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8383         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8384         errata workarounds if the vendor is unknown.
8385         * python/py-record-btrace.c: Include record-btrace.h.
8386         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8387         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8388         * record-btrace.c (record_btrace_cpu_state_kind): New.
8389         (record_btrace_cpu): New.
8390         (set_record_btrace_cpu_cmdlist): New.
8391         (record_btrace_get_cpu): New.
8392         (require_btrace_thread, record_btrace_info)
8393         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8394         (cmd_set_record_btrace_cpu_none): New.
8395         (cmd_set_record_btrace_cpu_auto): New.
8396         (cmd_set_record_btrace_cpu): New.
8397         (cmd_show_record_btrace_cpu): New.
8398         (_initialize_record_btrace): Initialize set/show record btrace cpu
8399         commands.
8400         * record-btrace.h (record_btrace_get_cpu): New.
8401
8402 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8403
8404         * record.c (set_record_command): Fix typo in message.
8405
8406 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8407
8408         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8409
8410 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8411
8412         * infrun.c (process_event_stop_test): Call
8413         gdbarch_in_indirect_branch_thunk.
8414         * gdbarch.sh (in_indirect_branch_thunk): New.
8415         * gdbarch.c: Regenerated.
8416         * gdbarch.h: Regenerated.
8417         * x86-tdep.h: New.
8418         * x86-tdep.c: New.
8419         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8420         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8421         (ALLDEPFILES): Add x86-tdep.c.
8422         * arch-utils.h (default_in_indirect_branch_thunk): New.
8423         * arch-utils.c (default_in_indirect_branch_thunk): New.
8424         * i386-tdep: Include x86-tdep.h.
8425         (i386_in_indirect_branch_thunk): New.
8426         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8427         function.
8428         * amd64-tdep: Include x86-tdep.h.
8429         (amd64_in_indirect_branch_thunk): New.
8430         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8431
8432 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8433
8434         PR gdb/23053
8435         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8436         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8437         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8438         regression.
8439
8440 2018-04-12  Tom Tromey  <tom@tromey.com>
8441
8442         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8443         (rust_evaluate_subexp): Likewise.
8444
8445 2018-04-12  Pedro Alves  <palves@redhat.com>
8446
8447         * procfs.c (procfs_detach): Make forward declaration's prototype
8448         match definition's protototype.
8449         (proc_get_LDT_entry): Remove stale do_cleanups call.
8450
8451 2018-04-12  Pedro Alves  <palves@redhat.com>
8452
8453         * target.h (target_ops::to_has_exited): Delete.
8454         (target_has_exited): Delete.
8455         * target-delegates.c: Regenerate.
8456
8457 2018-04-11  Pedro Alves  <palves@redhat.com>
8458
8459         * target.c (fileio_fh_t::t): Add comment.
8460         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8461         (target_fileio_close): Handle a NULL target.
8462         (invalidate_fileio_fh): New.
8463         (target_close): Call it.
8464         * remote.c (remote_hostio_send_command): No longer check whether
8465         remote_desc is open.
8466
8467 2018-04-11  Pedro Alves  <palves@redhat.com>
8468
8469         * target.c (fileio_fh_t): Make it a named struct instead of a
8470         typedef.
8471         (fileio_fh_t::is_closed): New method.
8472         (DEF_VEC_O (fileio_fh_t)): Remove.
8473         (fileio_fhandles): Now a std::vector.
8474         (is_closed_fileio_fh): Delete.
8475         (acquire_fileio_fd): Adjust.  Rename parameters.
8476         (release_fileio_fd): Adjust.
8477         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8478         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8479         (target_fileio_close): Adjust.
8480
8481 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8482
8483         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8484         index.
8485
8486 2018-04-10  Pedro Alves  <palves@redhat.com>
8487
8488         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8489         (scoped_finish_thread_state): New class.
8490         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8491         cleanup.
8492         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8493         (fetch_inferior_event, normal_stop): Likewise.
8494         * thread.c (finish_thread_state_cleanup): Delete.
8495
8496 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8497             Pedro Alves  <palves@redhat.com>
8498
8499         * value.c: Include "selftest.h" and "common/array-view.h".
8500         (struct range) <operator ==>: New.
8501         (test_ranges_contain): New.
8502         (check_ranges_vector): New.
8503         (test_insert_into_bit_range_vector): New.
8504         (_initialize_values): Register selftests.
8505         * common/array-view.h (operator==, operator!=): New.
8506
8507 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8508
8509         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8510         an iterator.
8511         * inline-frame.c: Include <algorithm>.
8512         (struct inline_state): Add constructor.
8513         (inline_state_s): Remove.
8514         (DEF_VEC_O(inline_state_s)): Remove.
8515         (inline_states): Change type to std::vector.
8516         (find_inline_frame_state): Adjust to std::vector.
8517         (allocate_inline_frame_state): Remove.
8518         (clear_inline_frame_state): Adjust to std::vector.
8519         (skip_inline_frames): Adjust to std::vector.
8520
8521 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8522
8523         * tracepoint.h (struct trace_state_variable): Add constructor.
8524         <name>: Change type to std::string.
8525         * tracepoint.c (tsv_s): Remove.
8526         (DEF_VEC_O(tsv_s)): Remove.
8527         (tvariables): Change to std::vector.
8528         (create_trace_state_variable): Adjust to std::vector.
8529         (find_trace_state_variable): Likewise.
8530         (find_trace_state_variable_by_number): Likewise.
8531         (delete_trace_state_variable): Likewise.
8532         (trace_variable_command): Adjust to std::string.
8533         (delete_trace_variable_command): Likewise.
8534         (tvariables_info_1): Adjust to std::vector.
8535         (save_trace_state_variables): Likewise.
8536         (start_tracing): Likewise.
8537         (merge_uploaded_trace_state_variables): Adjust to std::vector
8538         and std::string.
8539         * target.h (struct target_ops)
8540         <to_download_trace_state_variable>: Pass reference to
8541         trace_state_variable.
8542         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8543         * target-delegates.c: Re-generate.
8544         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8545         (mi_tsv_deleted): Likewise.
8546         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8547         * remote.c (remote_download_trace_state_variable): Change
8548         pointer to reference and adjust.
8549         * make-target-delegates (parse_argtypes): Handle references.
8550         (write_function_header): Likewise.
8551         (munge_type): Likewise.
8552
8553 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8554
8555         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8556         string_view-selftests.c.
8557         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8558         testsuite.
8559         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8560         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8561         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8562         * unittests/basic_string_view/element_access/char/1.cc:
8563         Likewise.
8564         * unittests/basic_string_view/element_access/char/empty.cc:
8565         Likewise.
8566         * unittests/basic_string_view/element_access/char/front_back.cc:
8567         Likewise.
8568         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8569         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8570         Likewise.
8571         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8572         Likewise.
8573         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8574         Likewise.
8575         * unittests/basic_string_view/operations/compare/char/1.cc:
8576         Likewise.
8577         * unittests/basic_string_view/operations/compare/char/13650.cc:
8578         Likewise.
8579         * unittests/basic_string_view/operations/copy/char/1.cc:
8580         Likewise.
8581         * unittests/basic_string_view/operations/data/char/1.cc:
8582         Likewise.
8583         * unittests/basic_string_view/operations/find/char/1.cc:
8584         Likewise.
8585         * unittests/basic_string_view/operations/find/char/2.cc:
8586         Likewise.
8587         * unittests/basic_string_view/operations/find/char/3.cc:
8588         Likewise.
8589         * unittests/basic_string_view/operations/find/char/4.cc:
8590         Likewise.
8591         * unittests/basic_string_view/operations/rfind/char/1.cc:
8592         Likewise.
8593         * unittests/basic_string_view/operations/rfind/char/2.cc:
8594         Likewise.
8595         * unittests/basic_string_view/operations/rfind/char/3.cc:
8596         Likewise.
8597         * unittests/basic_string_view/operations/substr/char/1.cc:
8598         Likewise.
8599         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8600         * unittests/string_view-selftests.c: New file.
8601
8602 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8603
8604         * unittests/basic_string_view/capacity/1.cc: New file.
8605         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8606         * unittests/basic_string_view/cons/char/1.cc: New file.
8607         * unittests/basic_string_view/cons/char/2.cc: New file.
8608         * unittests/basic_string_view/cons/char/3.cc: New file.
8609         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8610         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8611         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8612         * unittests/basic_string_view/element_access/char/1.cc: New file.
8613         * unittests/basic_string_view/element_access/char/2.cc: New file.
8614         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8615         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8616         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8617         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8618         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8619         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8620         * unittests/basic_string_view/include.cc: New file.
8621         * unittests/basic_string_view/inserters/char/1.cc: New file.
8622         * unittests/basic_string_view/inserters/char/2.cc: New file.
8623         * unittests/basic_string_view/inserters/char/3.cc: New file.
8624         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8625         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8626         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8627         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8628         * unittests/basic_string_view/literals/types.cc: New file.
8629         * unittests/basic_string_view/literals/values.cc: New file.
8630         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8631         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8632         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8633         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8634         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8635         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8636         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8637         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8638         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8639         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8640         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8641         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8642         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8643         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8644         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8645         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8646         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8647         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8648         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8649         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8650         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8651         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8652         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8653         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8654         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8655         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8656         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8657         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8658         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8659         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8660         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8661         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8662         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8663         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8664         * unittests/basic_string_view/operators/char/2.cc: New file.
8665         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8666         * unittests/basic_string_view/range_access/char/1.cc: New file.
8667         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8668         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8669         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8670         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8671         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8672         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8673         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8674         * unittests/basic_string_view/typedefs.cc: New file.
8675         * unittests/basic_string_view/types/1.cc: New file.
8676
8677 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8678
8679         * common/gdb_string_view.h: Remove libstdc++ implementation
8680         details, adjust to gdb reality.
8681         * common/gdb_string_view.tcc: Likewise.
8682         * cli/cli-script.c (struct string_view): Remove.
8683         (user_args) <m_args>: Change element type to gdb::string_view.
8684         (user_args::insert_args): Adjust.
8685
8686 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8687
8688         * common/gdb_string_view.h: New file.
8689         * common/gdb_string_view.tcc: New file.
8690
8691 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8692
8693         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8694         * configure: Re-generate.
8695
8696 2018-04-09  Pedro Alves  <palves@redhat.com>
8697
8698         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8699         (set_target_gdbarch): Call
8700         gdb::observers::architecture_changed.notify instead of
8701         observer_notify_architecture_changed.
8702
8703 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8704
8705         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8706         (do_restore_current_traceframe_cleanup): Remove.
8707         (restore_current_traceframe_cleanup_dtor): Remove.
8708         (make_cleanup_restore_current_traceframe): Remove.
8709         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8710         New.
8711         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8712         * infrun.c (fetch_inferior_event): Use
8713         scoped_restore_current_traceframe.
8714
8715 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8716
8717         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8718         Remove.
8719         <n_allocated_type_units>: Remove.
8720         <all_type_units>: Change to std::vector.
8721         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8722         to std::vector change.
8723         (dwarf2_per_objfile::get_cutu): Likewise.
8724         (dwarf2_per_objfile::get_tu): Likewise.
8725         (create_signatured_type_table_from_index): Likewise.
8726         (create_signatured_type_table_from_debug_names): Likewise.
8727         (dw2_symtab_iter_next): Likewise.
8728         (dw2_print_stats): Likewise.
8729         (dw2_expand_all_symtabs): Likewise.
8730         (dw2_expand_marked_cus): Likewise.
8731         (dw2_debug_names_iterator::next): Likewise.
8732         (dwarf2_initialize_objfile): Likewise.
8733         (add_signatured_type_cu_to_table): Likewise.
8734         (create_all_type_units): Likewise.
8735         (add_type_unit): Likewise.
8736         (struct tu_abbrev_offset): Add constructor.
8737         (build_type_psymtabs_1): Adjust to std::vector change.
8738         (print_tu_stats): Likewise.
8739         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8740         (write_debug_names): Likewise.
8741
8742 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8743
8744         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8745         Make an std::vector.
8746         <n_comp_units>: Remove.
8747         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8748         to std::vector change.
8749         (dwarf2_per_objfile::get_cutu): Likewise.
8750         (dwarf2_per_objfile::get_cu): Likewise.
8751         (create_cus_from_index): Likewise.
8752         (create_addrmap_from_index): Likewise.
8753         (create_addrmap_from_aranges): Likewise.
8754         (dwarf2_read_index): Likewise.
8755         (dw2_find_last_source_symtab): Likewise.
8756         (dw2_map_symtabs_matching_filename): Likewise.
8757         (dw2_symtab_iter_next): Likewise.
8758         (dw2_print_stats): Likewise.
8759         (dw2_expand_all_symtabs): Likewise.
8760         (dw2_expand_symtabs_with_fullname): Likewise.
8761         (dw2_expand_marked_cus): Likewise.
8762         (dw2_map_symbol_filenames): Likewise.
8763         (create_cus_from_debug_names): Likewise.
8764         (dwarf2_read_debug_names): Likewise.
8765         (dw2_debug_names_iterator::next): Likewise.
8766         (dwarf2_initialize_objfile): Likewise.
8767         (set_partial_user): Likewise.
8768         (dwarf2_build_psymtabs_hard): Likewise.
8769         (read_comp_units_from_section): Remove arguments, adjust to
8770         std::vector change.
8771         (create_all_comp_units): Adjust to std::vector and
8772         read_comp_units_from_section changes.
8773         (dwarf2_find_containing_comp_unit): Adjust to std::vector
8774         change.
8775         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8776         (psyms_seen_size): Likewise.
8777         (write_gdbindex): Likewise.
8778         (write_debug_names): Likewise.
8779
8780 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8781
8782         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
8783         with dwarf2_per_objfile.
8784         (create_cus_from_index): Likewise.
8785         (create_signatured_type_table_from_index): Likewise.
8786         (dwarf2_read_index): Likewise.
8787         (dwarf2_initialize_objfile): Likewise.
8788         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
8789         per_cu rather than get_dwarf2_per_objfile.
8790
8791 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8792
8793         * dwarf2read.h (struct signatured_type): Forward declare.
8794         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
8795         New methods.
8796         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8797         (dw2_get_cutu): ...this.
8798         (dwarf2_per_objfile::get_cu): Rename from...
8799         (dw2_get_cu): ...this.
8800         (dwarf2_per_objfile::get_tu): New.
8801         (create_addrmap_from_index): Adjust.
8802         (create_addrmap_from_aranges): Adjust.
8803         (dw2_find_last_source_symtab): Adjust.
8804         (dw2_map_symtabs_matching_filename): Adjust.
8805         (dw2_symtab_iter_next): Adjust.
8806         (dw2_print_stats): Adjust.
8807         (dw2_expand_all_symtabs): Adjust.
8808         (dw2_expand_symtabs_with_fullname): Adjust.
8809         (dw2_expand_marked_cus): Adjust.
8810         (dw_expand_symtabs_matching_file_matcher): Adjust.
8811         (dw2_map_symbol_filenames): Adjust.
8812         (dw2_debug_names_iterator::next): Adjust.
8813         (dwarf2_initialize_objfile): Adjust.
8814         (set_partial_user): Adjust.
8815         (dwarf2_build_psymtabs_hard): Adjust.
8816
8817 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8818
8819         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8820         Remove unused variables.
8821         (dw2_map_symtabs_matching_filename): Likewise.
8822         (dwarf2_record_block_ranges): Likewise.
8823         (dwarf2_read_addr_index): Likewise.
8824         (follow_die_offset): Likewise.
8825
8826 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8827
8828         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8829         to symbol_file_add_main.
8830
8831 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8832
8833         PR mi/22299
8834         * mi/mi-console.c (do_fputc_async_safe): New.
8835         (mi_console_file::write_async_safe): New.
8836         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8837         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8838         New.
8839         * ui-file.c (ui_file::putstrn): Adjust call to
8840         fputstrn_unfiltered.
8841         * utils.c (printchar): Replace do_fputs and do_fprintf
8842         parameters by do_fputc.
8843         (fputstr_filtered): Adjust call to printchar.
8844         (fputstr_unfiltered): Likewise.
8845         (fputstrn_filtered): Likewise.
8846         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8847         printchar.
8848         * utils.h (do_fputc_ftype): New typedef.
8849         (fputstrn_unfiltered): Add do_fputc parameter.
8850
8851 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8852
8853         * regformats/i386/i386-avx.dat: Remove.
8854
8855 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8856
8857         PR gdb/22979
8858         * amd64-tdep.c (amd64_none_init_abi): New function.
8859         (amd64_x32_none_init_abi): New function.
8860         (_initialize_amd64_tdep): Register handlers for x86-64 and
8861         x64_32 with GDB_OSABI_NONE.
8862         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8863         GDB_OSABI_NONE osabi.
8864
8865 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8866
8867         PR gdb/22980
8868         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8869         GDB_OSABI_NONE.
8870         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8871         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8872
8873 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8874
8875         * common/byte-vector.h (char_vector): New type.
8876         * target.h (target_read_alloc): Return
8877         gdb::optional<byte_vector>.
8878         (target_read_stralloc): Return gdb::optional<char_vector>.
8879         (target_get_osdata): Return gdb::optional<char_vector>.
8880         * target.c (target_read_alloc_1): Templatize.  Replacement
8881         manual memory management with vector.
8882         (target_read_alloc): Change return type, adjust.
8883         (target_read_stralloc): Change return type, adjust.
8884         (target_get_osdata): Change return type, adjust.
8885         * auxv.c (struct auxv_info) <length>: Remove.
8886         <data>: Change type to gdb::optional<byte_vector>.
8887         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8888         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8889         (target_auxv_search): Adjust.
8890         (fprint_target_auxv): Adjust.
8891         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8892         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8893         (linux_make_corefile_notes): Adjust.
8894         * osdata.c (get_osdata): Adjust.
8895         * remote.c (remote_get_threads_with_qxfer): Adjust.
8896         (remote_memory_map): Adjust.
8897         (remote_traceframe_info): Adjust.
8898         (btrace_read_config): Adjust.
8899         (remote_read_btrace): Adjust.
8900         (remote_pid_to_exec_file): Adjust.
8901         * solib-aix.c (solib_aix_get_library_list): Adjust.
8902         * solib-dsbt.c (decode_loadmap): Don't free buf.
8903         (dsbt_get_initial_loadmaps): Adjust.
8904         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8905         * solib-target.c (solib_target_current_sos): Adjust.
8906         * tracepoint.c (sdata_make_value): Adjust.
8907         * xml-support.c (xinclude_start_include): Adjust.
8908         (xml_fetch_content_from_file): Adjust.
8909         * xml-support.h (xml_fetch_another): Change return type.
8910         (xml_fetch_content_from_file): Change return type.
8911         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8912         * xml-tdesc.c (file_read_description_xml): Adjust.
8913         (fetch_available_features_from_target): Change return type.
8914         (target_fetch_description_xml): Adjust.
8915         (target_read_description_xml): Adjust.
8916
8917 2018-04-06  Tom Tromey  <tom@tromey.com>
8918
8919         * value.c (~value): Update.
8920         (struct value) <contents>: Now unique_xmalloc_ptr.
8921         (value_contents_bits_eq, allocate_value_contents)
8922         (value_contents_raw, value_contents_all_raw)
8923         (value_contents_for_printing, value_contents_for_printing_const)
8924         (set_value_enclosing_type): Update.
8925
8926 2018-04-06  Tom Tromey  <tom@tromey.com>
8927
8928         * value.c (range_s): Remove typedef, VEC.
8929         (struct range): Add operator<.
8930         (range_lessthan): Remove.
8931         (ranges_contain): Change type.
8932         (~value): Update.
8933         (struct value) <unavailable, optimized_out>: Now std::vector.
8934         (value_entirely_available)
8935         (value_entirely_covered_by_range_vector)
8936         (value_entirely_unavailable, value_entirely_optimized_out):
8937         Update.
8938         (insert_into_bit_range_vector): Change argument type.
8939         (find_first_range_overlap): Likewise.
8940         (struct ranges_and_idx, value_contents_bits_eq)
8941         (require_not_optimized_out, require_available): Update.
8942         (ranges_copy_adjusted): Change argument types.
8943         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8944
8945 2018-04-06  Tom Tromey  <tom@tromey.com>
8946
8947         * value.c (~value): Update.
8948         (struct value) <parent>: Now a value_ref_ptr.
8949         (value_parent, set_value_parent, value_address, value_copy):
8950         Update.
8951
8952 2018-04-06  Tom Tromey  <tom@tromey.com>
8953
8954         * value.c (struct value): Add constructor, destructor, and member
8955         initializers.
8956         (allocate_value_lazy, value_decref): Update.
8957
8958 2018-04-06  Tom Tromey  <tom@tromey.com>
8959
8960         * value.c (struct value) <released, next>: Remove.
8961         (all_values): Now a std::vector.
8962         (allocate_value_lazy): Update.
8963         (value_next): Remove.
8964         (value_mark, value_free_to_mark, release_value)
8965         (value_release_to_mark): Update.
8966
8967 2018-04-06  Tom Tromey  <tom@tromey.com>
8968
8969         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8970         (free_value_chain): Remove.
8971         * value.c (free_value_chain): Remove.
8972         (value_release_to_mark): Return a std::vector.
8973         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
8974         std::vector.
8975         (check_condition): Update.
8976         * eval.c (fetch_subexp_value): Change "val_chain" to a
8977         std::vector.
8978         * breakpoint.c (update_watchpoint): Update.
8979         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
8980
8981 2018-04-06  Tom Tromey  <tom@tromey.com>
8982
8983         * value.h (free_all_values): Remove.
8984         * value.c (free_all_values): Remove.
8985
8986 2018-04-06  Tom Tromey  <tom@tromey.com>
8987
8988         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
8989         (value_history_chain, value_history_count): Remove.
8990         (value_history): New global.
8991         (record_latest_value, access_value_history, show_values)
8992         (preserve_values): Update.
8993
8994 2018-04-06  Tom Tromey  <tom@tromey.com>
8995
8996         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
8997         * varobj.c (varobj_set_display_format, varobj_set_value)
8998         (install_default_visualizer, construct_visualizer)
8999         (install_new_value, ~varobj, varobj_get_value_type)
9000         (my_value_of_variable, varobj_editable_p): Update.
9001         * c-varobj.c (c_describe_child, c_value_of_variable)
9002         (cplus_number_of_children, cplus_describe_child): Update.
9003         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9004         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9005         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9006
9007 2018-04-06  Tom Tromey  <tom@tromey.com>
9008
9009         * printcmd.c (last_examine_address): Change type to
9010         value_ref_ptr.
9011         (do_examine, x_command): Update.
9012
9013 2018-04-06  Tom Tromey  <tom@tromey.com>
9014
9015         * value.c (release_value): Update.
9016         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9017         (struct bpstats) <val>: Now a value_ref_ptr.
9018         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9019         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9020         (~watchpoint, print_it_watchpoint, watch_command_1)
9021         (invalidate_bp_value_on_memory_change): Update.
9022
9023 2018-04-06  Tom Tromey  <tom@tromey.com>
9024
9025         * varobj.c (varobj_clear_saved_item)
9026         (update_dynamic_varobj_children, install_new_value, ~varobj):
9027         Update.
9028         * value.h (value_incref): Move declaration earlier.
9029         (value_decref): Rename from value_free.
9030         (struct value_ref_policy): New.
9031         (value_ref_ptr): New typedef.
9032         (struct value_deleter): Remove.
9033         (gdb_value_up): Remove typedef.
9034         (release_value): Change return type.
9035         (release_value_or_incref): Remove.
9036         * value.c (set_value_parent): Update.
9037         (value_incref): Change return type.
9038         (value_decref): Rename from value_free.
9039         (value_free_to_mark, free_all_values, free_value_chain): Update.
9040         (release_value): Return value_ref_ptr.
9041         (release_value_or_incref): Remove.
9042         (record_latest_value, set_internalvar, clear_internalvar):
9043         Update.
9044         * stack.c (info_frame_command): Don't call value_free.
9045         * python/py-value.c (valpy_dealloc, valpy_new)
9046         (value_to_value_object): Update.
9047         * printcmd.c (do_examine): Update.
9048         * opencl-lang.c (lval_func_free_closure): Update.
9049         * mi/mi-main.c (register_changed_p): Don't call value_free.
9050         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9051         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9052         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9053         value_free.
9054         * guile/scm-value.c (vlscm_free_value_smob)
9055         (vlscm_scm_from_value): Update.
9056         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9057         (frame_unwind_register_unsigned, get_frame_register_bytes)
9058         (put_frame_register_bytes): Don't call value_free.
9059         * findvar.c (address_from_register): Don't call value_free.
9060         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9061         * dwarf2loc.c (entry_data_value_free_closure)
9062         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9063         (dwarf2_evaluate_loc_desc_full): Update.
9064         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9065         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9066         (~watchpoint, watch_command_1)
9067         (invalidate_bp_value_on_memory_change): Update.
9068         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9069
9070 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9071
9072         PR gdb/23022
9073         * warning.m4: Add -Wno-error=deprecated-register.
9074         * configure: Re-generate.
9075
9076 2018-04-05  Tom Tromey  <tom@tromey.com>
9077
9078         * linespec.h: Remove include of "vec.h".
9079
9080 2018-04-05  Tom Tromey  <tom@tromey.com>
9081
9082         * linespec.c (typep): Remove typedef.
9083         (find_methods, find_superclass_methods): Take a std::vector.
9084         (find_method): Use std::vector.
9085
9086 2018-04-05  Tom Tromey  <tom@tromey.com>
9087
9088         * utils.c (compare_strings): Remove.
9089         * utils.h (compare_strings): Remove.
9090         * objc-lang.h (find_imps): Update.
9091         * objc-lang.c (find_methods): Take a std::vector.
9092         (uniquify_strings, find_imps): Likewise.
9093         * linespec.c (find_methods): Take a std::vector.
9094         (decode_objc): Use std::vector.
9095         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9096         a std::vector.
9097         (find_method, find_function_symbols): Use std::vector.
9098
9099 2018-04-05  Tom Tromey  <tom@tromey.com>
9100
9101         * completer.c (completion_tracker::completion_tracker): Remove
9102         cast.
9103         (completion_tracker::discard_completions): Likewise.
9104         * breakpoint.c (ambiguous_names_p): Remove cast.
9105         * ada-lang.c (_initialize_ada_language): Remove cast.
9106         * utils.h (streq): Update.
9107         (streq_hash): Add new declaration.
9108         * utils.c (streq): Return bool.
9109         (streq_hash): New function.
9110
9111 2018-04-05  Tom Tromey  <tom@tromey.com>
9112
9113         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9114         Remove a string copy.
9115
9116 2018-04-05  Tom Tromey  <tom@tromey.com>
9117
9118         * linespec.c (filter_results): Use std::vector.
9119         (decode_line_2, decode_line_full): Update.
9120
9121 2018-04-05  Tom Tromey  <tom@tromey.com>
9122
9123         * linespec.c (canonical_to_fullform): Return std::string.
9124         (filter_results): Update.
9125         (struct decode_line_2_item): Add constructor.
9126         <fullform, displayform>: Now std::string.
9127         (decode_line_2_compare_items): Now a std::sort comparator.
9128         (decode_line_2): Update.
9129
9130 2018-04-05  Tom Tromey  <tom@tromey.com>
9131
9132         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9133         (unexpected_linespec_error): Update.
9134         (linespec_parse_basic, parse_linespec): Update.
9135
9136 2018-04-05  Tom Tromey  <tom@tromey.com>
9137
9138         * linespec.c (linespec_parse_basic): Reindent.
9139
9140 2018-04-05  Tom Tromey  <tom@tromey.com>
9141
9142         * minsyms.h (iterate_over_minimal_symbols): Update.
9143         * minsyms.c (iterate_over_minimal_symbols): Take a
9144         gdb::function_view.
9145         * linespec.c (struct collect_minsyms): Remove.
9146         (compare_msyms): Now a std::sort comparator.
9147         (add_minsym): Add parameters.
9148         (search_minsyms_for_name): Update.  Use std::vector.
9149
9150 2018-04-03  Tom Tromey  <tom@tromey.com>
9151
9152         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9153         gdb::byte_vector.
9154
9155 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9156
9157         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9158
9159 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9160
9161         PR gdb/16959
9162         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9163         printing static type.
9164
9165 2018-04-01  Tom Tromey  <tom@tromey.com>
9166
9167         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9168         (rs6000_xfer_shared_libraries): Update.
9169
9170 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9171
9172         * common/gdb_vecs.h (char_ptr): Remove.
9173         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9174
9175 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9176
9177         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9178         with std::vector.
9179         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9180
9181 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9182
9183         * tracepoint.h (struct uploaded_tp): Initialize fields.
9184         <actions, step_actions, cmd_strings>: Change type to
9185         std::vector<char *>.
9186         * tracepoint.c (get_uploaded_tp): Allocate with new.
9187         (free_uploaded_tps): Free with delete.
9188         (parse_tracepoint_definition): Adjust to std::vector change.
9189         * breakpoint.c (read_uploaded_action): Likewise.
9190         (create_tracepoint_from_upload): Likewise.
9191         * ctf.c (ctf_write_uploaded_tp): Likewise.
9192         (SET_ARRAY_FIELD): Likewise.
9193         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9194
9195 2018-03-30  Tom Tromey  <tom@tromey.com>
9196
9197         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9198         std::unique_ptr.
9199         (svr4_keep_data_in_core): Update.
9200         (svr4_read_so_list): Update.
9201
9202 2018-03-30  Tom Tromey  <tom@tromey.com>
9203
9204         * windows-nat.c (handle_output_debug_string, handle_exception):
9205         Update.
9206         * target.h (target_read_string): Update.
9207         * target.c (target_read_string): Change "string" to
9208         unique_xmalloc_ptr.
9209         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9210         Update.
9211         * solib-frv.c (frv_current_sos): Update.
9212         * solib-dsbt.c (dsbt_current_sos): Update.
9213         * solib-darwin.c (darwin_current_sos): Update.
9214         * linux-thread-db.c (inferior_has_bug): Update.
9215         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9216         Update.  Remove alloca.
9217         * ada-lang.c (ada_main_name): Update.
9218
9219 2018-03-30  Tom Tromey  <tom@tromey.com>
9220
9221         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9222         (struct dwo_file_deleter): New.
9223         (dwo_file_up): New typedef.
9224         (open_and_init_dwo_file): Use dwo_file_up.
9225         (free_dwo_file_cleanup): Remove.
9226
9227 2018-03-30  Tom Tromey  <tom@tromey.com>
9228
9229         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9230         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9231
9232 2018-03-30  Tom Tromey  <tom@tromey.com>
9233
9234         * dwarf2read.c (class free_cached_comp_units): New class.
9235         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9236         (free_cached_comp_units): Remove function.
9237
9238 2018-03-30  Tom Tromey  <tom@tromey.com>
9239
9240         * utils.h (make_cleanup_unpush_target): Remove.
9241         * inf-ptrace.c (struct target_unpusher): New.
9242         (target_unpush_up) New typedef.
9243         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9244         target_unpush_up.
9245         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9246
9247 2018-03-27  Tom Tromey  <tom@tromey.com>
9248
9249         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9250
9251 2018-03-27  Pedro Alves  <palves@redhat.com>
9252             Tom Tromey  <tom@tromey.com>
9253
9254         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9255         destructor.  Now a class.
9256         (gdb_readline_wrapper_cleanup): Remove function.
9257         (gdb_readline_wrapper): Remove cleanups.
9258
9259 2018-03-27  Tom Tromey  <tom@tromey.com>
9260
9261         * typeprint.h (struct type_print_options) <local_typedefs,
9262         global_typedefs>: Remove "struct" keyword.
9263         (class typedef_hash_table): New class.
9264         (recursively_update_typedef_hash, add_template_parameters)
9265         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9266         (find_typedef_in_hash): Don't declare.
9267         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9268         (typedef_hash_table::recursively_update): Rename from
9269         recursively_update_typedef_hash.  Now a member.
9270         (typedef_hash_table::add_template_parameters): Rename from
9271         add_template_parameters.  Now a member.
9272         (typedef_hash_table::typedef_hash_table): Now a constructor;
9273         rename from create_typedef_hash.
9274         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9275         rename from free_typedef_hash.
9276         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9277         (do_free_global_table): Remove.
9278         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9279         from copy_type_recursive.
9280         (create_global_typedef_table): Remove.
9281         (typedef_hash_table::find_global_typedef): Now a member of
9282         typedef_hash_table.
9283         (typedef_hash_table::find_typedef): Rename from
9284         find_typedef_in_hash; now a member.
9285         (whatis_exp): Update.
9286         * extension.h (struct ext_lang_type_printers): Add constructor and
9287         destructor.
9288         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9289         declare.
9290         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9291         Now a constructor; rename from start_ext_lang_type_printers.
9292         (ext_lang_type_printers): Now a destructor; rename from
9293         free_ext_lang_type_printers.
9294         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9295         Update.
9296         (c_type_print_base_struct_union): Update.  Remove cleanups.
9297
9298 2018-03-27  Tom Tromey  <tom@tromey.com>
9299
9300         * dwarf-index-write.c: Include <cmath>.
9301
9302 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9303
9304         * NEWS: Add entry describing new "set|show varsize-limit" command.
9305         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9306         command.
9307         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9308         "set variable".
9309
9310 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9311
9312         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9313         dwarf-index-write.c
9314         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9315         * dwarf-index-common.c: New file.
9316         * dwarf-index-common.h: New file.
9317         * dwarf-index-write.c: New file.
9318         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9319         (struct dwarf2_section_info): Move from here.
9320         (dwarf2_section_info_def): Likewise.
9321         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9322         (offset_type): Likewise.
9323         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9324         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9325         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9326         (byte_swap): Likewise.
9327         (MAYBE_SWAP): Likewise.
9328         (dwarf2_per_cu_ptr): Likewise.
9329         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9330         (struct tu_stats): Likewise.
9331         (struct dwarf2_per_objfile): Likewise.
9332         (struct dwarf2_per_cu_data): Likewise.
9333         (struct signatured_type): Likewise.
9334         (sig_type_ptr): Likewise.
9335         (DEF_VEC_P (sig_type_ptr)): Likewise.
9336         (INDEX4_SUFFIX): Likewise.
9337         (INDEX5_SUFFIX): Likewise.
9338         (DEBUG_STR_SUFFIX): Likewise.
9339         (dwarf2_read_section): Make non-static.
9340         (mapped_index_string_hash): Move from here.
9341         (dwarf5_djb_hash): Likewise.
9342         (file_write): Likewise.
9343         (class data_buf): Likewise.
9344         (struct symtab_index_entry): Likewise.
9345         (struct mapped_symtab): Likewise.
9346         (find_slot): Likewise.
9347         (hash_expand): Likewise.
9348         (add_index_entry): Likewise.
9349         (uniquify_cu_indices): Likewise.
9350         (class c_str_view): Likewise.
9351         (class c_str_view_hasher): Likewise.
9352         (class vector_hasher): Likewise.
9353         (write_hash_table): Likewise.
9354         (psym_index_map): Likewise.
9355         (struct addrmap_index_data): Likewise.
9356         (add_address_entry): Likewise.
9357         (add_address_entry_worker): Likewise.
9358         (write_address_map): Likewise.
9359         (symbol_kind): Likewise.
9360         (write_psymbols): Likewise.
9361         (struct signatured_type_index_data): Likewise.
9362         (write_one_signatured_type): Likewise.
9363         (recursively_count_psymbols): Likewise.
9364         (recursively_write_psymbols): Likewise.
9365         (class debug_names): Likewise.
9366         (check_dwarf64_offsets): Likewise.
9367         (psyms_seen_size): Likewise.
9368         (write_gdbindex): Likewise.
9369         (write_debug_names): Likewise.
9370         (assert_file_size): Likewise.
9371         (write_psymtabs_to_index): Likewise.
9372         (save_gdb_index_command): Likewise.
9373         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9374         command.
9375         * dwarf2read.h: New file.
9376
9377 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9378
9379         PR gdb/22670
9380         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9381         symbol name if the CU's language stores symbol names in linkage
9382         format.
9383         * language.h (struct language_defn)
9384         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9385         all instances of this struct.
9386
9387 2018-03-26  Tom Tromey  <tom@tromey.com>
9388
9389         * stack.c (backtrace_command_1): Remove verbose code.
9390
9391 2018-03-26  Tom Tromey  <tom@tromey.com>
9392
9393         * python/py-framefilter.c (py_print_type): Don't catch
9394         exceptions.  Return void.
9395         (py_print_value): Likewise.
9396         (py_print_single_arg): Likewise.
9397         (enumerate_args): Don't catch exceptions.
9398         (py_print_args): Likewise.
9399         (py_print_frame): Likewise.
9400         (gdbpy_apply_frame_filter): Catch exceptions here.
9401
9402 2018-03-26  Tom Tromey  <tom@tromey.com>
9403
9404         * stack.c (_initialize_stack): Remove trailing newlines from help
9405         text.  Add "Usage" line to "backtrace" help.
9406
9407 2018-03-26  Tom Tromey  <tom@tromey.com>
9408
9409         PR python/16486:
9410         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9411
9412 2018-03-26  Tom Tromey  <tom@tromey.com>
9413
9414         * python/py-framefilter.c (py_print_single_arg): Return
9415         EXT_LANG_BT_ERROR from catch.
9416
9417 2018-03-26  Tom Tromey  <tom@tromey.com>
9418
9419         PR backtrace/15584:
9420         * stack.c (backtrace_command_1): Move some code into no-filters
9421         "if".
9422
9423 2018-03-26  Tom Tromey  <tom@tromey.com>
9424
9425         * python/py-framefilter.c (throw_quit_or_print_exception): New
9426         function.
9427         (gdbpy_apply_frame_filter): Use it.
9428
9429 2018-03-26  Tom Tromey  <tom@tromey.com>
9430
9431         PR cli/17716:
9432         * python/py-framefilter.c (py_print_type, py_print_value)
9433         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9434         RETURN_MASK_ERROR.
9435
9436 2018-03-26  Tom Tromey  <tom@tromey.com>
9437
9438         * python/py-framefilter.c (enumerate_args): Use
9439         gdb::unique_xmalloc_ptr.
9440
9441 2018-03-26  Tom Tromey  <tom@tromey.com>
9442
9443         * python/py-framefilter.c (py_print_frame): Return
9444         EXT_LANG_BT_OK.
9445         (gdbpy_apply_frame_filter): Update comment.
9446         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9447         Remove.
9448         <EXT_LANG_BT_NO_FILTERS>: Change value.
9449
9450 2018-03-26  Tom Tromey  <tom@tromey.com>
9451
9452         PR backtrace/15582:
9453         * stack.c (backtrace_command): Parse "hide" argument.
9454         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9455         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9456         constant.
9457
9458 2018-03-26  Tom Tromey  <tom@tromey.com>
9459
9460         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9461         add "flags".
9462         (backtrace_command): Remove "fulltrace", add "flags".
9463
9464 2018-03-26  Tom Tromey  <tom@tromey.com>
9465
9466         * stack.c (backtrace_command): Rewrite command line parsing.
9467
9468 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9469
9470         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9471
9472 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9473
9474         * filename-seen-cache.h: Add include guard.
9475
9476 2018-03-26  Keith Seitz  <keiths@redhat.com>
9477
9478         * symfile.c (place_section): Remove "struct" from section_addr_info
9479         in comment.
9480         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9481         "struct" keyword from section_addr_info.
9482
9483 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9484
9485         * regformats/regdef.h (reg): Add constructors.
9486
9487 2018-03-25  Pedro Alves  <palves@redhat.com>
9488
9489         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9490         if then/else bodies in var_func_name extraction.
9491
9492 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9493
9494         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9495         lookup_minimal_symbol() to find symbol entry.
9496         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9497
9498 2018-03-23  Keith Seitz  <keiths@redhat.com>
9499
9500         PR c++/22968
9501         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9502         nested type definitions for C++, too.
9503
9504 2018-03-23  Tom Tromey  <tom@tromey.com>
9505
9506         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9507         a typedef.
9508         (macho_register_oso): Remove.
9509         (macho_symtab_read): Take a std::vector.
9510         (oso_el_compare_name): Now a std::sort comparator.
9511         (macho_symfile_read_all_oso): Take a std::vector.
9512         (macho_symfile_read): Use std::vector.  Remove cleanups.
9513
9514 2018-03-22  Tom Tromey  <tom@tromey.com>
9515
9516         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9517         (record_full_goto_bookmark): Use std::string.
9518
9519 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9520
9521         PR tdep/18295
9522         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9523         a single mask.
9524
9525 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9526
9527         * rs6000-tdep.c (store_insn_p): New function.
9528         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9529         and cr_reg to their unshifted values. Use store_insn_p to
9530         match LR saves using either R1 or fdata->alloca_reg. Use
9531         store_insn_p to match CR saves. Set alloca_reg_offset
9532         when alloca_reg and framep are set. Remove lr_reg shift
9533         when assigning to fdata->lr_register.
9534
9535 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9536
9537         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9538         command line args instead of emitting a warning.
9539
9540 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9541
9542         * tracepoint.h (struct static_tracepoint_marker): Initialize
9543         fields, define default constructor, move constructor and move
9544         assignment, disable the rest.
9545         <str_id, extra>: Make std::string.
9546         (release_static_tracepoint_marker): Remove.
9547         (free_current_marker): Remove.
9548         * tracepoint.c (free_current_marker): Remove.
9549         (parse_static_tracepoint_marker_definition): Adjust to
9550         std::string, use new hex2str overload.
9551         (release_static_tracepoint_marker): Remove.
9552         (print_one_static_tracepoint_marker): Get marker by reference
9553         and adjust to std::string.
9554         (info_static_tracepoint_markers_command): Adjust to std::vector
9555         changes
9556         * target.h (static_tracepoint_marker_p): Remove typedef.
9557         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9558         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9559         bool.
9560         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9561         * target-debug.h
9562         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9563         (target_debug_print_std_vector_static_tracepoint_marker): New.
9564         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9565         to...
9566         (target_debug_print_static_tracepoint_marker_p): ... this.
9567         * target-delegates.c: Re-generate.
9568         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9569         Make std::string.
9570         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9571         (decode_static_tracepoint_spec): Adjust to std::vector.
9572         (tracepoint_print_one_detail): Adjust to std::string.
9573         (strace_marker_decode_location): Adjust to std::string.
9574         (update_static_tracepoint): Adjust to std::string, remove call
9575         to release_static_tracepoint_marker.
9576         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9577         Adjust to std::vector.
9578         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9579         (remote_static_tracepoint_markers_by_strid): Adjust to
9580         std::vector.
9581         * common/rsp-low.h (hex2str): New overload with explicit count
9582         of bytes.
9583         * common/rsp-low.c (hex2str): New overload with explicit count
9584         of bytes.
9585         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9586         (_initialize_rsp_low_selftests): Add test_hex2str test.
9587         * unittests/tracepoint-selftests.c
9588         (test_parse_static_tracepoint_marker_definition): Adjust to
9589         std::string.
9590
9591 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9592
9593         * tracepoint.c (parse_static_tracepoint_marker_definition):
9594         Consider case where the definition is followed by more
9595         definitions.
9596         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9597         tracepoint-selftests.c.
9598         * unittests/tracepoint-selftests.c: New.
9599
9600 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9601
9602         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9603         Carvalho.
9604
9605 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9606
9607         * symtab.c (find_pc_sect_line): fixed indentation.
9608
9609 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9610
9611         * symtab.c (find_pc_sect_line): now uses binary search.
9612
9613 2018-03-19  Tom Tromey  <tom@tromey.com>
9614
9615         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9616         "IDENT" production.
9617
9618 2018-03-19  Pedro Alves  <palves@redhat.com>
9619             Tom Tromey  <tom@tromey.com>
9620
9621         * unittests/observable-selftests.c: New file.
9622         * common/observable.h: New file.
9623         * observable.h: New file.
9624         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9625         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9626         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9627         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9628         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9629         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9630         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9631         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9632         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9633         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9634         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9635         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9636         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9637         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9638         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9639         tui/tui-interp.c, valops.c: Update all users.
9640         * tui/tui-hooks.c (tui_bp_created_observer)
9641         (tui_bp_deleted_observer, tui_bp_modified_observer)
9642         (tui_inferior_exit_observer, tui_before_prompt_observer)
9643         (tui_normal_stop_observer, tui_register_changed_observer):
9644         Remove.
9645         (tui_observers_token): New global.
9646         (attach_or_detach, tui_attach_detach_observers): New functions.
9647         (tui_install_hooks, tui_remove_hooks): Use
9648         tui_attach_detach_observers.
9649         * record-btrace.c (record_btrace_thread_observer): Remove.
9650         (record_btrace_thread_observer_token): New global.
9651         * observer.sh: Remove.
9652         * observer.c: Rename to observable.c.
9653         * observable.c (namespace gdb_observers): Define new objects.
9654         (observer_debug): Move into gdb_observers namespace.
9655         (struct observer, struct observer_list, xalloc_observer_list_node)
9656         (xfree_observer_list_node, generic_observer_attach)
9657         (generic_observer_detach, generic_observer_notify): Remove.
9658         (_initialize_observer): Update.
9659         Don't include observer.inc.
9660         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9661         (clean mostlyclean): Likewise.
9662         (observer.h, observer.inc): Remove targets.
9663         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9664         (COMMON_SFILES): Use observable.c, not observer.c.
9665         * .gitignore: Remove observer.h.
9666
9667 2018-03-18  Tom Tromey  <tom@tromey.com>
9668
9669         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9670         gdb::def_vector.
9671         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9672
9673 2018-03-17  Tom Tromey  <tom@tromey.com>
9674
9675         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9676
9677 2018-03-17  Tom Tromey  <tom@tromey.com>
9678
9679         * target.c (class scoped_target_fd): New.
9680         (target_fileio_close_cleanup): Remove.
9681         (target_fileio_read_alloc_1): Use scoped_target_fd.
9682
9683 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9684
9685         * silent-rules.mk: New.
9686         * Makefile.in: Include silent-rules.mk
9687         (srcdir, VPATH, top_srcdir): Move up.
9688         (COMPILE): Add ECHO_CXX.
9689         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9690         (init.c): Add ECHO_INIT_C.
9691         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9692         (version.c): Add ECHO_GEN.
9693         (printcmd.o): Add ECHO_CXX.
9694         (target-float.o): Add ECHO_CXX.
9695         (ada-exp.o): Add ECHO_CXX.
9696         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9697         (insight$(EXEEXT)): Add ECHO_CXXLD.
9698         * gnulib/configure.ac: Add AM_SILENT_RULES.
9699         * gnulib/aclocal.m4: Re-generate.
9700         * gnulib/configure: Re-generate.
9701         * gnulib/import/Makefile.in: Re-generate.
9702
9703 2018-03-16  Tom Tromey  <tom@tromey.com>
9704
9705         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9706         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9707         * utils.c (do_free_section_addr_info)
9708         (make_cleanup_free_section_addr_info): Remove.
9709         * symfile.h (struct other_sections): Add constructor.
9710         (struct section_addr_info): Remove.
9711         (section_addr_info): New typedef.
9712         (struct sym_fns) <sym_offsets>: Change type of parameter.
9713         (build_section_addr_info_from_objfile)
9714         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9715         (default_symfile_offsets, symbol_file_add)
9716         (symbol_file_add_from_bfd)
9717         (build_section_addr_info_from_section_table): Update.
9718         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9719         * symfile.c (alloc_section_addr_info): Remove.
9720         (build_section_addr_info_from_section_table): Change return type.
9721         Update.
9722         (build_section_addr_info_from_bfd)
9723         (build_section_addr_info_from_objfile): Likewise.
9724         (free_section_addr_info): Remove.
9725         (relative_addr_info_to_section_offsets): Change type of "addrs".
9726         (addrs_section_compar): Now a std::sort comparator.
9727         (addrs_section_sort): Change return type.
9728         (addr_info_make_relative): Change type of "addrs".  Update.
9729         (default_symfile_offsets, syms_from_objfile_1)
9730         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9731         (symbol_file_add_separate): Update.
9732         (symbol_file_add): Change type of "addrs".  Update.
9733         (add_symbol_file_command): Update.  Remove cleanups.
9734         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9735         cleanups.
9736         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9737         * solib.c (solib_read_symbols): Update.
9738         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9739         * machoread.c (macho_symfile_offsets): Update.
9740         * jit.c (jit_bfd_try_read_symtab): Update.
9741
9742 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9743
9744         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9745         unittests/utils-selftests.c.
9746         * unittests/utils-selftests.c: New file.
9747
9748 2018-03-14  Tom Tromey  <tom@tromey.com>
9749
9750         PR cli/14977:
9751         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9752         for NULL.
9753
9754 2018-03-14  Tom Tromey  <tom@tromey.com>
9755
9756         PR cli/19918:
9757         * printcmd.c (printf_pointer): Allow "-" in format.
9758
9759 2018-03-14  Tom Tromey  <tom@tromey.com>
9760
9761         * printcmd.c (_initialize_printcmd): Add usage to printf.
9762
9763 2018-03-14  Yao Qi  <qiyao@sourceware.org>
9764
9765         * MAINTAINERS: Update my email address.
9766
9767 2018-03-13  Tom Tromey  <tom@tromey.com>
9768
9769         * machoread.c (macho_check_dsym): Change filenamep to a
9770         std::string*.
9771         (macho_symfile_read): Update.
9772         * symfile.c (load_command): Use std::string.
9773
9774 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9775
9776         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
9777         to error message string.
9778         (riscv_register_name): Use xsnprintf instead of sprintf.
9779         (riscv_insn::fetch_instruction): Use gdb_assert instead of
9780         internal_error.
9781         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
9782         error.
9783         (riscv_push_dummy_call): Likewise.
9784
9785 2018-03-12  Tom Tromey  <tom@tromey.com>
9786
9787         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
9788         Use gdb::byte_vector.
9789         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
9790
9791 2018-03-12  Yao Qi  <yao.qi@linaro.org>
9792
9793         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
9794         parameter type to readable_regcache.
9795         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9796         the declaration.
9797
9798 2018-03-11  Tom Tromey  <tom@tromey.com>
9799
9800         * dwarf2read.c (struct nextfield): Add initializers.
9801         (struct nextfnfield): Remove.
9802         (struct fnfieldlist): Add initializers.  Remove "length" and
9803         "head", use std::vector.
9804         (struct decl_field_list): Remove.
9805         (struct field_info): Add initializers.
9806         <fields, baseclasses>: Now std::vector.
9807         <nbaseclasses, nfnfields, typedef_field_list_count,
9808         nested_types_list_count>: Remove.
9809         (dwarf2_add_field, dwarf2_add_type_defn)
9810         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9811         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9812         (process_structure_scope): Update.
9813
9814 2018-03-11  Tom Tromey  <tom@tromey.com>
9815
9816         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9817         for use by std::sort.
9818         (build_type_psymtabs_1): Use std::vector.
9819
9820 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9821
9822         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9823         and LIBMPFR in the printed configuration.
9824
9825 2018-03-08  Tom Tromey  <tom@tromey.com>
9826
9827         * source.c (get_filename_and_charpos): Use scoped_fd.
9828         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9829         (procfs_pidlist): Likewise.
9830         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9831         (iterate_over_mappings): Likewise.
9832
9833 2018-03-08  Tom Tromey  <tom@tromey.com>
9834
9835         * infcall.c (struct call_return_meta_info)
9836         <stack_temporaries_enabled>: Remove.
9837         (get_call_return_value, call_function_by_hand_dummy): Update.
9838         * thread.c (disable_thread_stack_temporaries): Remove.
9839         (enable_thread_stack_temporaries): Remove.
9840         (thread_stack_temporaries_enabled_p): Return bool.
9841         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9842         (get_last_thread_stack_temporary): Update.
9843         * eval.c (evaluate_subexp): Update.
9844         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9845         class, not a function.
9846         (value_ptr, value_vec): Remove typedefs.
9847         (class thread_info) <stack_temporaries_enabled>: Now bool.
9848         <stack_temporaries>: Now a std::vector.
9849         (thread_stack_temporaries_enabled_p)
9850         (value_in_thread_stack_temporaries): Return bool.
9851
9852 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9853
9854         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9855         (getpkt_or_notif_sane_1): Likewise.
9856
9857 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9858
9859         * build-id.c (build_id_to_debug_bfd): Use std::string.
9860
9861 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9862
9863         * build-id.c (find_separate_debug_file_by_buildid): Return
9864         std::string.
9865         * build-id.h (find_separate_debug_file_by_buildid): Return
9866         std::string.
9867         * coffread.c (coff_symfile_read): Adjust to std::string.
9868         * elfread.c (elf_symfile_read): Adjust to std::string.
9869         * symfile.c (separate_debug_file_exists): Change parameter to
9870         std::string.
9871         (find_separate_debug_file): Return std::string.
9872         (find_separate_debug_file_by_debuglink): Return std::string.
9873         * symfile.h (find_separate_debug_file_by_debuglink): Return
9874         std::string.
9875
9876 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9877
9878         * common/xml-utils.c (xml_escape_text): Move code to...
9879         (xml_escape_text_append): ... this new function.
9880         * common/xml-utils.h (xml_escape_text_append): New declaration.
9881         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9882         New function.
9883         (_initialize_xml_utils): register test_xml_escape_text_append as
9884         a selftest.
9885
9886 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9887
9888         * defs.h: Remove MAX_REGISTER_SIZE.
9889         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9890         asserts.
9891         * python/py-unwind.c (pyuw_sniffer): Likewise.
9892
9893 2018-03-07  Tom Tromey  <tom@tromey.com>
9894
9895         * linux-tdep.c (linux_info_proc): Update.
9896         * target.h (struct target_ops) <to_fileio_readlink>: Return
9897         optional<string>.
9898         (target_fileio_readlink): Return optional<string>.
9899         * remote.c (remote_hostio_readlink): Return optional<string>.
9900         * inf-child.c (inf_child_fileio_readlink): Return
9901         optional<string>.
9902         * target.c (target_fileio_readlink): Return optional<string>.
9903
9904 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9905
9906         * regcache.c (cooked_read_test): Add riscv to the list of
9907         architectures that have a save_reggroup.
9908
9909 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9910
9911         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9912         value is not a dynamic class object.
9913
9914 2018-03-06  Tom Tromey  <tom@tromey.com>
9915
9916         * rust-exp.y: Formatting fixes.
9917
9918 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9919
9920         * riscv-tdep.c (riscv_register_name): Remove target description
9921         support.
9922         (riscv_gdbarch_init): Remove target description check.
9923
9924 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9925
9926         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9927         comment.
9928         * riscv-tdep.h: Likewise.
9929
9930 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9931
9932         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9933         (riscv_pseudo_register_write): Delete.
9934         (riscv_gdbarch_init): Remove all use of pseudo registers.
9935
9936 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9937
9938         * record-btrace.c (btrace_print_lines): Replace cleanup
9939         parameter with RAII equivalents.
9940         (btrace_insn_history): Replace cleanup with RAII equivalents.
9941         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9942         make_cleanup_ui_out_tuple_begin_end): Remove.
9943         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9944         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9945         make_cleanup_ui_out_list_begin_end): Remove.
9946
9947 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9948
9949         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9950         parameter types to std::vector.  Use bool.
9951         (record_btrace_wait): Replace VEC(tp_t) with
9952         std::vector<thread_info *>.
9953         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9954
9955 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9956
9957         * record-btrace.c (record_btrace_disable_callback): Remove.
9958         (struct scoped_btrace_disable): New.
9959         (record_btrace_open): Use scoped_btrace_disable.
9960
9961 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9962
9963         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9964         reading values from registers.
9965
9966 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9967
9968         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9969         where appropriate.
9970
9971 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9972
9973         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
9974         change parameter type.  Use GDB's print functions, and use
9975         core_addr_to_string where appropriate.
9976         (riscv_push_dummy_call): Use core_addr_to_string where
9977         appropriate, update call to riscv_print_arg_location, and reindent
9978         a few lines.
9979         (riscv_return_value): Update call to riscv_print_arg_location.
9980
9981 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9982             Tim Newsome <tim@sifive.com>
9983             Albert Ou <a0u@eecs.berkeley.edu>
9984             Darius Rad <darius@bluespec.com>
9985
9986         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
9987         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
9988         (ALLDEPFILES): Add riscv-tdep.c
9989         * configure.tgt: Add riscv support.
9990         * riscv-tdep.c: New file.
9991         * riscv-tdep.h: New file.
9992         * NEWS: Mention new target.
9993         * MAINTAINERS: Add entry for riscv.
9994
9995 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9996
9997         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
9998         fields within aggregates.
9999
10000 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10001
10002         * record-btrace.c (btrace_print_lines): Change type of flags to
10003         gdb_disassembly_flags.
10004
10005 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10006
10007         * fbsd-nat.c: Include "inf-ptrace.h".
10008         (USE_SIGTRAP_SIGINFO): Conditionally define.
10009         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10010         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10011         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10012         function.
10013         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10014         Likewise.
10015         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10016         Likewise.
10017         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10018         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10019         "supports_stopped_by_hw_breakpoint" target methods.
10020
10021 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10022
10023         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10024         * fbsd-nat.c (debug_fbsd_nat): New variable.
10025         (show_fbsd_nat_debug): New function.
10026         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10027         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10028
10029 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10030
10031         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10032         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10033         prototype.
10034         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10035         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10036         method.
10037
10038 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10039
10040         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10041         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10042
10043 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10044
10045         * charset.c (struct charset_vector): New.
10046         (charsets): Change type to charset_vector.
10047         (find_charset_names): Adjust.
10048         (add_one): Adjust.
10049         (_initialize_charset): Adjust.
10050
10051 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10052
10053         * progspace.h (struct program_space) <deleted_solibs>: Change
10054         type to std::vector<std::string>.
10055         * progspace.c (clear_program_space_solib_cache): Adjust.
10056         * breakpoint.c (print_solib_event): Adjust.
10057         (check_status_catch_solib): Adjust.
10058         * solib.c (update_solib_list): Adjust.
10059         * ui-out.h (class ui_out) <field_string>: New overload.
10060         * ui-out.c (ui_out::field_string): New overload.
10061
10062 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10063
10064         * progspace.h (struct program_space): Add constructor and
10065         destructor, initialize fields.
10066         (add_program_space): Remove.
10067         * progspace.c (add_program_space): Rename to...
10068         (program_space::program_space): ... this.
10069         (release_program_space): Rename to...
10070         (program_space::~program_space): ... this.
10071         (delete_program_space): Use delete to delete program_space.
10072         (initialize_progspace): Use new to allocate program_space.
10073         * inferior.c (add_inferior_with_spaces): Likewise.
10074         (clone_inferior_command): Likewise.
10075         * infrun.c (follow_fork_inferior): Likewise.
10076         (handle_vfork_child_exec_or_exit): Likewise.
10077
10078 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10079
10080         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10081         (delim_string_to_char_ptr_vec): Return std::vector of
10082         gdb::unique_xmalloc_ptr.
10083         (dirnames_to_char_ptr_vec_append): Take std::vector of
10084         gdb::unique_xmalloc_ptr.
10085         (dirnames_to_char_ptr_vec): Return std::vector of
10086         gdb::unique_xmalloc_ptr.
10087         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10088         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10089         (delim_string_to_char_ptr_vec): Return an std::vector of
10090         gdb::unique_xmalloc_ptr, adjust the code.
10091         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10092         gdb::unique_xmalloc_ptr, adjust the code.
10093         (dirnames_to_char_ptr_vec): Return an std::vector of
10094         gdb::unique_xmalloc_ptr, adjust the code.
10095         * auto-load.c (auto_load_safe_path_vec): Change type to
10096         std::vector of gdb::unique_xmalloc_ptr.
10097         (auto_load_expand_dir_vars): Return an std::vector of
10098         gdb::unique_xmalloc_ptr, adjust the code.
10099         (auto_load_safe_path_vec_update): Adjust.
10100         (filename_is_in_auto_load_safe_path_vec): Adjust.
10101         (auto_load_objfile_script_1): Adjust.
10102         * build-id.c (build_id_to_debug_bfd): Adjust.
10103         * linux-thread-db.c (thread_db_load_search): Adjust.
10104         * source.c (add_path): Adjust.
10105         (openp): Adjust.
10106         * symfile.c (find_separate_debug_file): Adjust.
10107         * utils.c (do_free_char_ptr_vec): Remove.
10108         (make_cleanup_free_char_ptr_vec): Remove.
10109
10110 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10111
10112         PR gdb/22907
10113         * common/pathstuff.c: Conditionally include "<windows.h>".
10114
10115 2018-03-01  Georg Sauthoff  <mail@georg.so>
10116
10117         PR gdb/22888
10118         * gcore.in: Quote variables and switch interpreter to bash.
10119
10120 2018-03-01  Tom Tromey  <tom@tromey.com>
10121
10122         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10123         assertion.  Add assertion for discriminant_index.
10124         (quirk_rust_enum): Use correct base type name in univariant case.
10125
10126 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10127
10128         * record.c (get_call_history_modifiers): Return a
10129         record_print_flags.
10130         (cmd_record_call_history): Adjust.
10131         * record-btrace.c (record_btrace_call_history): Adjust.
10132         (record_btrace_call_history_range): Adjust.
10133         (record_btrace_call_history_from): Adjust.
10134         * target-debug.h (target_debug_print_record_print_flags): New.
10135         * target-delegates.c: Re-generate.
10136         * target.c (target_call_history): Change flags type.
10137         (target_call_history_from): Likewise.
10138         (target_call_history_range): Likewise.
10139         * target.h (struct target_ops) <target_call_history>: Likewise.
10140         (target_call_history_from): Likewise.
10141         (target_call_history_range): Likewise.
10142
10143 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10144             Simon Marchi  <simon.marchi@polymtl.ca>
10145
10146         * common/common-utils.c: Include "sys/stat.h".
10147         (is_regular_file): Move here from "source.c"; change return
10148         type to "bool".
10149         * common/common-utils.h (is_regular_file): New prototype.
10150         * common/pathstuff.c (contains_dir_separator): New function.
10151         * common/pathstuff.h (contains_dir_separator): New prototype.
10152         * source.c: Don't include "sys/stat.h".
10153         (is_regular_file): Move to "common/common-utils.c".
10154
10155 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10156
10157         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10158         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10159         * auto-load.c: Include "common/pathstuff.h".
10160         * common/common-def.h (current_directory): Move here.
10161         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10162         function.
10163         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10164         prototype.
10165         * common/pathstuff.c: New file.
10166         * common/pathstuff.h: New file.
10167         * compile/compile.c: Include "common/pathstuff.h".
10168         * defs.h (current_directory): Move to "common/common-defs.h".
10169         * dwarf2read.c: Include "common/pathstuff.h".
10170         * exec.c: Likewise.
10171         * guile/scm-safe-call.c: Likewise.
10172         * linux-thread-db.c: Likewise.
10173         * main.c: Likewise.
10174         * nto-tdep.c: Likewise.
10175         * objfiles.c: Likewise.
10176         * source.c: Likewise.
10177         * symtab.c: Likewise.
10178         * utils.c: Include "common/pathstuff.h".
10179         (gdb_realpath): Move to "common/pathstuff.c".
10180         (gdb_realpath_keepfile): Likewise.
10181         (gdb_abspath): Likewise.
10182         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10183         (gdb_realpath_keepfile): Likewise.
10184         (gdb_abspath): Likewise.
10185
10186 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10187
10188         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10189         wildcard process pid for super_resume for kernels with a
10190         specific bug.
10191
10192 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10193
10194         * compile/compile.c (get_args): Add additional comments
10195         explaining function.
10196
10197 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10198             Tom Tromey  <tom@tromey.com>
10199
10200         * target.h (memory_write_request_s): Remove typedef.  Don't define
10201         VEC.
10202         (target_write_memory_blocks): Change argument to std::vector.
10203         (struct memory_write_request): Add constructor.
10204         * target-memory.c (compare_block_starting_address): Return bool.
10205         Change argument types.
10206         (claim_memory): Change arguments to use std::vector.
10207         (split_regular_and_flash_blocks, blocks_to_erase)
10208         (compute_garbled_blocks): Likewise.
10209         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10210         (target_write_memory_blocks): Change argument to std::vector.
10211         * symfile.c (struct load_section_data): Add constructor and
10212         destructor.  Use std::vector for "requests".
10213         (struct load_progress_data): Add initializers.
10214         (load_section_callback): Update.  Use "new".
10215         (clear_memory_write_data): Remove.
10216         (generic_load): Update.
10217
10218 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10219
10220         * arch/aarch64.h: Use common/tdesc.h.
10221
10222 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10223
10224         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10225         architecture with a 64-bit ABI.
10226
10227 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10228
10229         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10230         ahead of target description loading.
10231
10232 2018-02-26  Tom Tromey  <tom@tromey.com>
10233
10234         * stack.c (backtrace_command_1): Update.
10235         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10236         of "flags".
10237         * python/py-framefilter.c (py_print_frame)
10238         (gdbpy_apply_frame_filter): Change type of "flags".
10239         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10240         of "flags".
10241         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10242         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10243         * extension.h (enum frame_filter_flag): Rename from
10244         frame_filter_flags.
10245         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10246         (apply_ext_lang_frame_filter): Change type of "flags".
10247         * extension.c (apply_ext_lang_frame_filter): Change type of
10248         "flags".
10249         * extension-priv.h (struct extension_language_ops)
10250         <apply_frame_filter>: Change type of "flags".
10251
10252 2018-02-26  Tom Tromey  <tom@tromey.com>
10253
10254         PR python/16497:
10255         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10256         off-by-one in py_end computation.
10257         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10258         PRINT_MORE_FRAMES.
10259         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10260         constant.
10261
10262 2018-02-26  Tom Tromey  <tom@tromey.com>
10263
10264         * dwarf2read.c (struct variant_field): New.
10265         (struct nextfield) <variant>: New field.
10266         (dwarf2_add_field): Handle DW_TAG_variant_part.
10267         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10268         discriminated union.
10269         (read_structure_type): Handle DW_TAG_variant_part.
10270         (handle_struct_member_die): New function, extracted from
10271         process_structure_scope.  Handle DW_TAG_variant.
10272         (process_structure_scope): Handle discriminated unions.  Call
10273         handle_struct_member_die.
10274
10275 2018-02-26  Tom Tromey  <tom@tromey.com>
10276
10277         * rust-lang.h (rust_last_path_segment): Declare.
10278         * rust-lang.c (rust_last_path_segment): Now public.  Change
10279         contract.
10280         (struct disr_info): Remove.
10281         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10282         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10283         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10284         (rust_enum_p, rust_enum_variant): New function.
10285         (rust_underscore_fields): Remove "offset" parameter.
10286         (rust_print_enum): New function.
10287         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10288         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10289         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10290         enums.
10291         (rust_internal_print_type): New function, from rust_print_type.
10292         Remove enum code.
10293         (rust_print_type): Call rust_internal_print_type.
10294         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10295         Update enum handling.
10296         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10297         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10298         (rust_union_quirks): New functions.
10299         (process_full_comp_unit, process_full_type_unit): Call
10300         rust_union_quirks.
10301         (process_structure_scope): Update rust_unions if necessary.
10302
10303 2018-02-26  Tom Tromey  <tom@tromey.com>
10304
10305         * value.h (value_union_variant): Declare.
10306         * valops.c (value_union_variant): New function.
10307         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10308         (struct discriminant_info): New.
10309         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10310         enumerator.
10311         (struct main_type) <flag_discriminated_union>: New field.
10312
10313 2018-02-26  Tom Tromey  <tom@tromey.com>
10314
10315         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10316         unittests/unpack-selftests.c.
10317         * unittests/unpack-selftests.c: New file.
10318         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10319
10320 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10321
10322         * dwarf2read.c (struct partial_die_info) <read>: New method.
10323         (read_partial_die): Remove the declaration.
10324         (load_partial_dies): Update.
10325         (partial_die_info::partial_die_info):
10326         (read_partial_die): Change it to partial_die_info::read.
10327
10328 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10329
10330         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10331         (fixup_partial_die): Remove declaration.
10332         (scan_partial_symbols): Update.
10333         (partial_die_parent_scope): Likewise.
10334         (partial_die_full_name): Likewise.
10335         (fixup_partial_die): Change it to partial_die_info::fixup.
10336
10337 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10338
10339         * dwarf2read.c (read_partial_die): Update the declaration.
10340         (load_partial_dies): Caller update.
10341         (read_partial_die): Remove one argument abbrev_len.
10342
10343 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10344
10345         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10346         assignment operator.
10347         (load_partial_dies): Use ctor and copy ctor.
10348         (read_partial_die): Update.
10349         (dwarf2_cu::find_partial_die): Use ctor.
10350
10351 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10352
10353         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10354         (find_partial_die_in_comp_unit): Change it to
10355         dwarf2_cu::find_partial_die.
10356         (find_partial_die): Update.
10357
10358 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10359
10360         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10361         is NULL.
10362
10363 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10364
10365         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10366
10367 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10368
10369         * arch/amd64.h: Use common/tdesc.h.
10370         * arch/i386.c: Likewise.
10371         * arch/i386.h: Likewise.
10372         * arch/tic6x.c: Likewise.
10373         * arch/tdesc.h: Move file from here...
10374         * common/tdesc.h: ...to here.
10375         * features/aarch64-core.c: Regenerate.
10376         * features/aarch64-fpu.c: Regenerate.
10377         * features/i386/32bit-avx.c: Regenerate.
10378         * features/i386/32bit-avx512.c: Regenerate.
10379         * features/i386/32bit-core.c: Regenerate.
10380         * features/i386/32bit-linux.c: Regenerate.
10381         * features/i386/32bit-mpx.c: Regenerate.
10382         * features/i386/32bit-pkeys.c: Regenerate.
10383         * features/i386/32bit-sse.c: Regenerate.
10384         * features/i386/64bit-avx.c: Regenerate.
10385         * features/i386/64bit-avx512.c: Regenerate.
10386         * features/i386/64bit-core.c: Regenerate.
10387         * features/i386/64bit-linux.c: Regenerate.
10388         * features/i386/64bit-mpx.c: Regenerate.
10389         * features/i386/64bit-pkeys.c: Regenerate.
10390         * features/i386/64bit-segments.c: Regenerate.
10391         * features/i386/64bit-sse.c: Regenerate.
10392         * features/i386/x32-core.c: Regenerate.
10393         * features/tic6x-c6xp.c: Regenerate.
10394         * features/tic6x-core.c: Regenerate.
10395         * features/tic6x-gp.c: Regenerate.
10396         * target-descriptions.c: Use common/tdesc.h.
10397         * target-descriptions.h: Likewise.
10398
10399 2018-02-24  Tom Tromey  <tom@tromey.com>
10400
10401         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10402         (try_thread_db_load_from_dir, thread_db_load_search): Use
10403         std::string.
10404         (info_auto_load_libthread_db_compare): Return bool.  Change
10405         argument types.
10406         (info_auto_load_libthread_db): Use std::vector, std::string.
10407         Remove cleanups.
10408
10409 2018-02-24  Tom Tromey  <tom@tromey.com>
10410
10411         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10412         std::string.
10413         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10414         std::string*.
10415         * gdbarch.c: Rebuild.
10416         * gdbarch.h: Rebuild.
10417         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10418         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10419         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10420         std::string*.
10421
10422 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10423
10424         * gdbtypes.h (sect_offset): Change type to uint64_t.
10425         (sect_offset_str): New function.
10426         * dwarf2read.c (create_addrmap_from_aranges): Use
10427         sect_offset_str.
10428         (error_check_comp_unit_head): Likewise.
10429         (create_debug_type_hash_table): Likewise.
10430         (read_cutu_die_from_dwo): Likewise.
10431         (init_cutu_and_read_dies): Likewise.
10432         (init_cutu_and_read_dies_no_follow): Likewise.
10433         (process_psymtab_comp_unit_reader): Likewise.
10434         (partial_die_parent_scope): Likewise.
10435         (peek_die_abbrev): Likewise.
10436         (process_queue): Likewise.
10437         (dwarf2_physname): Likewise.
10438         (read_namespace_alias): Likewise.
10439         (read_import_statement): Likewise.
10440         (create_dwo_cu_reader): Likewise.
10441         (create_cus_hash_table): Likewise.
10442         (lookup_dwo_cutu): Likewise.
10443         (inherit_abstract_dies): Likewise.
10444         (read_func_scope): Likewise.
10445         (read_call_site_scope): Likewise.
10446         (dwarf2_add_member_fn): Likewise.
10447         (read_common_block): Likewise.
10448         (read_module_type): Likewise.
10449         (read_typedef): Likewise.
10450         (read_subrange_type): Likewise.
10451         (load_partial_dies): Likewise.
10452         (read_partial_die): Likewise.
10453         (find_partial_die): Likewise.
10454         (read_str_index): Likewise.
10455         (dwarf2_string_attr): Likewise.
10456         (build_error_marker_type): Likewise.
10457         (lookup_die_type): Likewise.
10458         (dump_die_shallow): Likewise.
10459         (follow_die_ref): Likewise.
10460         (dwarf2_fetch_die_loc_sect_off): Likewise.
10461         (dwarf2_fetch_constant_bytes): Likewise.
10462         (follow_die_sig): Likewise.
10463         (get_signatured_type): Likewise.
10464         (get_DW_AT_signature_type): Likewise.
10465         (dwarf2_find_containing_comp_unit): Likewise.
10466         (set_die_type): Likewise.
10467
10468 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10469
10470         * arch/aarch64.c: Include "common-defs.h".
10471         * arch/amd64.c: Likewise.
10472         * arch/i386.c: Likewise.
10473
10474 2018-02-21  Tom Tromey  <tom@tromey.com>
10475
10476         * value.h: (extract_field_op): Update.
10477         * eval.c (extract_field_op): Return a const char *.
10478         * expression.h (parse_expression_for_completion): Update.
10479         * completer.c (complete_expression): Update.
10480         (add_struct_fields): Make fieldname const.
10481         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10482         (mark_completion_tag, parse_exp_in_context_1): Update.
10483         (parse_expression_for_completion): Change "name" to
10484         unique_xmalloc_ptr*.
10485
10486 2018-02-21  Tom Tromey  <tom@tromey.com>
10487
10488         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10489
10490 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10491
10492         * avr-tdep.c (avr_read_pc): Change parameter type to
10493         readable_regcache.
10494         * gdbarch.sh (read_pc): Likewise.
10495         * gdbarch.c: Re-generated.
10496         * gdbarch.h: Re-generated.
10497         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10498         readable_regcache.
10499         * ia64-tdep.c (ia64_read_pc): Likewise.
10500         * mips-tdep.c (mips_read_pc): Likewise.
10501         * spu-tdep.c (spu_read_pc): Likewise.
10502
10503 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10504
10505         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10506         * regcache-dump.c: New file.
10507         * regcache.c: Move register_dump to regcache-dump.c.
10508         (maintenance_print_registers): Likewise.
10509         (maintenance_print_raw_registers): Likewise.
10510         (maintenance_print_cooked_registers): Likewise.
10511         (maintenance_print_register_groups): Likewise.
10512         (maintenance_print_remote_registers): Likewise.
10513         (_initialize_regcache): Likewise.
10514         * regcache.h (register_dump): Moved from regcache.c.
10515
10516 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10517
10518         * regcache.c (regcache::regcache): Update.
10519         (regcache::invalidate): Move it to detached_regcache::invalidate.
10520         (get_thread_arch_aspace_regcache): Update.
10521         (regcache::raw_update): Update.
10522         (regcache::cooked_read): Remove some code.
10523         (regcache::cooked_read_value): Likewise.
10524         (regcache::raw_write): Remove assert on m_readonly_p.
10525         (regcache::raw_supply_integer): Move it to
10526         detached_regcache::raw_supply_integer.
10527         (regcache::raw_supply_zeroed): Likewise.
10528         * regcache.h (detached_regcache) <raw_supply_integer>: New
10529         declaration.
10530         <raw_supply_zeroed, invalidate>: Likewise.
10531         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10532         <invalidate>: Likewise.
10533         <m_readonly_p>: Removed.
10534
10535 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10536
10537         * infcmd.c (get_return_value): Let stop_regs point to
10538         get_current_regcache.
10539         * regcache.c (regcache::regcache): Remove.
10540         (register_dump_reg_buffer): New class.
10541         (regcache_print): Adjust.
10542         * regcache.h (regcache): Remove constructors.
10543
10544 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10545
10546         * regcache.c (class register_dump): New class.
10547         (register_dump_regcache, register_dump_none): New class.
10548         (register_dump_remote, register_dump_groups): New class.
10549         (regcache_print): Update.
10550         * regcache.h (regcache_dump_what): Move it to regcache.c.
10551         (regcache) <dump>: Remove.
10552
10553 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10554
10555         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10556          reg_buffer_rw *.
10557         (jit_unwind_reg_set_impl): Call raw_supply.
10558         (jit_frame_sniffer): Use reg_buffer_rw.
10559         * record-full.c (record_full_core_regbuf): Change its type.
10560         (record_full_core_open_1): Use reg_buffer_rw.
10561         (record_full_close): Likewise.
10562         (record_full_core_fetch_registers): Use regcache->raw_supply.
10563         (record_full_core_store_registers): Likewise.
10564         * regcache.c (regcache::get_register_status): Move it to
10565         reg_buffer.
10566         (regcache_raw_set_cached_value): Remove.
10567         (regcache::raw_set_cached_value): Remove.
10568         (regcache::raw_write): Call raw_supply.
10569         (regcache::raw_supply): Move it to reg_buffer_rw.
10570         * regcache.h (regcache_raw_set_cached_value): Remove.
10571         (reg_buffer_rw): New class.
10572
10573 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10574
10575         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10576         readonly_detached_regcache.
10577         (dummy_frame_prev_register): Use regcache->cooked_read.
10578         * frame.c (frame_save_as_regcache): Change return type.
10579         (frame_pop): Update.
10580         * frame.h (frame_save_as_regcache): Update declaration.
10581         * inferior.h (get_infcall_suspend_state_regcache): Update
10582         declaration.
10583         * infrun.c (infcall_suspend_state) <registers>: use
10584         readonly_detached_regcache.
10585         (save_infcall_suspend_state): Don't use regcache_dup.
10586         (get_infcall_suspend_state_regcache): Change return type.
10587         * linux-fork.c (struct fork_info) <savedregs>: Change to
10588         readonly_detached_regcache.
10589         <pc>: New field.
10590         (fork_save_infrun_state): Don't use regcache_dup.
10591         (info_checkpoints_command): Adjust.
10592         * mi/mi-main.c (register_changed_p): Update declaration.
10593         (mi_cmd_data_list_changed_registers): Use
10594         readonly_detached_regcache.
10595         (register_changed_p): Change parameter type to
10596         readonly_detached_regcache.
10597         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10598         readonly_detached_regcache.
10599         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10600         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10601         New.
10602         (regcache::save): Move it to reg_buffer.
10603         (regcache::restore): Change parameter type.
10604         (regcache_dup): Remove.
10605         * regcache.h (reg_buffer) <save>: New method.
10606         (readonly_detached_regcache): New class.
10607         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10608         readonly_detached_regcache.
10609         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10610
10611 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10612
10613         * frame.c (frame_save_as_regcache): Use regcache method save.
10614         (frame_pop): Use regcache method restore.
10615         * infrun.c (restore_infcall_suspend_state): Likewise.
10616         * linux-fork.c (fork_load_infrun_state): Likewise.
10617         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10618         save.
10619         * regcache.c (regcache_save): Remove.
10620         (regcache::restore): More asserts.
10621         (regcache_cpy): Remove.
10622         * regcache.h (regcache_save): Remove the declaration.
10623         (regcache::restore): Move from private to public.
10624         Remove the friend declaration of regcache_cpy.
10625         (regcache_cpy): Remove declaration.
10626
10627 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10628
10629         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10630         parameter type to 'readable_regcache *'.
10631         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10632         * arm-tdep.c (arm_neon_quad_read): Likewise.
10633         (arm_pseudo_read): Likewise.
10634         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10635         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10636         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10637         * gdbarch.c: Re-generated.
10638         * gdbarch.h: Re-generated.
10639         * gdbarch.sh (pseudo_register_read): Change parameter type to
10640         'readable_regcache *'.
10641         (pseudo_register_read_value): Likewise.
10642         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10643         (h8300_pseudo_register_read): Likewise.
10644         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10645         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10646         (i386_pseudo_register_read_into_value): Likewise.
10647         (i386_pseudo_register_read_value): Likewise.
10648         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10649         declaration.
10650         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10651         * m32c-tdep.c (m32c_raw_read): Likewise.
10652         (m32c_read_flg): Likewise.
10653         (m32c_banked_register): Likewise.
10654         (m32c_banked_read): Likewise.
10655         (m32c_sb_read): Likewise.
10656         (m32c_part_read): Likewise.
10657         (m32c_cat_read): Likewise.
10658         (m32c_r3r2r1r0_read): Likewise.
10659         (m32c_pseudo_register_read): Likewise.
10660         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10661         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10662         (mep_pseudo_cr64_read): Likewise.
10663         (mep_pseudo_register_read): Likewise.
10664         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10665         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10666         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10667         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10668         (regcache::cooked_read): Likewise.
10669         (regcache::cooked_read_value): Likewise.
10670         (regcache_cooked_read_signed):
10671         (regcache::cooked_read): Likewise.
10672         * regcache.h (readable_regcache): New class.
10673         (regcache): Inherit readable_regcache.  Move some methods to
10674         readable_regcache.
10675         * rl78-tdep.c (rl78_pseudo_register_read): Change
10676         parameter type to 'readable_regcache *'.
10677         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10678         (e500_pseudo_register_read): Change parameter type to
10679         'readable_regcache *'.
10680         (dfp_pseudo_register_read): Likewise.
10681         (vsx_pseudo_register_read): Likewise.
10682         (efpr_pseudo_register_read): Likewise.
10683         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10684         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10685         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10686         (sh64_pseudo_register_read): Likewise.
10687         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10688         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10689         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10690         (spu_pseudo_register_read): Likewise.
10691         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10692         (xtensa_pseudo_register_read): Likewise.
10693
10694 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10695
10696         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10697         (regcache::arch): Move it to reg_buffer::arch.
10698         (regcache::register_buffer): Likewise.
10699         (regcache::assert_regnum): Likewise.
10700         (regcache::num_raw_registers): Likewise.
10701         * regcache.h (reg_buffer): New class.
10702         (regcache): Inherit reg_buffer.
10703
10704 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10705
10706         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10707         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10708
10709 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10710
10711         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10712
10713 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10714
10715         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10716         (SFILES): Remove common/*.c files.
10717         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10718         * common/common.host: Add common reference.
10719         * configure.ac: Likewise.
10720         * configure: Regenerate.
10721
10722 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10723
10724         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10725         (block_initialize_namespace): Use new.
10726         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10727         (dwarf2_free_objfile): Use delete.
10728         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10729         (copy_type_recursive): Use new.
10730         * gdb_obstack.h (allocate_on_obstack): New.
10731
10732 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10733
10734         PR gdb/22849
10735         * inferior.c (exit_inferior_1): Reset inf->control.
10736
10737 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10738
10739         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10740         declaration.
10741
10742 2018-02-14  Pedro Alves  <palves@redhat.com>
10743
10744         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10745         frame_cleanup_after_sniffer on exception.
10746
10747 2018-02-14  Tom Tromey  <tom@tromey.com>
10748
10749         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10750         const.
10751         (solib_bfd_open): Make pathname const.
10752         * solib.c (solib_bfd_open): Make pathname const.
10753         * solib-spu.c (spu_bfd_fopen): Make name const.
10754         (spu_bfd_open): Make pathname const.
10755         * solib-darwin.c (darwin_bfd_open): Make pathname const.
10756         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
10757
10758 2018-02-14  Tom Tromey  <tom@tromey.com>
10759
10760         * symfile.c (symfile_bfd_open): Update.
10761         * source.h (openp, source_full_path_of, find_and_open_source):
10762         Change argument type to unique_xmalloc_ptr.
10763         * source.c (openp): Take a unique_xmalloc_ptr.
10764         (source_full_path_of, find_and_open_source): Likewise.
10765         (open_source_file, symtab_to_fullname): Update.
10766         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
10767         unique_xmalloc_ptr.
10768         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
10769         (exec_file_find): Update.
10770         * psymtab.c (psymtab_to_fullname): Update.
10771         * nto-tdep.h (nto_find_and_open_solib): Update.
10772         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
10773         unique_xmalloc_ptr.
10774         * exec.c (exec_file_attach): Update.
10775         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
10776         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
10777
10778 2018-02-14  Tom Tromey  <tom@tromey.com>
10779
10780         * solib.c: Include source.h.
10781         * nto-tdep.c: Include source.h.
10782         * mi/mi-cmd-env.c: Include source.h.
10783         * infcmd.c: Include source.h.
10784         * exec.c: Include source.h.
10785         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
10786         (add_path, directory_switch, source_path, init_source_path): Move
10787         declarations...
10788         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
10789         (add_path, directory_switch, source_path, init_source_path):
10790         ...here.
10791
10792 2018-02-14  Tom Tromey  <tom@tromey.com>
10793
10794         * solist.h (exec_file_find, solib_find): Return
10795         unique_xmalloc_ptr.
10796         (solib_bfd_fopen): Take a const char *.
10797         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10798         (exec_file_find, solib_find): Likewise.
10799         (solib_bfd_fopen): Do not take ownership of "pathname".
10800         (solib_bfd_open): Use unique_xmalloc_ptr.
10801         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10802         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10803         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10804         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10805
10806 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10807
10808         * ada-lang.c (name_match_type_from_name): Remove reference to
10809         ada_name_for_lookup in function's documentation.
10810         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10811
10812 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10813
10814         * defs.h (enum openp_flags): New enum.
10815         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10816         Move to enum openp_flags.
10817         (openp_flags): New enum flags.
10818         (openp): Change parameter type to openp_flags.
10819         * source.c (openp): Change parameter type to openp_flags.
10820         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10821         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10822
10823 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10824
10825         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10826         per-command.
10827
10828 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10829
10830         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10831         into...
10832         (class dwarf2_queue_guard): ...the destructor of this new class.
10833         (dw2_do_instantiate_symtab): Create instance of the new class
10834         dwarf2_queue_guard, remove cleanup.
10835
10836 2018-02-09  Tom Tromey  <tom@tromey.com>
10837
10838         * source.c (find_source_lines): Don't reference past the end of
10839         the vector.
10840
10841 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10842
10843         * remote.c (remote_btrace_maybe_reopen): Change error message.
10844         * btrace.c (btrace_enable): Likewise.
10845         (parse_xml_btrace): Likewise.
10846         (parse_xml_btrace_conf): Likewise.
10847
10848 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10849
10850         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10851         (linux_enable_pt, linux_enable_bts): Call
10852         diagnose_perf_event_open_fail.
10853
10854 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10855
10856         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10857         Remove parameter and change return type.  Update callers.  Move it.
10858         (linux_enable_bts, linux_enable_pt): Improve error message.
10859         (linux_enable_pt): Remove zero buffer size check.
10860         (linux_enable_btrace): Improve error messages.  Remove NULL return
10861         check.
10862
10863 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10864
10865         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10866         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10867         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10868         (linux_supports_pt, linux_supports_btrace): Remove.
10869         (linux_enable_bts): Call cpu_supports_bts.
10870         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10871         * remote.c (remote_supports_btrace): Remove.
10872         (init_remote_ops): Remove remote_supports_btrace.
10873         * target-delegates.c: Regenerated.
10874         * target.c (target_supports_btrace): Remove.
10875         * target.h (target_ops) <to_supports_btrace>: Remove
10876         (target_supports_btrace): Remove.
10877         * x86-linux-nat.c (x86_linux_create_target): Remove
10878         linux_supports_btrace.
10879
10880 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10881
10882         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10883         btrace failed.
10884         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10885         exception and use message in own exception.
10886
10887 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10888
10889         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10890         (perf_event_pt_event_type): Use gdb_file_up.
10891         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10892         scoped_fd, and scoped_mmap.
10893
10894 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10895
10896         * common/scoped_mmap.h: New.
10897         * unittests/scoped_mmap-selftest.c: New.
10898         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10899         unittests/scoped_mmap-selftest.c.
10900
10901 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10902
10903         * common/scoped_fd.h: New.
10904         * unittests/scoped_fd-selftest.c: New.
10905         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10906         unittests/scoped_fd-selftest.c.
10907
10908 2018-02-09  Tom Tromey  <tom@tromey.com>
10909
10910         * auto-load.c (auto_load_section_scripts): Use
10911         gdb::unique_xmalloc_ptr.
10912
10913 2018-02-09  Tom Tromey  <tom@tromey.com>
10914
10915         * auto-load.c (execute_script_contents): Use std::string.
10916
10917 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10918
10919         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10920         Python function, rather than a new command.
10921
10922 2018-02-08  Tom Tromey  <tom@tromey.com>
10923
10924         * solib.c (solib_find_1): Use std::string.
10925         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10926
10927 2018-02-08  Tom Tromey  <tom@tromey.com>
10928
10929         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10930
10931 2018-02-08  Tom Tromey  <tom@tromey.com>
10932
10933         * source.c (find_source_lines): Use gdb::def_vector.
10934
10935 2018-02-08  Tom Tromey  <tom@tromey.com>
10936
10937         * macrocmd.c (struct temporary_macro_definition): New.
10938         (macro_define_command): Use temporary_macro_definition.  Remove
10939         cleanups.
10940         (free_macro_definition_ptr): Remove.
10941
10942 2018-02-08  Tom Tromey  <tom@tromey.com>
10943
10944         * macroexp.c (maybe_expand): Use std::string.
10945
10946 2018-02-08  Tom Tromey  <tom@tromey.com>
10947
10948         * macroexp.c (struct macro_buffer): Add initializers for some
10949         members.
10950         (init_buffer, init_shared_buffer, free_buffer)
10951         (free_buffer_return_text): Remove.
10952         (macro_buffer): New constructors.
10953         (~macro_buffer): New destructor.
10954         (macro_buffer::set_shared): New method.
10955         (macro_buffer::resize_buffer, macro_buffer::appendc)
10956         (macro_buffer::appendmem): Now methods, not free functions.
10957         (set_token, append_tokens_without_splicing, stringify)
10958         (macro_stringify): Update.
10959         (gather_arguments): Change return type.  Remove argc_p argument,
10960         add args_ptr argument.  Use std::vector.
10961         (substitute_args): Remove argc argument.  Accept std::vector.
10962         (expand): Update.  Use std::vector.
10963         (scan, macro_expand, macro_expand_next): Update.
10964
10965 2018-02-08  Tom Tromey  <tom@tromey.com>
10966
10967         * symtab.c (default_collect_symbol_completion_matches_break_on):
10968         Use unique_xmalloc_ptr.
10969         * macroscope.h: (sal_macro_scope, user_macro_scope)
10970         (default_macro_scope): Return unique_xmalloc_ptr.
10971         * macroscope.c (sal_macro_scope, user_macro_scope)
10972         (default_macro_scope): Return unique_xmalloc_ptr.
10973         * macroexp.h (macro_expand, macro_expand_once): Return
10974         unique_xmalloc_ptr.
10975         * macroexp.c (macro_expand, macro_expand_once): Return
10976         unique_xmalloc_ptr.
10977         * macrocmd.c (macro_expand_command, macro_expand_once_command)
10978         (info_macro_command, info_macros_command): Use
10979         unique_xmalloc_ptr.
10980         * compile/compile-c-support.c (write_macro_definitions): Use
10981         unique_xmalloc_ptr.
10982         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
10983
10984 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
10985
10986         * value.c (value_static_field): Assign field type instead of
10987         containing type when returning an optimized out value.
10988
10989 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10990
10991         * ft32-tdep.c (ft32_read_pc): Remove.
10992         (ft32_write_pc): Remove.
10993         (ft32_gdbarch_init): Update.
10994         * m32r-tdep.c (m32r_read_pc): Remove.
10995         (m32r_gdbarch_init): Update.
10996         * mep-tdep.c (mep_read_pc): Remove.
10997         (mep_gdbarch_init): Update.
10998         * microblaze-tdep.c (microblaze_write_pc): Remove.
10999         (microblaze_gdbarch_init): Update.
11000         * mn10300-tdep.c (mn10300_read_pc): Remove.
11001         (mn10300_write_pc): Remove.
11002         (mn10300_gdbarch_init): Update.
11003         * moxie-tdep.c (moxie_read_pc): Remove.
11004         (moxie_write_pc): Remove.
11005         (moxie_gdbarch_init): Update.
11006
11007 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11008
11009         * expprint.c (print_subexp_standard): Handle
11010         OP_F77_UNDETERMINED_ARGLIST.
11011         (dump_subexp_body_standard): Likewise.
11012
11013 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11014
11015         * target-descriptions.c (tdesc_element_visitor) Add empty
11016         implementations.
11017         (tdesc_type): Move make_gdb_type from here.
11018         (tdesc_type_builtin): Likewise.
11019         (tdesc_type_vector): Likewise.
11020         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11021         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11022         (make_gdb_type_union): Likewise.
11023         (make_gdb_type_flags): Likewise.
11024         (make_gdb_type_enum): Likewise.
11025         (make_gdb_type): New function.
11026         (tdesc_register_type): Use static make_gdb_type.
11027
11028 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11029
11030         * infcmd.c (default_print_one_register_info): Align natural-format
11031         column values consistently one under another.
11032         (pad_to_column): New function.
11033
11034 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11035
11036         * dwarf2read.c (dwarf2_physname): Move commment.
11037
11038 2018-02-01  Leszek Swirski  <leszeks@google.com>
11039
11040         * varobj.c (varobj_formatted_print_options): Allow recursive
11041         pretty printing if pretty printing is enabled.
11042
11043 2018-02-01  Leszek Swirski  <leszeks@google.com>
11044
11045         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11046         names after a structop as a filename.
11047
11048 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11049
11050         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11051         (arm_record_coproc_data_proc): Likewise.
11052
11053 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11054
11055         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11056
11057 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11058
11059         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11060         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11061
11062 2018-01-31  Pedro Alves  <palves@redhat.com>
11063
11064         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11065         * inflow.c (child_terminal_save_inferior): Wrap reference to
11066         tcgetpgrp in HAVE_TERMIOS_H.
11067         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11068         _WIN32.
11069         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11070         always iterate over all inferiors.
11071         (gdbsim_cntrl_c): Adjust.
11072         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11073
11074 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11075
11076         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11077         index type is objfile-owned if the element type is as well.
11078
11079 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11080
11081         GDB 8.1 released.
11082
11083 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11084
11085         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11086         "features/s390x-linux64.c".
11087         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11088         s390_linux32 and s390x_linux64.
11089         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11090         default tdesc.
11091         * s390-tdep.c: Include "features/s390-linux32.c" and
11092         "features/s390x-linux64.c".
11093         (s390_tdesc_valid): Add check for tdesc_has_registers.
11094         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11095         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11096         tdesc_s390x_linux64.
11097         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11098         tdesc_s390x_linux64 to...
11099         * s390-tdep.h: ...here.
11100
11101 2018-01-30  Pedro Alves  <palves@redhat.com>
11102
11103         PR gdb/13211
11104         * config.in, configure: Regenerate.
11105         * configure.ac: Check for getpgid.
11106         * go32-nat.c (go32_pass_ctrlc): New.
11107         (go32_target): Install it.
11108         * inf-child.c (inf_child_target): Install
11109         child_terminal_save_inferior, child_pass_ctrlc and
11110         child_interrupt.
11111         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11112         (inf_ptrace_target): No longer install it.
11113         * infcmd.c (interrupt_target_1): Adjust.
11114         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11115         (child_interrupt): Declare.
11116         (inferior::terminal_state): New.
11117         * inflow.c (struct terminal_info): Update comments.
11118         (inferior_process_group): Delete.
11119         (terminal_is_ours): Delete.
11120         (gdb_tty_state): New.
11121         (child_terminal_init): Adjust.
11122         (is_gdb_terminal, sharing_input_terminal_1)
11123         (sharing_input_terminal): New functions.
11124         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11125         Set the process's actual process group in the foreground if
11126         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11127         mark terminal as the inferior's if not sharing GDB's terminal.
11128         Don't check attach_flag.
11129         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11130         pass down a target_terminal_state.
11131         (child_terminal_save_inferior): New, factored out from ...
11132         (child_terminal_ours_1): ... this.  Handle
11133         target_terminal_state::is_ours_for_output.
11134         (child_interrupt, child_pass_ctrlc): New.
11135         (inflow_inferior_exit): Clear the inferior's terminal_state.
11136         (copy_terminal_info): Copy the inferior's terminal state.
11137         (_initialize_inflow): Remove reference to terminal_is_ours.
11138         * inflow.h (inferior_process_group): Delete.
11139         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11140         * procfs.c (procfs_target): Don't install procfs_interrupt.
11141         (procfs_interrupt): Delete.
11142         * remote.c (remote_serial_quit_handler): Adjust.
11143         (remote_interrupt): Remove ptid parameter.  Adjust.
11144         * target-delegates.c: Regenerate.
11145         * target.c: Include "terminal.h".
11146         (target_terminal::terminal_state): Rename to ...
11147         (target_terminal::m_terminal_state): ... this.
11148         (target_terminal::init): Adjust.
11149         (target_terminal::inferior): Adjust to per-inferior
11150         terminal_state.
11151         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11152         (target_terminal::ours, target_terminal::ours_for_output): Use
11153         target_terminal_is_ours_kind.
11154         (target_interrupt): Remove ptid parameter.  Adjust.
11155         (default_target_pass_ctrlc): Adjust.
11156         * target.h (target_ops::to_terminal_save_inferior): New field.
11157         (target_ops::to_interrupt): Remove ptid_t parameter.
11158         (target_interrupt): Remove ptid_t parameter.  Update comment.
11159         (target_pass_ctrlc): Update comment.
11160         * target/target.h (target_terminal_state): New scoped enum,
11161         factored out of ...
11162         (target_terminal::terminal_state): ... here.
11163         (target_terminal::inferior): Update comments.
11164         (target_terminal::restore_inferior): New.
11165         (target_terminal::is_inferior, target_terminal::is_ours)
11166         (target_terminal::is_ours_for_output): Adjust.
11167         (target_terminal::scoped_restore_terminal_state): Adjust to
11168         rename, and call restore_inferior() instead of inferior().
11169         (target_terminal::scoped_restore_terminal_state::m_state): Change
11170         type.
11171         (target_terminal::terminal_state): Rename to ...
11172         (target_terminal::m_terminal_state): ... this and change type.
11173
11174 2018-01-30  Pedro Alves  <palves@redhat.com>
11175
11176         * linux-nat.c (wait_for_signal): New function.
11177         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11178         directly.
11179         (async_terminal_is_ours)
11180         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11181         (linux_nat_add_target): Don't override
11182         to_terminal_inferior/to_terminal_ours.
11183
11184 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11185
11186         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11187
11188 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11189
11190         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11191         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11192         dwarf2_per_objfile_free here.
11193         (dwarf2_per_objfile_free): Remove.
11194         (_initialize_dwarf2_read): Don't register
11195         dwarf2_per_objfile_free as a registry cleanup.
11196
11197 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11198
11199         Avoid compilation errors in MinGW native builds
11200
11201         The error is triggered by including python-internal.h, and the
11202         error message is:
11203
11204              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11205                       from build-gnulib/import/math.h:27,
11206                       from d:/usr/Python26/include/pyport.h:235,
11207                       from d:/usr/Python26/include/Python.h:58,
11208                       from python/python-internal.h:94,
11209                       from python/py-arch.c:24:
11210              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11211         using ::hypot;
11212                 ^~~~~
11213
11214         This happens because Python headers define 'hypot' to expand t
11215         '_hypot' in the Windows builds.
11216         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11217         'hypoth'.  This avoids a compilation error.
11218
11219 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11220
11221         * MAINTAINERS (Write After Approval): Fix ordering.
11222
11223 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11224
11225         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11226
11227 2018-01-26  Alan Modra  <amodra@gmail.com>
11228
11229         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11230         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11231         Remove nop.  Make const.  Comment.
11232         (powerpc32_plt_stub_so_2): New.
11233         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11234         Correct count.  Update uses.
11235         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11236         Move common code reading PLT entry word.  Correct
11237         powerpc32_plt_stub PLT address calculation.
11238         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11239         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11240         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11241         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11242         (ppc64_standard_linkage8): Likewise.
11243         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11244         Correct insns description.
11245         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11246
11247 2018-01-24  Pedro Alves  <palves@redhat.com>
11248
11249         GCC PR libstdc++/83906
11250         * gdbtypes.c (operator==(const dynamic_prop &,
11251         const dynamic_prop &)): New.
11252         (operator==(const range_bounds &, const range_bounds &)): New.
11253         (check_types_equal): Use them instead of memcmp.
11254         * gdbtypes.h (operator==(const dynamic_prop &,
11255         const dynamic_prop &)): Declare.
11256         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11257         (operator==(const range_bounds &, const range_bounds &)): Declare.
11258         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11259
11260 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11261
11262         * s390-linux-tdep.c (s390_record_address_mask)
11263         (s390_record_calc_disp_common, s390_record_calc_disp)
11264         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11265         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11266         (s390_process_record): Move to s390-tdep.c.
11267         (s390_linux_init_abi_any): Adjust.
11268         * s390-tdep.c (s390_record_address_mask)
11269         (s390_record_calc_disp_common, s390_record_calc_disp)
11270         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11271         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11272         (s390_process_record): Moved from s390-linux-tdep.c
11273         (s390_gdbarch_init): Adjust.
11274
11275 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11276
11277         * s390-linux-nat.c (s390-tdep.h): New include.
11278         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11279         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11280         (ALLDEPFILES): Add s390-tdep.c.
11281         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11282         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11283         * s390-tdep.h: ...this.  New file.
11284         * s390-linux-tdep.c (s390-tdep.h): New include.
11285         (_initialize_s390_tdep): Rename to...
11286         (_initialize_s390_linux_tdep): ...this and adjust.
11287         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11288         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11289         s390-tdep.h.
11290         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11291         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11292         (s390_is_partial_instruction, s390_software_single_step)
11293         (is_non_branch_ril, s390_displaced_step_copy_insn)
11294         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11295         (s390_prologue_data, s390_addr, s390_store, s390_load)
11296         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11297         (s390_register_call_saved, s390_guess_tracepoint_registers)
11298         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11299         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11300         (s390_pseudo_register_name, s390_pseudo_register_type)
11301         (s390_pseudo_register_read, s390_pseudo_register_write)
11302         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11303         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11304         (s390_addr_bits_remove, s390_address_class_type_flags)
11305         (s390_address_class_type_flags_to_name)
11306         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11307         (s390_function_arg_float, s390_function_arg_vector)
11308         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11309         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11310         (s390_frame_align, s390_register_return_value, s390_return_value)
11311         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11312         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11313         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11314         (s390_trad_frame_prev_register, s390_unwind_cache)
11315         (s390_prologue_frame_unwind_cache)
11316         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11317         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11318         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11319         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11320         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11321         (s390_frame_base_address, s390_local_base_address)
11322         (s390_frame_base, s390_gcc_target_options)
11323         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11324         (s390_validate_reg_range, s390_tdesc_valid)
11325         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11326         * s390-tdep.c: ...this.  New file.
11327
11328 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11329
11330         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11331         (s390_process_record, s390_gdbarch_tdep_alloc)
11332         (s390_linux_init_abi_any): Use/set new hook.
11333
11334 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11335
11336         * s390-linux-tdep.c (osabi.h): New include.
11337         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11338         (s390_linux_init_abi_any): New functions.
11339         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11340
11341 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11342
11343         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11344         tdesc_has_registers check
11345
11346 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11347
11348         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11349         (s390_validate_reg_range): New macro.
11350         (s390_gdbarch_init): Adjust.
11351
11352 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11353
11354         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11355         (s390_gdbarch_tdep_alloc): Adjust.
11356         (s390_gdbarch_init): Adjust.
11357
11358 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11359
11360         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11361         <have_tdb>: Change type to bool.
11362         (s390_gdbarch_tdep_alloc): Adjust.
11363         (s390_gdbarch_init): Adjust.
11364
11365 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11366
11367         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11368         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11369         (s390_gdbarch_tdep_alloc): New function.
11370         (s390_gdbarch_init): Allocate tdep at start and use its fields
11371         instead of separate variables.
11372
11373 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11374
11375         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11376         when looking for cached gdbarch and add comment for remaining.
11377
11378 2018-01-22  Pedro Alves  <palves@redhat.com>
11379             Sergio Durigan Junior  <sergiodj@redhat.com>
11380
11381         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11382         case.
11383
11384 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11385
11386         * MAINTAINERS: Update my company e-mail address.
11387
11388 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11389
11390         * regcache.c (cooked_write_test): New function.
11391         (_initialize_regcache): Register the test.
11392
11393 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11394
11395         * ia64-tdep.c (ia64_pseudo_register_read): Call
11396         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11397         * m32c-tdep.c (m32c_cat_read): Likewise.
11398         (m32c_r3r2r1r0_read): Likewise.
11399         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11400         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11401
11402 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11403
11404         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11405         method raw_read instead of regcache_raw_read.
11406         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11407         * arm-tdep.c (arm_neon_quad_read): Likewise.
11408         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11409         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11410         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11411         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11412         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11413         (i386_pseudo_register_read_into_value): Likewise.
11414         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11415         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11416         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11417         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11418         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11419         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11420         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11421         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11422         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11423
11424 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11425
11426         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11427         * configure.tgt: Remove target mt.
11428         * mt-tdep.c: Remove.
11429         * regcache.c (cooked_read_test): Remove the check for mt.
11430
11431 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11432
11433         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11434         instead of gdbarch_pseudo_register_read_value.
11435
11436 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11437
11438         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11439         language is Ada.
11440
11441 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11442
11443         * linespec.c (create_sals_line_offset): Remove code that preserved
11444         the symtab_and_line's line number.
11445
11446 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11447
11448         * varobj.c (varobj_create): Don't set valid_block when creating a
11449         floating varobj.
11450
11451 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11452
11453         * varobj.c (varobj_create): Remove out of date comment.
11454
11455 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11456
11457         PR mi/20395
11458         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11459         updating innermost block.
11460         * parse.c (innermost_block_tracker::update): Take extra type
11461         parameter, and check types match before updating innermost block.
11462         (write_dollar_variable): Update innermost block for registers.
11463         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11464         (innermost_block_tracker::innermost_block_tracker): Initialise
11465         m_types member.
11466         (innermost_block_tracker::reset): Take type parameter.
11467         (innermost_block_tracker::update): Take type parameter, and pass
11468         type through as needed.
11469         (innermost_block_tracker::m_types): New member.
11470         * varobj.c (varobj_create): Pass type when reseting innermost
11471         block.
11472
11473 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11474
11475         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11476         * ada-lang.c (resolve_subexp): Likewise.
11477         * breakpoint.c (set_breakpoint_condition) Likewise.
11478         (watch_command_1) Likewise.
11479         * c-exp.y (variable): Likewise.
11480         * d-exp.y (PrimaryExpression): Likewise.
11481         * f-exp.y (variable): Likewise.
11482         * go-exp.y (variable): Likewise.
11483         * m2-exp.y (variable): Likewise.
11484         * objfiles.c (objfile::~objfile): Likewise.
11485         * p-exp.y (variable): Likewise.
11486         * parse.c (innermost_block): Change type.
11487         * parser-defs.h (class innermost_block_tracker): New.
11488         (innermost_block): Change to innermost_block_tracker.
11489         * printcmd.c (display_command): Switch to innermost_block API.
11490         (do_one_display): Likewise.
11491         * rust-exp.y (do_one_display): Likewise.
11492         * symfile.c (clear_symtab_users): Likewise.
11493         * varobj.c (varobj_create): Switch to innermost_block API, replace
11494         use of innermost_block with block stored on varobj object.
11495
11496 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11497
11498         * expression.h (innermost_block): Remove declaration.
11499         * varobj.c: Add 'parser-defs.h' include.
11500
11501 2018-01-19  Tom Tromey  <tom@tromey.com>
11502
11503         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11504         symbols in the static and global blocks.
11505
11506 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11507
11508         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11509         gdb_ptrace.h, and move including gdb_wait.h ...
11510         * nat/linux-ptrace.h: ... to here.
11511
11512 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11513
11514         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11515         inf_ptrace_detach_success.
11516         (inf_ptrace_detach_success): Add inferior parameter, use it
11517         instead of inferior_ptid, pass it to detach_inferior.
11518         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11519         parameter.
11520         * inferior.c (detach_inferior): Add overload that takes an
11521         inferior object.
11522         * inferior.h (detach_inferior): Likewise.
11523         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11524         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11525         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11526
11527 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11528
11529         * target.h (struct target_ops) <to_detach>: Add inferior
11530         parameter.
11531         (target_detach): Likewise.
11532         * target.c (dispose_inferior): Pass inferior down.
11533         (target_detach): Pass inferior down.  Assert that it is equal to
11534         the current inferior.
11535         * aix-thread.c (aix_thread_detach): Pass inferior down.
11536         * corefile.c (core_file_command): Pass current_inferior() down.
11537         * corelow.c (core_detach): Add inferior parameter.
11538         * darwin-nat.c (darwin_detach): Likewise.
11539         * gnu-nat.c (gnu_detach): Likewise.
11540         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11541         * infcmd.c (detach_command): Pass current_inferior() down to
11542         target_detach.
11543         * infrun.c (follow_fork_inferior): Pass parent_inf to
11544         target_detach.
11545         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11546         target_detach.
11547         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11548         * linux-thread-db.c (thread_db_detach): Likewise.
11549         * nto-procfs.c (procfs_detach): Likewise.
11550         * procfs.c (procfs_detach): Likewise.
11551         * record.c (record_detach): Likewise.
11552         * record.h (struct inferior): Forward-declare.
11553         (record_detach): Add inferior parameter.
11554         * remote-sim.c (gdbsim_detach): Likewise.
11555         * remote.c (remote_detach_1): Likewise.
11556         (remote_detach): Likewise.
11557         (extended_remote_detach): Likewise.
11558         * sol-thread.c (sol_thread_detach): Likewise.
11559         * target-debug.h (target_debug_print_inferior_p): New macro.
11560         * target-delegates.c: Re-generate.
11561         * top.c (kill_or_detach): Pass inferior down to target_detach.
11562         * windows-nat.c (windows_detach): Add inferior parameter.
11563
11564 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11565
11566         * target.h (struct target_ops) <to_detach>: Remove args
11567         parameter.
11568         (target_detach): Likewise.
11569         * target.c (dispose_inferior): Adjust.
11570         (target_detach): Remove args parameter, adjust.
11571         * aix-thread.c (aix_thread_detach): Adjust.
11572         * corefile.c (core_file_command): Adjust.
11573         * corelow.c (core_detach): Adjust.
11574         * darwin-nat.c (darwin_detach): Adjust.
11575         * gnu-nat.c (gnu_detach): Adjust.
11576         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11577         * infcmd.c (detach_command): Adjust
11578         * infrun.c (follow_fork_inferior): Adjust.
11579         (handle_vfork_child_exec_or_exit): Adjust.
11580         * linux-fork.c (linux_fork_detach): Remove args parameter.
11581         * linux-fork.h (linux_fork_detach): Likewise.
11582         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11583         * linux-thread-db.c (thread_db_detach): Likewise.
11584         * nto-procfs.c (procfs_detach): Likewise.
11585         * procfs.c (procfs_detach): Likewise.
11586         (do_detach): Remove signo parameter.
11587         * record.c (record_detach): Remove args parameter.
11588         * record.h (record_detach): Likewise.
11589         * remote-sim.c (gdbsim_detach): Likewise.
11590         * remote.c (remote_detach_1): Likewise.
11591         (remote_detach): Likewise.
11592         (extended_remote_detach): Likewise.
11593         * sol-thread.c (sol_thread_detach): Likewise.
11594         * target-delegates.c: Re-generate.
11595         * top.c (struct qt_args) <args>: Remove field.
11596         (kill_or_detach): Don't pass args.
11597         (quit_force): Don't set args.
11598         * windows-nat.c (windows_detach): Remove args parameter.
11599
11600 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11601
11602         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11603         (arm_linux_init_abi): Install it.
11604
11605 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11606
11607         * osabi.c (gdb_osabi_names): Extend the regexp for
11608         arm-linux-gnueabihf.
11609
11610 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11611
11612         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11613         m_abbrevs.
11614         (abbrev_table::add_abbrev): Update.
11615         (abbrev_table::lookup_abbrev): Update.
11616
11617 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11618
11619         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11620
11621 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11622
11623         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11624         to "std::string".
11625
11626 2018-01-17  Tom Tromey  <tom@tromey.com>
11627
11628         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11629
11630 2018-01-17  Tom Tromey  <tom@tromey.com>
11631
11632         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11633         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11634         (create_array_type_with_stride): Update.
11635         * dwarf2read.c (set_die_type): Update.
11636
11637 2018-01-17  Tom Tromey  <tom@tromey.com>
11638
11639         * dwarf2read.c (delayed_method_info): Remove typedef.
11640         (dwarf2_cu::method_info): Now a std::vector.
11641         (add_to_method_list): Update.
11642         (free_delayed_list): Remove.
11643         (compute_delayed_physnames): Update.
11644         (process_full_comp_unit, process_full_type_unit): Clear the method
11645         list.  Remove cleanups.
11646         (psymtab_include_file_name): Add name_holder parameter.  Use
11647         unique_xmalloc_ptr.
11648         (dwarf_decode_lines): Update.
11649
11650 2018-01-17  Tom Tromey  <tom@tromey.com>
11651             Simon Marchi  <simon.marchi@ericsson.com>
11652
11653         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11654         (dwarf2_per_objfile::free_cached_comp_units)
11655         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11656         (init_cutu_and_read_dies_no_follow): Update.
11657         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11658         (dwarf2_cu::~dwarf2_cu): New.
11659         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11660         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11661
11662 2018-01-17  Tom Tromey  <tom@tromey.com>
11663             Simon Marchi  <simon.marchi@ericsson.com>
11664
11665         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11666         (struct die_reader_specs) <abbrev_table>: New member.
11667         (struct abbrev_table): Add constructor.
11668         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11669         <abbrev_obstack>: Now an auto_obstack.
11670         (abbrev_table_up): New typedef.
11671         (init_cu_die_reader): Add abbrev_table parameter.
11672         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11673         Add result_dwo_abbrev_table.
11674         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11675         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11676         Update.
11677         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11678         parameter.
11679         (skip_children): Update.
11680         (abbrev_table::alloc_abbrev): Rename from
11681         abbrev_table_alloc_abbrev.
11682         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11683         (abbrev_table::lookup_abbrev): Rename from
11684         abbrev_table_lookup_abbrev.
11685         (abbrev_table_read_table): Return abbrev_table_up.
11686         (abbrev_table_free, abbrev_table_free_cleanup)
11687         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11688         (load_partial_dies): Update.
11689
11690 2018-01-17  Tom Tromey  <tom@tromey.com>
11691
11692         * dwarf2read.c (dwarf2_compute_name): Update comment.
11693         (read_func_scope, read_variable): Update.
11694         (new_symbol): Remove.
11695         (new_symbol_full): Rename to new_symbol.
11696
11697 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11698
11699         PR gdb/16577
11700         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11701         a warning instead of throwing an error, set section size to 0 and return
11702         NULL.
11703         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11704
11705 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11706
11707         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11708         std::string.
11709         (linux_ptrace_attach_fail_reason_string): Likewise.
11710         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11711         Likewise.
11712         (linux_ptrace_attach_fail_reason_string): Likewise.
11713         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11714
11715 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11716
11717         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11718
11719 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11720
11721         PR gdb/21559
11722         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11723         checking for fs_base/gs_base fields in struct user_regs_struct.
11724         * configure: Regenerate.
11725
11726 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11727
11728         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11729         function.
11730         (aarch64_linux_init_abi): Install it to gdbarch hook
11731         gcc_target_options.
11732
11733 2018-01-15  Pedro Alves  <palves@redhat.com>
11734
11735         * common/signals-state-save-restore.c
11736         (save_original_signals_state): Fix typos.
11737
11738 2017-01-12  Tom Tromey  <tom@tromey.com>
11739             Sergio Durigan Junior  <sergiodj@redhat.com>
11740
11741         * Makefile.in (install-only): Install gdb-add-index.
11742
11743 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11744
11745         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11746
11747 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11748
11749         * infrun.c (keep_going_pass_signal): Clear step-over info when
11750         insert_breakpoints fails.
11751
11752 2018-01-11  Pedro Alves  <palves@redhat.com>
11753
11754         PR gdb/22583
11755         * infrun.c (resume): Rename to ...
11756         (resume_1): ... this.
11757         (resume): Reimplement as wrapper around resume_1.
11758
11759 2018-01-11  Pedro Alves  <palves@redhat.com>
11760
11761         PR remote/22597
11762         * remote.c (remote_parse_stop_reply): Default to the last-set
11763         general thread instead of to 'magic_null_ptid'.
11764
11765 2018-01-10  Pedro Alves  <palves@redhat.com>
11766
11767         * language.h (language_get_symbol_name_matcher): Rename ...
11768         (get_symbol_name_matcher): ... this.
11769         * language.c (language_get_symbol_name_matcher): Ditto.
11770         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
11771         callers adjusted.
11772
11773 2018-01-10  Pedro Alves  <palves@redhat.com>
11774
11775         PR gdb/22670
11776         * dwarf2read.c
11777         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
11778         Adjust to use language_get_symbol_name_matcher instead of
11779         language_defn::la_get_symbol_name_matcher.
11780         * language.c (language_get_symbol_name_matcher): If in Ada mode
11781         and the lookup name is a verbatim match, return Ada's matcher.
11782         * language.h (language_get_symbol_name_matcher): Adjust comment.
11783         (ada_lookup_name_info::verbatim_p):: New method.
11784
11785 2018-01-10  Pedro Alves  <palves@redhat.com>
11786
11787         PR gdb/22670
11788         * ada-lang.c (ada_collect_symbol_completion_matches): If the
11789         minsym's language is language_auto or language_cplus, pass down
11790         language_ada instead.
11791         * symtab.c (compare_symbol_name): Don't frob symbol language here.
11792
11793 2018-01-10  Pedro Alves  <palves@redhat.com>
11794
11795         PR gdb/22670
11796         * minsyms.c (linkage_name_str): New function.
11797         (iterate_over_minimal_symbols): Use it.
11798
11799 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11800
11801         * NEWS: Document that 'info proc' now works on FreeBSD.
11802
11803 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11804
11805         * configure.ac: Check for kinfo_getfile in libutil.
11806         * configure: Regenerate.
11807         * config.in: Regenerate.
11808         * fbsd-nat.c: Include "fbsd-tdep.h".
11809         (fbsd_fetch_cmdline): New.
11810         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11811         rather than calling error.
11812         (fbsd_info_proc): New.
11813         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11814         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11815         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11816
11817 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11818
11819         * fbsd-nat.c (struct free_deleter): Remove.
11820         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11821
11822 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11823
11824         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11825         NULL for an empty pathname.
11826
11827 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11828
11829         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11830         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11831         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11832         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11833         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11834         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11835         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11836         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11837         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11838         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11839         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11840         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11841         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11842         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11843         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11844
11845 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11846
11847         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11848         (gnu_xfer_auxv): New function.
11849         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11850         TARGET_OBJECT_AUXV.
11851
11852 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11853             Simon Marchi  <simon.marchi@ericsson.com>
11854
11855         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11856         common/selftest.c.
11857         (COMMON_OBS): Remove selftest.o.
11858         * configure.ac: Append selftest-arch.c and common/selftest.c to
11859         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11860         * configure: Re-generated.
11861         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11862         GDB_SELF_TEST.
11863         (maintenance_info_selftests): Likewise.
11864
11865 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11866
11867         * ada-valprint.c (val_print_packed_array_elements): Use
11868         proper number of elements when printing an array indexed
11869         by an enumeration type.
11870
11871 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11872
11873         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11874         (dw2_get_file_names_reader): Adjust.
11875         (lookup_dwo_signatured_type): Adjust.
11876         (lookup_dwp_signatured_type): Adjust.
11877         (lookup_signatured_type): Adjust.
11878         (create_type_unit_group): Adjust.
11879         (get_type_unit_group): Adjust.
11880         (process_psymtab_comp_unit_reader): Adjust.
11881         (build_type_psymtabs_reader): Adjust.
11882         (scan_partial_symbols): Adjust.
11883         (add_partial_symbol): Adjust.
11884         (add_partial_subprogram): Adjust.
11885         (peek_die_abbrev): Adjust.
11886         (fixup_go_packaging): Adjust.
11887         (process_imported_unit_die): Adjust.
11888         (dwarf2_compute_name): Adjust.
11889         (dwarf2_physname): Adjust.
11890         (read_import_statement): Adjust.
11891         (handle_DW_AT_stmt_list): Adjust.
11892         (read_file_scope): Adjust.
11893         (read_func_scope): Adjust.
11894         (read_lexical_block_scope): Adjust.
11895         (read_call_site_scope): Adjust.
11896         (read_variable): Adjust.
11897         (dwarf2_rnglists_process): Adjust.
11898         (dwarf2_ranges_process): Adjust.
11899         (dwarf2_ranges_read): Adjust.
11900         (dwarf2_get_pc_bounds): Adjust.
11901         (dwarf2_record_block_ranges): Adjust.
11902         (dwarf2_add_field): Adjust.
11903         (dwarf2_add_member_fn): Adjust.
11904         (read_structure_type): Adjust.
11905         (process_structure_scope): Adjust.
11906         (read_enumeration_type): Adjust.
11907         (read_array_type): Adjust.
11908         (mark_common_block_symbol_computed): Adjust.
11909         (read_common_block): Adjust.
11910         (read_namespace_type): Adjust.
11911         (read_namespace): Adjust.
11912         (read_module_type): Adjust.
11913         (read_tag_pointer_type): Adjust.
11914         (read_tag_ptr_to_member_type): Adjust.
11915         (read_tag_string_type): Adjust.
11916         (read_subroutine_type): Adjust.
11917         (read_typedef): Adjust.
11918         (read_base_type): Adjust.
11919         (attr_to_dynamic_prop): Adjust.
11920         (read_subrange_type): Adjust.
11921         (read_unspecified_type): Adjust.
11922         (dwarf2_read_abbrevs): Adjust.
11923         (load_partial_dies): Adjust.
11924         (read_partial_die): Adjust.
11925         (find_partial_die): Adjust.
11926         (guess_partial_die_structure_name): Adjust.
11927         (fixup_partial_die): Adjust.
11928         (read_attribute_value): Adjust.
11929         (read_addr_index): Adjust.
11930         (read_addr_index_from_leb128): Adjust.
11931         (read_str_index): Adjust.
11932         (dwarf2_string_attr): Adjust.
11933         (get_debug_line_section): Adjust.
11934         (dwarf_decode_line_header): Adjust.
11935         (lnp_state_machine::check_line_address): Adjust.
11936         (dwarf_decode_lines_1): Adjust.
11937         (dwarf_decode_lines): Adjust.
11938         (dwarf2_start_symtab): Adjust.
11939         (var_decode_location): Adjust.
11940         (new_symbol_full): Adjust.
11941         (dwarf2_const_value_data): Adjust.
11942         (dwarf2_const_value_attr): Adjust.
11943         (dwarf2_const_value): Adjust.
11944         (die_type): Adjust.
11945         (die_containing_type): Adjust.
11946         (build_error_marker_type): Adjust.
11947         (lookup_die_type): Adjust.
11948         (guess_full_die_structure_name): Adjust.
11949         (anonymous_struct_prefix): Adjust.
11950         (determine_prefix): Adjust.
11951         (dwarf2_name): Adjust.
11952         (follow_die_ref_or_sig): Adjust.
11953         (follow_die_offset): Adjust.
11954         (follow_die_ref): Adjust.
11955         (follow_die_sig_1): Adjust.
11956         (follow_die_sig): Adjust.
11957         (get_signatured_type): Adjust.
11958         (get_DW_AT_signature_type): Adjust.
11959         (decode_locdesc): Adjust.
11960         (dwarf_decode_macros): Adjust.
11961         (cu_debug_loc_section): Adjust.
11962         (fill_in_loclist_baton): Adjust.
11963         (dwarf2_symbol_mark_computed): Adjust.
11964         (init_one_comp_unit): Don't assign
11965         dwarf2_cu::dwarf2_per_objfile.
11966         (set_die_type): Adjust.
11967
11968 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11969
11970         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11971         <dwarf2_per_objfile>: New field.
11972         (dwarf2_per_objfile): Remove global.
11973         (get_dwarf2_per_objfile): New function.
11974         (set_dwarf2_per_objfile): New function.
11975         (dwarf2_build_psymtabs_hard): Change objfile parameter to
11976         dwarf2_per_objfile.
11977         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11978         (read_abbrev_offset): Likewise.
11979         (read_indirect_string): Likewise.
11980         (read_indirect_line_string): Likewise.
11981         (read_indirect_string_at_offset): Likewise.
11982         (read_indirect_string_from_dwz): Likewise.
11983         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11984         dwarf2_per_objfile.
11985         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11986         (create_all_comp_units): Change objfile parameter to
11987         dwarf2_per_objfile.
11988         (create_all_type_units): Likewise.
11989         (process_queue): Add dwarf2_per_objfile parameter.
11990         (read_and_check_comp_unit_head): Likewise.
11991         (lookup_dwo_unit_in_dwp): Likewise.
11992         (get_dwp_file): Likewise.
11993         (process_cu_includes): Likewise.
11994         (struct free_dwo_file_cleanup_data): New struct.
11995         (dwarf2_has_info): Use get_dwarf2_per_objfile and
11996         set_dwarf2_per_objfile.
11997         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
11998         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
11999         context, adjust calls.
12000         (dw2_instantiate_symtab): Likewise.
12001         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12002         (dw2_get_cu): Likewise.
12003         (create_cu_from_index_list): Change objfile parameter to
12004         dwarf2_per_objfile.
12005         (create_cus_from_index_list): Get dwarf2_per_objfile from
12006         context, adjust calls.
12007         (create_cus_from_index): Likewise.
12008         (create_signatured_type_table_from_index): Change objfile
12009         parameter to dwarf2_per_objfile.
12010         (create_signatured_type_table_from_debug_names): Change objfile
12011         parameter to dwarf2_per_objfile.
12012         (create_addrmap_from_index): Likewise.
12013         (create_addrmap_from_aranges): Likewise.
12014         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12015         (dw2_setup): Remove.
12016         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12017         context.
12018         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12019         get_dwarf2_per_objfile.
12020         (dw2_forget_cached_source_info): Likewise.
12021         (dw2_map_symtabs_matching_filename): Likewise.
12022         (struct dw2_symtab_iterator) <index>: Remove.
12023         <dwarf2_per_objfile>: New field.
12024         (dw2_symtab_iter_init): Replace index parameter with
12025         dwarf2_per_objfile.
12026         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12027         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12028         (dw2_print_stats): Likewise.
12029         (dw2_dump): Likewise.
12030         (dw2_expand_symtabs_for_function): Likewise.
12031         (dw2_expand_all_symtabs): Likewise.
12032         (dw2_expand_symtabs_with_fullname): Likewise.
12033         (dw2_expand_marked_cus): Replace index and objfile parameters
12034         with dwarf2_per_objfile.
12035         (dw_expand_symtabs_matching_file_matcher): Add
12036         dwarf2_per_objfile parameter and adjust calls.
12037         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12038         adjust calls.
12039         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12040         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12041         adjust calls.
12042         (create_cus_from_debug_names_list): Replace objfile parameter
12043         with dwarf2_per_objfile and adjust calls.
12044         (create_cus_from_debug_names): Likewise.
12045         (dwarf2_read_debug_names): Likewise.
12046         (mapped_debug_names::namei_to_name): Adjust call.
12047         (dw2_debug_names_iterator::next): Likewise.
12048         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12049         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12050         (dw2_debug_names_dump): Likewise.
12051         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12052         (dw2_debug_names_expand_symtabs_matching): Likewise.
12053         (dwarf2_initialize_objfile): Likewise.
12054         (dwarf2_build_psymtabs): Likewise.
12055         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12056         this_cu.
12057         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12058         (read_and_check_comp_unit_head): Likewise.
12059         (read_abbrev_offset): Likewise.
12060         (create_debug_type_hash_table): Likewise.
12061         (create_debug_types_hash_table): Likewise.
12062         (create_all_type_units): Replace objfile parameter with
12063         dwarf2_per_objfile.
12064         (add_type_unit): Add dwarf2_per_objfile parameter.
12065         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12066         with dwarf2_per_objfile.
12067         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12068         (lookup_dwp_signatured_type): Likewise.
12069         (lookup_signatured_type): Likewise.
12070         (read_cutu_die_from_dwo): Likewise.
12071         (init_tu_and_read_dwo_dies): Likewise.
12072         (init_cutu_and_read_dies): Likewise.
12073         (init_cutu_and_read_dies_no_follow): Likewise.
12074         (allocate_type_unit_groups_table): Add objfile parameter.
12075         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12076         (get_type_unit_group): Likewise.
12077         (process_psymtab_comp_unit): Update call.
12078         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12079         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12080         (print_tu_stats): Likewise.
12081         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12082         in void* parameter.
12083         (build_type_psymtabs): Change objfile parameter to
12084         dwarf2_per_objfile.
12085         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12086         passed in void* parameter.
12087         (process_skeletonless_type_units): Change objfile parameter to
12088         dwarf2_per_objfile.
12089         (set_partial_user): Likewise.
12090         (dwarf2_build_psymtabs_hard): Likewise.
12091         (read_comp_units_from_section): Likewise.
12092         (create_all_comp_units): Likewise.
12093         (scan_partial_symbols): Update calls.
12094         (add_partial_symbol): Likewise.
12095         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12096         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12097         (process_queue): Add dwarf2_per_objfile parameter.
12098         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12099         (compute_compunit_symtab_includes): Likewise.
12100         (process_cu_includes): Add dwarf2_per_objfile parameter.
12101         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12102         (process_full_type_unit): Likewise.
12103         (process_imported_unit_die): Update call.
12104         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12105         (read_file_scope): Likewise.
12106         (allocate_dwo_file_hash_table): Add objfile parameter.
12107         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12108         (create_cus_hash_table): Likewise.
12109         (create_dwp_hash_table): Likewise.
12110         (create_dwo_unit_in_dwp_v1): Likewise.
12111         (create_dwp_v2_section): Likewise.
12112         (create_dwo_unit_in_dwp_v2): Likewise.
12113         (lookup_dwo_unit_in_dwp): Likewise.
12114         (try_open_dwop_file): Likewise.
12115         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12116         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12117         cleanup to include a reference to dwarf2_per_objfile.
12118         (open_dwp_file): Add dwarf2_per_objfile parameter.
12119         (open_and_init_dwp_file): Likewise.
12120         (get_dwp_file): Likewise.
12121         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12122         (queue_and_load_all_dwo_tus): Update call.
12123         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12124         data.
12125         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12126         (dwarf2_ranges_process): Likewise.
12127         (dwarf2_get_pc_bounds): Likewise.
12128         (mark_common_block_symbol_computed): Likewise.
12129         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12130         (dwarf2_read_abbrevs): Update call.
12131         (read_partial_die): Use dwarf2_per_objfile from cu.
12132         (find_partial_die): Likewise.
12133         (fixup_partial_die): Likewise.
12134         (read_attribute_value): Likewise.
12135         (read_indirect_string_at_offset_from): Add objfile parameter.
12136         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12137         parameter.
12138         (read_indirect_string_from_dwz): Add objfile parameter.
12139         (read_indirect_string): Add objfile parameter.
12140         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12141         (read_addr_index): Use dwarf2_per_objfile from cu.
12142         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12143         call dw2_setup.
12144         (read_str_index): Use dwarf2_per_objfile from cu.
12145         (get_debug_line_section): Likewise.
12146         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12147         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12148         (new_symbol_full): Use dwarf2_per_objfile from cu.
12149         (build_error_marker_type): Likewise.
12150         (lookup_die_type): Likewise.
12151         (determine_prefix): Likewise.
12152         (follow_die_offset): Likewise.
12153         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12154         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12155         (dwarf2_fetch_die_type_sect_off): Likewise.
12156         (dwarf2_get_die_type): Likewise.
12157         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12158         (get_signatured_type): Likewise.
12159         (get_DW_AT_signature_type): Likewise.
12160         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12161         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12162         (cu_debug_loc_section): Likewise.
12163         (fill_in_loclist_baton): Likewise.
12164         (dwarf2_symbol_mark_computed): Likewise.
12165         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12166         dwarf2_per_objfile.
12167         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12168         parameter.
12169         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12170         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12171         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12172         (set_die_type): Use dwarf2_free_objfile from cu.
12173         (get_die_type_at_offset): Likewise.
12174         (dwarf2_per_objfile_free): Don't assign global variable.
12175         (debug_names) <constructor>: Add dwarf2_per_objfile
12176         parameter, update m_debugstrlookup construction.
12177         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12178         parameter.
12179         <m_dwarf2_per_objfile>: New field.
12180         <lookup>: Use m_dwarf2_per_objfile.
12181         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12182         (psyms_seen_size): Likewise.
12183         (write_gdbindex): Replace objfile parameter with
12184         dwarf2_per_objfile.
12185         (write_debug_names): Likewise.
12186         (write_psymtabs_to_index): Likewise.
12187         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12188         calls.
12189
12190 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12191
12192         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12193         <dwarf2_per_objfile>: New field.
12194         (struct dwarf2_per_cu_data) <objfile>: Remove.
12195         <dwarf2_per_objfile>: New field.
12196         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12197         of objfile.
12198         (create_signatured_type_table_from_index): Likewise.
12199         (create_debug_type_hash_table): Likewise.
12200         (fill_in_sig_entry_from_dwo_entry): Likewise.
12201         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12202         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12203         objfile.
12204         (create_partial_symtab): Access objfile through
12205         dwarf2_per_objfile.
12206         (process_psymtab_comp_unit_reader): Likewise.
12207         (read_comp_units_from_section): Likewise.
12208         (scan_partial_symbols): Likewise.
12209         (add_partial_symbol): Likewise.
12210         (add_partial_subprogram): Likewise.
12211         (peek_die_abbrev): Likewise.
12212         (fixup_go_packaging): Likewise.
12213         (process_full_comp_unit): Likewise.
12214         (process_full_type_unit): Likewise.
12215         (process_imported_unit_die): Likewise.
12216         (dwarf2_compute_name): Likewise.
12217         (dwarf2_physname): Likewise.
12218         (read_import_statement): Likewise.
12219         (create_cus_hash_table): Assign dwarf2_physname instead of
12220         objfile.
12221         (read_func_scope): Access objfile through dwarf2_per_objfile.
12222         (read_lexical_block_scope): Likewise.
12223         (read_call_site_scope): Likewise.
12224         (read_variable): Likewise.
12225         (dwarf2_rnglists_process): Likewise.
12226         (dwarf2_ranges_process): Likewise.
12227         (dwarf2_ranges_read): Likewise.
12228         (dwarf2_record_block_ranges): Likewise.
12229         (dwarf2_add_field): Likewise.
12230         (dwarf2_add_member_fn): Likewise.
12231         (read_structure_type): Likewise.
12232         (process_structure_scope): Likewise.
12233         (read_enumeration_type): Likewise.
12234         (read_array_type): Likewise.
12235         (read_common_block): Likewise.
12236         (read_namespace_type): Likewise.
12237         (read_namespace): Likewise.
12238         (read_module_type): Likewise.
12239         (read_tag_pointer_type): Likewise.
12240         (read_tag_ptr_to_member_type): Likewise.
12241         (read_tag_string_type): Likewise.
12242         (read_subroutine_type): Likewise.
12243         (read_typedef): Likewise.
12244         (read_base_type): Likewise.
12245         (attr_to_dynamic_prop): Likewise.
12246         (read_subrange_type): Likewise.
12247         (read_unspecified_type): Likewise.
12248         (load_partial_dies): Likewise.
12249         (read_partial_die): Likewise.
12250         (find_partial_die): Likewise.
12251         (guess_partial_die_structure_name): Likewise.
12252         (fixup_partial_die): Likewise.
12253         (read_attribute_value): Likewise.
12254         (read_addr_index_from_leb128): Likewise.
12255         (dwarf2_read_addr_index): Likewise.
12256         (dwarf2_string_attr): Likewise.
12257         (lnp_state_machine::check_line_address): Likewise.
12258         (dwarf_decode_lines_1): Likewise.
12259         (dwarf_decode_lines): Likewise.
12260         (dwarf2_start_symtab): Likewise.
12261         (var_decode_location): Likewise.
12262         (new_symbol_full): Likewise.
12263         (dwarf2_const_value_data): Likewise.
12264         (dwarf2_const_value_attr): Likewise.
12265         (dwarf2_const_value): Likewise.
12266         (die_type): Likewise.
12267         (die_containing_type): Likewise.
12268         (lookup_die_type): Likewise.
12269         (guess_full_die_structure_name): Likewise.
12270         (anonymous_struct_prefix): Likewise.
12271         (dwarf2_name): Likewise.
12272         (follow_die_ref_or_sig): Likewise.
12273         (follow_die_offset): Likewise.
12274         (follow_die_ref): Likewise.
12275         (dwarf2_fetch_die_loc_sect_off): Likewise.
12276         (dwarf2_fetch_constant_bytes): Likewise.
12277         (dwarf2_fetch_die_type_sect_off): Likewise.
12278         (dwarf2_get_die_type): Likewise.
12279         (follow_die_sig): Likewise.
12280         (decode_locdesc): Likewise.
12281         (dwarf2_per_cu_objfile): Likewise.
12282         (dwarf2_per_cu_text_offset): Likewise.
12283         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12284         objfile.
12285         (set_die_type): Access objfile through
12286         dwarf2_per_objfile.
12287
12288 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12289
12290         * valprint.c (converted_character_d): Remove typedef.
12291         (DEF_VEC_O (converted_character_d)): Remove.
12292         (count_next_character): Use std::vector.
12293         (print_converted_chars_to_obstack): Likewise.
12294         (generic_printstr): Likewise.
12295
12296 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12297
12298         * xml-support.h (struct gdb_xml_value): Add constructor.
12299         <value>: Change type to unique_xmalloc_ptr.
12300         (gdb_xml_value_s): Remove typedef.
12301         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12302         (gdb_xml_element_start_handler): Change parameter type to
12303         std::vector.
12304         (xml_find_attribute): Likewise.
12305         * xml-support.c (xml_find_attribute): Change parameter type to
12306         std::vector and adjust.
12307         (gdb_xml_values_cleanup): Remove.
12308         (gdb_xml_parser::start_element): Adjust to std::vector.
12309         (xinclude_start_include): Change paraeter type to std::vector
12310         and adjust.
12311         * btrace.c (check_xml_btrace_version): Likewise.
12312         (parse_xml_btrace_block): Likewise.
12313         (parse_xml_btrace_pt_config_cpu): Likewise.
12314         (parse_xml_btrace_pt): Likewise.
12315         (parse_xml_btrace_conf_bts): Likewise.
12316         (parse_xml_btrace_conf_pt): Likewise.
12317         * memory-map.c (memory_map_start_memory): Likewise.
12318         (memory_map_start_property): Likewise.
12319         * osdata.c (osdata_start_osdata): Likewise.
12320         (osdata_start_item): Likewise.
12321         (osdata_start_column): Likewise.
12322         * remote.c (start_thread): Likewise.
12323         * solib-aix.c (library_list_start_library): Likewise.
12324         (library_list_start_list): Likewise.
12325         * solib-svr4.c (library_list_start_library): Likewise.
12326         (svr4_library_list_start_list): Likewise.
12327         * solib-target.c (library_list_start_segment): Likewise.
12328         (library_list_start_section): Likewise.
12329         (library_list_start_library): Likewise.
12330         (library_list_start_list): Likewise.
12331         * tracepoint.c (traceframe_info_start_memory): Likewise.
12332         (traceframe_info_start_tvar): Likewise.
12333         * xml-syscall.c (syscall_start_syscall): Likewise.
12334         * xml-tdesc.c (tdesc_start_target): Likewise.
12335         (tdesc_start_feature): Likewise.
12336         (tdesc_start_reg): Likewise.
12337         (tdesc_start_union): Likewise.
12338         (tdesc_start_struct): Likewise.
12339         (tdesc_start_flags): Likewise.
12340         (tdesc_start_enum): Likewise.
12341         (tdesc_start_field): Likewise.
12342         (tdesc_start_enum_value): Likewise.
12343         (tdesc_start_vector): Likewise.
12344
12345 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12346
12347         * extension.h (struct xmethod_worker) <clone>: Remove.
12348         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12349         Remove.
12350         (python_xmethod_worker::clone): Remove.
12351         * valops.c (find_overload_match): Use std::move instead of
12352         clone.
12353
12354 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12355
12356         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12357         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12358         <free_xmethod_worker_data>: Remove.
12359         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12360         <get_xmethod_arg_types>: Remove.
12361         <get_xmethod_result_type>: Remove.
12362         <invoke_xmethod>: Remove.
12363         * extension.c (new_xmethod_worker): Remove.
12364         (clone_xmethod_worker): Remove.
12365         (get_matching_xmethod_workers): Return void, pass std::vector by
12366         pointer.
12367         (get_xmethod_arg_types): Rename to...
12368         (xmethod_worker::get_arg_types): ... this, and adjust.
12369         (get_xmethod_result_type): Rename to...
12370         (xmethod_worker::get_result_type): ... this, and adjust.
12371         (invoke_xmethod): Remove.
12372         (free_xmethod_worker): Remove.
12373         (free_xmethod_worker_vec): Remove.
12374         * extension.h (enum ext_lang_rc): Move here from
12375         extension-priv.h.
12376         (struct xmethod_worker): Add constructor and destructor.
12377         <data>: Remove.
12378         <value>: Remove.
12379         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12380         virtual pure methods.
12381         <get_arg_types, get_result_type>: New methods.
12382         (xmethod_worker_ptr): Remove typedef.
12383         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12384         (xmethod_worker_vec): Remove typedef.
12385         (xmethod_worker_up): New typedef.
12386         (invoke_xmethod): Remove.
12387         (clone_xmethod_worker): Remove.
12388         (free_xmethod_worker): Remove.
12389         (free_xmethod_worker_vec): Remove.
12390         (get_xmethod_arg_types): Remove.
12391         (get_xmethod_result_type): Remove.
12392         * valops.c (find_method_list): Use std::vector, don't use
12393         intermediate vector.
12394         (value_find_oload_method_list): Use std::vector.
12395         (find_overload_match): Use std::vector.
12396         (find_oload_champ): Use std::vector.
12397         * value.c (value_free): Use operator delete.
12398         (value_of_xmethod): Rename to...
12399         (value_from_xmethod): ... this.  Don't assign
12400         xmethod_worker::value, take rvalue-reference.
12401         (result_type_of_xmethod): Adjust.
12402         (call_xmethod): Adjust.
12403         * value.h: Include extension.h.
12404         (struct xmethod_worker): Don't forward-declare.
12405         (value_of_xmethod): Rename to...
12406         (value_from_xmethod): ... this, take rvalue-reference.
12407         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12408         (struct python_xmethod_worker): ... this, add constructor and
12409         destructor.
12410         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12411         (gdbpy_free_xmethod_worker_data): Rename to...
12412         (python_xmethod_worker::~python_xmethod_worker): ... this and
12413         adjust.
12414         (gdbpy_clone_xmethod_worker_data): Rename to...
12415         (python_xmethod_worker::clone): ... this and adjust.
12416         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12417         temporary vector.
12418         (gdbpy_get_xmethod_arg_types): Rename to...
12419         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12420         (gdbpy_get_xmethod_result_type): Rename to...
12421         (python_xmethod_worker::do_get_result_type): ... this and
12422         adjust.
12423         (gdbpy_invoke_xmethod): Rename to...
12424         (python_xmethod_worker::invoke): ... this and adjust.
12425         (new_python_xmethod_worker): Rename to...
12426         (python_xmethod_worker::python_xmethod_worker): ... this and
12427         adjust.
12428         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12429         Remove.
12430         (gdbpy_free_xmethod_worker_data): Remove.
12431         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12432         (gdbpy_get_xmethod_arg_types): Remove.
12433         (gdbpy_get_xmethod_result_type): Remove.
12434         (gdbpy_invoke_xmethod): Remove.
12435         * python/python.c (python_extension_ops): Remove obsolete
12436         callbacks.
12437
12438 2018-01-05  Pedro Alves  <palves@redhat.com>
12439
12440         PR gdb/18653
12441         * common/signals-state-save-restore.c
12442         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12443         find a custom handler preinstalled, instead of internal erroring.
12444         But only warn if !quiet.
12445         * common/signals-state-save-restore.h
12446         (save_original_signals_state): New parameter 'quiet'.
12447         * main.c (captured_main_1): Move save_original_signals_state call
12448         after option handling, and pass QUIET.
12449
12450 2018-01-05  Pedro Alves  <palves@redhat.com>
12451
12452         * spu-tdep.c (spu_catch_start): Pass
12453         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12454
12455 2018-01-05  Pedro Alves  <palves@redhat.com>
12456
12457         PR gdb/22670
12458         * ada-lang.c (literal_symbol_name_matcher): New function.
12459         (ada_get_symbol_name_matcher): Use it for
12460         symbol_name_match_type::SEARCH_NAME.
12461         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12462         it down instead of assuming symbol_name_match_type::FULL.
12463         * block.h (block_lookup_symbol): New parameter 'match_type'.
12464         * c-valprint.c (print_unpacked_pointer): Use
12465         lookup_symbol_search_name instead of lookup_symbol.
12466         * compile/compile-object-load.c (get_out_value_type): Pass down
12467         symbol_name_match_type::SEARCH_NAME.
12468         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12469         symbol_name_match_type::FULL.
12470         * cp-support.c (cp_get_symbol_name_matcher): Handle
12471         symbol_name_match_type::SEARCH_NAME.
12472         * infrun.c (insert_exception_resume_breakpoint): Use
12473         lookup_symbol_search_name.
12474         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12475         * psymtab.c (maintenance_check_psymtabs): Use
12476         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12477         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12478         SYMBOL_SEARCH_NAME.
12479         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12480         if symbol_name_match_type::SEARCH_NAME.
12481         (lookup_symbol_in_language): Pass down
12482         symbol_name_match_type::FULL.
12483         (lookup_symbol_search_name): New.
12484         (lookup_language_this): Pass down
12485         symbol_name_match_type::SEARCH_NAME.
12486         (lookup_symbol_aux, lookup_local_symbol): New parameter
12487         'match_type'.  Pass it down.
12488         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12489         (lookup_symbol_search_name): New declaration.
12490         (lookup_symbol_in_block): New 'match_type' parameter.
12491
12492 2018-01-05  Pedro Alves  <palves@redhat.com>
12493
12494         PR gdb/22670
12495         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12496         ada_lookup_symbol.
12497         (ada_lookup_symbol): Reimplement in terms of
12498         ada_lookup_symbol_list, bits factored out from
12499         ada_lookup_encoded_symbol.
12500
12501 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12502
12503         * ada-exp.y (write_object_renaming): When subscripting an array
12504         using a symbol as the index, pass the block in call to
12505         ada_lookup_encoded_symbol when looking that symbol up.
12506
12507 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12508
12509         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12510         TYPE_INDEX_TYPE.
12511
12512 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12513
12514         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12515         the case where VALUE_LVAL (val0) is not lval_memory.
12516
12517 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12518
12519         * ada-valprint.c (print_optional_low_bound): Handle
12520         character-indexed array printing like boolean-indexed array
12521         printing.
12522
12523 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12524
12525         * NEWS: Create a new section for the next release branch.
12526         Rename the section of the current branch, now that it has
12527         been cut.
12528
12529 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12530
12531         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12532         * version.in: Bump version to 8.1.50.DATE-git.
12533
12534 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12535
12536         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12537         Add field.
12538         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12539         Add field.
12540         (default_exception_support_info) <catch_handlers_sym>: Add field.
12541         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12542         (ada_exception_name_addr_1): Add "catch handlers" handling.
12543         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12544         Update all callers.
12545         (create_excep_cond_exprs) <ex>: Add parameter.
12546         (re_set_exception): Update create_excep_cond_exprs call.
12547         (print_it_exception, print_one_exception, print_mention_exception)
12548         (print_recreate_exception): Add "catch handler" handling.
12549         (allocate_location_catch_handlers, re_set_catch_handlers)
12550         (check_status_catch_handlers, print_it_catch_handlers)
12551         (print_one_catch_handlers, print_mention_catch_handlers)
12552         (print_recreate_catch_handlers): New function.
12553         (catch_handlers_breakpoint_ops): New variable.
12554         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12555         Add parameter.  Add "catch handler" handling.
12556         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12557         Add "catch handler" handling.
12558         (ada_exception_catchpoint_cond_string): Add "catch handler"
12559         handling.
12560         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12561         call.
12562         (catch_ada_handlers_command): New function.
12563         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12564         operations structure.
12565         (_initialize_ada_language): Add "catch handlers" command entry.
12566         * NEWS: Document "catch handlers" feature.
12567
12568 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12569
12570         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12571         account when creating the array type of the slice.
12572         (ada_value_slice): Likewise.
12573
12574 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12575
12576         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12577         New enum value.
12578         (create_array_type_with_stride): Add byte_stride_prop parameter.
12579         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12580         New parameter.  Update all callers in this file.
12581         (array_type_has_dynamic_stride): New function.
12582         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12583         of arrays with dynamic byte strides.
12584         * dwarf2read.c (read_array_type): Add support for dynamic
12585         DW_AT_byte_stride attributes.
12586
12587 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12588
12589         * dwarf2read.c (read_unspecified_type): Treat
12590         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12591
12592 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12593
12594         Update copyright year range in all GDB files.
12595
12596 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12597
12598         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12599         and gdb/testsuite/gdb.base/step-line.c.
12600
12601 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12602
12603         * copyright.py (main): Dump the contents of
12604         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12605         even if BY_HAND is empty.
12606
12607 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12608
12609         * top.c (print_gdb_version): Update Copyright year in version
12610         message.
12611
12612 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12613
12614         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12615
12616 For older changes see ChangeLog-2017.
12617 \f
12618 Local Variables:
12619 mode: change-log
12620 left-margin: 8
12621 fill-column: 74
12622 version-control: never
12623 coding: utf-8
12624 End: