gdb/riscv: Extend instruction decode to cover more instructions
[external/binutils.git] / gdb / ChangeLog
1 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2
3         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
4         c.sw, c.swsp, and c.sdsp.
5
6 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
7
8         * riscv-tdep.c (struct riscv_inferior_data): Delete.
9         (riscv_read_misa_reg): Don't cache value read into inferior data.
10         (riscv_new_inferior_data): Delete.
11         (riscv_inferior_data_cleanup): Delete.
12         (riscv_inferior_data): Delete.
13         (riscv_invalidate_inferior_data): Delete.
14         (_initialize_riscv_tdep): Remove initialisation of inferior data.
15
16 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
17
18         * compile/compile-cplus-types.c
19         (compile_cplus_instance::leave_scope): Take the address of scope
20         object.
21         (compile_cplus_instance::convert_qualified_base): Compare quals
22         to 0.
23
24 2018-08-30  Keith Seitz  <keiths@redhat.com>
25
26         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
27         Use "%s" and host_address_to_string instead of "%p" in printf.
28
29 2018-08-29  Keith Seitz  <keiths@redhat.com>
30
31         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
32         and compile-cplus-types.c.
33         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
34         * c-lang.c (cplus_language_defn): Set C++ compile functions.
35         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
36         Declare.
37         * compile/compile-c-support.c: Include compile-cplus.h.
38         (load_libcompile): Templatize.
39         (get_compile_context): "New" function.
40         (c_get_compile_context): Use get_compile_context.
41         (cplus_get_compile_context): New function.
42         (cplus_push_user_expression, cplus_pop_user_expression)
43         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
44         (cplus_compute_program): Define new structs/functions.
45         * compile/compile-cplus-symmbols.c: New file.
46         * compile/compile-cplus-types.c: New file.
47         * compile/compile-cplus.h: New file.
48         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
49         Declare.
50         * compile/compile-object-load.c (get_out_value_type): Use
51         strncmp_iw when comparing symbol names.
52         (compile_object_load): Add mst_bss and mst_data.
53         * compile/compile.c (_initialize_compile): Remove
54         -Wno-implicit-function-declaration from `compile_args'.
55         * compile/gcc-cp-plugin.h: New file.
56         * NEWS: Mention C++ compile support and new debug options.
57
58 2018-08-29  Keith Seitz  <keiths@redhat.com>
59
60         * linespec.c (collect_info::add_symbol): Make virtual.
61         (struct symbol_searcher_collect_info): New struct.
62         (symbol_searcher::find_all_symbols): New method.
63         * symtab.h (class symbol_searcher): New class.
64
65 2018-08-29  Keith Seitz  <keiths@redhat.com>
66
67         * linespec.c (struct linespec) <function_symbols, label_symbols>:
68         Change to vector of block_symbol.  Update all users.
69         (struct collect_info) <symbols>: Likewise.
70         (collect_info::add_symbol): Take block_symbol as argument.
71         Update all callers.
72         (decode_compound_collector) <m_symbols>: Change type to vector
73         of block_symbol.  Update all users.
74         (decode_compound_collector::operator ()): Change parameter type
75         to block_symbol.
76         (find_method, find_function_symbols, find_linespec_symbols)
77         (find_label_symbols_in_block, find_label_symbols): Change symbol
78         vectors to block_symbol vectors.
79         * symtab.h (symbol_found_callback_ftype): Change parameter type to
80         block_symbol.
81
82 2018-08-29  Keith Seitz  <keiths@redhat.com>
83
84         * linespec.c (symbolp): Remove typedef and VEC definitions.
85         (bound_minimal_symbol_d): Likewise.
86
87 2018-08-29  Keith Seitz  <keiths@redhat.com>
88
89         * linespec.c (decode_compound_collector::decode_compound_collector):
90         Remove initialization for `m_symtabs'.
91         (decode_compound_collector::release_symbols): Change return type
92         to std::vector.  Update all callers.
93         (class decode_compound_collector) <m_symbols>: Change type to
94         std::vector.
95         (lookup_prefix_sym): Change return type to std::vector.  Update all
96         callers.
97         (compare_symbols): Remove.
98         (std_compare_symbols): Rename to `compare_symbols'.
99         (find_method): Change `sym_classes' parameter to std::vector.
100         Update all callers.  Use std::sort to sort sym_classes.
101         (find_linespec_symbols): Remove cleanup.
102
103 2018-08-29  Keith Seitz  <keiths@redhat.com>
104
105         * linespec.c (struct linespec) <minimal_symbols>: Change type to
106         std::vector.  Update all users.
107         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
108         (struct collect_info) <minimal_symbols>: Likewise.
109         (compare_msymbols): Return bool.  Change parameters to const
110         bound_minimal_symbol references.
111         (find_method, find_function_symbols, find_linespec_symbols): Change
112         `minsyms' parameter to std::vector.  Update all callers.
113
114 2018-08-29  Keith Seitz  <keiths@redhat.com>
115
116         * linespec.c (struct linespec) <label_symbols>: Change type to
117         std::vector.  Update all users.
118         (find_label_symbols_in_block): Change `result' parameter to
119         std::vector.  Update all callers.
120         (find_label_symbols): Return std::vector.  Update all callers.
121
122 2018-08-29  Keith Seitz  <keiths@redhat.com>
123
124         * linespec.c (struct linespec) <function_symbols>: Change type to
125         std::vector.  Update all users.
126         (struct collect_info) <function_symbols>: Likewise.
127         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
128         (std_compare_symbols): New function.
129         (find_method, find_function_symbols, find_linespec_symbols)
130         (find_label_symbols_in_block): Change `symbols' parameter to
131         std::vector.  Update all callers.
132         (find_label_symbols): Likewise for `function_symbols' and
133         `label_funcs_ret'.
134
135 2018-08-29  Keith Seitz  <keiths@redhat.com>
136
137         * linespec.c (symtab_vector_up): Define.
138         (struct linespec) <file_symtabs>: Change type to std::vector *.
139         Update all uses.
140         (struct collect_info) <file_symtabs>: Likewise.
141         (collect_symtabs_from_filename): Return symtab_vector_up.
142         Update all callers.
143         (decode_objc): Remove cleanup.
144         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
145         (symtab_collector::release_symtabs): Return symtab_vector_up.
146         Update all callers.
147         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
148         Update all users.
149         (collect_symtabs_from_filename, symtabs_from_filename): Return
150         symtab_vector_up.  Update all callers.
151
152 2018-08-29  Tom Tromey  <tom@tromey.com>
153
154         * csky-tdep.c (csky_analyze_prologue): Use
155         core_addr_to_string_nz.
156
157 2018-08-29  Tom Tromey  <tom@tromey.com>
158
159         * windows-nat.c (struct xlate_exception) <them>: Change type to
160         DWORD.
161         (xlate): Fix formatting.  Remove last entry.
162         (struct xlate_exception, xlate): Comment out.
163         (windows_nat_target::resume): Use ranged for.
164
165 2018-08-29  Jim Wilson  <jimw@sifive.com>
166
167         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
168         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
169         of NT_PRFPREG.
170         (riscv_linux_nat_target::store_registers): Likewise.
171
172 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
173
174         PR gdb/23555
175         PR gdb/23558
176         * gnulib/aclocal.m4: Regenerate.
177         * gnulib/config.in: Regenerate.
178         * gnulib/configure: Regenerate.
179         * gnulib/import/Makefile.am: Update.
180         * gnulib/import/Makefile.in: Update.
181         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
182         * gnulib/import/_Noreturn.h: ... this.
183         * gnulib/import/alloca.in.h: Update.
184         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
185         * gnulib/import/arg-nonnull.h: ... this.
186         * gnulib/import/assure.h: Update.
187         * gnulib/import/at-func.c: Update.
188         * gnulib/import/basename-lgpl.c: Update.
189         * gnulib/import/extra/snippet/c++defs.h: Rename to...
190         * gnulib/import/c++defs.h: ... this.
191         * gnulib/import/canonicalize-lgpl.c: Update.
192         * gnulib/import/cdefs.h: Update.
193         * gnulib/import/chdir-long.c: Update.
194         * gnulib/import/chdir-long.h: Update.
195         * gnulib/import/cloexec.c: Update.
196         * gnulib/import/cloexec.h: Update.
197         * gnulib/import/close.c: Update.
198         * gnulib/import/closedir.c: Update.
199         * gnulib/import/config.charset: Update.
200         * gnulib/import/dirent-private.h: Update.
201         * gnulib/import/dirent.in.h: Update.
202         * gnulib/import/dirfd.c: Update.
203         * gnulib/import/dirname-lgpl.c: Update.
204         * gnulib/import/dirname.h: Update.
205         * gnulib/import/dosname.h: Update.
206         * gnulib/import/dup-safer-flag.c: Update.
207         * gnulib/import/dup-safer.c: Update.
208         * gnulib/import/dup.c: Update.
209         * gnulib/import/dup2.c: Update.
210         * gnulib/import/errno.in.h: Update.
211         * gnulib/import/error.c: Update.
212         * gnulib/import/error.h: Update.
213         * gnulib/import/exitfail.c: Update.
214         * gnulib/import/exitfail.h: Update.
215         * gnulib/import/extra/update-copyright: Update.
216         * gnulib/import/fchdir.c: Update.
217         * gnulib/import/fcntl.c: Update.
218         * gnulib/import/fcntl.in.h: Update.
219         * gnulib/import/fd-hook.c: Update.
220         * gnulib/import/fd-hook.h: Update.
221         * gnulib/import/fd-safer-flag.c: Update.
222         * gnulib/import/fd-safer.c: Update.
223         * gnulib/import/fdopendir.c: Update.
224         * gnulib/import/filename.h: Update.
225         * gnulib/import/filenamecat-lgpl.c: Update.
226         * gnulib/import/filenamecat.h: Update.
227         * gnulib/import/flexmember.h: Update.
228         * gnulib/import/float+.h: Update.
229         * gnulib/import/float.c: Update.
230         * gnulib/import/float.in.h: Update.
231         * gnulib/import/fnmatch.c: Update.
232         * gnulib/import/fnmatch.in.h: Update.
233         * gnulib/import/fnmatch_loop.c: Update.
234         * gnulib/import/fpucw.h: Update.
235         * gnulib/import/frexp.c: Update.
236         * gnulib/import/frexpl.c: Update.
237         * gnulib/import/fstat.c: Update.
238         * gnulib/import/fstatat.c: Update.
239         * gnulib/import/getcwd-lgpl.c: Update.
240         * gnulib/import/getcwd.c: Update.
241         * gnulib/import/getdtablesize.c: Update.
242         * gnulib/import/getlogin_r.c: Update.
243         * gnulib/import/getprogname.c: Update.
244         * gnulib/import/getprogname.h: Update.
245         * gnulib/import/gettext.h: Update.
246         * gnulib/import/gettimeofday.c: Update.
247         * gnulib/import/glob-libc.h: Update.
248         * gnulib/import/glob.c: Update.
249         * gnulib/import/glob.in.h: Update.
250         * gnulib/import/glob_internal.h: Update.
251         * gnulib/import/glob_pattern_p.c: Update.
252         * gnulib/import/globfree.c: Update.
253         * gnulib/import/hard-locale.c: Update.
254         * gnulib/import/hard-locale.h: Update.
255         * gnulib/import/intprops.h: Update.
256         * gnulib/import/inttypes.in.h: Update.
257         * gnulib/import/isnan.c: Update.
258         * gnulib/import/isnand-nolibm.h: Update.
259         * gnulib/import/isnand.c: Update.
260         * gnulib/import/isnanl-nolibm.h: Update.
261         * gnulib/import/isnanl.c: Update.
262         * gnulib/import/itold.c: Update.
263         * gnulib/import/libc-config.h: Update.
264         * gnulib/import/limits.in.h: Update.
265         * gnulib/import/localcharset.c: Update.
266         * gnulib/import/localcharset.h: Update.
267         * gnulib/import/localtime-buffer.c: Update.
268         * gnulib/import/localtime-buffer.h: Update.
269         * gnulib/import/lstat.c: Update.
270         * gnulib/import/m4/00gnulib.m4: Update.
271         * gnulib/import/m4/__inline.m4: Update.
272         * gnulib/import/m4/absolute-header.m4: Update.
273         * gnulib/import/m4/alloca.m4: Update.
274         * gnulib/import/m4/builtin-expect.m4: Update.
275         * gnulib/import/m4/canonicalize.m4: Update.
276         * gnulib/import/m4/chdir-long.m4: Update.
277         * gnulib/import/m4/close.m4: Update.
278         * gnulib/import/m4/closedir.m4: Update.
279         * gnulib/import/m4/configmake.m4: Update.
280         * gnulib/import/m4/d-ino.m4: Update.
281         * gnulib/import/m4/d-type.m4: Update.
282         * gnulib/import/m4/dirent_h.m4: Update.
283         * gnulib/import/m4/dirfd.m4: Update.
284         * gnulib/import/m4/dirname.m4: Update.
285         * gnulib/import/m4/double-slash-root.m4: Update.
286         * gnulib/import/m4/dup.m4: Update.
287         * gnulib/import/m4/dup2.m4: Update.
288         * gnulib/import/m4/eealloc.m4: Update.
289         * gnulib/import/m4/environ.m4: Update.
290         * gnulib/import/m4/errno_h.m4: Update.
291         * gnulib/import/m4/error.m4: Update.
292         * gnulib/import/m4/exponentd.m4: Update.
293         * gnulib/import/m4/exponentl.m4: Update.
294         * gnulib/import/m4/extensions.m4: Update.
295         * gnulib/import/m4/extern-inline.m4: Update.
296         * gnulib/import/m4/fchdir.m4: Update.
297         * gnulib/import/m4/fcntl-o.m4: Update.
298         * gnulib/import/m4/fcntl.m4: Update.
299         * gnulib/import/m4/fcntl_h.m4: Update.
300         * gnulib/import/m4/fdopendir.m4: Update.
301         * gnulib/import/m4/filenamecat.m4: Update.
302         * gnulib/import/m4/flexmember.m4: Update.
303         * gnulib/import/m4/float_h.m4: Update.
304         * gnulib/import/m4/fnmatch.m4: Update.
305         * gnulib/import/m4/fnmatch_h.m4: Update.
306         * gnulib/import/m4/fpieee.m4: Update.
307         * gnulib/import/m4/frexp.m4: Update.
308         * gnulib/import/m4/frexpl.m4: Update.
309         * gnulib/import/m4/fstat.m4: Update.
310         * gnulib/import/m4/fstatat.m4: Update.
311         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
312         * gnulib/import/m4/getcwd-path-max.m4: Update.
313         * gnulib/import/m4/getcwd.m4: Update.
314         * gnulib/import/m4/getdtablesize.m4: Update.
315         * gnulib/import/m4/getlogin.m4: Update.
316         * gnulib/import/m4/getlogin_r.m4: Update.
317         * gnulib/import/m4/getpagesize.m4: Update.
318         * gnulib/import/m4/getprogname.m4: Update.
319         * gnulib/import/m4/gettimeofday.m4: Update.
320         * gnulib/import/m4/glibc21.m4: Update.
321         * gnulib/import/m4/glob.m4: Update.
322         * gnulib/import/m4/glob_h.m4: Update.
323         * gnulib/import/m4/gnulib-cache.m4: Update.
324         * gnulib/import/m4/gnulib-common.m4: Update.
325         * gnulib/import/m4/gnulib-comp.m4: Update.
326         * gnulib/import/m4/gnulib-tool.m4: Update.
327         * gnulib/import/m4/hard-locale.m4: Update.
328         * gnulib/import/m4/include_next.m4: Update.
329         * gnulib/import/m4/inttypes-pri.m4: Update.
330         * gnulib/import/m4/inttypes.m4: Update.
331         * gnulib/import/m4/isnand.m4: Update.
332         * gnulib/import/m4/isnanl.m4: Update.
333         * gnulib/import/m4/largefile.m4: Update.
334         * gnulib/import/m4/limits-h.m4: Update.
335         * gnulib/import/m4/localcharset.m4: Update.
336         * gnulib/import/m4/locale-fr.m4: Update.
337         * gnulib/import/m4/locale-ja.m4: Update.
338         * gnulib/import/m4/locale-zh.m4: Update.
339         * gnulib/import/m4/localtime-buffer.m4: Update.
340         * gnulib/import/m4/longlong.m4: Update.
341         * gnulib/import/m4/lstat.m4: Update.
342         * gnulib/import/m4/malloc.m4: Update.
343         * gnulib/import/m4/malloca.m4: Update.
344         * gnulib/import/m4/math_h.m4: Update.
345         * gnulib/import/m4/mbrtowc.m4: Update.
346         * gnulib/import/m4/mbsinit.m4: Update.
347         * gnulib/import/m4/mbsrtowcs.m4: Update.
348         * gnulib/import/m4/mbstate_t.m4: Update.
349         * gnulib/import/m4/memchr.m4: Update.
350         * gnulib/import/m4/memmem.m4: Update.
351         * gnulib/import/m4/mempcpy.m4: Update.
352         * gnulib/import/m4/memrchr.m4: Update.
353         * gnulib/import/m4/mkdir.m4: Update.
354         * gnulib/import/m4/mkstemp.m4: Update.
355         * gnulib/import/m4/mmap-anon.m4: Update.
356         * gnulib/import/m4/mode_t.m4: Update.
357         * gnulib/import/m4/msvc-inval.m4: Update.
358         * gnulib/import/m4/msvc-nothrow.m4: Update.
359         * gnulib/import/m4/multiarch.m4: Update.
360         * gnulib/import/m4/nocrash.m4: Update.
361         * gnulib/import/m4/off_t.m4: Update.
362         * gnulib/import/m4/onceonly.m4: Update.
363         * gnulib/import/m4/open-cloexec.m4: Update.
364         * gnulib/import/m4/open.m4: Update.
365         * gnulib/import/m4/openat.m4: Update.
366         * gnulib/import/m4/opendir.m4: Update.
367         * gnulib/import/m4/pathmax.m4: Update.
368         * gnulib/import/m4/rawmemchr.m4: Update.
369         * gnulib/import/m4/readdir.m4: Update.
370         * gnulib/import/m4/readlink.m4: Update.
371         * gnulib/import/m4/realloc.m4: Update.
372         * gnulib/import/m4/rename.m4: Update.
373         * gnulib/import/m4/rewinddir.m4: Update.
374         * gnulib/import/m4/rmdir.m4: Update.
375         * gnulib/import/m4/save-cwd.m4: Update.
376         * gnulib/import/m4/secure_getenv.m4: Update.
377         * gnulib/import/m4/setenv.m4: Update.
378         * gnulib/import/m4/signal_h.m4: Update.
379         * gnulib/import/m4/ssize_t.m4: Update.
380         * gnulib/import/m4/stat-time.m4: Update.
381         * gnulib/import/m4/stat.m4: Update.
382         * gnulib/import/m4/std-gnu11.m4: Update.
383         * gnulib/import/m4/stdbool.m4: Update.
384         * gnulib/import/m4/stddef_h.m4: Update.
385         * gnulib/import/m4/stdint.m4: Update.
386         * gnulib/import/m4/stdio_h.m4: Update.
387         * gnulib/import/m4/stdlib_h.m4: Update.
388         * gnulib/import/m4/strchrnul.m4: Update.
389         * gnulib/import/m4/strdup.m4: Update.
390         * gnulib/import/m4/strerror.m4: Update.
391         * gnulib/import/m4/string_h.m4: Update.
392         * gnulib/import/m4/strstr.m4: Update.
393         * gnulib/import/m4/strtok_r.m4: Update.
394         * gnulib/import/m4/sys_socket_h.m4: Update.
395         * gnulib/import/m4/sys_stat_h.m4: Update.
396         * gnulib/import/m4/sys_time_h.m4: Update.
397         * gnulib/import/m4/sys_types_h.m4: Update.
398         * gnulib/import/m4/tempname.m4: Update.
399         * gnulib/import/m4/time_h.m4: Update.
400         * gnulib/import/m4/unistd-safer.m4: Update.
401         * gnulib/import/m4/unistd_h.m4: Update.
402         * gnulib/import/m4/warn-on-use.m4: Update.
403         * gnulib/import/m4/wchar_h.m4: Update.
404         * gnulib/import/m4/wchar_t.m4: Update.
405         * gnulib/import/m4/wctype_h.m4: Update.
406         * gnulib/import/m4/wint_t.m4: Update.
407         * gnulib/import/malloc.c: Update.
408         * gnulib/import/malloc/scratch_buffer.h: Update.
409         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
410         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
411         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
412         * gnulib/import/malloca.c: Update.
413         * gnulib/import/malloca.h: Update.
414         * gnulib/import/malloca.valgrind: Update.
415         * gnulib/import/math.in.h: Update.
416         * gnulib/import/mbrtowc.c: Update.
417         * gnulib/import/mbsinit.c: Update.
418         * gnulib/import/mbsrtowcs-impl.h: Update.
419         * gnulib/import/mbsrtowcs-state.c: Update.
420         * gnulib/import/mbsrtowcs.c: Update.
421         * gnulib/import/memchr.c: Update.
422         * gnulib/import/memmem.c: Update.
423         * gnulib/import/mempcpy.c: Update.
424         * gnulib/import/memrchr.c: Update.
425         * gnulib/import/mkdir.c: Update.
426         * gnulib/import/mkstemp.c: Update.
427         * gnulib/import/msvc-inval.c: Update.
428         * gnulib/import/msvc-inval.h: Update.
429         * gnulib/import/msvc-nothrow.c: Update.
430         * gnulib/import/msvc-nothrow.h: Update.
431         * gnulib/import/open.c: Update.
432         * gnulib/import/openat-die.c: Update.
433         * gnulib/import/openat-priv.h: Update.
434         * gnulib/import/openat-proc.c: Update.
435         * gnulib/import/openat.c: Update.
436         * gnulib/import/openat.h: Update.
437         * gnulib/import/opendir.c: Update.
438         * gnulib/import/pathmax.h: Update.
439         * gnulib/import/pipe-safer.c: Update.
440         * gnulib/import/rawmemchr.c: Update.
441         * gnulib/import/readdir.c: Update.
442         * gnulib/import/readlink.c: Update.
443         * gnulib/import/realloc.c: Update.
444         * gnulib/import/ref-add.sin: Update.
445         * gnulib/import/ref-del.sin: Update.
446         * gnulib/import/rename.c: Update.
447         * gnulib/import/rewinddir.c: Update.
448         * gnulib/import/rmdir.c: Update.
449         * gnulib/import/same-inode.h: Update.
450         * gnulib/import/save-cwd.c: Update.
451         * gnulib/import/save-cwd.h: Update.
452         * gnulib/import/scratch_buffer.h: Update.
453         * gnulib/import/secure_getenv.c: Update.
454         * gnulib/import/setenv.c: Update.
455         * gnulib/import/signal.in.h: Update.
456         * gnulib/import/stat-time.c: Update.
457         * gnulib/import/stat-time.h: Update.
458         * gnulib/import/stat-w32.c: Update.
459         * gnulib/import/stat-w32.h: Update.
460         * gnulib/import/stat.c: Update.
461         * gnulib/import/stdbool.in.h: Update.
462         * gnulib/import/stddef.in.h: Update.
463         * gnulib/import/stdint.in.h: Update.
464         * gnulib/import/stdio.in.h: Update.
465         * gnulib/import/stdlib.in.h: Update.
466         * gnulib/import/str-two-way.h: Update.
467         * gnulib/import/strchrnul.c: Update.
468         * gnulib/import/strdup.c: Update.
469         * gnulib/import/streq.h: Update.
470         * gnulib/import/strerror-override.c: Update.
471         * gnulib/import/strerror-override.h: Update.
472         * gnulib/import/strerror.c: Update.
473         * gnulib/import/string.in.h: Update.
474         * gnulib/import/stripslash.c: Update.
475         * gnulib/import/strnlen1.c: Update.
476         * gnulib/import/strnlen1.h: Update.
477         * gnulib/import/strstr.c: Update.
478         * gnulib/import/strtok_r.c: Update.
479         * gnulib/import/sys_stat.in.h: Update.
480         * gnulib/import/sys_time.in.h: Update.
481         * gnulib/import/sys_types.in.h: Update.
482         * gnulib/import/tempname.c: Update.
483         * gnulib/import/tempname.h: Update.
484         * gnulib/import/time.in.h: Update.
485         * gnulib/import/unistd--.h: Update.
486         * gnulib/import/unistd-safer.h: Update.
487         * gnulib/import/unistd.in.h: Update.
488         * gnulib/import/unsetenv.c: Update.
489         * gnulib/import/verify.h: Update.
490         * gnulib/import/extra/snippet/warn-on-use.h: Update.
491         * gnulib/import/wchar.in.h: Update.
492         * gnulib/import/wctype.in.h: Update.
493         * gnulib/import/xalloc-oversized.h: Update.
494         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
495         "53e2c179f26a890fa6685af4b6c1397ee370433b".
496
497 2018-08-16  Gary Benson <gbenson@redhat.com>
498
499         PR gdb/13000:
500         * gdb/main.c (captured_main_1): Exit with nonzero status
501         in batch mode if the last command to be executed failed.
502         * NEWS: Mention the above.
503
504 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
505
506         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
507         end of warning message.
508
509 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
510
511         PR gdb/22943:
512         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
513         (aarch64_extract_return_value): Use
514         aapcs_is_vfp_call_or_return_candidate.
515         (aarch64_return_in_memory): Likewise.
516         (aarch64_store_return_value): Likewise.
517
518 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
519
520         * aarch64-tdep.c
521         (aapcs_is_vfp_call_or_return_candidate): Make static
522         (pass_in_v_or_stack): Remove function.
523         (pass_in_v_vfp_candidate): New function.
524         (aarch64_push_dummy_call): Check for float register candidates.
525
526 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
527
528         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
529         (aapcs_is_vfp_call_or_return_candidate_1): New function.
530         (aapcs_is_vfp_call_or_return_candidate): Likewise.
531
532 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
533
534         PR build/23399
535         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
536         (struct ipa_sym_addresses): Rename to...
537         (struct ipa_sym_addresses_common): ... this.
538         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
539
540 2018-08-28  Tom Tromey  <tom@tromey.com>
541
542         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
543         (token_fifo): Now a std::vector.
544         (yylex, c_parse): Update.
545         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
546         (token_fifo): Now a std::vector.
547         (yylex, d_parse): Update.
548         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
549         (token_fifo): Now a std::vector.
550         (yylex, go_parse): Update.
551
552 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
553
554         * parser-defs.h (struct type_stack) <elements>: Change type to
555         std::vector<union type_stack_elt>.
556         <depth, size>: Remove.
557         * parse.c (parse_exp_in_context_1): Adjust.
558         (type_stack_reserve): Remove.
559         (check_type_stack_depth): Remove.
560         (insert_into_type_stack): Adjust to std::vector.
561         (insert_type): Likewise.
562         (push_type): Likewise.
563         (push_type_int): Likewise.
564         (insert_type_address_space): Likewise.
565         (pop_type): Likewise.
566         (pop_type_int): Likewise.
567         (pop_typelist): Likewise.
568         (pop_type_stack): Likewise.
569         (append_type_stack): Likewise.
570         (push_type_stack): Likewise.
571         (get_type_stack): Likewise.
572         (type_stack_cleanup): Likewise.
573         (push_typelist): Likewise.
574         (follow_types): Likewise.
575         (_initialize_parse): Likewise.
576
577 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
578
579         * NEWS: Mention csky target.
580
581 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
582             Hafiz Abid Qadeer  <abidh@codesourcery.com>
583             Don Breazeal  <donb@codesourcery.com>
584
585         * csky-linux-tdep.c: New file.
586         * csky-tdep.c: Likewise.
587         * csky-tdep.h: Likewise.
588         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
589         csky-tdep.o.
590         (HFILES_NO_SRCDIR): Add csky-tdep.h.
591         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
592         * configure.tgt: Add csky support.
593
594 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
595
596         * python/py-framefilter.c (py_print_frame): Print frame architecture
597         when printing on an MI output.
598
599 2018-08-27  Tom Tromey  <tom@tromey.com>
600
601         PR build/23087:
602         * configure: Rebuild.
603         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
604
605 2018-08-27  Tom Tromey  <tom@tromey.com>
606
607         * aarch64-linux-tdep.c
608         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
609         casts to int.
610
611 2018-08-27  Tom Tromey  <tom@tromey.com>
612
613         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
614         unsigned.
615         (ppc64_standard_linkage1, ppc64_standard_linkage2)
616         (ppc64_standard_linkage3, ppc64_standard_linkage4)
617         (ppc64_standard_linkage5, ppc64_standard_linkage6)
618         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
619         unsigned.
620
621 2018-08-27  Tom Tromey  <tom@tromey.com>
622
623         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
624         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
625
626 2018-08-27  Tom Tromey  <tom@tromey.com>
627
628         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
629         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
630         ULONGEST_MAX.
631         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
632         ULONGEST_MAX.
633         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
634         ULONGEST_MAX.
635         * sparc-linux-tdep.c (sparc32_linux_sigframe)
636         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
637         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
638         ULONGEST_MAX.
639         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
640         (ppc64_linux_sigaction_tramp_frame)
641         (ppc32_linux_sighandler_tramp_frame)
642         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
643         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
644         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
645         * mn10300-linux-tdep.c (am33_linux_sigframe)
646         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
647         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
648         * mips-linux-tdep.c (mips_linux_o32_sigframe)
649         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
650         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
651         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
652         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
653         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
654         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
655         * microblaze-linux-tdep.c
656         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
657         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
658         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
659         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
660         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
661         * common/common-types.h (ULONGEST_MAX): New define.
662         (CORE_ADDR_MAX): Fix formatting.
663         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
664         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
665         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
666         (arm_linux_rt_sigreturn_tramp_frame)
667         (arm_eabi_linux_sigreturn_tramp_frame)
668         (arm_eabi_linux_rt_sigreturn_tramp_frame)
669         (thumb2_eabi_linux_sigreturn_tramp_frame)
670         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
671         (arm_linux_restart_syscall_tramp_frame)
672         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
673         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
674         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
675         ULONGEST_MAX.
676         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
677
678 2018-08-27  Tom Tromey  <tom@tromey.com>
679
680         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
681         CORE_ADDR_MAX.
682         * mips-tdep.c (mips_deal_with_atomic_sequence)
683         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
684         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
685         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
686         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
687         CORE_ADDR_MAX.
688         * aarch64-tdep.c (aarch64_software_single_step): Use
689         CORE_ADDR_MAX.
690
691 2018-08-27  Tom Tromey  <tom@tromey.com>
692
693         * linespec.c (complete_linespec_component): Add cast to "char".
694         * completer.c (completion_tracker::build_completion_result): Add
695         cast to "char".
696
697 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
698
699         * solist.h (struct solist, struct target_so_ops): Fix
700         indentation.
701
702 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
703
704         * ada-tasks.c (ada_task_info_s): Remove typedef.
705         (DEF_VEC_O(ada_task_info_s)): Remove.
706         (struct ada_tasks_inferior_data): Initialize fields.
707         <task_list>: Make an std::vector.
708         (get_ada_tasks_inferior_data): Allocate with new.
709         (ada_get_task_number): Adjust.
710         (get_task_number_from_id): Likewise.
711         (valid_task_id): Likewise.
712         (ada_get_task_info_from_ptid): Likewise.
713         (iterate_over_live_ada_tasks): Likewise.
714         (add_ada_task): Likewise.
715         (read_known_tasks): Likewise.
716         (ada_build_task_list): Likewise.
717         (print_ada_task_info): Likewise.
718         (info_task): Likewise.
719         (task_command_1): Likewise.
720
721 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
722
723         * ada-lang.c (add_angle_brackets): Return std::string.
724
725 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
726
727         * python/py-threadevent.c (py_get_event_thread): Initialize
728         pythread.
729
730 2018-08-24  Pedro Alves  <palves@redhat.com>
731
732         * python/py-bpevent.c (create_breakpoint_event_object): Use
733         copy-initialization.
734         * python/py-continueevent.c (emit_continue_event): Use
735         copy-initialization.
736         * python/py-exitedevent.c (create_exited_event_object): Return a
737         gdbpy_ref<>.
738         (emit_exited_event): Use copy-initialization.
739         * python/py-inferior.c (python_new_inferior)
740         (python_inferior_deleted, add_thread_object): Use
741         copy-initialization.
742         * python/py-infevents.c (create_inferior_call_event_object)
743         (create_register_changed_event_object)
744         (create_memory_changed_event_object): Return a gdbpy_ref<>.
745         (emit_inferior_call_event, emit_memory_changed_event)
746         (emit_register_changed_event): Use copy-initialization.
747         * python/py-newobjfileevent.c (create_new_objfile_event_object):
748         Return a gdbpy_ref<>.
749         (emit_new_objfile_event): Use copy-initialization.
750         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
751         (emit_clear_objfiles_event): Use copy-initialization.
752         * python/py-signalevent.c (create_signal_event_object): Use
753         copy-initialization.
754         * python/py-threadevent.c (create_thread_event_object): Use
755         copy-initialization.
756
757 2018-08-24  Pedro Alves  <palves@redhat.com>
758             Simon Marchi  <simon.marchi@ericsson.com>
759
760         PR gdb/23379
761         * python/py-continueevent.c: Include "gdbthread.h".
762         (create_continue_event_object): Add intro comment.  Add 'ptid'
763         parameter.  Use it to find thread to pass to
764         create_thread_event_object.
765         (emit_continue_event): Pass PTID down to
766         create_continue_event_object.
767         * python/py-event.h (py_get_event_thread): Declare.
768         (create_thread_event_object): Remove default from 'thread'
769         parameter.
770         * python/py-stopevent.c (create_stop_event_object): Use
771         py_get_event_thread.
772         * python/py-threadevent.c (get_event_thread): Rename to ...
773         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
774         and use it to find the thread.
775         (create_thread_event_object): Assert that THREAD isn't null.
776         Don't find the event thread here.
777
778 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
779
780         * block.h (blockrange, blockranges): New struct declarations.
781         (struct block): Add new field named `ranges'.
782         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
783         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
784         macros for accessing ranges in struct block.
785         (make_blockranges): New declaration.
786         block.c (make_blockranges): New function.
787         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
788         for block.
789         * symtab.h (find_pc_partial_function): Add new parameter `block'.
790         * blockframe.c (cache_pc_function_block): New static global.
791         (clear_pc_function_cache): Clear cache_pc_function_block.
792         (find_pc_partial_function): Move comment to symtab.h.  Add
793         support for non-contiguous blocks.
794         * cli/cli-cmds.c (block.h): Include.
795         (print_disassembly): Handle printing of non-contiguous blocks.
796         (disassemble_current_function): Likewise.
797         (disassemble_command): Likewise.
798
799         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
800         BLOCK_START.
801         * blockframe.c (get_pc_function_start): Likewise.
802         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
803         (gcc_symbol_address): Likewise.
804         * compile/compile-object-run.c (compile_object_run): Likewise.
805         * compile/compile.c (get_expr_block_and_pc): Likewise.
806         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
807         (func_addr_to_tail_call_list): Likewise.
808         * findvar.c (default_read_var_value): Likewise.
809         * inline-frame.c (inline_frame_this_id): Likewise.
810         (skip-inline_frames): Likewise.
811         * infcmd.c (until_next_command): Likewise.
812         * linespec.c (convert_linespec_to_sals): Likewise.
813         * parse.c (parse_exp_in_context_1): Likewise.
814         * printcmd.c (build_address_symbolic): likewise.
815         (info_address_command): Likewise.
816         symtab.c (find_function_start_sal): Likewise.
817         (skip_prologue_sal): Likewise.
818         (find_function_alias_target): Likewise.
819         (find_gnu_ifunc): Likewise.
820         * stack.c (find_frame_funname): Likewise.
821         * symtab.c (fixup_symbol_section): Likewise.
822         (find_function_start_sal): Likewise.
823         (skip_prologue_sal): Likewsie.
824         (find_function_alias_target): Likewise.
825         (find_gnu_ifunc): Likewise.
826         * tracepoint.c (info_scope_command): Likewise.
827         * value.c (value_fn_field): Likewise.
828
829         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
830         in place of find_pc_partial_function.
831         * blockframe.c (find_function_entry_range_from_pc): New function.
832         * symtab.h (find_function_entry_range_from_pc): Declare and document.
833         * objfiles.c (objfile_relocate1): Relocate start and end addresses
834         for each range in a block.
835
836
837 2018-08-23  Xavier Roirand  <roirand@adacore.com>
838
839         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
840         incrementation.
841
842 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
843
844         * solib-svr4.c (read_program_headers_from_bfd): Return
845         gdb::optional<gdb::byte_vector>.
846         (svr4_exec_displacement): Adjust.
847
848 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
849
850         * solib-svr4.c (read_program_header): Return
851         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
852         (find_program_interpreter): Return
853         gdb::optional<gdb::byte_vector>.
854         (scan_dyntag_auxv): Adjust.
855         (enable_break): Adjust.
856         (svr4_exec_displacement): Adjust.
857
858 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
859
860         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
861         * inf-child.c (inf_child_target::terminal_save_inferior): New.
862
863 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
864
865         * guile/scm-string.c (gdbscm_scm_from_printf): Use
866         string_vprintf.
867         * guile/scm-utils.c (gdbscm_printf): Likewise.
868         * serial.c (serial_printf): Likewise.
869         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
870
871 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
872
873         * stack.c (print_frame): Print frame architecture when printing on
874         an MI output.
875         * NEWS: Mention new "arch" attribute in frame output.
876
877 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
878
879         * arch/aarch64.h (aarch64_regnum): Update comment.
880
881 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
882
883         * NEWS: Add SVE to 8.2 section.
884
885 2018-08-21  Pedro Alves  <palves@redhat.com>
886
887         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
888         out from gdbscm_parse_function_args.
889         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
890         gdbscm_parse_function_args_1.
891
892 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
893
894         PR gdb/17816
895         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
896         operator.
897
898 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
899
900         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
901
902 2018-08-19  Michael Spang  <spang@google.com>
903
904         PR gdb/11786
905         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
906         for PT_TLS segments.
907
908 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
909
910         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
911         dwarf_variable_value.
912         * dwarf2-frame.c (class dwarf_expr_executor):
913         Add override for dwarf_variable_value.
914         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
915         (class symbol_needs_eval_context): Likewise.
916         (indirect_synthetic_pointer): Add forward declaration.
917         (sect_variable_value): New function.
918         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
919         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
920         for DW_OP_GNU_variable_value.
921
922 2018-08-16  Tom Tromey  <tom@tromey.com>
923
924         * top.c (read_command_file): Update.
925         (command_line_input): Remove "repeat" argument.
926         * ada-lang.c (get_selections): Update.
927         * linespec.c (decode_line_2): Update.
928         * defs.h (command_line_input): Remove argument.
929         * cli/cli-script.c (read_next_line): Update.
930         * python/py-gdb-readline.c: Update.
931
932 2018-08-17  Tom Tromey  <tom@tromey.com>
933
934         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
935         command_line_input.
936
937 2018-08-15  Tom Tromey  <tom@tromey.com>
938
939         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
940
941 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
942
943         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
944         If used, use find_pc_partial_function to find address range
945         to disassemble.
946         * mi/mi-main.c (mi_cmd_list_features): Report
947         "data-disassemble-a-option" feature.
948         * NEWS: Mention new -data-disassemble option -a.
949
950 2018-08-13  Tom Tromey  <tom@tromey.com>
951
952         * common/common-defs.h (_FORTIFY_SOURCE): Define.
953
954 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
955
956         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
957         (aarch64_linux_collect_sve_regset): Likewise.
958         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
959         * regcache.h (regcache_map_entry_size): New function.
960
961 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
962
963         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
964         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
965         (SVE_HEADER_VL_LENGTH): Likewise.
966         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
967         (SVE_HEADER_FLAGS_LENGTH): Likewise.
968         (SVE_HEADER_RESERVED_LENGTH): Likewise.
969         (SVE_HEADER_SIZE_OFFSET): Likewise.
970         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
971         (SVE_HEADER_VL_OFFSET): Likewise.
972         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
973         (SVE_HEADER_FLAGS_OFFSET): Likewise.
974         (SVE_HEADER_RESERVED_OFFSET): Likewise.
975         (SVE_HEADER_SIZE): Likewise.
976         (aarch64_linux_core_read_vq): Add function.
977         (aarch64_linux_core_read_description): Check for SVE section.
978
979 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
980
981         * aarch64-fbsd-tdep.c
982         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
983         collect_size.
984         * aarch64-linux-tdep.c
985         (aarch64_linux_iterate_over_regset_sections): Likewise.
986         * alpha-linux-tdep.c
987         (alpha_linux_iterate_over_regset_sections):
988         * alpha-nbsd-tdep.c
989         (alphanbsd_iterate_over_regset_sections): Likewise.
990         * amd64-fbsd-tdep.c
991         (amd64fbsd_iterate_over_regset_sections): Likewise.
992         * amd64-linux-tdep.c
993         (amd64_linux_iterate_over_regset_sections): Likewise.
994         * arm-bsd-tdep.c
995         (armbsd_iterate_over_regset_sections): Likewise.
996         * arm-fbsd-tdep.c
997         (arm_fbsd_iterate_over_regset_sections): Likewise.
998         * arm-linux-tdep.c
999         (arm_linux_iterate_over_regset_sections): Likewise.
1000         * corelow.c (get_core_registers_cb): Likewise.
1001         (core_target::fetch_registers): Likewise.
1002         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1003         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1004         * gdbarch.h (void): Regenerate.
1005         * gdbarch.sh: Add supply_size and collect_size.
1006         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1007         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1008         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1009         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1010         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1011         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1012         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1013         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1014         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1015         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1016         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1017         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1018         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1019         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1020         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1021         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1022         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1023         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1024         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1025         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1026         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1027         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1028         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1029         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1030         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1031         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1032         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1033         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1034         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1035         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1036
1037 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1038
1039         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1040         with string_printf.
1041
1042 2018-08-10  Keith Seitz  <keiths@redhat.com>
1043
1044         * compile/compile-c-support.c (add_code_header, add_code_footer):
1045         Move into policy class.
1046         (c_push_user_expression, pop_user_expression_nop)
1047         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1048         (compile_program): New host class.
1049         (c_compile_program): New typedef.
1050         (c_compute_porgram): Use c_compile_program.
1051
1052 2018-08-10  Keith Seitz  <keiths@redhat.com>
1053
1054         * compile/compile-internal.h (compile_instance::~compile_instance):
1055         Remove calls to htab_delete.
1056         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1057         * compile.c (compile_instance::compile_instance): Initialize
1058         htab unique pointers.
1059         (compile_instance::get_cached_type, compile_instance::insert_type)
1060         (compile_instance::error_symbol_once): Update for unique_ptr.
1061
1062 2018-08-10  Keith Seitz  <keiths@redhat.com>
1063
1064         * compile/compile-c-symbols.c (struct symbol_error)
1065         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1066         (compile_instance::insert_symbol_error)
1067         (compile_instance::error_symbol_once): Move to ...
1068         * compile/compile.c: ... here.
1069
1070 2018-08-10  Keith Seitz  <keiths@redhat.com>
1071
1072         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1073         instead of `new_compile_instance'.
1074         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1075         Update description.
1076         If the symbol error map is not initialized, create it.
1077         (generate_c_for_for_one_symbol): Do not check/initialize
1078         the symbol error map.
1079         * compile/compile-c-types.c (compile_c_instance): Make a class.
1080         Update all callers.
1081         (compile_instance::compile_instance): Initialize the type cache.
1082         (get_cached_type): New function.
1083         (insert_type): Update description.
1084         (compile_c_instance::m_default_cflags): Define.
1085         (convert_type): Update description.  Use get_cached_type.
1086         (delete_instance): Moved to destructor.
1087         (new_compile_instance): Moved to constructor.
1088         * compile/compile-c.h (compile_c_instance): Make class inheriting
1089         from compile_instance.
1090         <base>: Remove field.
1091         <type_map, symbol_err_map>: Move to base class.
1092         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1093         * compile/compile-internal.h (compile_instance): Make class.
1094         <type_map_t, symbol_err_map_t>: Define.
1095         <fe>: Rename to `m_gcc_fe'.
1096         <scope, block, gcc_target_options>: Add `m_' prefix.
1097         <m_type_map, m_symbol_err_map>: New fields, moved from
1098         compile_c_instance.
1099         <destroy>: Remove.
1100         (convert_type, new_compile_instance): Remove.
1101         * compile/compile.c (cleanup_compile_instance): Remove.
1102         (compile_to_object): Use unique_ptr to eliminate cleanups.
1103         (compile_instance::set_print_callback, compile_instance::version)
1104         (compile_instance::set_verbose)
1105         (compile_instance::set_driver_filename)
1106         (compile_instance::set_triplet_regexp)
1107         (compile_instance::set_arguments)
1108         (compile_instance::set_source_file)
1109         (compile_instance::compile): Define.
1110
1111 2018-08-10  Keith Seitz  <keiths@redhat.com>
1112
1113         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1114         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1115         gcc-c-fe.def to define C plugin.
1116         (delete_instance): Delete `c_plugin'.
1117         (new_compile_instance): Initialize `c_plugin'.
1118         * compile/compile-c.h: Include gcc_c_plugin.h.
1119         (struct compile_c_instance) <c_plugin>: New member.
1120         * gcc-c-plugin.h: New file.
1121         Update all callers with API change.
1122
1123 2018-08-10  Keith Seitz  <keiths@redhat.com>
1124
1125         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1126         (HFILES_NO_SRCDIR): ... to here.
1127         Add compile-internal.h and compile-c.h.
1128         * compile/compile-c-support.c: Include compile-c.h.
1129         * compile/compile-c-symbols.c: Include compile-c.h.
1130         (generate_c_for_variable_locations): Update comment.
1131         * compile/compile-c-types.c: Include compile-c.h.
1132         * compile/compile-c.h: New file -- moved C language declarations
1133         from other files here.
1134         * compile/compile-internal.h: Do not include hashtab.h or
1135         common/enum-flags.h.
1136         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1137         (gcc_convert_symbol, gcc_symbol_address)
1138         (generate_c_for_variable_locations, c_get_mode_for_size)
1139         (c_get_range_decl_name): Definitions moved to compile-c.h.
1140         * compile/compile-loc2c.c: Include compile-c.h.
1141
1142 2018-08-10  Keith Seitz  <keiths@redhat.com>
1143
1144         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1145         (c_symbol_substitution_name): ... this.
1146         Update all callers.
1147
1148 2018-08-10  Keith Seitz  <keiths@redhat.com>
1149
1150         * compile/compile-c-support.c (c_compute_program): Use
1151         unique_xmalloc_ptr to eliminate cleanup.
1152         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1153         Return a unique_xmalloc_ptr and eliminate cleanup.
1154         * compile/compile-internal.h (generate_c_for_variable_locations):
1155         Return unique_xmalloc_ptr and update description.
1156
1157 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1158
1159         * corelow.c (core_target::get_core_register_section): Rename
1160         min_size to section_min_size.
1161
1162 2018-08-09  Jim Wilson  <jimw@sifive.com>
1163
1164         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1165         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1166         * NEWS: Mention new GNU/Linux RISC-V target.
1167         * configure.host: Add riscv*-*-linux*.
1168         * configure.nat: Add riscv*.
1169         * configure.tgt: Add riscv*-*-linux*.
1170         * riscv-linux-nat.c: New file.
1171         * riscv-linux-tdep.c: New file.
1172
1173 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1174
1175         * infrun.c (resume): Make static, add forward declaration.
1176         (proceed): Update header comment.
1177         * infrun.h (resume): Delete declaration.
1178
1179 2018-08-09  Tom Tromey  <tom@tromey.com>
1180
1181         * riscv-tdep.h: Minor formatting fixes.
1182
1183 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1184
1185         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1186         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1187         (test_mkdir_recursive): Likewise.
1188         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1189
1190 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1191
1192         * valarith.c (value_subscripted_rvalue): If an array is not in
1193         memory, and we don't know the upper bound, then we can't know that
1194         the requested element exists or not.
1195
1196 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1197
1198         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1199         (target_options_to_string): Add comment.
1200
1201 2018-08-08  Tom Tromey  <tom@tromey.com>
1202
1203         * unittests/scoped_mmap-selftests.c: Check result of "write".
1204
1205 2018-08-08  Jim Wilson  <jimw@sifive.com>
1206
1207         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1208         (decode_register_index_short): New.
1209         (decode_j_type_insn, decode_cj_type_insn): New.
1210         (decode_b_type_insn, decode_cb_type_insn): New.
1211         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1212         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1213         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1214         is_c_sw_insn instead of is_sw_insn.
1215         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1216         (riscv_software_single_step): New.
1217         * riscv-tdep.h (riscv_software_single_step): Declare.
1218
1219         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1220         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1221
1222 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1223
1224         PR gdb/18050:
1225         * target.c (dispose_inferior): Don't dispose of inferiors that are
1226         already killed.
1227
1228 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1229
1230         * remote.c (remote_target::download_tracepoint): Change char* to
1231         const char*.
1232
1233 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1234
1235         * target.h (target_options_to_string): Return an std::string.
1236         * target.c (str_comma_list_concat_elem): Return void, use
1237         std::string.
1238         (do_option): Likewise.
1239         (target_options_to_string): Return an std::string.
1240         * linux-nat.c (linux_nat_target::wait): Adjust.
1241         * target-debug.h (target_debug_print_options): Adjust.
1242
1243 2018-08-07  Tom Tromey  <tom@tromey.com>
1244
1245         * Makefile.in (CPPFLAGS): New variable.
1246         (INTERNAL_CPPFLAGS): Use it.
1247
1248 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1249
1250         * NEWS: Mention the index cache.
1251
1252 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1253
1254         * common/pathstuff.h (get_standard_cache_dir): New.
1255         * common/pathstuff.c (get_standard_cache_dir): New.
1256         * build-id.h (build_id_to_string): New.
1257         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1258         DEBUG_STR_SUFFIX): Move to here.
1259         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1260         DEBUG_STR_SUFFIX): Move from there.
1261         (write_psymtabs_to_index): Make non-static, add basename
1262         parameter.  Write to temporary files, rename when done.
1263         (save_gdb_index_command): Adjust call to
1264         write_psymtabs_to_index.
1265         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1266         field.
1267         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1268         (get_gdb_index_contents_from_cache): New.
1269         (get_gdb_index_contents_from_cache_dwz): New.
1270         (dwarf2_initialize_objfile): Read index from cache.
1271         (dwarf2_build_psymtabs): Save to index.
1272         * dwarf-index-cache.h: New file.
1273         * dwarf-index-cache.c: New file.
1274         * dwarf-index-write.h: New file.
1275
1276 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1277
1278         * gnulib/aclocal.m4: Re-generate.
1279         * gnulib/config.in: Re-generate.
1280         * gnulib/configure: Re-generate.
1281         * gnulib/import/Makefile.am: Re-generate.
1282         * gnulib/import/Makefile.in: Re-generate.
1283         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1284         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1285         * gnulib/import/m4/mkdir.m4: New file.
1286         * gnulib/import/mkdir.c: New file.
1287         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1288         module.
1289
1290 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1291
1292         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1293         * common/scoped_mmap.c: New file.
1294         * common/scoped_mmap.h (destroy): New method.
1295         (~scoped_mmap, reset): Use destroy.
1296         (scoped_mmap): New move constructor.
1297         (mmap_file): New declaration.
1298         * unittests/scoped_mmap-selftests.c (test_normal,
1299         test_invalid_filename, run_tests): New functions.
1300         (_initialize_scoped_mmap_selftests): Register selftest.
1301
1302 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1303
1304         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1305         (read_gdb_index_from_buffer): ... this.  Remove section
1306         parameter, add buffer parameter.
1307         (get_gdb_index_contents_ftype,
1308         get_gdb_index_contents_dwz_ftype): New typedefs.
1309         (dwarf2_read_gdb_index): Add callback parameters to get the
1310         index contents.
1311         (get_gdb_index_contents_from_section): New.
1312         (dwarf2_initialize_objfile): Update call to
1313         dwarf2_read_gdb_index.
1314
1315 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1316
1317         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1318         (gdb_open_cloexec): Likewise.
1319         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1320         (commandline_from_pid): Likewise.
1321         (linux_xfer_osdata_threads): Likewise.
1322         (linux_xfer_osdata_fds): Likewise.
1323         * ada-lang.c (is_package_name): Likewise.
1324         * auxv.c (procfs_xfer_auxv): Likewise.
1325         * breakpoint.c (print_one_breakpoint_location): Use
1326         uiout::field_fmt.
1327         (print_one_catch_solib): Use string_printf.
1328         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1329         (add_pe_forwarded_sym): Likewise.
1330         * dwarf2read.c (create_type_unit_group): Likewise.
1331         (build_error_marker_type): Likewise.
1332         * infcall.c (get_function_name): Likewise.
1333         * valprint.c (print_converted_chars_to_obstack): Likewise.
1334         * xtensa-tdep.c (xtensa_register_type): Likewise.
1335
1336 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1337
1338         * remote.c (remote_target::download_tracepoint): Fix format
1339         string errors.
1340
1341 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1342
1343         * tracefile.c: Include common/byte-vector.h.
1344         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1345         with trace_regblock_size if needed.  Update uses of buf.
1346
1347 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1348
1349         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1350         std::vector<unsigned char>.
1351         * tracepoint.c (collection_list::collection_list): Remove
1352         m_regs_mask initializer from initializer list.  Resize
1353         m_regs_mask using the largest remote register number.
1354         (collection_list::add_remote_register): Remove size check on
1355         m_regs_mask.  Use at to access element.
1356         (collection_list::stringify): Change type of temp_buf to
1357         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1358         stringify the register mask.  Use pack_hex_byte for the register
1359         mask.
1360
1361 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1362
1363         * tracepoint.h (class collection_list) <add_register>: Remove.
1364         <add_remote_register, add_ax_registers, add_local_register>:
1365         Declare.
1366         <add_memrange>: Add scope parameter.
1367         * tracepoint.c (encode_actions_1): Likewise.
1368         (collection_list::add_register): Rename to ...
1369         (collection_list::add_remote_register): ... this.  Update
1370         comment.
1371         (collection_list::add_ax_registers, add_local_register): New
1372         methods.
1373         (collection_list::add_memrange): Add scope parameter.  Call
1374         add_local_register instead of add_register.
1375         (finalize_tracepoint_aexpr): New function.
1376         (collection_list::collect_symbol): Update calls to add_memrange.
1377         Call add_local_register instead of add_register.  Call
1378         add_ax_registers.  Call finalize_tracepoint_aexpr.
1379         (encode_actions_1): Get remote regnos for $reg action.  Call
1380         add_remote_register, add_ax_registers, and add_local_register.
1381         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1382         (validate_actionline): Call finalize_tracepoint_aexpr.
1383
1384 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1385
1386         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1387         Replace array buf with gdb::char_vector buf, of size
1388         get_remote_packet_size ().  Replace references to buf and
1389         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1390         and xsnprintf with snprintf.  Raise errors if the buffer is too
1391         small.
1392
1393 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1394
1395         * remote.c (remote_target::download_tracepoint): Fix the has_more
1396         predicate in the QTDP action list iteration.
1397
1398 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1399
1400         * remote.c (remote_target::download_tracepoint): Fix indentation
1401         in for block.
1402
1403 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1404
1405         * proc-api.c (_initialize_proc_api): Remove c, unused.
1406         * procfs.c (procfs_init_inferior): Remove signals, unused.
1407         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1408         unused.
1409
1410 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1411             Andrew Burgess  <andrew.burgess@embecosm.com>
1412
1413         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1414         'W_STOPCODE (0)' as this could be ambiguous.
1415
1416 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1417
1418         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1419         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1420         "ai_socktype").
1421
1422 2018-08-02  Tom Tromey  <tom@tromey.com>
1423
1424         PR symtab/16842.
1425         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1426         symbols.
1427         (process_structure_scope): Likewise.
1428
1429 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1430
1431         PR gdb/22629:
1432         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1433         kill inferior.
1434
1435 2018-08-02  Tom Tromey  <tom@tromey.com>
1436
1437         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1438         (darwin_suspend_inferior, darwin_resume_inferior)
1439         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1440         (darwin_check_new_threads): Check result of get_darwin_inferior.
1441
1442 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1443
1444         GDB 8.1.1 released.
1445
1446 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1447
1448         * varobj.c (varobj_get_path_expr_parent): Report an error if
1449         parent is a dynamic varobj.
1450
1451 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1452
1453         * gnulib/aclocal.m4: Re-generate.
1454         * gnulib/config.in: Re-generate.
1455         * gnulib/configure: Re-generate.
1456         * gnulib/import/Makefile.in: Re-generate.
1457         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1458         * gnulib/import/m4/onceonly.m4: Re-generate.
1459
1460 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1461
1462         * target-descriptions.c (struct xml_test_tdesc): New.
1463         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1464         (record_xml_tdesc): Update.
1465         (maintenance_check_xml_descriptions): Update.
1466         * target-descriptions.h (record_xml_tdesc): Update comment.
1467
1468 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1469
1470         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1471         checking array bounds are defined.
1472
1473 2018-07-30  Tom Tromey  <tom@tromey.com>
1474
1475         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1476         irreflexivity violation.
1477
1478 2018-07-30  Tom Tromey  <tom@tromey.com>
1479
1480         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1481         * value.c (unpack_long): Remove lint code.
1482         * valops.c (value_ind): Remove lint code.
1483         * valarith.c (value_x_binop, value_x_unop, value_equal)
1484         (value_pos): Remove lint code.
1485
1486 2018-07-28  Tom de Vries  <tdevries@suse.de>
1487
1488         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1489         with undefined upper bound as <optimized out>.
1490
1491 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1492
1493         * gcore.in: Rename variable "name" to "prefix".  Expand
1494         "usage" text.
1495
1496 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1497
1498         * windows-nat.c (windows_nat_target::create_inferior): Update to
1499         call close() in global namespace.
1500
1501 2018-07-26  Tom Tromey  <tom@tromey.com>
1502
1503         * dwarf-index-write.c (add_address_entry): Don't add objfile
1504         offsets.
1505         * dbxread.c (find_stab_function): Rename from
1506         find_stab_function_addr.  Return a bound_minimal_symbol.
1507         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1508         Don't add objfile offsets.
1509         (end_psymtab): Use raw_text_low, raw_text_high,
1510         MSYMBOL_VALUE_RAW_ADDRESS.
1511         (read_ofile_symtab): Update.
1512         (process_one_symbol): Update.
1513         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1514         offsets.
1515         (dw2_relocate): Remove.
1516         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1517         searching addrmap.
1518         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1519         Update.
1520         (process_psymtab_comp_unit_reader, add_partial_symbol)
1521         (add_partial_subprogram, dwarf2_ranges_read): Update.
1522         (load_partial_dies): Update.
1523         (add_address_entry): Don't add objfile offsets.
1524         (dwarf2_build_include_psymtabs): Update.
1525         (create_addrmap_from_aranges): Don't add objfile offsets.
1526         (dw2_find_pc_sect_compunit_symtab): Update.
1527         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1528         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1529         Update.
1530         (parse_partial_symbols): Don't add objfile offsets.  Use
1531         raw_text_low, raw_text_high.  Update.
1532         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1533         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1534         or call 'relocate' quick function.  Clear psymbol_map.
1535         * psympriv.h (struct partial_symbol) <address>: Add section
1536         offset.
1537         <set_unrelocated_address>: Rename from set_address.
1538         <raw_text_low, raw_text_high>: New methods.
1539         <text_low, text_high>: Add objfile parameter.
1540         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1541         set_unrelocated_address.
1542         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1543         (find_pc_psymbol): Update.
1544         (fixup_psymbol_section, relocate_psymtabs): Remove.
1545         (dump_psymtab, psym_functions): Update.
1546         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1547         parameter.
1548         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1549         (start_psymtab_common): Update.
1550         * symfile-debug.c (debug_qf_relocate): Remove.
1551         (debug_sym_quick_functions): Update.
1552         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1553         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1554         Update.
1555
1556 2018-07-26  Tom Tromey  <tromey@redhat.com>
1557
1558         * dbxread.c (end_psymtab): Use text_high_valid and
1559         text_low_valid.
1560         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1561         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1562         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1563         Update comment.
1564         <text_low_valid, text_high_valid>: New fields.
1565         <set_text_low, set_text_high>: Update.
1566         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1567
1568 2018-07-26  Tom Tromey  <tom@tromey.com>
1569
1570         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1571         Update.
1572         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1573         textlow and texthigh fields.
1574         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1575         Update.
1576         * mdebugread.c (parse_lines, parse_partial_symbols)
1577         (psymtab_to_symtab_1): Update.
1578         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1579         Rename fields.  Update comment.  Now private.
1580         <text_low, text_high, set_text_low, set_text_high>: New methods.
1581         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1582         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1583         (start_psymtab_common, maintenance_info_psymtabs)
1584         (maintenance_check_psymtabs): Update.
1585         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1586         texthigh fields.
1587         (scan_xcoff_symtab): Update.
1588
1589 2018-07-26  Tom Tromey  <tromey@redhat.com>
1590
1591         * psympriv.h (struct partial_symbol) <unrelocated_address,
1592         address, set_address>: New methods.
1593         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1594         (fixup_psymbol_section, relocate_psymtabs): Update.
1595         (print_partial_symbols): Add 'objfile' parameter.  Update.
1596         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1597         Update.
1598
1599 2018-07-26  Tom Tromey  <tom@tromey.com>
1600
1601         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1602         (debug_names::write_psymbols): Update.
1603         * psympriv.h (struct partial_symbol): Derive from
1604         general_symbol_info.
1605         <obj_section>: New method.
1606         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1607         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1608         (find_pc_sect_psymbol, fixup_psymbol_section)
1609         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1610         (print_partial_symbols, recursively_search_psymtabs)
1611         (compare_psymbols, psymbol_hash, psymbol_compare)
1612         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1613         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1614
1615 2018-07-26  Tom Tromey  <tromey@redhat.com>
1616
1617         * dbxread.c (end_psymtab): Remove dead code.
1618
1619 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1620
1621         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1622         DWARF unwinders are disabled.
1623         * dwarf2-frame.c: Add dwarf2read.h include.
1624         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1625         disabled.
1626         (dwarf2_frame_unwinders_enabled_p): Define.
1627         (show_dwarf_unwinders_enabled_p): New function.
1628         (_initialize_dwarf2_frame): Register switch to control DWARF
1629         unwinder use.
1630         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1631         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1632         (show_dwarf_cmdlist): Remove static keyword.
1633         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1634         (show_dwarf_cmdlist): Declare.
1635         * NEWS: Document new feature.
1636
1637 2018-07-26  Tom de Vries  <tdevries@suse.de>
1638
1639         PR breakpoints/23366
1640         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1641
1642 2018-07-26  Tom de Vries  <tdevries@suse.de>
1643
1644         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1645         DW_AT_count can't be translated to a dynamic prop.
1646
1647 2018-07-25  Tom de Vries  <tdevries@suse.de>
1648
1649         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1650         try/catch.
1651
1652 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1653
1654         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1655
1656 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1657
1658         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1659
1660 2018-07-24  Keith Seitz  <keiths@redhat.comt
1661
1662         PR symtab/23010
1663         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1664         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1665         instead of add_symbol_to_list.
1666         (read_file_scope): Call prepare_one_comp_unit before reading
1667         any other DIEs.
1668
1669 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1670
1671         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1672
1673 2018-07-24  Tom Tromey  <tom@tromey.com>
1674
1675         * utils.c (malloc, realloc, free): Don't declare.
1676         * configure, config.in: Rebuild.
1677         * configure.ac: Don't check for declarations of free, malloc, or
1678         realloc.
1679
1680 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1681
1682         * aarch64-linux-nat.c
1683         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1684         variable.
1685         * arm-linux-nat.c (fetch_regs): Likewise.
1686         (store_regs): Likewise.
1687         (fetch_vfp_regs): Likewise.
1688         (store_vfp_regs): Likewise.
1689         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1690         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1691         (arm_linux_nat_target::insert_watchpoint): Likewise.
1692         (arm_linux_nat_target::remove_watchpoint): Likewise.
1693         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1694         Likewise.
1695         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1696         Likewise.
1697         * ppc-linux-nat.c (fetch_register): Likewise.
1698         (fetch_all_gp_regs): Likewise.
1699         (fetch_ppc_registers): Likewise.
1700         (store_all_gp_regs): Likewise.
1701         (store_ppc_registers): Likewise.
1702         (hwdebug_insert_point): Likewise.
1703         (can_use_watchpoint_cond_accel): Likewise.
1704         * remote-sim.c (gdb_os_write_stdout): Likewise.
1705
1706 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1707             Tom Tromey  <tom@tromey.com>
1708
1709         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1710         test for it.
1711         * configure: Rebuild.
1712
1713 2018-07-22  Tom Tromey  <tom@tromey.com>
1714
1715         * regformats/regdat.sh: Define xmltarget_${name} inside
1716         #ifndef IN_PROCESS_AGENT.
1717
1718 2018-07-22  Tom Tromey  <tom@tromey.com>
1719
1720         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1721
1722 2018-07-22  Tom Tromey  <tom@tromey.com>
1723
1724         * symfile.c (reread_symbols): Notify iter, not objfile.
1725
1726 2018-07-22  Tom Tromey  <tom@tromey.com>
1727
1728         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1729         Use arch_ops.
1730         (ravenscar_thread_target::prepare_to_store): Likewise.
1731
1732 2018-07-22  Tom Tromey  <tom@tromey.com>
1733
1734         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1735         unused variable.  Call value_fetch_lazy when needed.
1736         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1737         Remove unused variable.  Call value_fetch_lazy when needed.
1738
1739 2018-07-22  Tom Tromey  <tom@tromey.com>
1740
1741         * m32c-tdep.c (mark_dma): Return void.
1742         (make_regs): Remove unused declarations.
1743
1744 2018-07-22  Tom Tromey  <tom@tromey.com>
1745
1746         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1747         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1748         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1749         bkscm_get_valid_block_smob_arg_unsafe for effect.
1750
1751 2018-07-22  Tom Tromey  <tom@tromey.com>
1752
1753         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1754         value_type.
1755
1756 2018-07-22  Tom Tromey  <tom@tromey.com>
1757
1758         * windows-nat.c (saved_context): Conditionally define.
1759         * remote.c (remote_target::remote_btrace_maybe_reopen):
1760         Conditionally declare "warned".
1761         * inflow.c (sigquit_ours): Conditionally define.
1762         (new_tty): Move "tty" declaration inside #if.
1763         * guile/guile.c (guile_datadir): Conditionally define.
1764         * charset.c (set_be_le_names): Move some declarations inside #if.
1765         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1766         #if.
1767         (parse_xml_btrace_conf): Likewise.
1768
1769 2018-07-22  Tom Tromey  <tom@tromey.com>
1770
1771         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1772
1773 2018-07-22  Tom Tromey  <tom@tromey.com>
1774
1775         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1776         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1777         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1778         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1779         * stack.c (frame_apply_level_command): Remove unused variable.
1780         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1781         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1782         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1783         unused variable.
1784         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
1785         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
1786         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
1787         variable.
1788         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
1789         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
1790         variable.
1791         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
1792         Remove unused variable.
1793         * cli/cli-script.c (recurse_read_control_structure): Remove unused
1794         variable.
1795         * common/tdesc.c (print_xml_feature::visit): Remove unused
1796         variable.
1797         * compile/compile-object-load.c (store_regs): Remove unused
1798         variables.
1799         * complaints.c (clear_complaints): Remove unused variable.
1800         * corelow.c (core_target_open): Remove unused variable.
1801         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
1802         variable.
1803         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
1804         variable.
1805         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
1806         variable.
1807         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
1808         variable.
1809         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
1810         variable.
1811         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
1812         variable.
1813         * ia64-tdep.c (examine_prologue): Remove unused variable.
1814         * infcall.c (run_inferior_call): Remove unused variable.
1815         * inferior.c (exit_inferior): Remove unused variable.
1816         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
1817         * linespec.c (decode_line_2): Remove unused variable.
1818         * linux-nat.c (super_close): Remove.
1819         * linux-tdep.c (linux_info_proc): Remove unused variable.
1820         * mi/mi-main.c (mi_execute_command): Remove unused variable.
1821         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
1822         Remove unused variable.
1823         * parse.c (find_minsym_type_and_address): Remove unused variable.
1824         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1825         variable.
1826         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1827         variable.
1828         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1829         variables.
1830         * record-btrace.c (record_btrace_target::store_registers): Remove
1831         unused variable.
1832         (cmd_show_record_btrace_cpu): Remove unused variable.
1833         * riscv-tdep.c (riscv_register_reggroup_p)
1834         (riscv_push_dummy_call, riscv_return_value): Remove unused
1835         variable.
1836         * rust-exp.y (literal): Remove unused variable.
1837         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1838         unused variable.
1839         <STRUCTOP_ANONYMOUS>: Likewise.
1840         * s390-linux-tdep.c (s390_linux_init_abi_31)
1841         (s390_linux_init_abi_64): Remove unused variable.
1842         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1843         (file_select_thread, net_windows_open, _initialize_ser_windows):
1844         Remove unused variables.
1845         * symtab.c (find_pc_sect_line): Remove unused variable.
1846         * target-memory.c (compute_garbled_blocks): Remove unused
1847         variable.
1848         (target_write_memory_blocks): Remove unused variable.
1849         * target.c (target_stack::unpush): Remove unused variables.
1850         * tracepoint.c (start_tracing, all_tracepoint_actions)
1851         (merge_uploaded_trace_state_variables)
1852         (print_one_static_tracepoint_marker): Remove unused variable.
1853         * unittests/basic_string_view/element_access/char/1.cc (test01):
1854         Remove unused variable.
1855         * windows-nat.c (windows_continue, windows_add_all_dlls)
1856         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1857         Remove unused variables.
1858
1859 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1860
1861         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1862         attr_profile in HAVE_ELF.
1863         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1864         HAVE_ELF.
1865
1866 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1867
1868         * frame.c (frame_register_unwind): Change parameter name.
1869         (frame_unwind_register): Likewise.
1870         (frame_unwind_register_value): Likewise.
1871         (frame_unwind_register_signed): Likewise.
1872         (frame_unwind_register_unsigned): Likewise.
1873         * frame.h (frame_register_unwind): Likewise.
1874         (frame_unwind_register): Likewise.
1875         (frame_unwind_register_value): Likewise.
1876         (frame_unwind_register_signed): Likewise.
1877         (frame_unwind_register_unsigned): Likewise.
1878         (frame_unwind_arch): Likewise.
1879
1880 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1881
1882         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1883         ISA maintenance.
1884
1885 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1886
1887         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1888         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1889         hand.
1890
1891 2018-07-20  Keith Seitz  <keiths@redhat.com>
1892
1893         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1894         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1895         m_compunit_symtab, m_language>: Add "m_" prefix.
1896         Update all uses.
1897         * buildsym.c: Update all uses.
1898
1899 2018-07-20  Tom Tromey  <tom@tromey.com>
1900
1901         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1902         * buildsym.h (record_line_ftype): Remove typedef.
1903
1904 2018-07-20  Tom Tromey  <tom@tromey.com>
1905
1906         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1907         (end_expandable_symtab): Likewise.
1908         (end_symtab_get_static_block): Likewise.
1909         (end_symtab_from_static_block): Likewise.
1910         * buildsym-legacy.c (augment_type_symtab): Remove.
1911         (end_expandable_symtab): Remove.
1912         (end_symtab_get_static_block): Remove.
1913         (end_symtab_from_static_block): Remove.
1914
1915 2018-07-20  Tom Tromey  <tom@tromey.com>
1916
1917         * dwarf2read.c: Include buildsym.h.
1918         (struct dwarf2_cu) <builder>: New method.
1919         (fixup_go_packaging): Update.
1920         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1921         use scoped_free_pendings.
1922         (using_directives): Add "cu" parameter, remove "language".
1923         (read_import_statement, setup_type_unit_groups, )
1924         (read_func_scope, read_lexical_block_scope)
1925         (dwarf2_record_block_ranges, read_namespace): Update.
1926         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1927         (lnp_state_machine::handle_end_sequence): Update.
1928         (class lnp_state_machine) <m_cu>: New member.
1929         <m_record_line_callback>: Remove.
1930         <m_currently_recording_lines>: New member.
1931         (lnp_state_machine::handle_set_file): Update.
1932         (noop_record_line): Remove.
1933         (dwarf_record_line_p): Add cu parameter.
1934         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1935         (lnp_state_machine::record_line)
1936         (lnp_state_machine::lnp_state_machine)
1937         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1938         (dwarf_decode_lines): Update.
1939         (dwarf2_start_subfile): Add cu parameter.
1940         (dwarf2_start_symtab, new_symbol): Update.
1941         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1942         Remove dwarf2_per_objfile parameter.
1943         (dwarf_decode_macros): Update.
1944
1945 2018-07-20  Tom Tromey  <tom@tromey.com>
1946
1947         * stabsread.c (define_symbol): Update.
1948         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1949         * dwarf2read.c (new_symbol): Update.
1950         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1951         * cp-namespace.c: Include buildsym.h.
1952         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1953         * buildsym-legacy.c (get_buildsym_compunit): New function.
1954
1955 2018-07-20  Tom Tromey  <tom@tromey.com>
1956
1957         * xcoffread.c: Include buildsym-legacy.h.
1958         * windows-nat.c: Include buildsym-legacy.h.
1959         * stabsread.c: Include buildsym-legacy.h.
1960         * mdebugread.c: Include buildsym-legacy.h.
1961         * buildsym-legacy.h: New file.
1962         * buildsym-legacy.c: New file, from buildsym.c.
1963         * go32-nat.c: Include buildsym-legacy.h.
1964         * dwarf2read.c: Include buildsym-legacy.h.
1965         * dbxread.c: Include buildsym-legacy.h.
1966         * cp-namespace.c: Include buildsym-legacy.h.
1967         * coffread.c: Include buildsym-legacy.h.
1968         * buildsym.h: Move some contents to buildsym-legacy.h.
1969         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1970         buildsym-legacy.c.
1971         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1972
1973 2018-07-20  Tom Tromey  <tom@tromey.com>
1974
1975         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1976         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1977         (buildsym_compunit::buildsym_compunit)
1978         (buildsym_compunit::~buildsym_compunit)
1979         (buildsym_compunit::get_macro_table): Define.
1980
1981 2018-07-20  Tom Tromey  <tom@tromey.com>
1982
1983         * buildsym.c (reset_symtab_globals): Remove.
1984         (buildsym_compunit::end_symtab_from_static_block): Update.
1985         (buildsym_compunit::augment_type_symtab): Update.
1986         (end_symtab_from_static_block): Call free_buildsym_compunit.
1987         (augment_type_symtab, end_symtab, end_expandable_symtab):
1988         Likewise.
1989
1990 2018-07-20  Tom Tromey  <tom@tromey.com>
1991
1992         * arch-utils.c: Do not include buildsym.h.
1993         * mipsread.c: Do not include buildsym.h.
1994         * machoread.c: Do not include buildsym.h.
1995         * elfread.c: Do not include buildsym.h.
1996
1997 2018-07-20  Tom Tromey  <tom@tromey.com>
1998
1999         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2000         initialization.
2001         (buildsym_compunit): Add new constructor.
2002         (struct buildsym_compunit) <get_last_source_file, finish_block,
2003         record_block_range, start_subfile, patch_subfile_names,
2004         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2005         set_last_source_start_addr, get_last_source_start_addr,
2006         get_local_using_directives, set_local_using_directives,
2007         get_global_using_directives, outermost_context_p,
2008         get_current_context_stack, get_context_stack_depth,
2009         get_current_subfile, get_local_symbols, get_file_symbols,
2010         get_global_symbols, record_debugformat, record_producer,
2011         push_context, pop_context, end_symtab_get_static_block,
2012         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2013         New public methods.
2014         <record_pending_block, finish_block_internal, make_blockvector,
2015         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2016         private methods.
2017         Update all users.
2018
2019 2018-05-22  Tom Tromey  <tom@tromey.com>
2020
2021         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2022         parameter.
2023         (finish_block_internal): Update.
2024
2025 2018-07-20  Tom Tromey  <tom@tromey.com>
2026
2027         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2028         parameter.
2029         (finish_block_internal): Update.
2030
2031 2018-07-20  Tom Tromey  <tom@tromey.com>
2032
2033         * buildsym.h (EXTERN): Don't define or undef.
2034         * buildsym.c (EXTERN): Don't define.
2035
2036 2018-07-20  Tom Tromey  <tom@tromey.com>
2037
2038         * buildsym.c: Remove TODO comment.
2039
2040 2018-07-20  Tom Tromey  <tom@tromey.com>
2041
2042         * coffread.c (coff_symtab_read): Update.
2043         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2044         (xcoff_new_init): Update.
2045         * mipsread.c (mipscoff_new_init): Update.
2046         * mdebugread.c (mdebug_build_psymtabs): Update.
2047         * elfread.c (elf_new_init): Update.
2048         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2049         Update.
2050         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2051         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2052         (stabsect_build_psymtabs): Update.
2053         * buildsym.h (buildsym_init): Don't declare.
2054         * buildsym.c: Update comment.
2055         (prepare_for_building): Remove.
2056         (start_symtab, restart_symtab): Update.
2057         (reset_symtab_globals): Update comment.
2058         (buildsym_init): Remove.
2059
2060 2018-07-20  Tom Tromey  <tom@tromey.com>
2061
2062         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2063         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2064         (read_enum_type, common_block_start, common_block_end)
2065         (cleanup_undefined_types_1, finish_global_stabs): Update.
2066         * mdebugread.c (psymtab_to_symtab_1): Update.
2067         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2068         (read_lexical_block_scope, new_symbol): Update.
2069         * dbxread.c (process_one_symbol): Update.
2070         * coffread.c (coff_symtab_read, process_coff_symbol)
2071         (coff_read_enum_type): Update.
2072         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2073         declare.
2074         (get_local_symbols, get_file_symbols, get_global_symbols): New
2075         functions.
2076         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2077         m_global_symbols.
2078         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2079         (~scoped_free_pendings): Update.
2080         (finish_block, prepare_for_building, reset_symtab_globals)
2081         (end_symtab_get_static_block, end_symtab_with_blockvector)
2082         (augment_type_symtab, push_context): Update.
2083         (get_local_symbols, get_file_symbols, get_global_symbols): New
2084         functions.
2085         (buildsym_init): Update.
2086
2087 2018-07-20  Tom Tromey  <tom@tromey.com>
2088
2089         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2090         (process_full_type_unit): Likewise.
2091         (dwarf2_start_symtab): Set list_in_scope.
2092
2093 2018-07-20  Tom Tromey  <tom@tromey.com>
2094
2095         * dwarf2read.c (process_psymtab_comp_unit_reader)
2096         (build_type_psymtabs_reader): Do not set list_in_scope.
2097
2098 2018-07-20  Tom Tromey  <tom@tromey.com>
2099
2100         * buildsym.c (free_pendings): Remove.
2101         (add_symbol_to_list, scoped_free_pendings)
2102         (finish_block_internal, buildsym_init): Update.
2103
2104 2018-07-20  Tom Tromey  <tom@tromey.com>
2105
2106         * xcoffread.c (read_xcoff_symtab): Update.
2107         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2108         Update.
2109         * dbxread.c (process_one_symbol): Update.
2110         * coffread.c (coff_symtab_read): Update.
2111         * buildsym.h (finish_block): Update.
2112         * buildsym.c (finish_block): Remove "listhead" argument.
2113         (end_symtab_get_static_block): Update.
2114
2115 2018-07-20  Tom Tromey  <tom@tromey.com>
2116
2117         * buildsym.h (class scoped_free_pendings): Remove constructor.
2118         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2119         method.
2120         <m_pending_block_obstack, m_pending_blocks>: New members.
2121         (pending_block_obstack, pending_blocks): Remove.
2122         (scoped_free_pendings::scoped_free_pendings): Default.
2123         (~scoped_free_pendings): Update.
2124         (free_pending_blocks): Remove.
2125         (finish_block_internal, record_pending_block, make_blockvector)
2126         (end_symtab_get_static_block, augment_type_symtab, push_context)
2127         (buildsym_init): Update.
2128
2129 2018-07-20  Tom Tromey  <tom@tromey.com>
2130
2131         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2132         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2133         members.
2134         (pending_addrmap, pending_addrmap_obstack)
2135         (pending_addrmap_interesting): Remove.
2136         (scoped_free_pendings, record_block_range, make_blockvector)
2137         (prepare_for_building, reset_symtab_globals, buildsym_init):
2138         Update.
2139
2140 2018-07-20  Tom Tromey  <tom@tromey.com>
2141
2142         * xcoffread.c (process_linenos): Update.
2143         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2144         * mdebugread.c (psymtab_to_symtab_1): Update.
2145         * dwarf2read.c (setup_type_unit_groups)
2146         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2147         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2148         * dbxread.c (process_one_symbol): Update.
2149         * coffread.c (coff_symtab_read, enter_linenos)
2150         (process_coff_symbol): Update.
2151         * buildsym.h (current_subfile): Don't declare.
2152         (get_current_subfile): Declare.
2153         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2154         member.
2155         (start_subfile, free_buildsym_compunit, push_subfile)
2156         (prepare_for_building, start_symtab): Update.
2157         (get_current_subfile): New function.
2158
2159 2018-07-20  Tom Tromey  <tom@tromey.com>
2160
2161         * coffread.c (coff_symtab_read): Update.
2162         * xcoffread.c (read_xcoff_symtab): Update.
2163         * dwarf2read.c (new_symbol): Update.
2164         (read_func_scope, read_lexical_block_scope): Update.
2165         * dbxread.c (process_one_symbol): Update.
2166         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2167         (outermost_context_p): Remove macro.
2168         (outermost_context_p, get_current_context_stack)
2169         (get_context_stack_depth): Declare.
2170         (pop_context): Return struct context_stack.
2171         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2172         member.
2173         (context_stack_size): Remove.
2174         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2175         (prepare_for_building, end_symtab_get_static_block)
2176         (augment_type_symtab, push_context): Update.
2177         (pop_context): Return struct context_stack.
2178         (outermost_context_p, get_current_context_stack)
2179         (get_context_stack_depth): New functions.
2180         (buildsym_init): Update.
2181
2182 2018-07-20  Tom Tromey  <tom@tromey.com>
2183
2184         * rust-exp.y: Now a pure parser.  Update all rules.
2185         (%union): Move earlier.
2186         (current_parser, work_obstack): Remove globals.
2187         (rust_parser, ~rust_parser): Update.
2188         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2189         lex_character, lex_number, lex_string, lex_identifier,
2190         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2191         convert_name, convert_params_to_expression,
2192         convert_ast_to_expression, ast_basic_type, ast_operation,
2193         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2194         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2195         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2196         ast_array_type, ast_slice_type, ast_reference_type,
2197         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2198         (rust_parse): Update.
2199         (rustyyerror, rustyylex): Add parser parameter.
2200         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2201         (rust_lex_stringish_test, rust_lex_test_sequence)
2202         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2203         (rust_lex_test_push_back, rust_lex_tests): Update.
2204
2205 2018-07-19  Pedro Alves  <palves@redhat.com>
2206
2207         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2208         gdb::unique_xmalloc_ptr.
2209         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2210         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2211         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2212         copy-initialization.
2213         * guile/scm-pretty-print.c (ppscm_print_children): Use
2214         gdb::unique_xmalloc_ptr instead of cleanups.
2215         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2216         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2217         gdb::unique_xmalloc_ptr.
2218         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2219         Adjust to use gdb::unique_xmalloc_ptr.
2220         * guile/scm-utils.c (extract_arg): Adjust.
2221         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2222         gdb::unique_xmalloc_ptr instead of a cleanup.
2223
2224 2018-07-19  Tom Tromey  <tom@tromey.com>
2225
2226         * utils.c (do_value_free_to_mark)
2227         (make_cleanup_value_free_to_mark): Remove.
2228         * utils.h (make_cleanup_value_free_to_mark): Remove.
2229
2230 2018-07-19  Pedro Alves  <palves@redhat.com>
2231
2232         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2233         forwarding reference.
2234
2235 2018-07-18  Pedro Alves  <palves@redhat.com>
2236
2237         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2238         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2239         cleanup.
2240
2241 2018-07-18  Pedro Alves  <palves@redhat.com>
2242
2243         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2244         exceptions.
2245         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2246         (gdbscm_wrap): New.
2247         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2248         directly instead of a cleanup.
2249         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2250         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2251         (vlscm_binop_gdbthrow): New, factored out from ...
2252         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2253         (vlscm_rich_compare): Use gdbscm_wrap.
2254         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2255         instead of a cleanup.
2256         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2257         cleanup.
2258         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2259         Use xfree directly instead of a cleanup.
2260         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2261         Adjust to use gdbscm_wrap and scoped_value_mark.
2262         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2263         (gdbscm_value_address, gdbscm_value_dereference)
2264         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2265         scoped_value_mark.
2266         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2267         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2268         scoped_value_mark.
2269         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2270         gdbscm_wrap and scoped_value_mark.
2271         (gdbscm_value_to_string): Use xfree directly instead of a
2272         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2273         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2274         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2275         scoped_value_mark.
2276         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2277         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2278         scoped_value_mark.
2279         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2280         gdbscm_wrap.
2281
2282 2018-07-18  Tom de Vries  <tdevries@suse.de>
2283
2284         * findvar.c (default_read_var_value): Also resolve dynamic type for
2285         LOC_OPTIMIZED_OUT vars.
2286
2287 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2288
2289         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2290         decoding.
2291
2292 2018-07-17  Tom Tromey  <tom@tromey.com>
2293
2294         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2295         (compute_enum_list, pascm_set_param_value_x)
2296         (gdbscm_parameter_value): Update.
2297         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2298         (gdbscm_scm_to_host_string): Update.
2299         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2300         Update.
2301         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2302         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2303         * guile/scm-string.c (gdbscm_scm_to_string): Return
2304         unique_xmalloc_ptr.
2305         (gdbscm_scm_to_host_string): Likewise.
2306
2307 2018-07-17  Tom Tromey  <tom@tromey.com>
2308
2309         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2310         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2311         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2312         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2313         unique_xmalloc_ptr.
2314
2315 2018-07-17  Tom Tromey  <tom@tromey.com>
2316
2317         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2318         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2319         Update.
2320         * guile/scm-cmd.c (cmdscm_function): Update.
2321         * guile/scm-pretty-print.c
2322         (ppscm_print_exception_unless_memory_error): Update.
2323         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2324         Return unique_xmalloc_ptr.
2325
2326 2018-07-17  Tom Tromey  <tom@tromey.com>
2327
2328         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2329         Use string_printf.
2330
2331 2018-07-17  Jim Wilson  <jimw@sifive.com>
2332
2333         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2334         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2335         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2336         unecessary braces after EF_RISCV_RVC test.  Delete call to
2337         set_gdbarch_decr_pc_after_break.
2338
2339         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2340         RISCV_LAST_FP_REGNUM + 1.
2341         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2342
2343 2018-07-17  Tom Tromey  <tom@tromey.com>
2344
2345         * configure.ac: Remove --disable-gdbcli.
2346         * configure: Rebuild.
2347         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2348         (SUBDIR_CLI_CFLAGS): Remove.
2349         (SFILES): Use SUBDIR_CLI_SRCS.
2350         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2351
2352 2018-07-17  Tom Tromey  <tom@tromey.com>
2353
2354         PR gdb/18624:
2355         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2356
2357 2018-07-16  Jim Wilson  <jimw@sifive.com>
2358
2359         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2360
2361 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2362
2363         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2364         variable.
2365         (libunwind_frame_sniffer): Likewise.
2366         (libunwind_frame_prev_register): Likewise.
2367         (libunwind_sigtramp_frame_sniffer): Likewise.
2368         * ia64-tdep.c (ia64_access_reg): Likewise.
2369         (ia64_access_rse_reg): Likewise.
2370         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2371         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2372
2373 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2374
2375         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2376
2377 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2378
2379         * remote-sim.c (gdbsim_target::close,
2380         gdbsim_target::mourn_inferior): Remove unused variables.
2381
2382 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2383
2384         * ia64-tdep.c (ktab_buf): New global.
2385         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2386         (get_kernel_table): Adjust.
2387
2388 2018-07-16  Tom Tromey  <tom@tromey.com>
2389
2390         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2391         * dwarf2read.c (using_directives, new_symbol): Use
2392         outermost_context_p.
2393         * dbxread.c (process_one_symbol): Use outermost_context_p.
2394         * coffread.c (coff_symtab_read): Use outermost_context_p.
2395
2396 2018-07-16  Tom Tromey  <tom@tromey.com>
2397
2398         * dwarf2read.c (using_directives, read_func_scope)
2399         (read_lexical_block_scope): Update.
2400         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2401         * buildsym.h (local_using_directives, global_using_directives):
2402         Don't declare.
2403         (get_local_using_directives, set_local_using_directives)
2404         (get_global_using_directives): Declare.
2405         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2406         m_global_using_directives>: New members.
2407         (finish_block_internal, prepare_for_building)
2408         (reset_symtab_globals, end_symtab_get_static_block)
2409         (push_context): Update.
2410         (get_local_using_directives, set_local_using_directives)
2411         (get_global_using_directives): New functions.
2412         (buildsym_init): Update.
2413
2414 2018-07-16  Tom Tromey  <tom@tromey.com>
2415
2416         * xcoffread.c (xcoff_initial_scan): Don't call
2417         free_pending_blocks.
2418         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2419         * buildsym.h (class scoped_free_pendings): Add constructor.
2420         (free_pending_blocks): Don't declare.
2421         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2422         (free_pending_blocks): Now static.
2423
2424 2018-07-16  Tom Tromey  <tom@tromey.com>
2425
2426         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2427         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2428         member.
2429         (struct subfile_stack): Remove.
2430         (subfile_stack): Remove.
2431         (push_subfile, pop_subfile, buildsym_init): Update.
2432
2433 2018-07-16  Tom Tromey  <tom@tromey.com>
2434
2435         * buildsym.c (push_subfile): Use gdb_assert.
2436         (pop_subfile): Use gdb_assert.
2437
2438 2018-07-16  Tom Tromey  <tom@tromey.com>
2439
2440         * buildsym.h (merge_symbol_lists): Remove.
2441         * buildsym.c (merge_symbol_lists): Remove.
2442
2443 2018-07-16  Tom Tromey  <tom@tromey.com>
2444
2445         * stabsread.c (scan_file_globals): Update comment.
2446         * stabsread.h (scan_file_globals): Move from buildsym.h.
2447         * buildsym.h (scan_file_globals): Move to stabsread.h.
2448
2449 2018-07-16  Tom Tromey  <tom@tromey.com>
2450
2451         * xcoffread.c (xcoff_new_init): Update.
2452         * mipsread.c (mipscoff_new_init): Update.
2453         * mdebugread.c (mdebug_build_psymtabs): Update.
2454         * elfread.c (elf_new_init): Update.
2455         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2456         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2457         * buildsym.h (buildsym_new_init): Don't declare.
2458         * buildsym.c (buildsym_new_init): Remove.
2459
2460 2018-07-16  Tom Tromey  <tom@tromey.com>
2461
2462         * stabsread.h (within_function): Move from buildsym.h.
2463         * stabsread.c (start_stabs): Clear within_function.
2464         * coffread.c (coff_start_symtab): Clear within_function.
2465         * buildsym.h (within_function): Move to stabsread.h.
2466         * buildsym.c (prepare_for_building): Update.
2467
2468 2018-07-16  Tom Tromey  <tom@tromey.com>
2469
2470         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2471         * dwarf2read.c (dwarf2_start_symtab): Don't set
2472         processing_gcc_compilation.
2473         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2474
2475 2018-07-16  Tom Tromey  <tom@tromey.com>
2476
2477         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2478         (next_symbol_text_func): Move from buildsym.h.
2479         * stabsread.c (hashname): Move from buildsym.c.
2480         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2481         (next_symbol_text_func, hashname): Move to stabsread.h.
2482         * buildsym.c: Don't include bcache.h
2483         (hashname): Move to stasbread.c.
2484
2485 2018-07-16  Tom Tromey  <tom@tromey.com>
2486
2487         * buildsym.h (context_stack_size): Don't declare.
2488         * buildsym.c (context_stack_size): New global.
2489
2490 2018-07-16  Tom Tromey  <tom@tromey.com>
2491
2492         * dbxread.c (processing_acc_compilation): New global.
2493         * buildsym.h (processing_acc_compilation): Don't declare.
2494
2495 2018-07-16  Tom Tromey  <tom@tromey.com>
2496
2497         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2498         * dbxread.c (read_ofile_symtab): Update.
2499         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2500         * buildsym.h (last_source_start_addr): Remove.
2501         (set_last_source_start_addr, get_last_source_start_addr):
2502         Declare.
2503         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2504         parameter.
2505         (struct buildsym_compunit) <m_last_source_start_addr>: New
2506         member.
2507         (prepare_for_building): Remove start_addr parameter.
2508         (start_symtab, restart_symtab, end_symtab_get_static_block)
2509         (end_symtab_with_blockvector): Update.
2510         (set_last_source_start_addr, get_last_source_start_addr): New
2511         functions.
2512
2513 2018-07-16  Tom Tromey  <tom@tromey.com>
2514
2515         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2516         member.
2517         (have_line_numbers): Remove.
2518         (record_line, prepare_for_building, end_symtab_get_static_block)
2519         (augment_type_symtab): Update.
2520
2521 2018-07-16  Tom Tromey  <tom@tromey.com>
2522
2523         * buildsym.c (~buildsym_compunit): Free the macro table.
2524         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2525         methods.
2526         <m_pending_macros>: New member.
2527         (pending_macros): Remove.
2528         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2529         (reset_symtab_globals, end_symtab_get_static_block)
2530         (end_symtab_with_blockvector, augment_type_symtab)
2531         (buildsym_init): Update.
2532
2533 2018-07-16  Tom Tromey  <tom@tromey.com>
2534
2535         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2536         parameter.
2537         (buildsym_compunit::set_last_source_file): New method.
2538         <m_last_source_file>: New member.
2539         (prepare_for_building): Remove "name" parameter.
2540         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2541         (last_source_file): Remove.
2542         (set_last_source_file, get_last_source_file): Update.
2543
2544 2018-07-16  Tom Tromey  <tom@tromey.com>
2545
2546         * buildsym.c (prepare_for_building): Add assert.
2547
2548 2018-07-16  Tom Tromey  <tom@tromey.com>
2549
2550         * buildsym.c (~buildsym_compunit): Update.
2551         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2552         (start_subfile, patch_subfile_names)
2553         (end_symtab_with_blockvector): Update.
2554
2555 2018-07-16  Tom Tromey  <tom@tromey.com>
2556
2557         * buildsym.c (struct buildsym_compunit): Add constructor,
2558         destructor, initializers.
2559         (start_buildsym_compunit): Remove.
2560         (free_buildsym_compunit): Use "delete".
2561         (start_symtab, restart_symtab): Use "new".
2562
2563 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2564
2565         * symfile.c (set_objfile_default_section_offset): Remove struct
2566         keyword.
2567
2568 2018-07-14  Stafford Horne  <shorne@gmail.com>
2569
2570         * (Responsible Maintainers): Add myself as or1k maintainer.
2571
2572 2018-07-13  Tom Tromey  <tom@tromey.com>
2573
2574         * symfile.c (set_objfile_default_section_offset): Use extra braces
2575         around initializer.
2576
2577 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2578
2579         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2580         non-branching basr.
2581
2582 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2583
2584         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2585         unittests/cli-utils-selftests.c
2586         * unittests/cli-utils-selftests.c: New file.
2587
2588 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2589
2590         * NEWS: Mention new commands. Mention change to 'thread apply'.
2591
2592 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2593
2594         * thread.c (thr_try_catch_cmd): New function.
2595         (thread_apply_all_command): Handle qcs flags.
2596         (thread_apply_command): Handle qcs flags.
2597         (taas_command): New function.
2598         (tfaas_command): New function.
2599         (_initialize_thread): Update to setup the new commands 'taas
2600         and 'tfaas'. Change doc string for 'thread apply'.
2601
2602 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2603
2604         * stack.c: (trailing_outermost_frame): New function, mostly
2605         extracted from backtrace_command_1.
2606         (leading_innermost_frame): New function.
2607         (backtrace_command_1): Update to call trailing_outermost_frame.
2608         (frame_apply_command_count): New function.
2609         (frame_apply_level_command): New function.
2610         (frame_apply_all_command): New function.
2611         (frame_apply_command): New function.
2612         (faas_command): New function.
2613         (frame_cmd_list): New variable.
2614         (_initialize_stack): Update to setup the new commands 'frame apply'
2615         and 'faas'.
2616
2617 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2618
2619         * cli-utils.c (number_or_range_parser::get_number): Only handle
2620         numbers or convenience var as numbers.
2621         (parse_flags): New function.
2622         (parse_flags_qcs): New function.
2623         (number_or_range_parser::finished): Ensure parsing end is detected
2624         before end of string.
2625         * cli-utils.h (parse_flags): New function.
2626         (parse_flags_qcs): New function.
2627         (number_or_range_parser): Remove m_finished bool.
2628         (number_or_range_parser::skip_range): Set m_in_range to false.
2629
2630 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2631
2632         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2633         on Windows.
2634
2635 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2636             Jan Kratochvil  <jan.kratochvil@redhat.com>
2637             Paul Fertser  <fercerpav@gmail.com>
2638             Tsutomu Seki  <sekiriki@gmail.com>
2639             Pedro Alves  <palves@redhat.com>
2640
2641         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2642         'unittests/parse-connection-spec-selftests.c'.
2643         (COMMON_SFILES): Add 'common/netstuff.c'.
2644         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2645         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2646         * common/netstuff.c: New file.
2647         * common/netstuff.h: New file.
2648         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2649         (wait_for_connect): Update comment.  New parameter
2650         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2651         Use 'sock' directly instead of 'scb->fd'.
2652         (try_connect): New function, with code from 'net_open'.
2653         (net_open): Rewrite main loop to deal with multiple
2654         sockets/addresses.  Handle IPv6-style hostnames; implement
2655         support for IPv6 connections.
2656         * unittests/parse-connection-spec-selftests.c: New file.
2657
2658 2018-07-11  Pedro Alves  <palves@redhat.com>
2659
2660         PR gdb/23377
2661         * remote.c (remote_target::remote_detach_pid): Call
2662         set_current_process.
2663
2664 2018-07-11  Pedro Alves  <palves@redhat.com>
2665
2666         * h8300-tdep.c (h8300_gdbarch_init): Remove
2667         set_gdbarch_ecoff_reg_to_regnum calls.
2668
2669 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2670
2671         PR c++/23373
2672         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2673         offsets/sizes for static members of a class/struct.
2674
2675 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2676
2677         * target-descriptions.c (tdesc_register_bitsize): Rename.
2678         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2679         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2680         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2681
2682 2018-07-10  Tom Tromey  <tom@tromey.com>
2683
2684         * breakpoint.c (moribund_locations): Now static and a
2685         std::vector.
2686         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2687         (build_bpstat_chain, update_global_location_list)
2688         (breakpoint_retire_moribund): Update.
2689         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2690         VEC.
2691
2692 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2693
2694         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2695         (riscv_register_reggroup_p): Use new function, remove unneeded
2696         parenthesis.
2697         (riscv_push_dummy_call): Extend assert to compare against xlen or
2698         flen based on register type.
2699
2700 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2701
2702         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2703
2704 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2705
2706         * remote.c (show_hardware_watchpoint_limit): New function.
2707         (show_hardware_watchpoint_length_limit): New function.
2708         (show_hardware_breakpoint_limit): New function.
2709         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2710         where appropriate, update help text.
2711
2712 2018-07-09  Tom Tromey  <tom@tromey.com>
2713
2714         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2715         (CLIBS): Don't mention NAT_CLIBS.
2716
2717 2018-07-09  Tom Tromey  <tom@tromey.com>
2718
2719         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2720         (LIBGDB_OBS, clean mostlyclean): Update.
2721         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2722
2723 2018-07-09  Tom Tromey  <tom@tromey.com>
2724
2725         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2726         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2727         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2728
2729 2018-07-09  Tom Tromey  <tom@tromey.com>
2730
2731         * Makefile.in (ALLDEPFILES): Remove exec.c.
2732         (COMMON_OBS): Remove exec.o.
2733         (COMMON_SFILES): Add exec.c.
2734
2735 2018-07-09  Tom Tromey  <tom@tromey.com>
2736
2737         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2738
2739 2018-07-09  Tom Tromey  <tom@tromey.com>
2740
2741         * Makefile.in (clean mostlyclean): Remove stamp-version.
2742         (version.c): Depend on stamp-version.
2743         (stamp-version): New rule, from version.c rule.
2744
2745 2018-07-09  Tom Tromey  <tom@tromey.com>
2746
2747         * Makefile.in (init.c): Depend on stamp-init.
2748         (stamp-init): New rule, from init.c rule.
2749         (clean mostlyclean): Remove stamp-init.
2750
2751 2018-07-09  Tom Tromey  <tom@tromey.com>
2752
2753         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2754         SUBDIR_GCC_COMPILE_SRCS.
2755
2756 2018-07-09  Tom Tromey  <tom@tromey.com>
2757
2758         * Makefile.in (init.c): Remove some unused sed rules.
2759
2760 2018-07-09  Tom Tromey  <tom@tromey.com>
2761
2762         * Makefile.in (TSOBS): Remove.
2763         (INIT_FILES): Update.
2764         (LIBGDB_OBS): Update.
2765         (COMMON_SFILES): Add inflow.c.
2766         (SFILES): Remove inflow.c.
2767
2768 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2769
2770         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2771
2772 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2773
2774         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2775         get_saveloc_name, is_signal_frame_name, step_name,
2776         init_remote_name, create_addr_space_name,
2777         destroy_addr_space_name, search_unwind_table_name,
2778         find_dyn_list_name): Constify.
2779
2780 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2781
2782         * darwin-nat.c (darwin_pthread_kill): New function.
2783         (darwin_resume_thread): Use darwin_pthread_kill.
2784
2785 2018-07-05  Tom de Vries  <tdevries@suse.de>
2786
2787         * macroexp.c (macro_buffer) <operator=>: New member function.
2788
2789 2018-07-04  Tom Tromey  <tom@tromey.com>
2790
2791         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
2792
2793 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
2794
2795         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
2796         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
2797         * maint.c: Likewise.
2798         * top.c: Likewise.
2799
2800 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2801
2802         * NEWS: Create a new section for the next release branch.
2803         Rename the section of the current branch, now that it has
2804         been cut.
2805
2806 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2807
2808         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
2809         * version.in: Bump version to 8.2.50.DATE-git.
2810
2811 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
2812             Pedro Alves  <palves@redhat.com>
2813
2814         * linux-nat.c (linux_init_ptrace): Rename to ...
2815         (linux_init_ptrace_procfs): ... this.  Call
2816         linux_proc_init_warnings.
2817         (linux_nat_target::post_attach)
2818         (linux_nat_target::post_startup_inferior): Adjust.
2819         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
2820         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
2821
2822 2018-07-04  Tom de Vries  <tdevries@suse.de>
2823
2824         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2825         check ...
2826         (read_comp_unit_head): ... here.
2827
2828 2018-07-03  Tom Tromey  <tom@tromey.com>
2829
2830         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2831         (stop_tracing, tstatus_command)
2832         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2833         (print_one_static_tracepoint_marker): Update.
2834         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2835         std::vector.
2836         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2837         VEC.
2838         (all_tracepoints, static_tracepoints_here): Return std::vector.
2839
2840 2018-07-03  Tom Tromey  <tom@tromey.com>
2841
2842         * common/ptid.c (ptid_equal): Remove.
2843         * common/ptid.h (ptid_equal): Don't declare.
2844         * ada-tasks.c: Update.
2845         * breakpoint.c: Update.
2846         * common/agent.c: Update.
2847         * corelow.c: Update.
2848         * darwin-nat-info.c: Update.
2849         * darwin-nat.c: Update.
2850         * dcache.c: Update.
2851         * dtrace-probe.c: Update.
2852         * dummy-frame.c: Update.
2853         * fbsd-nat.c: Update.
2854         * frame.c: Update.
2855         * gdbthread.h: Update.
2856         * gnu-nat.c: Update.
2857         * go32-nat.c: Update.
2858         * inf-loop.c: Update.
2859         * inf-ptrace.c: Update.
2860         * infcall.c: Update.
2861         * infcmd.c: Update.
2862         * inflow.c: Update.
2863         * infrun.c: Update.
2864         * linux-fork.c: Update.
2865         * linux-nat.c: Update.
2866         * linux-thread-db.c: Update.
2867         * mi/mi-cmd-var.c: Update.
2868         * mi/mi-interp.c: Update.
2869         * mi/mi-main.c: Update.
2870         * nto-procfs.c: Update.
2871         * ppc-linux-tdep.c: Update.
2872         * procfs.c: Update.
2873         * python/py-inferior.c: Update.
2874         * python/py-record-btrace.c: Update.
2875         * python/py-record.c: Update.
2876         * ravenscar-thread.c: Update.
2877         * regcache.c: Update.
2878         * remote-sim.c: Update.
2879         * remote.c: Update.
2880         * sol-thread.c: Update.
2881         * solib.c: Update.
2882         * target.c: Update.
2883         * tui/tui-stack.c: Update.
2884         * varobj.c: Update.
2885         * windows-nat.c: Update.
2886         * windows-tdep.c: Update.
2887
2888 2018-07-03  Tom Tromey  <tom@tromey.com>
2889
2890         * common/ptid.c (ptid_match): Remove.
2891         * common/ptid.h (ptid_match): Don't declare.
2892         * fbsd-nat.c: Update.
2893         * infcmd.c: Update.
2894         * infrun.c: Update.
2895         * linux-nat.c: Update.
2896         * record-btrace.c: Update.
2897         * regcache.c: Update.
2898         * remote.c: Update.
2899
2900 2018-07-03  Tom Tromey  <tom@tromey.com>
2901
2902         * common/ptid.c (ptid_tid_p): Remove.
2903         * common/ptid.h (ptid_tid_p): Don't declare.
2904         * sol-thread.c: Update.
2905
2906 2018-07-03  Tom Tromey  <tom@tromey.com>
2907
2908         * common/ptid.c (ptid_lwp_p): Remove.
2909         * common/ptid.h (ptid_lwp_p): Don't declare.
2910         * fbsd-nat.c: Update.
2911         * linux-nat.c: Update.
2912         * nat/linux-procfs.c: Update.
2913         * nat/x86-linux-dregs.c: Update.
2914         * sol-thread.c: Update.
2915
2916 2018-07-03  Tom Tromey  <tom@tromey.com>
2917
2918         * common/ptid.c (ptid_is_pid): Remove.
2919         * common/ptid.h (ptid_is_pid): Don't declare.
2920         * infrun.c: Update.
2921         * linux-nat.c: Update.
2922         * mi/mi-interp.c: Update.
2923         * remote.c: Update.
2924         * thread.c: Update.
2925
2926 2018-07-03  Tom Tromey  <tom@tromey.com>
2927
2928         * common/ptid.c (ptid_get_tid): Remove.
2929         * common/ptid.h (ptid_get_tid): Don't declare.
2930         * ada-tasks.c: Update.
2931         * aix-thread.c: Update.
2932         * bsd-uthread.c: Update.
2933         * darwin-nat.c: Update.
2934         * fbsd-nat.c: Update.
2935         * i386-darwin-nat.c: Update.
2936         * infrun.c: Update.
2937         * linux-tdep.c: Update.
2938         * nto-procfs.c: Update.
2939         * ppc-ravenscar-thread.c: Update.
2940         * python/py-infthread.c: Update.
2941         * ravenscar-thread.c: Update.
2942         * sol-thread.c: Update.
2943         * sparc-ravenscar-thread.c: Update.
2944         * windows-nat.c: Update.
2945
2946 2018-07-03  Tom Tromey  <tom@tromey.com>
2947
2948         * common/ptid.c (ptid_get_lwp): Remove.
2949         * common/ptid.h (ptid_get_lwp): Don't declare.
2950         * aarch64-linux-nat.c: Update.
2951         * ada-tasks.c: Update.
2952         * aix-thread.c: Update.
2953         * amd64-linux-nat.c: Update.
2954         * arm-linux-nat.c: Update.
2955         * corelow.c: Update.
2956         * fbsd-nat.c: Update.
2957         * fbsd-tdep.c: Update.
2958         * gnu-nat.c: Update.
2959         * i386-cygwin-tdep.c: Update.
2960         * i386-gnu-nat.c: Update.
2961         * i386-linux-nat.c: Update.
2962         * ia64-linux-nat.c: Update.
2963         * inf-ptrace.c: Update.
2964         * infrun.c: Update.
2965         * linux-fork.c: Update.
2966         * linux-nat.c: Update.
2967         * linux-tdep.c: Update.
2968         * linux-thread-db.c: Update.
2969         * mips-linux-nat.c: Update.
2970         * nat/aarch64-linux-hw-point.c: Update.
2971         * nat/aarch64-linux.c: Update.
2972         * nat/linux-btrace.c: Update.
2973         * nat/linux-osdata.c: Update.
2974         * nat/linux-procfs.c: Update.
2975         * nat/x86-linux-dregs.c: Update.
2976         * obsd-nat.c: Update.
2977         * ppc-fbsd-nat.c: Update.
2978         * ppc-linux-nat.c: Update.
2979         * procfs.c: Update.
2980         * python/py-infthread.c: Update.
2981         * ravenscar-thread.c: Update.
2982         * remote.c: Update.
2983         * s390-linux-nat.c: Update.
2984         * sol-thread.c: Update.
2985         * sol2-tdep.c: Update.
2986         * spu-linux-nat.c: Update.
2987         * x86-linux-nat.c: Update.
2988         * xtensa-linux-nat.c: Update.
2989
2990 2018-07-03  Tom Tromey  <tom@tromey.com>
2991
2992         * common/ptid.c (ptid_get_pid): Remove.
2993         * common/ptid.h (ptid_get_pid): Don't declare.
2994         * aarch64-linux-nat.c: Update.
2995         * ada-lang.c: Update.
2996         * aix-thread.c: Update.
2997         * alpha-bsd-nat.c: Update.
2998         * amd64-fbsd-nat.c: Update.
2999         * amd64-linux-nat.c: Update.
3000         * arm-linux-nat.c: Update.
3001         * arm-nbsd-nat.c: Update.
3002         * auxv.c: Update.
3003         * break-catch-syscall.c: Update.
3004         * breakpoint.c: Update.
3005         * bsd-uthread.c: Update.
3006         * corelow.c: Update.
3007         * ctf.c: Update.
3008         * darwin-nat.c: Update.
3009         * fbsd-nat.c: Update.
3010         * fbsd-tdep.c: Update.
3011         * gcore.c: Update.
3012         * gnu-nat.c: Update.
3013         * hppa-nbsd-nat.c: Update.
3014         * hppa-obsd-nat.c: Update.
3015         * i386-fbsd-nat.c: Update.
3016         * ia64-linux-nat.c: Update.
3017         * inf-ptrace.c: Update.
3018         * infcmd.c: Update.
3019         * inferior.c: Update.
3020         * inferior.h: Update.
3021         * inflow.c: Update.
3022         * infrun.c: Update.
3023         * linux-fork.c: Update.
3024         * linux-nat.c: Update.
3025         * linux-tdep.c: Update.
3026         * linux-thread-db.c: Update.
3027         * m68k-bsd-nat.c: Update.
3028         * mi/mi-interp.c: Update.
3029         * mi/mi-main.c: Update.
3030         * mips-linux-nat.c: Update.
3031         * mips-nbsd-nat.c: Update.
3032         * mips64-obsd-nat.c: Update.
3033         * nat/aarch64-linux-hw-point.c: Update.
3034         * nat/aarch64-linux.c: Update.
3035         * nat/linux-btrace.c: Update.
3036         * nat/linux-osdata.c: Update.
3037         * nat/linux-procfs.c: Update.
3038         * nat/x86-linux-dregs.c: Update.
3039         * nto-procfs.c: Update.
3040         * obsd-nat.c: Update.
3041         * ppc-linux-nat.c: Update.
3042         * ppc-nbsd-nat.c: Update.
3043         * ppc-obsd-nat.c: Update.
3044         * proc-service.c: Update.
3045         * procfs.c: Update.
3046         * python/py-inferior.c: Update.
3047         * python/py-infthread.c: Update.
3048         * ravenscar-thread.c: Update.
3049         * record.c: Update.
3050         * remote-sim.c: Update.
3051         * remote.c: Update.
3052         * rs6000-nat.c: Update.
3053         * s390-linux-nat.c: Update.
3054         * sh-nbsd-nat.c: Update.
3055         * sol-thread.c: Update.
3056         * sparc-nat.c: Update.
3057         * sparc64-tdep.c: Update.
3058         * spu-linux-nat.c: Update.
3059         * spu-tdep.c: Update.
3060         * target-debug.h: Update.
3061         * target.c: Update.
3062         * thread.c: Update.
3063         * tid-parse.c: Update.
3064         * tracefile-tfile.c: Update.
3065         * vax-bsd-nat.c: Update.
3066         * windows-nat.c: Update.
3067         * x86-linux-nat.c: Update.
3068         * x86-nat.c: Update.
3069
3070 2018-07-03  Tom Tromey  <tom@tromey.com>
3071
3072         * common/ptid.c (pid_to_ptid): Remove.
3073         * common/ptid.h (pid_to_ptid): Don't declare.
3074         * aix-thread.c: Update.
3075         * arm-linux-nat.c: Update.
3076         * common/ptid.c: Update.
3077         * common/ptid.h: Update.
3078         * corelow.c: Update.
3079         * ctf.c: Update.
3080         * darwin-nat.c: Update.
3081         * fbsd-nat.c: Update.
3082         * fork-child.c: Update.
3083         * gnu-nat.c: Update.
3084         * go32-nat.c: Update.
3085         * inf-ptrace.c: Update.
3086         * infcmd.c: Update.
3087         * inferior.c: Update.
3088         * infrun.c: Update.
3089         * linux-fork.c: Update.
3090         * linux-nat.c: Update.
3091         * nat/aarch64-linux-hw-point.c: Update.
3092         * nat/fork-inferior.c: Update.
3093         * nat/x86-linux-dregs.c: Update.
3094         * nto-procfs.c: Update.
3095         * obsd-nat.c: Update.
3096         * procfs.c: Update.
3097         * progspace.c: Update.
3098         * remote.c: Update.
3099         * rs6000-nat.c: Update.
3100         * s390-linux-nat.c: Update.
3101         * sol-thread.c: Update.
3102         * spu-linux-nat.c: Update.
3103         * target.c: Update.
3104         * top.c: Update.
3105         * tracefile-tfile.c: Update.
3106         * windows-nat.c: Update.
3107
3108 2018-07-03  Tom Tromey  <tom@tromey.com>
3109
3110         * common/ptid.h (ptid_build): Don't declare.
3111         * common/ptid.c (ptid_build): Remove.
3112         * aix-thread.c: Update.
3113         * bsd-kvm.c: Update.
3114         * bsd-uthread.c: Update.
3115         * common/agent.c: Update.
3116         * common/ptid.c: Update.
3117         * common/ptid.h: Update.
3118         * corelow.c: Update.
3119         * darwin-nat.c: Update.
3120         * fbsd-nat.c: Update.
3121         * gnu-nat.c: Update.
3122         * linux-fork.c: Update.
3123         * linux-nat.c: Update.
3124         * linux-thread-db.c: Update.
3125         * nat/linux-osdata.c: Update.
3126         * nat/linux-procfs.c: Update.
3127         * nto-procfs.c: Update.
3128         * obsd-nat.c: Update.
3129         * proc-service.c: Update.
3130         * procfs.c: Update.
3131         * ravenscar-thread.c: Update.
3132         * remote-sim.c: Update.
3133         * remote.c: Update.
3134         * sol-thread.c: Update.
3135         * target.c: Update.
3136         * windows-nat.c: Update.
3137
3138 2018-07-03  Tom Tromey  <tom@tromey.com>
3139
3140         * infrun.c (follow_exec): Use exit_inferior_silent.
3141         * inferior.c (exit_inferior_num_silent): Remove.
3142         * inferior.h (exit_inferior_num_silent): Don't declare.
3143
3144 2018-07-03  Tom Tromey  <tom@tromey.com>
3145
3146         PR cli/23340:
3147         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3148         inferior_ptid on error.
3149
3150 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3151             Simon Marchi  <simon.marchi@polymtl.ca>
3152
3153         PR tdep/8282
3154         * disasm.h (gdb_disassembler): Add
3155         `m_disassembler_options_holder'. member
3156         * disasm.c (get_all_disassembler_options): New function.
3157         (gdb_disassembler::gdb_disassembler): Use it.
3158         (gdb_buffered_insn_length_init_dis): Likewise.
3159         (gdb_buffered_insn_length): Adjust accordingly.
3160         (set_disassembler_options): Handle options with arguments.
3161         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3162         line if showing options with descriptions.
3163         (disassembler_options_completer): Adapt to using the
3164         `disasm_options_and_args_t' structure.
3165         * mips-tdep.c (mips_disassembler_options): New variable.
3166         (mips_disassembler_options_o32): Likewise.
3167         (mips_disassembler_options_n32): Likewise.
3168         (mips_disassembler_options_n64): Likewise.
3169         (gdb_print_insn_mips): Don't set `disassembler_options'.
3170         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3171         functions.
3172         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3173         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3174         `gdbarch_disassembler_options_implicit' and
3175         `gdbarch_valid_disassembler_options'.
3176         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3177         `disasm_options_and_args_t' structure.
3178         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3179         method.
3180         (valid_disassembler_options): Switch from `disasm_options_t' to
3181         the `disasm_options_and_args_t' structure.
3182         * NEWS: Document `set disassembler-options' support for the MIPS
3183         target.
3184         * gdbarch.h: Regenerate.
3185         * gdbarch.c: Regenerate.
3186
3187 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3188
3189         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3190
3191 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3192
3193         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3194         parameter in call to amd64_target_description.
3195         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3196         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3197         (amd64fbsd_init_abi): Likewise.
3198         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3199         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3200         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3201         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3202
3203 2018-06-29  Pedro Alves  <palves@redhat.com>
3204
3205         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3206         "segments" parameter.
3207         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3208         (_initialize_amd64_tdep): Update call to
3209         amd64_create_target_description.
3210         (amd64_target_description): Add "segments" parameter.  Adjust
3211         the implementation to use it.
3212         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3213         call to amd64_create_target_description.
3214         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3215         * gdb/arch/amd64.h (amd64_create_target_description): Add
3216         "segments" register.
3217         * gdb/arch/amd64.c (amd64_create_target_description): Add
3218         "segments" parameter.  Call create_feature_i386_64bit_segments
3219         only if SEGMENTS is true.
3220         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3221         call to amd64_create_target_description.
3222
3223 2018-06-29  Pedro Alves  <palves@redhat.com>
3224
3225         * thread.c (thread_target_id_str): New, factored out from ...
3226         (print_thread_info_1): ... here.  Use it to compute the max
3227         "Target Id" column width.
3228
3229 2018-06-29  Pedro Alves  <palves@redhat.com>
3230
3231         * remote.c (remote_target::extra_thread_info): Delete
3232         'display_buf' and 'n' locals.  from the cache, regardless of
3233         packet mechanims is in use.  Use cache for qThreadExtra and qP
3234         methods too.
3235
3236 2018-06-29  Pedro Alves  <palves@redhat.com>
3237
3238         * blockframe.c (find_pc_sect_containing_function): New function.
3239         * breakpoint.c (print_breakpoint_location): Don't call
3240         find_pc_sect_function.
3241         * linespec.c (create_sals_line_offset): Record the location's
3242         symbol in the sal.
3243         * linespec.c (convert_address_location_to_sals): Fill in sal's
3244         symbol with find_pc_sect_containing_function.
3245         * symtab.c (find_function_start_sal): Rename to ...
3246         (find_function_start_sal_1): ... this.
3247         (find_function_start_sal): Reimplement as wrapper around
3248         find_function_start_sal_1, and use
3249         find_pc_sect_containing_function to fill in the sal's symbol.
3250         (find_function_start_sal(symbol*, bool)): Adjust.
3251         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3252         comments.
3253         (find_pc_sect_containing_function): Declare.
3254
3255 2018-06-29  Pedro Alves  <palves@redhat.com>
3256
3257         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3258         true if the the location has no symbol.
3259
3260 2018-06-28  Tom Tromey  <tom@tromey.com>
3261
3262         * NEWS: Mention --enable-codesign.
3263         * silent-rules.mk (ECHO_SIGN): New variable.
3264         * configure.ac: Add --enable-codesign.
3265         * configure: Rebuild.
3266         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3267         (gdb$(EXEEXT)): Optionally invoke codesign.
3268
3269 2018-06-28  Pedro Alves  <palves@redhat.com>
3270
3271         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3272         comments.
3273         (switch_to_thread_no_regs): Adjust comment.
3274         * infcmd.c (stop_pc): Delete.
3275         (post_create_inferior, info_program_command): Replace references
3276         to stop_pc with references to thread_info->suspend.stop_pc.
3277         * inferior.h (stop_pc): Delete declaration.
3278         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3279         (handle_inferior_event_1, handle_signal_stop)
3280         (process_event_stop_test, keep_going_stepped_thread)
3281         (handle_step_into_function, handle_step_into_function_backward)
3282         (print_stop_location): Replace references to stop_pc with
3283         references to thread_info->suspend.stop_pc.
3284         (struct infcall_suspend_state) <stop_pc>: Delete field.
3285         (save_infcall_suspend_state, restore_infcall_suspend_state):
3286         Remove references to inf_stat->stop_pc.
3287         * linux-fork.c (fork_load_infrun_state): Likewise.
3288         * record-btrace.c (record_btrace_set_replay): Likewise.
3289         * record-full.c (record_full_goto_entry): Likewise.
3290         * remote.c (print_one_stopped_thread): Likewise.
3291         * target.c (target_resume): Extend comment.
3292         * thread.c (set_executing_thread): New.
3293         (set_executing): Use it.
3294         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3295         Remove references to stop_pc.
3296
3297 2018-06-28  Pedro Alves  <palves@redhat.com>
3298
3299         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3300         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3301
3302 2018-06-28  Tom Tromey  <tom@tromey.com>
3303
3304         * coffread.c (coff_symfile_finish): Update.
3305         * xcoffread.c (xcoff_symfile_finish): Update.
3306         * elfread.c (elf_symfile_finish): Update.
3307         * symfile.h (dwarf2_free_objfile): Don't declare.
3308         * dwarf2read.c (_initialize_dwarf2_read): Use
3309         register_objfile_data_with_cleanup.
3310         (dwarf2_free_objfile): Now static.  Change signature.
3311
3312 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3313
3314         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3315         option "-o" to add-symbol-file-load to add an offset to each
3316         section's load address.
3317         * symfile.c (set_objfile_default_section_offset): New function.
3318
3319 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3320
3321         * symfile.c (add_symbol_file_command): Make sure that sections
3322         with the same name are sorted in the same order.
3323
3324 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3325
3326         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3327         require the second argument.  If omitted, load sections at the
3328         addresses specified in the file.
3329
3330 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3331
3332         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3333         (_initialize_symfile): Add option "-o" to symbol-file to add an
3334         offset to each section of the symbol file.
3335
3336 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3337
3338         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3339
3340 2018-06-27  Tom Tromey  <tom@tromey.com>
3341
3342         * stack.c (_initialize_stack): Update "func" help text.
3343
3344 2018-06-27  Tom Tromey  <tom@tromey.com>
3345
3346         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3347         std::vector.
3348         (unwind_infopy_str, pyuw_create_unwind_info)
3349         (unwind_infopy_add_saved_register, pyuw_sniffer)
3350         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3351         Update.
3352         (struct saved_reg): Add constructor.
3353         <value>: Now a gdbpy_ref<>.
3354
3355 2018-06-27  Tom Tromey  <tom@tromey.com>
3356
3357         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3358
3359 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3360
3361         * gdb-gdb.py.in: Format using autopep8.
3362
3363 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3364
3365         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3366         (type_lookup_function): Recognize CORE_ADDR values.
3367
3368 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3369
3370         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3371         print tag_name.
3372
3373 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3374
3375         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3376         <__lt__>: Add.
3377
3378 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3379
3380         * gdb-gdb.py: Move to...
3381         * gdb-gdb.py.in: ... here.
3382         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3383         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3384         dependencies.
3385         (distclean): Remove gdb-gdb.py when cleaning.
3386         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3387         * configure: Re-generate.
3388
3389 2018-06-27  Pedro Alves  <palves@redhat.com>
3390
3391         * proc-service.c (get_ps_regcache): New.
3392         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3393         (ps_lsetfpregs): Use it.
3394
3395 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3396
3397         PR gdb/21695
3398         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3399         (dwarf_decode_lines_1): Adjust.
3400
3401 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3402
3403         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3404         override.
3405         <info_proc>: Likewise.
3406
3407 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3408
3409         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3410         to windows_fetch_one_register, and only handle the case of
3411         fetching one register.  Move the code that reloads the context
3412         and iterates over all registers if R is negative to...
3413         (windows_nat_target::fetch_registers): ... here.
3414         (do_windows_store_inferior_registers): Rename to
3415         windows_store_one_register, and only handle the case of storing
3416         one register.  Move the code that handles the case where r is
3417         negative to...
3418         (windows_nat_target::store_registers) ... here.
3419
3420 2018-06-26  Tom Tromey  <tom@tromey.com>
3421
3422         PR rust/22574:
3423         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3424         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3425         Update.
3426         (rust_internal_print_type): Add podata parameter.
3427         (rust_print_type): Update.
3428
3429 2018-06-26  Tom Tromey  <tom@tromey.com>
3430
3431         * typeprint.h (struct print_offset_data) <update, finish,
3432         maybe_print_hole>: New methods.
3433         <indentation>: New constant.
3434         * typeprint.c (print_offset_data::indentation): Define.
3435         (print_offset_data::maybe_print_hole, print_offset_data::update)
3436         (print_offset_data::finish): Move from c-typeprint.c and rename.
3437         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3438         (print_spaces_filtered_with_print_options): Update.
3439         (c_print_type_union_field_offset, maybe_print_hole)
3440         (c_print_type_struct_field_offset): Move to typeprint.c and
3441         rename.
3442         (c_type_print_base_struct_union): Update.
3443
3444 2018-06-25  Pedro Alves  <palves@redhat.com>
3445
3446         * gdbthread.h (thread_info_ref, delete_thread)
3447         (delete_thread_silent, first_thread_of_inferior)
3448         (any_thread_of_inferior, switch_to_thread)
3449         (enable_thread_stack_temporaries)
3450         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3451         (get_last_thread_stack_temporary)
3452         (value_in_thread_stack_temporaries, can_access_registers_thread):
3453         Spell out "struct thread_info" instead of just "thread_info".
3454         * inferior.h (notice_new_inferior): Likewise.
3455
3456 2018-06-25  Pedro Alves  <palves@redhat.com>
3457
3458         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3459         pass thread_info pointer to delete_thread.
3460         (windows_nat_target::detach): Pass inferior pointer to
3461         detach_inferior.
3462         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3463         delete_thread.
3464         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3465         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3466         and pass a thread_info pointer to delete_thread.
3467         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3468         pass thread_info pointer to delete_thread.
3469         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3470         delete_thread_silent call.
3471         * procfs.c (procfs_target::detach): Pass inferior pointer to
3472         detach_inferior.
3473         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3474         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3475         delete_thread_silent call.
3476         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3477         pass thread_info pointer to delete_thread.
3478         (windows_nat_target::detach): Pass inferior pointer to
3479         delete_inferior.
3480
3481 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3482
3483         * regcache.c (readable_regcache::read_part): Fix asserts.
3484         (reg_buffer::raw_collect_part): New function.
3485         (regcache::write_part): Fix asserts.
3486         (reg_buffer::raw_supply_part): New function.
3487         (regcache::transfer_regset_register): New helper function.
3488         (regcache::transfer_regset): Call new functions.
3489         (regcache_supply_regset): Use gdb_byte*.
3490         (regcache::supply_regset): Likewise.
3491         (regcache_collect_regset): Likewise.
3492         (regcache::collect_regset): Likewise.
3493         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3494         (reg_buffer::raw_supply_part): Likewise.
3495         (regcache::transfer_regset_register): Likewise.
3496         (regcache::transfer_regset): Use gdb_byte*.
3497
3498 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3499
3500         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3501
3502 2018-06-21  Pedro Alves  <palves@redhat.com>
3503
3504         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3505         instead of a ptid_t.  All callers adjusted.
3506         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3507         adjusted.
3508         (print_ada_task_info, display_current_task_id, task_command_1):
3509         Adjust.
3510         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3511         inferior_thread.
3512         (breakpoint_kind): Adjust.
3513         (remove_breakpoints_pid): Rename to ...
3514         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3515         pointer.  All callers adjusted.
3516         (bpstat_clear_actions): Use inferior_thread.
3517         (get_bpstat_thread): New.
3518         (bpstat_do_actions): Use it.
3519         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3520         to take a thread_info pointer.  All callers adjusted.
3521         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3522         (breakpoint_re_set_thread): Use inferior_thread.
3523         * breakpoint.h (struct inferior): Forward declare.
3524         (bpstat_stop_status): Update.
3525         (remove_breakpoints_pid): Delete.
3526         (remove_breakpoints_inf): New.
3527         * bsd-uthread.c (bsd_uthread_target::wait)
3528         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3529         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3530         (maint_btrace_packet_history_cmd)
3531         (maint_btrace_clear_packet_history_cmd): Adjust.
3532         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3533         inferior_thread.
3534         * cli/cli-interp.c: Include "inferior.h".
3535         * common/refcounted-object.h (struct
3536         refcounted_object_ref_policy): New.
3537         * compile/compile-object-load.c: Include gdbthread.h.
3538         (store_regs): Use inferior_thread.
3539         * corelow.c (core_target::close): Use current_inferior.
3540         (core_target_open): Adjust to use first_thread_of_inferior and use
3541         the current inferior.
3542         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3543         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3544         <thread>: ... this new field.  All references adjusted.
3545         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3546         Take a thread_info pointer instead of a ptid_t.
3547         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3548         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3549         thread_info pointer instead of a ptid_t.
3550         * elfread.c: Include "inferior.h".
3551         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3552         Use inferior_thread.
3553         * eval.c (evaluate_subexp): Likewise.
3554         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3555         inferior_thread.
3556         * gdb_proc_service.h (struct thread_info): Forward declare.
3557         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3558         <thread>: ... this new field.  All references adjusted.
3559         * gdbarch.h, gdbarch.c: Regenerate.
3560         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3561         'thread' parameter.  All implementations and callers adjusted.
3562         * gdbthread.h (thread_info) <set_running>: New method.
3563         (delete_thread, delete_thread_silent): Take a thread_info pointer
3564         instead of a ptid.
3565         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3566         (first_thread_of_process): Delete, replaced by ...
3567         (first_thread_of_inferior): ... this new function.  All callers
3568         adjusted.
3569         (any_live_thread_of_process): Delete, replaced by ...
3570         (any_live_thread_of_inferior): ... this new function.  All callers
3571         adjusted.
3572         (switch_to_thread, switch_to_no_thread): Declare.
3573         (is_executing): Delete.
3574         (enable_thread_stack_temporaries): Update comment.
3575         <enable_thread_stack_temporaries>: Take a thread_info pointer
3576         instead of a ptid_t.  Incref the thread.
3577         <~enable_thread_stack_temporaries>: Decref the thread.
3578         <m_ptid>: Delete
3579         <m_thr>: New.
3580         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3581         (get_last_thread_stack_temporary)
3582         (value_in_thread_stack_temporaries, can_access_registers_thread):
3583         Take a thread_info pointer instead of a ptid_t.  All callers
3584         adjusted.
3585         * infcall.c (get_call_return_value): Use inferior_thread.
3586         (run_inferior_call): Work with thread pointers instead of ptid_t.
3587         (call_function_by_hand_dummy): Work with thread pointers instead
3588         of ptid_t.  Use thread_info_ref.
3589         * infcmd.c (proceed_thread_callback): Access thread's state
3590         directly.
3591         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3592         access thread's state directly.
3593         (continue_command): Use inferior_thread.
3594         (info_program_command): Use find_thread_ptid and access thread
3595         state directly.
3596         (proceed_after_attach_callback): Use thread state directly.
3597         (notice_new_inferior): Take a thread_info pointer instead of a
3598         ptid_t.  All callers adjusted.
3599         (exit_inferior): Take an inferior pointer instead of a pid.  All
3600         callers adjusted.
3601         (exit_inferior_silent): New.
3602         (detach_inferior): Delete.
3603         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3604         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3605         (detach_inferior_command, kill_inferior_command): Use
3606         find_inferior_id instead of valid_gdb_inferior_id and
3607         gdb_inferior_id_to_pid.
3608         (inferior_command): Use inferior and thread pointers.
3609         * inferior.h (struct thread_info): Forward declare.
3610         (notice_new_inferior): Take a thread_info pointer instead of a
3611         ptid_t.  All callers adjusted.
3612         (detach_inferior): Delete declaration.
3613         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3614         instead of a pid.  All callers adjusted.
3615         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3616         (valid_gdb_inferior_id): Delete.
3617         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3618         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3619         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3620         ...
3621         <inf>: ... this new field.
3622         <step_ptid>: Delete, replaced by ...
3623         <step_thread>: ... this new field.
3624         (get_displaced_stepping_state): Take an inferior pointer instead
3625         of a pid.  All callers adjusted.
3626         (displaced_step_in_progress_any_inferior): Adjust.
3627         (displaced_step_in_progress_thread): Take a thread pointer instead
3628         of a ptid_t.  All callers adjusted.
3629         (displaced_step_in_progress, add_displaced_stepping_state): Take
3630         an inferior pointer instead of a pid.  All callers adjusted.
3631         (get_displaced_step_closure_by_addr): Adjust.
3632         (remove_displaced_stepping_state): Take an inferior pointer
3633         instead of a pid.  All callers adjusted.
3634         (displaced_step_prepare_throw, displaced_step_prepare)
3635         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3636         All callers adjusted.
3637         (start_step_over): Adjust.
3638         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3639         displaced step queue.
3640         (do_target_resume): Adjust.
3641         (fetch_inferior_event): Use inferior_thread.
3642         (context_switch, get_inferior_stop_soon): Take an
3643         execution_control_state pointer instead of a ptid_t.  All callers
3644         adjusted.
3645         (switch_to_thread_cleanup): Delete.
3646         (stop_all_threads): Use scoped_restore_current_thread.
3647         * inline-frame.c: Include "gdbthread.h".
3648         (inline_state) <inline_state>: Take a thread pointer instead of a
3649         ptid_t.  All callers adjusted.
3650         <ptid>: Delete, replaced by ...
3651         <thread>: ... this new field.
3652         (find_inline_frame_state): Take a thread pointer instead of a
3653         ptid_t.  All callers adjusted.
3654         (skip_inline_frames, step_into_inline_frame)
3655         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3656         pointer instead of a ptid_t.  All callers adjusted.
3657         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3658         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3659         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3660         pointers directly.
3661         * linux-nat.c (get_detach_signal): Likewise.
3662         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3663         (thread_db_notice_clone): Adjust.
3664         (thread_db_find_new_threads_silently)
3665         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3666         a thread pointer instead of a ptid_t.  All callers adjusted.
3667         * mi/mi-cmd-var.c: Include "inferior.h".
3668         (mi_cmd_var_update_iter): Update to use thread pointers.
3669         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3670         inferior directly.
3671         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3672         out to ...
3673         (mi_output_running): ... this new function.
3674         (mi_on_resume_1): Adjust to use it.
3675         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3676         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3677         directly.
3678         (interrupt_thread_callback): : Adjust to use thread and inferior
3679         pointers.
3680         * proc-service.c: Include "gdbthread.h".
3681         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3682         * progspace-and-thread.c: Include "inferior.h".
3683         * progspace.c: Include "inferior.h".
3684         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3685         hold a reference to an inferior_object.
3686         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3687         inferior_thread.
3688         * python/py-inferior.c (struct inferior_object): Give the type a
3689         tag name instead of a typedef.
3690         (python_on_normal_stop): No need to check if the current thread is
3691         listed.
3692         (inferior_to_inferior_object): Change return type to
3693         inferior_object.  All callers adjusted.
3694         (find_thread_object): Delete, bits factored out to ...
3695         (thread_to_thread_object): ... this new function.
3696         * python/py-infthread.c (create_thread_object): Use
3697         inferior_to_inferior_object.
3698         (thpy_is_stopped): Use thread pointer directly.
3699         (gdbpy_selected_thread): Use inferior_thread.
3700         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3701         field, replaced with ...
3702         <thread>: ... this new field.  All users adjusted.
3703         (btpy_insn_or_gap_new): Drop const.
3704         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3705         callers adjusted.
3706         * python/py-record.c: Include "gdbthread.h".
3707         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3708         a ptid_t.  All callers adjusted.
3709         (gdbpy_current_recording): Use inferior_thread.
3710         * python/py-record.h (recpy_record_object) <ptid>: Delete
3711         field, replaced with ...
3712         <thread>: ... this new field.  All users adjusted.
3713         (recpy_element_object) <ptid>: Delete
3714         field, replaced with ...
3715         <thread>: ... this new field.  All users adjusted.
3716         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3717         a ptid_t.  All callers adjusted.
3718         * python/py-threadevent.c: Include "gdbthread.h".
3719         (get_event_thread): Use thread_to_thread_object.
3720         * python/python-internal.h (struct inferior_object): Forward
3721         declare.
3722         (find_thread_object, find_inferior_object): Delete declarations.
3723         (thread_to_thread_object, inferior_to_inferior_object): New
3724         declarations.
3725         * record-btrace.c: Include "inferior.h".
3726         (require_btrace_thread): Use inferior_thread.
3727         (record_btrace_frame_sniffer)
3728         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3729         (get_thread_current_frame): Use scoped_restore_current_thread and
3730         switch_to_thread.
3731         (get_thread_current_frame): Use thread pointer directly.
3732         (record_btrace_replay_at_breakpoint): Use thread's inferior
3733         pointer directly.
3734         * record-full.c: Include "inferior.h".
3735         * regcache.c: Include "gdbthread.h".
3736         (get_thread_arch_regcache): Use the inferior's address space
3737         directly.
3738         (get_thread_regcache, registers_changed_thread): New.
3739         * regcache.h (get_thread_regcache(thread_info *thread)): New
3740         overload.
3741         (registers_changed_thread): New.
3742         (remote_target) <remote_detach_1>: Swap order of parameters.
3743         (remote_add_thread): <remote_add_thread>: Return the new thread.
3744         (get_remote_thread_info(ptid_t)): New overload.
3745         (remote_target::remote_notice_new_inferior): Use thread pointers
3746         directly.
3747         (remote_target::process_initial_stop_replies): Use
3748         thread_info::set_running.
3749         (remote_target::remote_detach_1, remote_target::detach)
3750         (extended_remote_target::detach): Adjust.
3751         * stack.c (frame_show_address): Use inferior_thread.
3752         * target-debug.h (target_debug_print_thread_info_pp): New.
3753         * target-delegates.c: Regenerate.
3754         * target.c (default_thread_address_space): Delete.
3755         (memory_xfer_partial_1): Use current_inferior.
3756         (target_detach): Use current_inferior.
3757         (target_thread_address_space): Delete.
3758         (generic_mourn_inferior): Use current_inferior.
3759         * target.h (struct target_ops) <thread_address_space>: Delete.
3760         (target_thread_address_space): Delete.
3761         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3762         pointers directly.
3763         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3764         thread pointer instead of a ptid_t.  Adjust all callers.
3765         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3766         (first_thread_of_process): Delete, replaced by ...
3767         (first_thread_of_inferior): ... this new function.  All callers
3768         adjusted.
3769         (any_thread_of_process): Rename to ...
3770         (any_thread_of_inferior): ... this, and take an inferior pointer.
3771         (any_live_thread_of_process): Rename to ...
3772         (any_live_thread_of_inferior): ... this, and take an inferior
3773         pointer.
3774         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3775         (value_in_thread_stack_temporaries)
3776         (get_last_thread_stack_temporary): Take a thread pointer instead
3777         of a ptid_t.  Adjust all callers.
3778         (thread_info::set_running): New.
3779         (validate_registers_access): Use inferior_thread.
3780         (can_access_registers_ptid): Rename to ...
3781         (can_access_registers_thread): ... this, and take a thread
3782         pointer.
3783         (print_thread_info_1): Adjust to compare thread pointers instead
3784         of ptids.
3785         (switch_to_no_thread, switch_to_thread): Make extern.
3786         (scoped_restore_current_thread::~scoped_restore_current_thread):
3787         Use m_thread pointer directly.
3788         (scoped_restore_current_thread::scoped_restore_current_thread):
3789         Use inferior_thread.
3790         (thread_command): Use thread pointer directly.
3791         (thread_num_make_value_helper): Use inferior_thread.
3792         * top.c (execute_command): Use inferior_thread.
3793         * tui/tui-interp.c: Include "inferior.h".
3794         * varobj.c (varobj_create): Use inferior_thread.
3795         (value_of_root_1): Use find_thread_global_id instead of
3796         global_thread_id_to_ptid.
3797
3798 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
3799
3800         * regcache.c (readable_regcache::read_part): Avoid memcpy when
3801         possible.
3802         (regcache::write_part): Likewise.
3803         (readable_regcache::cooked_read_part): Update comment.
3804         (readable_regcache::cooked_write_part): Likewise.
3805         * regcache.h: (readable_regcache::read_part): Likewise.
3806         (regcache::write_part): Likewise.
3807
3808 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
3809             Dirk Schubert  <dirk.schubert@arm.com>
3810
3811         * aarch64-linux-nat.c (post_attach): New.
3812         (aarch64_linux_nat_target::post_attach): Override post_attach to
3813         record the number of hardware debug registers.
3814
3815 2018-06-20  Tom Tromey  <tom@tromey.com>
3816
3817         * python/py-param.c (add_setshow_generic): Make parameters const.
3818         (parmpy_init): Update.
3819
3820 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3821
3822         * regcache.h (regcache_cooked_read_ftype): Rename to...
3823         (register_read_ftype): ...this, change type to function_view.
3824         (class reg_buffer) <save>: Remove src parameter.
3825         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3826         parameter non-const in first overload.  Remove src parameter in
3827         second overload.
3828         * regcache.c (do_cooked_read): Remove.
3829         (readonly_detached_regcache::readonly_detached_regcache): Make
3830         parameter non-const, adjust call to other constructor.
3831         (reg_buffer::save): Remove src parameter.
3832         * frame.c (do_frame_register_read): Remove.
3833         (frame_save_as_regcache): Use lambda function.
3834         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3835         parameter to ppu2spu_data *.
3836         (ppu2spu_sniffer): Use lambda function.
3837
3838 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3839
3840         * record-full.c (record_full_target::insert_breakpoint): Remove
3841         "struct" keyword, add const.
3842
3843 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3844
3845         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3846         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3847         * configure.ac: Remove AC_PREREQ, add missing quoting.
3848         * gnulib/configure.ac: Modernize usage of
3849         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3850         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3851         (AUTOMAKE_VERSION): Bump to 1.15.1.
3852         * configure: Re-generate.
3853         * config.in: Re-generate.
3854         * aclocal.m4: Re-generate.
3855         * gnulib/aclocal.m4: Re-generate.
3856         * gnulib/config.in: Re-generate.
3857         * gnulib/configure: Re-generate.
3858         * gnulib/import/Makefile.in: Re-generate.
3859
3860 2018-06-19  Pedro Alves  <palves@redhat.com>
3861
3862         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3863         (lookup_minimal_symbol_by_pc_section): ... here with
3864         gdb_assert_not_reached added.
3865
3866 2018-06-19  Pedro Alves  <palves@redhat.com>
3867
3868         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3869         parameter with a block parameter.  Compare location's block symbol
3870         with the frame's block instead of addresses.
3871         (skip_inline_frames): Pass the current block instead of the
3872         frame's address.  Break out as soon as we determine the frame
3873         should not be skipped.
3874
3875 2018-06-18  Tom Tromey  <tom@tromey.com>
3876
3877         * solib-aix.c (solib_aix_get_section_offsets): Return
3878         unique_xmalloc_ptr.
3879         (solib_aix_solib_create_inferior_hook): Update.
3880
3881 2018-06-18  Tom Tromey  <tom@tromey.com>
3882
3883         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3884
3885 2018-06-18  Tom Tromey  <tom@tromey.com>
3886
3887         * solib-frv.c (frv_relocate_main_executable): Use
3888         unique_xmalloc_ptr.
3889         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3890         unique_xmalloc_ptr.
3891
3892 2018-06-18  Tom Tromey  <tom@tromey.com>
3893
3894         * objfiles.h (inhibit_section_map_updates): Update.
3895         (resume_section_map_updates, resume_section_map_updates_cleanup):
3896         Remove.
3897         * solib-svr4.c (svr4_handle_solib_event): Update.
3898         * objfiles.c (inhibit_section_map_updates): Return
3899         scoped_restore_tmpl<int>.
3900         (resume_section_map_updates, resume_section_map_updates_cleanup):
3901         Remove.
3902
3903 2018-06-18  Tom Tromey  <tom@tromey.com>
3904
3905         * valprint.h (read_string): Update.
3906         * valprint.c (read_string): Change type of "buffer".
3907         (val_print_string): Update.
3908         * python/py-value.c (valpy_string): Update.
3909         * language.h (struct language_defn) <la_get_string>: Change
3910         type of "buffer".
3911         (default_get_string, c_get_string): Update.
3912         * language.c (default_get_string): Change type of "buffer".
3913         * guile/scm-value.c (gdbscm_value_to_string): Update.
3914         * c-lang.c (c_get_string): Change type of "buffer".
3915
3916 2018-06-18  Tom Tromey  <tom@tromey.com>
3917
3918         * ser-mingw.c (struct pipe_state_destroyer): New.
3919         (pipe_state_up): New typedef.
3920         (cleanup_pipe_state): Remove.
3921         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3922
3923 2018-06-18  Tom Tromey  <tom@tromey.com>
3924
3925         * rust-lang.h (rust_yyerror): Don't declare.
3926         * rust-lang.c (rust_language_defn): Update.
3927         * rust-exp.y (yyerror): Now static.
3928         * parse.c (parse_exp_in_context_1): Update.
3929         * p-lang.h (p_yyerror): Don't declare.
3930         * p-lang.c (p_language_defn): Update.
3931         * p-exp.y (yyerror): Now static.
3932         * opencl-lang.c (opencl_language_defn): Update.
3933         * objc-lang.c (objc_language_defn): Update.
3934         * m2-lang.h (m2_yyerror): Don't declare.
3935         * m2-lang.c (m2_language_defn): Update.
3936         * m2-exp.y (yyerror): Now static.
3937         * language.h (struct language_defn) <la_error>: Remove.
3938         * language.c (unk_lang_error): Remove.
3939         (unknown_language_defn, auto_language_defn): Remove.
3940         * go-lang.h (go_yyerror): Don't declare.
3941         * go-lang.c (go_language_defn): Update.
3942         * go-exp.y (yyerror): Now static.
3943         * f-lang.h (f_yyerror): Don't declare.
3944         * f-lang.c (f_language_defn): Update.
3945         * f-exp.y (yyerror): Now static.
3946         * d-lang.h (d_yyerror): Don't declare.
3947         * d-lang.c (d_language_defn): Update.
3948         * d-exp.y (yyerror): Now static.
3949         * c-lang.h (c_yyerror): Don't declare.
3950         * c-lang.c (c_language_defn, cplus_language_defn)
3951         (asm_language_defn, minimal_language_defn): Update.
3952         * c-exp.y (yyerror): Now static.
3953         * ada-lang.h (ada_yyerror): Don't declare.
3954         * ada-lang.c (ada_language_defn): Update.
3955         * ada-exp.y (yyerror): Now static.
3956
3957 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3958
3959         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3960         (store_sveregs_to_thread): Likewise.
3961         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3962         (aarch64_linux_store_inferior_registers): Likewise.
3963         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3964         function.
3965         (aarch64_sve_regs_copy_to_regcache): Likewise.
3966         (aarch64_sve_regs_copy_from_regcache): Likewise.
3967         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3968         declaration.
3969         (aarch64_sve_regs_copy_to_regcache): Likewise.
3970         (aarch64_sve_regs_copy_from_regcache): Likewise.
3971         (sve_context): Structure from Linux headers.
3972         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3973         (SVE_SIG_ZREG_SIZE): Likewise.
3974         (SVE_SIG_PREG_SIZE): Likewise.
3975         (SVE_SIG_FFR_SIZE): Likewise.
3976         (SVE_SIG_REGS_OFFSET): Likewise.
3977         (SVE_SIG_ZREGS_OFFSET): Likewise.
3978         (SVE_SIG_ZREG_OFFSET): Likewise.
3979         (SVE_SIG_ZREGS_SIZE): Likewise.
3980         (SVE_SIG_PREGS_OFFSET): Likewise.
3981         (SVE_SIG_PREG_OFFSET): Likewise.
3982         (SVE_SIG_PREGS_SIZE): Likewise.
3983         (SVE_SIG_FFR_OFFSET): Likewise.
3984         (SVE_SIG_REGS_SIZE): Likewise.
3985         (SVE_SIG_CONTEXT_SIZE): Likewise.
3986         (SVE_PT_REGS_MASK): Likewise.
3987         (SVE_PT_REGS_FPSIMD): Likewise.
3988         (SVE_PT_REGS_SVE): Likewise.
3989         (SVE_PT_VL_INHERIT): Likewise.
3990         (SVE_PT_VL_ONEXEC): Likewise.
3991         (SVE_PT_REGS_OFFSET): Likewise.
3992         (SVE_PT_FPSIMD_OFFSET): Likewise.
3993         (SVE_PT_FPSIMD_SIZE): Likewise.
3994         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3995         (SVE_PT_SVE_PREG_SIZE): Likewise.
3996         (SVE_PT_SVE_FFR_SIZE): Likewise.
3997         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3998         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3999         (__SVE_SIG_TO_PT): Likewise.
4000         (SVE_PT_SVE_OFFSET): Likewise.
4001         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4002         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4003         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4004         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4005         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4006         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4007         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4008         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4009         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4010         (SVE_PT_SVE_SIZE): Likewise.
4011         (SVE_PT_SIZE): Likewise.
4012         (HAS_SVE_STATE): New define.
4013
4014 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4015
4016         * nat/aarch64-sve-linux-sigcontext.h: New file.
4017         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4018         new files.
4019         (SVE_VQ_MIN): Likewise.
4020         (SVE_VQ_MAX): Likewise.
4021         (SVE_VL_MIN): Likewise.
4022         (SVE_VL_MAX): Likewise.
4023         (SVE_NUM_ZREGS): Likewise.
4024         (SVE_NUM_PREGS): Likewise.
4025         (sve_vl_valid): Likewise.
4026         (struct user_sve_header): Likewise.
4027
4028 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4029             Richard Bunt <Richard.Bunt@arm.com>
4030
4031         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4032         was requested by GDB.
4033
4034 2018-06-15  Tom de Vries  <tdevries@suse.de>
4035
4036         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4037
4038 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4039
4040         * gnulib/update-gnulib.sh: Print expected versions of
4041         autoconf/aclocal.
4042
4043 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4044
4045         * arch-utils.c (default_type_align): Use type_length_units.
4046         * gdbtypes.c (type_align): Use type_length_units.
4047
4048 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4049
4050         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4051         of 'define' command.
4052
4053 2018-06-14  Tom de Vries  <tdevries@suse.de>
4054
4055         PR cli/22573
4056         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4057         get_no_prettyformat_print_options.
4058
4059 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4060
4061         * sparc-nat.h: Include target.h.
4062         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4063         <fetch_registers>: Remove this argument in function call.
4064         <store_registers>: Remove this argument in function call, remove
4065         extra semicolon.
4066         <low_forget_process>: Call sparc64_forget_process instead of
4067         sparc_forget_process.
4068
4069 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4070
4071         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4072         (procfs_target::make_corefile_notes): Adjust to new
4073         target_read_alloc return type.
4074
4075 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4076             Stephen Roberts  <stephen.roberts@arm.com>
4077
4078         PR gdb/22882
4079         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4080         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4081         Move should_notify_stop local into more inner scope.
4082
4083 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4084             Stephen Roberts  <stephen.roberts@arm.com>
4085
4086         PR gdb/22882
4087         * infrun.c (resume_1): Add call to mark_async_event_handler.
4088
4089 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4090
4091         * infrun.c (do_target_wait): Change old version of $pc printed.
4092
4093 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4094
4095         * dwarf2read.c (read_index_from_section): Rename to...
4096         (read_gdb_index_from_section): ... this, update all callers.
4097         (dwarf2_read_index): Rename to...
4098         (dwarf2_read_gdb_index): ... this, update all callers.
4099
4100 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4101
4102         * gdb/hppa-linux-nat.c
4103         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4104         hppa_linux_nat_target::fetch_registers.
4105
4106 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4107
4108         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4109         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4110         (AARCH64_DWARF_SVE_FFR): Likewise.
4111         (AARCH64_DWARF_SVE_P0): Likewise.
4112         (AARCH64_DWARF_SVE_Z0): Likewise.
4113
4114 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4115
4116         * common/common-regcache.h (raw_compare): New function.
4117         * regcache.c (regcache::raw_compare): Likewise.
4118         * regcache.h (regcache::raw_compare): New declaration.
4119
4120 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4121
4122         * common/common-regcache.h (reg_buffer_common): New structure.
4123         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4124         (reg_buffer::raw_supply): Likewise.
4125         (reg_buffer::raw_supply_integer): Likewise.
4126         (reg_buffer::raw_supply_zeroed): Likewise.
4127         (reg_buffer::raw_collect): Likewise.
4128         (reg_buffer::raw_collect_integer): Likewise.
4129         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4130         (reg_buffer::raw_supply): Likewise.
4131         (reg_buffer::raw_supply_integer): Likewise.
4132         (reg_buffer::raw_supply_zeroed): Likewise.
4133         (reg_buffer::raw_collect): Likewise.
4134         (reg_buffer::raw_collect_integer): Likewise.
4135
4136 2018-06-10  Tom Tromey  <tom@tromey.com>
4137
4138         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4139         (class remote_state) <stop_reply_queue>: Now std::vector.
4140         (remote_state::~remote_state)
4141         (remote_target::stop_reply_queue_length): Update.
4142         (struct queue_iter_param, remove_child_of_pending_fork)
4143         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4144         (check_pending_event_prevents_wildcard_vcont_callback)
4145         (remove_stop_reply_for_inferior)
4146         (remove_stop_reply_of_remote_state)
4147         (remote_notif_remove_once_on_match)
4148         (stop_reply_match_ptid_and_ws)
4149         (remote_kill_child_of_pending_fork): Remove.
4150         (remote_target::remove_new_fork_children)
4151         (remote_target::check_pending_events_prevent_wildcard_vcont)
4152         (remote_target::discard_pending_stop_replies)
4153         (remote_target::discard_pending_stop_replies_in_queue)
4154         (remote_target::remote_notif_remove_queued_reply)
4155         (remote_target::queued_stop_reply)
4156         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4157         (remote_target::wait, remote_target::kill_new_fork_children)
4158         (remote_target::async): Update.
4159
4160 2018-06-10  Tom Tromey  <tom@tromey.com>
4161
4162         * record-full.c (record_full_arch_list_cleanups): Remove.
4163         (record_full_message): Use try/catch.
4164         (record_full_wait_cleanups): Remove.
4165         (record_full_wait_1): Use try/catch.
4166         (record_full_restore): Likewise.
4167
4168 2018-06-10  Tom Tromey  <tom@tromey.com>
4169
4170         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4171         declare VEC.  Add constructor.
4172         <in_target_beneath>: Now bool.
4173         (record_full_breakpoints): Now a std::vector, static.
4174         (record_full_sync_record_breakpoints)
4175         (record_full_init_record_breakpoints)
4176         (record_full_target::insert_breakpoint)
4177         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4178
4179 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4180
4181         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4182         * serial.c (serial_interface_lookup): Remove struct keyword.
4183
4184 2018-06-10  Tom Tromey  <tom@tromey.com>
4185
4186         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4187         method.
4188         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4189         a method.
4190         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4191         method.
4192         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4193         "beneath" as a method.
4194         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4195         Use "beneath" as a method.
4196
4197 2018-06-10  Tom Tromey  <tom@tromey.com>
4198
4199         * tracefile.c (struct trace_file_writer_deleter): New.
4200         <operator()>: Rename from trace_file_writer_xfree.
4201         (trace_file_writer_up): New typedef.
4202         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4203
4204 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4205
4206         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4207         <m_registers, m_register_status>: Change type to
4208         std::unique_ptr.
4209         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4210         XCNEWVEC.
4211
4212 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4213
4214         * common/common-regcache.h (enum register_status): Add
4215         underlying type "signed char".
4216         * regcache.h (reg_buffer) <m_register_status>: Change type to
4217         register_status *.
4218         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4219         register_status instead of signed char.
4220         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4221         (reg_buffer::get_register_status): Remove cast.
4222         (readable_regcache::raw_read): Remove cast.
4223         (readable_regcache::cooked_read): Remove cast.
4224
4225 2018-06-09  Tom Tromey  <tom@tromey.com>
4226
4227         * source.c (reverse_search_command, forward_search_command): Use
4228         scoped_fd.
4229
4230 2018-06-09  Tom Tromey  <tom@tromey.com>
4231
4232         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4233         (serial_ops_list): Now static, std::vector.
4234         (serial_interface_lookup, serial_add_interface): Update.
4235
4236 2018-06-09  Tom Tromey  <tom@tromey.com>
4237
4238         * dwarf2read.c (process_cu_includes): Update.
4239         (process_full_comp_unit): Update.
4240         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4241         std::vector.
4242
4243 2018-06-08  Paul Koning  <paul_koning@dell.com>
4244
4245         PR gdb/23252
4246
4247         * python/python.c (do_start_initialization):
4248         Avoid call to internal Python API.
4249         (init__gdb_module): New function.
4250
4251 2018-06-08  Gary Benson <gbenson@redhat.com>
4252
4253         * linux-thread-db.c (valprint.h): New include.
4254         (struct check_thread_db_info): New structure.
4255         (check_thread_db_on_load, tdb_testinfo): New static globals.
4256         (check_thread_db, check_thread_db_callback): New functions.
4257         (try_thread_db_load_1): Run integrity checks if requested.
4258         (maintenance_check_libthread_db): New function.
4259         (_initialize_thread_db): Register "maint check libthread-db"
4260         and "maint set/show check-libthread-db".
4261         * NEWS: Mention the above new commands.
4262
4263 2018-06-08  Tom Tromey  <tom@tromey.com>
4264
4265         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4266         now a method.
4267
4268 2018-06-08  Tom Tromey  <tom@tromey.com>
4269
4270         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4271
4272 2018-06-08  Tom Tromey  <tom@tromey.com>
4273
4274         * common/btrace-common.h (struct btrace_data): Add constructor,
4275         destructor, move assignment operator.
4276         <empty, clear, fini>: New methods.
4277         <format>: Initialize.
4278         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4279         (btrace_data_empty): Don't declare.
4280         * common/btrace-common.c (btrace_data_init): Remove.
4281         (btrace_data::fini): Rename from btrace_data_fini.
4282         (btrace_data::empty): Rename from btrace_data_empty.
4283         (btrace_data::clear): Rename from btrace_data_clear.  Return
4284         bool.
4285         * btrace.h (make_cleanup_btrace_data): Don't declare.
4286         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4287         (parse_xml_btrace): Update.
4288         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4289         (maint_btrace_clear_packet_history_cmd): Update.
4290
4291 2018-06-07  Pedro Alves  <palves@redhat.com>
4292
4293         * target.h (target_ops) <beneath>: Now a method.  All references
4294         updated.
4295         (class target_stack): New.
4296         * target.c (g_target_stack): New.
4297         (g_current_top_target): Delete.
4298         (current_top_target): Get the top target out of g_target_stack.
4299         (target_stack::push, target_stack::unpush): New.
4300         (push_target, unpush_target): Reimplement.
4301         (target_is_pushed): Reimplement in terms of g_target_stack.
4302         (target_ops::beneath, target_stack::find_beneath): New.
4303
4304 2018-06-07  Pedro Alves  <palves@redhat.com>
4305
4306         * target.h (find_target_beneath): Delete declaration.
4307         * target.c (find_target_beneath): Delete definition.
4308         * aix-thread.c: All callers of find_target_beneath adjusted to
4309         call target_ops::beneath instead.
4310         * bsd-uthread.c: Likewise.
4311         * linux-thread-db.c: Likewise.
4312         * ravenscar-thread.c: Likewise.
4313         * sol-thread.c: Likewise.
4314         * spu-multiarch.c: Likewise.
4315
4316 2018-06-07  Pedro Alves  <palves@redhat.com>
4317
4318         * target.h (target_ops) <beneath>: Now a method.  All references
4319         updated.
4320         (target_ops) <m_beneath>: New.
4321         * target.c (target_ops::beneath): New.
4322         * corelow.c: Adjust all references to target_ops::beneath.
4323         * linux-thread-db.c: Likewise.
4324         * make-target-delegates: Likewise.
4325         * record-btrace.c: Likewise.
4326         * record-full.c: Likewise.
4327         * remote.c: Likewise.
4328         * target.c: Likewise.
4329         * target-delegates.c: Regenerate.
4330
4331 2018-06-07  Pedro Alves  <palves@redhat.com>
4332
4333         * target.h (target_stack): Delete.
4334         (current_top_target): Declare function.
4335         * target.c (target_stack): Delete.
4336         (g_current_top_target): New.
4337         (current_top_target): New function.
4338         * auxv.c: Use current_top_target instead of target_stack
4339         throughout.
4340         * avr-tdep.c: Likewise.
4341         * breakpoint.c: Likewise.
4342         * corefile.c: Likewise.
4343         * elfread.c: Likewise.
4344         * eval.c: Likewise.
4345         * exceptions.c: Likewise.
4346         * frame.c: Likewise.
4347         * gdbarch-selftests.c: Likewise.
4348         * gnu-v3-abi.c: Likewise.
4349         * ia64-tdep.c: Likewise.
4350         * ia64-vms-tdep.c: Likewise.
4351         * infcall.c: Likewise.
4352         * infcmd.c: Likewise.
4353         * infrun.c: Likewise.
4354         * linespec.c: Likewise.
4355         * linux-tdep.c: Likewise.
4356         * minsyms.c: Likewise.
4357         * ppc-linux-nat.c: Likewise.
4358         * ppc-linux-tdep.c: Likewise.
4359         * procfs.c: Likewise.
4360         * regcache.c: Likewise.
4361         * remote.c: Likewise.
4362         * rs6000-tdep.c: Likewise.
4363         * s390-linux-nat.c: Likewise.
4364         * s390-tdep.c: Likewise.
4365         * solib-aix.c: Likewise.
4366         * solib-darwin.c: Likewise.
4367         * solib-dsbt.c: Likewise.
4368         * solib-spu.c: Likewise.
4369         * solib-svr4.c: Likewise.
4370         * solib-target.c: Likewise.
4371         * sparc-tdep.c: Likewise.
4372         * sparc64-tdep.c: Likewise.
4373         * spu-tdep.c: Likewise.
4374         * symfile.c: Likewise.
4375         * symtab.c: Likewise.
4376         * target-descriptions.c: Likewise.
4377         * target-memory.c: Likewise.
4378         * target.c: Likewise.
4379         * target.h: Likewise.
4380         * tracefile-tfile.c: Likewise.
4381         * tracepoint.c: Likewise.
4382         * valops.c: Likewise.
4383         * valprint.c: Likewise.
4384         * value.c: Likewise.
4385         * windows-tdep.c: Likewise.
4386         * mi/mi-main.c: Likewise.
4387
4388 2018-06-07  Tom Tromey  <tom@tromey.com>
4389
4390         * valprint.h (build_address_symbolic): Declare.
4391         * printcmd.c (print_address_symbolic): Update.
4392         (build_address_symbolic): Change "name" and "filename" to
4393         std::string.
4394         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4395         Update.
4396         * defs.h (build_address_symbolic): Remove declaration.
4397
4398 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4399
4400         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4401         (aarch64_vnv_type): Add function.
4402         (aarch64_pseudo_register_name): Add V regs for SVE.
4403         (aarch64_pseudo_register_type): Likewise.
4404         (aarch64_pseudo_register_reggroup_p): Likewise.
4405         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4406         (aarch64_pseudo_read_value): Add V regs for SVE.
4407         (aarch64_pseudo_write_2): Use V0 offset for SVE
4408         (aarch64_pseudo_write): Add V regs for SVE.
4409         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4410
4411 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4412
4413         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4414         (sve_vl_from_vq): Likewise.
4415
4416 2018-06-05  Tom Tromey  <tom@tromey.com>
4417
4418         * cli/cli-cmds.c (show_version): Update.
4419         * top.c (print_gdb_version): Add "interactive" parameter.
4420         Update.
4421         * main.c (captured_main_1): Update.
4422         * top.h (print_gdb_version): Add "interactive" parameter and a
4423         comment.
4424
4425 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4426
4427         * common/enum-flags.h: Add trailing semicolon to example in
4428         comment.
4429
4430 2018-06-05  Tom Tromey  <tom@tromey.com>
4431
4432         PR cli/12326:
4433         * NEWS: Add entry about pager.
4434         * utils.c (pagination_disabled_for_command): New global.
4435         (prompt_for_continue): Allow "c" response to prompt.
4436         (reinitialize_more_filter): Clear
4437         pagination_disabled_for_command.
4438         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4439
4440 2018-06-04  Tom Tromey  <tom@tromey.com>
4441
4442         * ada-lang.h (ada_lookup_symbol_list): Update.
4443         * ada-lang.c (resolve_subexp): Update.
4444         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4445         parameter.
4446         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4447         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4448         results parameter to std::vector.
4449         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4450         Update.
4451         * ada-exp.y (block_lookup): Update.
4452         (select_possible_type_sym): Change type of syms.  Remove nsyms
4453         parameter.
4454         (write_var_or_type, write_name_assoc): Update.
4455
4456 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4457
4458         * windows-nat.c (windows_nat_target::xfer_partial): Return
4459         TARGET_XFER_E_IO if we need to delegate to the target beneath
4460         but BENEATH is NULL.
4461
4462 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4463
4464         * Makefile.in (config.status): Add configure.nat as a
4465         dependency.
4466
4467 2018-06-04  Tom Tromey  <tom@tromey.com>
4468
4469         * cp-name-parser.y (cpname_state): Add method declarations.
4470         (HANDLE_QUAL): Update.
4471         (cpname_state::d_grab, cpname_state::fill_comp)
4472         (cpname_state::make_operator, cpname_state::make_dtor)
4473         (cpname_state::make_builtin_type, cpname_state::make_name)
4474         (cpname_state::d_qualify, cpname_state::d_int_type)
4475         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4476         (%union): Move earlier.
4477
4478 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4479
4480         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4481
4482 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4483
4484         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4485         (aarch64_pseudo_write_1): Likewise.
4486         (aarch64_pseudo_read_value): Use helper.
4487         (aarch64_pseudo_write): Likewise.
4488
4489 2018-06-04  Pedro Alves  <palves@redhat.com>
4490
4491         * darwin-nat.c (darwin_ops): Delete.
4492         (darwin_attach_pid): Use get_native_target.
4493
4494 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4495
4496         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4497         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4498
4499 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4500
4501         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4502         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4503         (aarch64_gdbarch_init): Check for SVE.
4504         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4505
4506 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4507
4508         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4509         * aarch64-tdep.h (aarch64_read_description): Likewise.
4510         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4511         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4512         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4513         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4514         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4515
4516 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4517
4518         * value.c (value_fetch_lazy_bitfield): New.
4519         (value_fetch_lazy_memory): New.
4520         (value_fetch_lazy_register): New.
4521         (value_fetch_lazy): Factor out to smaller functions.
4522
4523 2018-06-01  Tom Tromey  <tom@tromey.com>
4524
4525         * cp-name-parser.y (backslashable, represented): Now const.
4526
4527 2018-06-01  Tom Tromey  <tom@tromey.com>
4528
4529         * cp-name-parser.y: Include parser-defs.h.
4530         (parser_fprintf): Remove declaration.
4531
4532 2018-06-01  Tom Tromey  <tom@tromey.com>
4533
4534         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4535         %parse-param.
4536         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4537         (global_result): Remove globals.
4538         (struct cpname_state): New.
4539         (yyparse): Don't declare.
4540         (yylex, yyerror): Move declarations after %union.
4541         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4542         (make_name): Add state parameter.
4543         Update all callers.
4544         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4545         parameter.
4546         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4547         Update.
4548         (yylex): Add lvalp, state parameters.
4549         (yyerror): Add state parameter.
4550         (cp_demangled_name_to_comp): Update.
4551
4552 2018-06-01  Tom Tromey  <tom@tromey.com>
4553
4554         * cp-name-parser.y (parser_fprintf): Declare.
4555         (GDB_YY_REMAP_PREFIX): Define.
4556         Include yy-remap.h.  Don't redefine yy* identifiers.
4557
4558 2018-06-01  Tom Tromey  <tom@tromey.com>
4559
4560         * python/py-type.c (typy_legacy_template_argument): Update.
4561         * cp-support.h (cp_demangled_name_to_comp): Update.
4562         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4563         parameter to be a "std::string *".
4564         (main): Update.
4565
4566 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4567
4568         * ada-lex.l: Include "diagnostics.h" instead of
4569         "common/diagnostics.h".
4570         * unittests/environ-selftests.c: Likewise.
4571         * common/diagnostics.h: Moved to ../include.
4572
4573 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4574
4575         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4576         to language_mode_manual while calling breakpoint_re_set_one.
4577
4578 2018-06-01  Tom Tromey  <tom@tromey.com>
4579
4580         * valops.c (value_cast_structs, destructor_name_p): Update.
4581         * symtab.c (gdb_mangle_name): Update.
4582         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4583         Update.
4584         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4585         (pascal_object_print_value_fields, pascal_object_print_value):
4586         Update.
4587         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4588         * linespec.c (find_methods): Update.
4589         * gdbtypes.h (type_name_no_tag): Remove.
4590         (type_name_or_error): Rename from type_name_no_tag_or_error.
4591         * gdbtypes.c (type_name_no_tag): Remove.
4592         (type_name_or_error): Rename from type_name_no_tag_or_error.
4593         (lookup_struct_elt_type, check_typedef): Update.
4594         * expprint.c (print_subexp_standard): Update.
4595         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4596         * d-namespace.c (d_lookup_nested_symbol): Update.
4597         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4598         (cp_print_class_member): Update.
4599         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4600         * completer.c (add_struct_fields): Update.
4601         * c-typeprint.c (cp_type_print_derivation_info)
4602         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4603         Update.
4604         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4605         (ada_prefer_type, ada_is_exception_sym): Update.
4606
4607 2018-06-01  Tom Tromey  <tom@tromey.com>
4608
4609         * valops.c (enum_constant_from_type, value_namespace_elt)
4610         (value_maybe_namespace_elt): Update.
4611         * valarith.c (find_size_for_pointer_math): Update.
4612         * target-descriptions.c (make_gdb_type): Update.
4613         * symmisc.c (print_symbol): Update.
4614         * stabsread.c (define_symbol, read_type)
4615         (complain_about_struct_wipeout, add_undefined_type)
4616         (cleanup_undefined_types_1): Update.
4617         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4618         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4619         (rust_internal_print_type, rust_composite_type)
4620         (rust_evaluate_funcall, rust_evaluate_subexp)
4621         (rust_inclusive_range_type_p): Update.
4622         * python/py-type.c (typy_get_tag): Update.
4623         * p-typeprint.c (pascal_type_print_base): Update.
4624         * mdebugread.c (parse_symbol, parse_type): Update.
4625         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4626         Update.
4627         * guile/scm-type.c (gdbscm_type_tag): Update.
4628         * go-lang.c (sixg_string_p): Update.
4629         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4630         Update.
4631         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4632         (TYPE_TAG_NAME): Remove.
4633         * gdbtypes.c (type_name_no_tag): Simplify.
4634         (check_typedef, check_types_equal, recursive_dump_type)
4635         (copy_type_recursive, arch_composite_type): Update.
4636         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4637         in summary mode when needed.
4638         * eval.c (evaluate_funcall): Update.
4639         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4640         (process_structure_scope, read_enumeration_type)
4641         (read_namespace_type, read_module_type, determine_prefix): Update.
4642         * cp-support.c (inspect_type): Update.
4643         * coffread.c (process_coff_symbol, decode_base_type): Update.
4644         * c-varobj.c (c_is_path_expr_parent): Update.
4645         * c-typeprint.c (c_type_print_base_struct_union): Update.
4646         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4647         summary when using C language.
4648         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4649         (gen_maybe_namespace_elt): Update.
4650         * ada-lang.c (ada_type_name): Simplify.
4651         (empty_record, ada_template_to_fixed_record_type_1)
4652         (template_to_static_fixed_type)
4653         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4654
4655 2018-06-01  Tom Tromey  <tom@tromey.com>
4656
4657         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4658         c_print_type.
4659         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4660         (c_print_type): Update.
4661         (c_print_type): New overload.
4662         (c_type_print_varspec_prefix, c_type_print_args)
4663         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4664         (c_type_print_base_struct_union, c_type_print_base_1)
4665         (cp_type_print_method_args): Add "language" parameter.
4666         (c_type_print_base): Update.
4667         * c-lang.h (c_print_type): Add new overload.
4668
4669 2018-06-01  Tom Tromey  <tom@tromey.com>
4670
4671         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4672         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4673
4674 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4675
4676         * aarch64-tdep.c (aarch64_sve_register_names): New const
4677         var.
4678         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4679         (AARCH64_SVE_Z_REGS_NUM): New define.
4680         (AARCH64_SVE_P_REGS_NUM): Likewise.
4681         (AARCH64_SVE_NUM_REGS): Likewise.
4682
4683 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4684
4685         * nat/linux-ptrace.h [__alpha__]
4686         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4687         definitions.
4688
4689 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4690
4691         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4692         the endianness selected.
4693         * NEWS: Document `set endian auto' mode operation update.
4694
4695 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4696
4697         * Makefile.in: Add new header.
4698         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4699         (sve_vl_from_vg): Likewise.
4700         (sve_vq_from_vl): Likewise.
4701         (sve_vl_from_vq): Likewise.
4702         (sve_vq_from_vg): Likewise.
4703         (sve_vg_from_vq): Likewise.
4704         * configure.nat: Add new c file.
4705         * nat/aarch64-sve-linux-ptrace.c: New file.
4706         * nat/aarch64-sve-linux-ptrace.h: New file.
4707
4708 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4709
4710         * aarch64-linux-nat.c (aarch64_linux_read_description):
4711         Add parmeter zero.
4712         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4713         Likewise.
4714         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4715         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4716         (aarch64_gdbarch_init): Add parmeter zero.
4717         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4718         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4719         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4720         parmeter.
4721         * doc/gdb.texinfo: Describe SVE feature
4722         * features/aarch64-sve.c: New file.
4723
4724 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4725
4726         PR gdb/23210
4727         * gdbarch.sh (significant_addr_bit): Default to zero when
4728         not set by target architecture.
4729         * gdbarch.c: Re-generated.
4730         * utils.c (address_significant): Update.
4731
4732 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4733
4734         * stack.c (func_command): Remove trailing newline in call to error.
4735
4736 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4737
4738         * regcache.h (regcache_raw_collect): Remove, update callers to
4739         use regcache::raw_collect.
4740         * regcache.c (regcache_raw_collect): Remove.
4741
4742 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4743
4744         * regcache.h (regcache_raw_supply): Remove, update callers to
4745         use detached_regcache::raw_supply.
4746         * regcache.c (regcache_raw_supply): Remove.
4747
4748 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4749
4750         * regcache.h (regcache_cooked_write_part): Remove, update
4751         callers to use regcache::cooked_write_part.
4752         * regcache.c (regcache_cooked_write_part): Remove.
4753
4754 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4755
4756         * regcache.h (regcache_cooked_read_part): Remove, update callers
4757         to use readable_regcache::cooked_read_part.
4758         * regcache.c (regcache_cooked_read_part): Remove.
4759
4760 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4761
4762         * regcache.h (regcache_cooked_read_value): Remove, update
4763         callers to use readable_regcache::cooked_read_value.
4764         * regcache.c (regcache_cooked_read_value): Remove.
4765
4766 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4767
4768         * regcache.h (regcache_cooked_write): Remove, update callers to
4769         use regcache::cooked_write.
4770         * regcache.c (regcache_cooked_write): Remove.
4771
4772 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4773
4774         * regcache.h (regcache_invalidate): Remove, update callers to
4775         use detached_regcache::invalidate instead.
4776         * regcache.c (regcache_invalidate): Remove.
4777
4778 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4779
4780         * regcache.h (regcache_raw_write_part): Remove, update callers
4781         to use regcache::raw_write_part instead.
4782         * regcache.c (regcache_raw_write_part): Remove.
4783
4784 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4785
4786         * regcache.h (regcache_raw_read_part): Remove, update callers to
4787         use readable_regcache::raw_read_part instead.
4788         * regcache.c (regcache_raw_read_part): Remove.
4789
4790 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4791
4792         * regcache.h (regcache_cooked_read): Remove, update callers to
4793         use readable_regcache::cooked_read instead.
4794         * regcache.c (regcache_cooked_read): Remove.
4795
4796 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4797
4798         * regcache.h (regcache_raw_write): Remove, update callers to use
4799         regcache::raw_write instead.
4800         * regcache.c (regcache_raw_write): Remove.
4801
4802 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4803
4804         * regcache.h (regcache_raw_read): Remove, update callers to use
4805         readable_regcache::raw_read instead.
4806         * regcache.c (regcache_raw_read): Remove.
4807
4808 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4809
4810         * regcache.h (regcache_raw_update): Remove, update callers to
4811         use readable_regcache::raw_update instead.
4812         * regcache.c (regcache_raw_update): Remove.
4813
4814 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4815
4816         * regcache.h (regcache_register_status): Remove, update callers
4817         to use reg_buffer::get_register_status directly instead.
4818         * regcache.c (regcache_register_status): Remove.
4819
4820 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4821
4822         * regcache.h (regcache_get_ptid): Remove, update all callers to
4823         call regcache::ptid instead.
4824         * regcache.c (regcache_get_ptid): Remove.
4825
4826 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4827
4828         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4829
4830 2018-05-30  Pedro Alves  <palves@redhat.com>
4831
4832         * common/common-exceptions.h (exception_rethrow): Use
4833         ATTRIBUTE_NORETURN.
4834
4835 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4836
4837         * breakpoint.c (print_solib_event, check_status_catch_solib):
4838         Remove struct keyword in range-based for loops.
4839         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4840         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4841         Likewise.
4842         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4843         Likewise.
4844         * symfile.c (addr_info_make_relative): Likewise.
4845         * thread.c (value_in_thread_stack_temporaries): Likewise.
4846
4847 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4848
4849         PR gdb/16841
4850         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4851         aggregate type to get its real type before accessing it.
4852
4853 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4854
4855         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4856         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4857         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4858         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4859         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4860         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4861         * printcmd.c (info_address_command): Likewise.
4862
4863 2018-05-29  Tom Tromey  <tom@tromey.com>
4864
4865         * windows-nat.c (handle_exception): Update fall-through comment.
4866
4867 2018-05-29  Tom Tromey  <tom@tromey.com>
4868
4869         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4870         (struct program_space) <added_solibs>: Now a std::vector.
4871         * breakpoint.c (print_solib_event): Update.
4872         (check_status_catch_solib): Update.
4873         * progspace.c (clear_program_space_solib_cache): Update.
4874         * solib.c (update_solib_list): Update.
4875
4876 2018-05-29  Tom Tromey  <tom@tromey.com>
4877
4878         * python/py-type.c (typy_richcompare): Update.
4879         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4880         * gdbtypes.h (types_deeply_equal): Return bool.
4881         (types_equal): Likewise.
4882         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4883         declare VEC.
4884         (check_types_equal): Change worklist to std::vector.  Return
4885         bool.
4886         (struct type_equality_entry): Add constructor.
4887         (compare_maybe_null_strings): Return bool.
4888         (check_types_worklist): Return bool.  Change worklist to
4889         std::vector.
4890         (types_deeply_equal): Use std::vector.
4891         (types_equal): Return bool.
4892         (compare_maybe_null_strings): Simplify.
4893
4894 2018-05-29  Tom Tromey  <tom@tromey.com>
4895
4896         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4897
4898 2018-05-29  Tom Tromey  <tom@tromey.com>
4899
4900         * objc-lang.h: Don't include cp-support.h.
4901         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4902         declare VEC.
4903
4904 2018-05-27  Tom Tromey  <tom@tromey.com>
4905
4906         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4907
4908 2018-05-25  Tom Tromey  <tom@tromey.com>
4909
4910         * value.c (value::location): Initialize.
4911
4912 2018-05-25  Tom Tromey  <tom@tromey.com>
4913
4914         * dbxread.c (init_bincl_list): Remove.
4915         (bincl_list): Now a std::vector.
4916         (bincls_allocated, next_bincl): Remove.
4917         (free_bincl_list, do_free_bincl_list_cleanup)
4918         (make_cleanup_free_bincl_list): Remove.
4919         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4920         unique_xmalloc_ptr.
4921         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4922         (struct header_file_location): Add constructor.
4923         (add_bincl_to_list): Remove.
4924
4925 2018-05-25  Tom Tromey  <tom@tromey.com>
4926
4927         * tui/tui.c (tui_enable): Update.
4928         * mi/mi-interp.c (mi_interp::init): Update.
4929         * interps.h (class interp) <name>: New method.
4930         <m_name>: Rename from name.
4931         (~scoped_restore_interp): Update.
4932         * interps.c (interp::interp): Update.
4933         (interp_add, interp_set, interp_lookup_existing)
4934         (current_interp_named_p): Update.
4935
4936 2018-05-25  Tom Tromey  <tom@tromey.com>
4937
4938         * interps.c (interp_name): Remove.
4939         * mi/mi-interp.c (mi_interp::init): Update.
4940         * interps.h (interp_name): Remove.
4941         (~scoped_restore_interp): Update.
4942         * tui/tui.c (tui_enable): Update.
4943
4944 2018-05-25  Tom Tromey  <tom@tromey.com>
4945
4946         * utils.c (fputs_maybe_filtered): Update.
4947         * linespec.c (decode_line_full): Update.
4948         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4949         (mi_print_breakpoint_for_event, mi_solib_loaded)
4950         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4951         (mi_user_selected_context_changed): Update.
4952         * mi/mi-main.c (mi_execute_command): Update.
4953         * cli/cli-script.c (execute_control_command): Update.
4954         * python/python.c (execute_gdb_command): Update.
4955         * solib.c (info_sharedlibrary_command): Update.
4956         * interps.c (interp_ui_out): Remove.
4957         * interps.h (interp_ui_out): Remove.
4958
4959 2018-05-25  Tom Tromey  <tom@tromey.com>
4960
4961         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4962         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4963         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4964
4965 2018-05-25  Tom Tromey  <tom@tromey.com>
4966
4967         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4968         * interps.c (interp_exec): Use scoped_restore.
4969
4970 2018-05-25  Tom Tromey  <tom@tromey.com>
4971
4972         * remote.c (remote_target::remote_file_get): Use
4973         gdb::byte_vector.
4974         (remote_target::remote_file_put): Likewise.
4975
4976 2018-05-25  Tom Tromey  <tom@tromey.com>
4977
4978         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4979         a std::string.
4980         (get_pe_section_index, add_pe_exported_sym): Update.
4981         (read_pe_exported_syms): Use gdb::def_vector.
4982
4983 2018-05-25  Tom Tromey  <tom@tromey.com>
4984
4985         * frame.c (remove_prev_frame): Remove.
4986         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4987
4988 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4989
4990         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4991         Remove prototypes.
4992         * mips-linux-nat.c (supply_fpregset): Always call
4993         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4994         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4995         `mips_fill_fpregset'.
4996         * mips-linux-tdep.c (mips_supply_fpregset)
4997         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4998         (mips_fill_fpregset_wrapper): Remove functions.
4999         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5000         (mips_linux_fpregset): Remove variable.
5001         (mips_linux_iterate_over_regset_sections): Use
5002         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5003         (mips_linux_o32_sigframe_init): Remove comment.
5004
5005 2018-05-25  Pedro Alves  <palves@redhat.com>
5006
5007         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5008         (struct readahead_cache, struct packet_reg, struct
5009         remote_arch_state, class remote_state): Move higher up in the
5010         file.
5011         (remote_target::m_remote_state): Now an object instead of a pointer.
5012         (remote_target::get_remote_state): Adjust.
5013
5014 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5015
5016         * stack.c (select_and_print_frame): Delete.
5017         (struct function_bounds): Move struct within function.
5018         (func_command): Most content moved into new function
5019         find_frame_for_function, use new function, print result, add
5020         function comment.
5021         (find_frame_for_function): New function, now returns a result.
5022
5023 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5024
5025         * stack.c (iterate_over_block_arg_vars): Fix comment.
5026         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5027
5028 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5029
5030         PR gdb/23203
5031         * frame.c
5032         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5033         Define.
5034         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5035         Define.
5036         * frame.h (class scoped_restore_selected_frame): New class.
5037         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5038         of any exception, use scoped_restore_selected_frame to restore the
5039         frame instead.
5040
5041 2018-05-24  Pedro Alves  <palves@redhat.com>
5042
5043         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5044         override.
5045
5046 2018-05-23  Tom Tromey  <tom@tromey.com>
5047
5048         * complaints.c (struct complaints): Remove.
5049         (symfile_complaint_book): Remove.
5050         (series): New global.
5051         (complaint_internal): Update.
5052         (clear_complaints): Update.
5053
5054 2018-05-23  Tom Tromey  <tom@tromey.com>
5055
5056         * complaints.c (counters): New global.
5057         (struct complain): Remove.
5058         (struct complaints) <root>: Remove.
5059         (complaint_sentinel): Remove.
5060         (symfile_complaint_book): Update.
5061         (find_complaint) Remove.
5062         (complaint_internal, clear_complaints): Update.
5063
5064 2018-05-23  Tom Tromey  <tom@tromey.com>
5065
5066         * complaints.c (struct complain) <file, line>: Remove.
5067         (find_complaint): Remove file, line parameters.
5068         (complaint_internal): Update.
5069
5070 2018-05-23  Tom Tromey  <tom@tromey.com>
5071
5072         * complaints.c (vcomplaint): Remove.
5073         (complaint_internal) Merge in contents of vcomplaint.
5074
5075 2018-05-23  Tom Tromey  <tom@tromey.com>
5076
5077         * complaints.c (struct complaints) <explanation>: Remove.
5078         (symfile_explanations): Remove.
5079         (symfile_complaint_book): Update.
5080         (vcomplaint): Update.
5081         (struct explanation): Remove.
5082
5083 2018-05-23  Tom Tromey  <tom@tromey.com>
5084
5085         * complaints.c (symfile_complaints): Remove.
5086         (complaint_internal): Remove "complaints" parameter.
5087         (clear_complaints, vcomplaint): Remove "c" parameter.
5088         (get_complaints): Remove.
5089         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5090         (dwarf2_debug_line_missing_file_complaint)
5091         (dwarf2_debug_line_missing_end_sequence_complaint)
5092         (dwarf2_complex_location_expr_complaint)
5093         (dwarf2_const_value_length_mismatch_complaint)
5094         (dwarf2_section_buffer_overflow_complaint)
5095         (dwarf2_macro_malformed_definition_complaint)
5096         (dwarf2_invalid_attrib_class_complaint)
5097         (create_addrmap_from_index, dw2_symtab_iter_next)
5098         (dw2_expand_marked_cus)
5099         (dw2_debug_names_iterator::find_vec_in_debug_names)
5100         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5101         (create_debug_type_hash_table, init_cutu_and_read_dies)
5102         (partial_die_parent_scope, add_partial_enumeration)
5103         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5104         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5105         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5106         (create_cus_hash_table, create_dwp_hash_table)
5107         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5108         (dwarf2_rnglists_process, dwarf2_ranges_process)
5109         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5110         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5111         (handle_struct_member_die, process_structure_scope)
5112         (read_array_type, read_common_block, read_module_type)
5113         (read_tag_pointer_type, read_typedef, read_base_type)
5114         (read_subrange_type, load_partial_dies, partial_die_info::read)
5115         (partial_die_info::read, partial_die_info::read)
5116         (partial_die_info::read, read_checked_initial_length_and_offset)
5117         (dwarf2_string_attr, read_formatted_entries)
5118         (dwarf_decode_line_header)
5119         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5120         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5121         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5122         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5123         (get_signatured_type, get_DW_AT_signature_type)
5124         (decode_locdesc, file_file_name, consume_improper_spaces)
5125         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5126         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5127         (dwarf2_symbol_mark_computed, set_die_type)
5128         (read_attribute_value): Update.
5129         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5130         Update.
5131         * dbxread.c (unknown_symtype_complaint)
5132         (lbrac_mismatch_complaint, repeated_header_complaint)
5133         (set_namestring, function_outside_compilation_unit_complaint)
5134         (read_dbx_symtab, process_one_symbol): Update.
5135         * gdbtypes.c (stub_noname_complaint): Update.
5136         * windows-nat.c (handle_unload_dll): Update.
5137         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5138         (decode_base_type): Update.
5139         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5140         (eb_complaint, record_include_begin, record_include_end)
5141         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5142         (process_xcoff_symbol, read_symbol)
5143         (function_outside_compilation_unit_complaint)
5144         (scan_xcoff_symtab): Update.
5145         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5146         * buildsym.c (finish_block_internal, make_blockvector)
5147         (end_symtab_get_static_block, augment_type_symtab): Update.
5148         * dtrace-probe.c (dtrace_process_dof)
5149         (dtrace_static_probe_ops::get_probes): Update.
5150         * complaints.h (struct complaint): Don't declare.
5151         (symfile_complaints): Remove.
5152         (complaint_internal): Remove "complaints" parameter.
5153         (complaint): Likewise.
5154         (clear_complaints): Likewise.
5155         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5156         (reread_symbols): Update.
5157         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5158         (dwarf2_frame_cache, decode_frame_entry): Update.
5159         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5160         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5161         (info_selectors_command): Update.
5162         * macrotab.c (macro_include, check_for_redefinition)
5163         (macro_undef): Update.
5164         * objfiles.c (filter_overlapping_sections): Update.
5165         * stabsread.c (invalid_cpp_abbrev_complaint)
5166         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5167         (define_symbol, error_type, read_type, rs6000_builtin_type)
5168         (stabs_method_name_from_physname, read_member_functions)
5169         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5170         (attach_fields_to_type, complain_about_struct_wipeout)
5171         (read_range_type, read_args, common_block_start)
5172         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5173         Update.
5174         * mdebugread.c (index_complaint, unknown_ext_complaint)
5175         (basic_type_complaint, bad_tag_guess_complaint)
5176         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5177         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5178         (parse_procedure, parse_lines)
5179         (function_outside_compilation_unit_complaint)
5180         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5181         (bad_tag_guess_complaint, reg_value_complaint): Update.
5182         * cp-support.c (demangled_name_complaint): Update.
5183         * macroscope.c (sal_macro_scope): Update.
5184         * dwarf-index-write.c (class debug_names): Update.
5185
5186 2018-05-23  Tom Tromey  <tom@tromey.com>
5187
5188         * complaints.c (clear_complaints): Remove "noisy" parameter.
5189         * complaints.h (clear_complaints): Update.
5190         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5191         (reread_symbols): Update.
5192
5193 2018-05-23  Tom Tromey  <tom@tromey.com>
5194
5195         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5196         SUBSEQUENT_MESSAGE.
5197         (vcomplaint, clear_complaints): Update.
5198         (symfile_explanations): Remove some messages.
5199
5200 2018-05-23  Tom Tromey  <tom@tromey.com>
5201
5202         * complaints.c (internal_complaint): Remove.
5203         * complaints.h (internal_complaint): Remove.
5204
5205 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5206
5207         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5208
5209 2018-05-22  Pedro Alves  <palves@redhat.com>
5210
5211         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5212         (remote_fileio_badfd, remote_fileio_return_errno)
5213         (remote_fileio_return_success, remote_fileio_func_open)
5214         (remote_fileio_func_open, remote_fileio_func_close)
5215         (remote_fileio_func_read, remote_fileio_func_write)
5216         (remote_fileio_func_lseek, remote_fileio_func_rename)
5217         (remote_fileio_func_unlink, remote_fileio_func_stat)
5218         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5219         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5220         remote_target parameter.
5221         (remote_fio_func_map) <func>: Add remote_target parameter.
5222         (do_remote_fileio_request, remote_fileio_request):
5223         * remote-fileio.h (remote_fileio_request):
5224         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5225         remote_target parameter.
5226         (remote_notif_process, handle_notification): Adjust to pass down
5227         the remote.
5228         (remote_notif_state_allocate): Add remote_target parameter.  Save
5229         it.
5230         * remote-notif.h (struct remote_target): Forward declare.
5231         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5232         remote_target parameter.
5233         (struct remote_notif_state) <remote>: New field.
5234         (remote_notif_ack, remote_notif_parse): Add remote_target
5235         parameter.
5236         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5237         remote_target parameter.
5238         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5239         (threads_listing_context, rmt_thread_action, protocol_feature)
5240         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5241         (packet_result, struct threads_listing_context, remote_state):
5242         Move definitions and declarations higher up.
5243         (remote_target) <~remote_target>: Declare.
5244         (remote_download_command_source, remote_file_put, remote_file_get)
5245         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5246         (remote_hostio_pread_vFile, remote_hostio_send_command)
5247         (remote_hostio_set_filesystem, remote_hostio_open)
5248         (remote_hostio_close, remote_hostio_unlink, remote_state)
5249         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5250         (get_memory_write_packet_size, get_memory_read_packet_size)
5251         (append_pending_thread_resumptions, remote_detach_1)
5252         (append_resumption, remote_resume_with_vcont)
5253         (add_current_inferior_and_thread, wait_ns, wait_as)
5254         (process_stop_reply, remote_notice_new_inferior)
5255         (process_initial_stop_replies, remote_add_thread)
5256         (btrace_sync_conf, remote_btrace_maybe_reopen)
5257         (remove_new_fork_children, kill_new_fork_children)
5258         (discard_pending_stop_replies, stop_reply_queue_length)
5259         (check_pending_events_prevent_wildcard_vcont)
5260         (discard_pending_stop_replies_in_queue, stop_reply)
5261         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5262         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5263         (remote_interrupt_as, remote_interrupt_ns)
5264         (remote_get_noisy_reply, remote_query_attached)
5265         (remote_add_inferior, remote_current_thread, get_current_thread)
5266         (set_thread, set_general_thread, set_continue_thread)
5267         (set_general_process, write_ptid)
5268         (remote_unpack_thread_info_response, remote_get_threadinfo)
5269         (parse_threadlist_response, remote_get_threadlist)
5270         (remote_threadlist_iterator, remote_get_threads_with_ql)
5271         (remote_get_threads_with_qxfer)
5272         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5273         (get_offsets, remote_check_symbols, remote_supported_packet)
5274         (remote_query_supported, remote_packet_size)
5275         (remote_serial_quit_handler, remote_detach_pid)
5276         (remote_vcont_probe, remote_resume_with_hc)
5277         (send_interrupt_sequence, interrupt_query)
5278         (remote_notif_get_pending_events, fetch_register_using_p)
5279         (send_g_packet, process_g_packet, fetch_registers_using_g)
5280         (store_register_using_P, store_registers_using_G)
5281         (set_remote_traceframe, check_binary_download)
5282         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5283         (remote_xfer_live_readonly_partial, remote_read_bytes)
5284         (remote_send_printf, remote_flash_write, readchar)
5285         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5286         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5287         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5288         (extended_remote_disable_randomization, extended_remote_run)
5289         (send_environment_packet, extended_remote_environment_support)
5290         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5291         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5292         (packet_command): Now methods of ...
5293         (remote_target): ... this class.
5294         (m_remote_state) <remote_target>: New field.
5295         (struct remote_state) <stop_reply_queue,
5296         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5297         fields.
5298         (remote_state::remote_state): Allocate stop_reply_queue.
5299         (remote_state): Delete global.
5300         (get_remote_state_raw): Delete.
5301         (remote_target::get_remote_state): Allocate m_remote_state on
5302         demand.
5303         (get_current_remote_target): New.
5304         (remote_ops, extended_remote_ops): Delete.
5305         (wait_forever_enabled_p, remote_async_inferior_event_token):
5306         Delete, moved to struct remote_state.
5307         (remote_target::close): Delete self.  Destruction bits split to
5308         ...
5309         (remote_target::~remote_target): ... this.
5310         (show_memory_packet_size): Adjust to use
5311         get_current_remote_target.
5312         (struct protocol_feature) <func>: Add remote_target parameter.
5313         All callers adjusted.
5314         (curr_quit_handler_target): New.
5315         (remote_serial_quit_handler): Reimplement.
5316         (remote_target::open_1): Adjust to use get_current_remote_target.
5317         Heap-allocate remote_target/extended_remote_target instances.
5318         (vcont_builder::vcont_builder): Add remote_target parameter, and
5319         save it in m_remote.  All callers adjusted.
5320         (vcont_builder::m_remote): New field.
5321         (vcont_builder::restart, vcont_builder::flush)
5322         (vcont_builder::push_action): Use it.
5323         (remote_target::commit_resume): Use it.
5324         (struct queue_iter_param) <remote>: New field.
5325         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5326         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5327         (check_pending_event_prevents_wildcard_vcont_callback)
5328         (remote_target::check_pending_events_prevent_wildcard_vcont)
5329         (remote_target::discard_pending_stop_replies)
5330         (remote_target::discard_pending_stop_replies_in_queue)
5331         (remote_target::remote_notif_remove_queued_reply): Fill in
5332         'remote' field.
5333         (remote_notif_get_pending_events): New.
5334         (remote_target::readchar, remote_target::remote_serial_write):
5335         Save/restore curr_quit_handler_target.
5336         (putpkt): New.
5337         (kill_new_fork_children): Fill in 'remote' field.
5338         (packet_command): Use get_current_remote_target, defer to
5339         remote_target method of same name.
5340         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5341         parameter, and save it in m_remote.  All callers adjusted.
5342         (scoped_remote_fd::release): Use m_remote.
5343         (scoped_remote_fd::m_remote): New field.
5344         (remote_file_put, remote_file_get, remote_file_delete): Use
5345         get_current_remote_target, defer to remote_target method of same
5346         name.
5347         (remote_btrace_reset): Add remote_state paremeter.  Update all
5348         callers.
5349         (remote_async_inferior_event_handler). Pass down 'data'.
5350         (remote_new_objfile): Use get_current_remote_target.
5351         (remote_target::vcont_r_supported): New.
5352         (set_range_stepping): Use get_current_remote_target and
5353         remote_target::vcont_r_supported.
5354         (_initialize_remote): Don't allocate 'remote_state' and
5355         'stop_reply_queue' globals.
5356         * remote.h (struct remote_target): Forward declare.
5357         (getpkt, putpkt, remote_notif_get_pending_events): Add
5358         'remote_target' parameter.
5359
5360 2018-05-22  Pedro Alves  <palves@redhat.com>
5361
5362         * remote.c (vcont_builder): Now a class.  Make all data members
5363         private.
5364         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5365         Declare methods.
5366         (vcont_builder_restart): Rename to ...
5367         (vcont_builder::restart): ... this.
5368         (vcont_builder_flush): Rename to ...
5369         (vcont_builder::flush): ... this.
5370         (vcont_builder_push_action): Rename to ...
5371         (vcont_builder::push_action): ... this.
5372         (remote_target::commit_resume): Adjust.
5373
5374 2018-05-22  Pedro Alves  <palves@redhat.com>
5375
5376         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5377         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5378         (get_fixed_memory_packet_size): New.
5379         (get_memory_packet_size): Use it.
5380         (set_memory_packet_size): Don't override the config size with
5381         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5382         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5383         Don't refer to get_memory_packet_size if not connected to a remote
5384         target.  Show "(default)" if configured size is 0.
5385
5386 2018-05-22  Pedro Alves  <palves@redhat.com>
5387
5388         * remote.c (remote_target::mourn_inferior): Move
5389         discard_pending_stop_replies call here from ...
5390         (_initialize_remote): ... here.
5391
5392 2018-05-22  Pedro Alves  <palves@redhat.com>
5393
5394         * remote.c (compare_section_command): Remove set_general_process
5395         call.
5396
5397 2018-05-22  Pedro Alves  <palves@redhat.com>
5398
5399         * remote.c (struct packet_reg, struct remote_arch_state):
5400         Move higher up in the file.
5401         (remote_state) <m_arch_states>: Store remote_arch_state values
5402         instead of remote_arch_state pointers.
5403         (remote_state::get_remote_arch_state): Adjust.
5404
5405 2018-05-22  Pedro Alves  <palves@redhat.com>
5406
5407         * remote.c: Include <unordered_map>.
5408         (remote_state): Now a class.
5409         (remote_state) <get_remote_arch_state>: Declare method.
5410         <get_remote_arch_state>: New field.
5411         (remote_arch_state) <remote_arch_state>: Declare ctor.
5412         <regs>: Now a unique_ptr.
5413         (remote_gdbarch_data_handle): Delete.
5414         (get_remote_arch_state): Delete.
5415         (remote_state::get_remote_arch_state): New.
5416         (get_remote_state): Adjust to call remote_state's
5417         get_remote_arch_state method.
5418         (init_remote_state): Delete, bits factored out to ...
5419         (remote_arch_state::remote_arch_state): ... this new method.
5420         (get_remote_packet_size, get_memory_packet_size)
5421         (process_g_packet, remote_target::fetch_registers)
5422         (remote_target::prepare_to_store, store_registers_using_G)
5423         (remote_target::store_registers, remote_target::get_trace_status):
5424         Adjust to call remote_state's method.
5425         (_initialize_remote): Remove reference to
5426         remote_gdbarch_data_handle.
5427
5428 2018-05-22  Pedro Alves  <palves@redhat.com>
5429
5430         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5431         pread>: New method declarations.
5432         (remote_target::open_1): Adjust.
5433         (readahead_cache_invalidate): Rename to ...
5434         (readahead_cache::invalidate): ... this, and adjust to be a class
5435         method.
5436         (readahead_cache_invalidate_fd): Rename to ...
5437         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5438         class method.
5439         (remote_hostio_pwrite): Adjust.
5440         (remote_hostio_pread_from_cache): Rename to ...
5441         (readahead_cache::pread): ... this, and adjust to be a class
5442         method.
5443         (remote_hostio_close): Adjust.
5444
5445 2018-05-22  Pedro Alves  <palves@redhat.com>
5446
5447         * remote.c (remote_hostio_close_cleanup): Delete.
5448         (class scoped_remote_fd): New.
5449         (remote_file_put, remote_file_get): Use it.
5450
5451 2018-05-22  Pedro Alves  <palves@redhat.com>
5452
5453         (struct vCont_action_support): Use bool and initialize all fields.
5454         (struct readahead_cache): Initialize all fields.
5455         (remote_state): Use bool and initialize all fields.
5456         (remote_state::remote_state, remote_state::~remote_state): New.
5457         (new_remote_state): Delete.
5458         (_initialize_remote): Use new to allocate remote_state.
5459
5460 2018-05-22  Pedro Alves  <palves@redhat.com>
5461             張俊芝  <zjz@zjz.name>
5462
5463         PR gdb/22973
5464         * c-exp.y: Include "c-support.h".
5465         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5466         of tolower.  Use c_ident_is_alpha to scan names.
5467         * c-lang.c: Include "c-support.h".
5468         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5469         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5470         * c-support.h: New file, with bits factored out from ...
5471         * cp-name-parser.y: ... this file.
5472         Include "c-support.h".
5473         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5474         c-support.h and renamed.
5475         (symbol_end, yylex): Adjust.
5476
5477 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5478
5479         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5480         parameter type to CORE_ADDR.
5481         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5482         parameter type in declaration to CORE_ADDR.
5483         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5484         target_auxv_search to get AT_HWCAP and use the result to get the
5485         target description.
5486         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5487         to CORE_ADDR. Remove the cast of the return value to unsigned
5488         long. Fix error predicate of target_auxv_search.
5489         (ppc_linux_nat_target::read_description): Change the type of the
5490         hwcap variable to CORE_ADDR.
5491
5492 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5493
5494         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5495         if the size of fpscr is larger than 32 bits.
5496
5497 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5498
5499         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5500         (ppc32_linux_vsxregmap): New global.
5501         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5502         regcache_supply_regset, and regcache_collect_regset.
5503         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5504         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5505         (fetch_vsx_register, store_vsx_register): Remove.
5506         (fetch_vsx_registers): Add regno parameter. Get regset using
5507         ppc_linux_vsxregset. Use regset to supply registers.
5508         (store_vsx_registers): Add regno parameter. Get regset using
5509         ppc_linux_vsxregset. Use regset to collect registers.
5510         (fetch_register): Call fetch_vsx_registers instead of
5511         fetch_vsx_register.
5512         (store_register): Call store_vsx_registers instead of
5513         store_vsx_register.
5514         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5515         new regno parameter.
5516         (store_ppc_registers): Call store_vsx_registers with -1 for the
5517         new regno parameter.
5518         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5519         (ppc_collect_vsxregset): Remove.
5520
5521 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5522
5523         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5524         offset fields.
5525         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5526         for vector register offset fields.
5527         (ppc64_fbsd_reg_offsets): Likewise.
5528         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5529         to vector register offset fields.
5530         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5531         to vector register offset fields.
5532         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5533         vector register offset fields.
5534         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5535         initializers for vector register offset fields.
5536         (rs6000_aix64_reg_offsets): Likewise.
5537         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5538         (ppc_supply_vrregset): Remove.
5539         (ppc_collect_vrregset): Remove.
5540         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5541         (ppc_linux_vrregset) : New function.
5542         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5543         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5544         (ppc32_linux_vrregset): Remove.
5545         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5546         and use result instead of ppc32_linux_vrregset.
5547         (ppc32_linux_reg_offsets): Remove initializers for vector register
5548         offset fields.
5549         (ppc64_linux_reg_offsets): Likewise.
5550         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5551         * ppc-linux-nat.c: Include regset.h.
5552         (gdb_vrregset_t): Adjust comment to account for little-endian
5553         mode.
5554         (supply_vrregset, fill_vrregset): Remove.
5555         (fetch_altivec_register, store_altivec_register): Remove.
5556         (fetch_altivec_registers): Add regno parameter. Get regset using
5557         ppc_linux_vrregset. Use regset to supply registers.
5558         (store_altivec_registers): Add regno parameter. Get regset using
5559         ppc_linux_vrregset. Use regset to collect registers.
5560         (fetch_register): Call fetch_altivec_registers instead of
5561         fetch_altivec_register.
5562         (store_register): Call store_altivec_registers instead of
5563         store_altivec_register.
5564         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5565         the new regno parameter.
5566         (store_ppc_registers): Call store_altivec_registers with -1 for
5567         the new regno parameter.
5568
5569 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5570
5571         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5572         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5573         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5574         (gdb_vrregset_t): Change array type size to
5575         PPC_LINUX_SIZEOF_VRREGSET.
5576         (gdb_vsxregset_t): Change array type size to
5577         PPC_LINUX_SIZEOF_VSXREGSET.
5578         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5579         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5580         PPC_LINUX_SIZEOF_VSXREGSET.
5581
5582 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5583
5584         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5585         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5586         nat/ppc-linux.c.
5587         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5588         ppc_linux_target_wordsize with tid.
5589         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5590         wordsize with tid.
5591         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5592         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5593         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5594         tid parameter. Remove static specifier.
5595         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5596         (ppc_linux_target_wordsize): New declaration.
5597
5598 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5599
5600         * arch/ppc-linux-common.c: New file.
5601         * arch/ppc-linux-common.h: New file.
5602         * arch/ppc-linux-tdesc.h: New file.
5603         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5604         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5605         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5606         arch/ppc-linux-tdesc.h.
5607         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5608         arch/ppc-linux-tdesc.h.
5609         (ppc_linux_nat_target::read_description): Remove target
5610         description matching code. Fill a ppc_linux_features struct and
5611         call ppc_linux_match_description with it. Move comment about ISA
5612         2.05 to ppc-linux-common.c.
5613         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5614         arch/ppc-linux-tdesc.h.
5615         (ppc_linux_core_read_description): Remove target description
5616         matching code. Fill a ppc_linux_features struct and call
5617         ppc_linux_match_description with it.
5618         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5619         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5620         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5621         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5622         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5623         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5624         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5625         (tdesc_powerpc_e500l): Remove.
5626
5627 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5628
5629         * ada-lang.c (catch_assert_command): Pass empty string instead
5630         of NULL for excep_string argument.
5631
5632 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5633
5634         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5635         the width of the requested register exceeds the width of the
5636         `ptrace' data type.
5637
5638 2018-05-21  Tom Tromey  <tom@tromey.com>
5639
5640         * printcmd.c (output_command): Remove.
5641         (output_command_const): Rename to output_command.
5642         * valprint.h (output_command): Rename from output_command_const.
5643         * tracepoint.c (trace_dump_actions): Call output_command.
5644
5645 2018-05-21  Tom Tromey  <tom@tromey.com>
5646
5647         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5648         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5649         * ada-lang.h (create_ada_exception_catchpoint): Update.
5650         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5651         std::string.
5652         (create_excep_cond_exprs, ~ada_catchpoint)
5653         (should_stop_exception, print_one_exception)
5654         (print_mention_exception, print_recreate_exception): Update.
5655         (ada_get_next_arg): Remove.
5656         (catch_ada_exception_command_split): Use std::string.  Change type
5657         of "excep_string", "cond_string".
5658         (catch_ada_exception_command): Update.
5659         (create_ada_exception_catchpoint): Change type of excep_string.
5660         (ada_exception_sal): Remove excep_string parameter.
5661         (~ada_catchpoint): Remove.
5662
5663 2018-05-21  Tom Tromey  <tom@tromey.com>
5664
5665         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5666         cleanup.
5667
5668 2018-05-21  Tom Tromey  <tom@tromey.com>
5669
5670         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5671         Return unique_xmalloc_ptr.
5672         (print_it_exception): Update.
5673
5674 2018-05-21  Tom Tromey  <tom@tromey.com>
5675
5676         * tracepoint.c (trace_dump_actions): Use std::string.
5677
5678 2018-05-21  Tom Tromey  <tom@tromey.com>
5679
5680         * symfile.c (reread_symbols): Use std::string for original_name.
5681
5682 2018-05-21  Tom Tromey  <tom@tromey.com>
5683
5684         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5685         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5686         constructor.
5687
5688 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5689
5690         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5691         instance to...
5692         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5693         * objfiles.c (get_objfile_bfd_data): Allocate
5694         objfile_per_bfd_storage with obstack_new when allocating on
5695         obstack.
5696
5697 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5698
5699         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5700         OBSTACK_ZALLOC.
5701         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5702         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5703         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5704         (add_pending): Likewise.
5705         (parse_symbol): Likewise.
5706         (parse_partial_symbols): Likewise.
5707         (psymtab_to_symtab_1): Likewise.
5708         (new_psymtab): Likewise.
5709         (elfmdebug_build_psymtabs): Likewise.
5710         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5711         * objfiles.c (get_objfile_bfd_data): Likewise.
5712         (objfile_register_static_link): Likewise.
5713         * psymtab.c (allocate_psymtab): Likewise.
5714         * stabsread.c (read_member_functions): Likewise.
5715         * xcoffread.c (xcoff_end_psymtab): Likewise.
5716
5717 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5718
5719         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5720         compiler supports std::is_trivially_constructible.
5721         * common/poison.h: Include obstack.h.
5722         (IsMallocable): Define to is_trivially_constructible if the
5723         compiler supports it, define to true_type otherwise.
5724         (xobnew): New.
5725         (XOBNEW): Redefine.
5726         (xobnewvec): New.
5727         (XOBNEWVEC): Redefine.
5728         * gdb_obstack.h (obstack_zalloc): New.
5729         (OBSTACK_ZALLOC): Redefine.
5730         (obstack_calloc): New.
5731         (OBSTACK_CALLOC): Redefine.
5732         (obstack_new): New.
5733         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5734         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5735         gdbarch.c.
5736         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5737         obstack_calloc/obstack_zalloc.
5738         (gdbarch_obstack_zalloc): Remove.
5739         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5740
5741 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5742
5743         * stack.c (backtrace_command_1): Remove useless variable int i.
5744
5745 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5746
5747         * stack.c (print_frame_info): Fix comment.
5748
5749 2018-05-18  Tom Tromey  <tom@tromey.com>
5750
5751         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5752         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5753         (~dwarf2_per_objfile): Update
5754         (dwarf2_get_dwz_file): Use new.
5755         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5756         unique_ptr.
5757
5758 2018-05-18  Tom Tromey  <tom@tromey.com>
5759
5760         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5761         unique_ptr.
5762         * dwarf2read.c (struct dwp_file): Add constructor and
5763         initializers.
5764         (open_and_init_dwp_file): Return a unique_ptr.
5765         (dwarf2_per_objfile, create_dwp_hash_table)
5766         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5767         (lookup_dwo_unit_in_dwp): Update.
5768         (open_and_init_dwp_file, get_dwp_file): Update.
5769
5770 2018-05-18  Tom Tromey  <tom@tromey.com>
5771
5772         * dwarf2read.c (dwarf2_per_objfile): Update.
5773         (struct mapped_index): Add initializers.
5774         (dwarf2_read_index): Use new.
5775         (dw2_symtab_iter_init): Update.
5776         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5777         unique_ptr.
5778
5779 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5780
5781         * dwarf2read.c (mapped_index) <total_size>: Remove.
5782
5783 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5784
5785         * unittests/format_pieces-selftests.c (test_format_specifier):
5786         Add ARI comments.
5787
5788 2018-05-18  Tom Tromey  <tom@tromey.com>
5789
5790         * c-typeprint.c (maybe_print_hole): New function.
5791         (c_print_type_struct_field_offset): Update.
5792         (c_type_print_base_struct_union): Call maybe_print_hole.
5793
5794 2018-05-17  Keith Seitz  <keiths@redhat.com>
5795
5796         * breakpoint.c (build_bpstat_chain): New function, moved from
5797         bpstat_stop_status.
5798         (bpstat_stop_status): Add optional parameter, `stop_chain'.
5799         If no stop chain is passed, call build_bpstat_chain to build it.
5800         * breakpoint.h (build_bpstat_chain): Declare.
5801         (bpstat_stop_status): Move documentation here from breakpoint.c.
5802         * infrun.c (handle_signal_stop): Before eliding inlined frames,
5803         build the stop chain and pass it to skip_inline_frames.
5804         Pass this stop chain to bpstat_stop_status.
5805         * inline-frame.c: Include breakpoint.h.
5806         (stopped_by_user_bp_inline_frame): New function.
5807         (skip_inline_frames): Add parameter `stop_chain'.
5808         Move documention to inline-frame.h.
5809         If non-NULL, use stopped_by_user_bp_inline_frame to determine
5810         whether the frame should be elided.
5811         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
5812         Add moved documentation and update for new parameter.
5813
5814 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5815
5816         PR cli/14975
5817         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5818         unittests/format_pieces-selftests.c.
5819         * common/format.h (format_piece) <operator==>: New.
5820         (format_pieces) <operator[]>: Remove.
5821         * common/format.c (format_pieces::format_pieces): Handle \e.
5822         * unittests/format_pieces-selftests.c: New.
5823
5824 2018-05-17  Tom Tromey  <tom@tromey.com>
5825
5826         PR symtab/23010:
5827         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5828         (dw2_instantiate_symtab): Add skip_partial parameter.
5829         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5830         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5831         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5832         (dw2_expand_symtabs_matching_one)
5833         (dw2_find_pc_sect_compunit_symtab)
5834         (dw2_debug_names_lookup_symbol)
5835         (dw2_debug_names_expand_symtabs_for_function): Update.
5836         (init_cutu_and_read_dies): Add skip_partial parameter.
5837         (process_psymtab_comp_unit, build_type_psymtabs_1)
5838         (process_skeletonless_type_unit, load_partial_comp_unit)
5839         (psymtab_to_symtab_1): Update.
5840         (load_full_comp_unit): Add skip_partial parameter.
5841         (process_imported_unit_die, dwarf2_read_addr_index)
5842         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5843         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5844         (read_signatured_type): Update.
5845
5846 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5847
5848         * value.c (release_value): Remove unused variable.
5849         (record_latest_value): Likewise.
5850         (access_value_history): Likewise.
5851         (preserve_values): Likewise.
5852
5853 2018-05-17  Tom Tromey  <tom@tromey.com>
5854
5855         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5856         Initialize.
5857
5858 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5859
5860         PR gdb/22286
5861         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5862         Also handle registers whose width is not a multiple of
5863         PTRACE_TYPE_RET.
5864         (linux_nat_trad_target::store_register): Likewise.
5865
5866 2018-05-16  Tom Tromey  <tom@tromey.com>
5867
5868         * gdbcore.h (core_bfd): Redefine.
5869         * corelow.c (core_target::close): Update.
5870         (core_target_open): Update.
5871         * progspace.h (struct program_space) <cbfd>: Now a
5872         gdb_bfd_ref_ptr.
5873
5874 2018-05-16  Tom Tromey  <tom@tromey.com>
5875
5876         PR cli/19551:
5877         * symfile-add-flags.h (enum symfile_add_flags)
5878         <SYMFILE_NOT_FILENAME>: New constant.
5879         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5880         objfile name from BFD.
5881         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5882         * minidebug.c (find_separate_debug_file_in_section): Put
5883         ".gnu_debugdata" into BFD's file name.
5884
5885 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5886
5887         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5888         Remove.
5889
5890 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5891
5892         PR binutils/21446
5893         * aarch64-tdep.c (aarch64_analyze_prologue,
5894         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5895         Indicate not interested in errors.
5896
5897 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5898
5899         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5900         Supply the MIPS_ZERO_REGNUM register.
5901
5902 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5903
5904         * mips-tdep.c (mask_address_var): Make variable static.
5905
5906 2018-05-14  Tom Tromey  <tom@tromey.com>
5907
5908         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5909
5910 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5911
5912         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5913         FXSAVE_ADDR for the mxcsr register.
5914
5915 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5916
5917         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5918
5919 2018-05-11  Pedro Alves  <palves@redhat.com>
5920
5921         * corelow.c (core_target) <core_target>: No longer inline.
5922         Initialize m_core_gdbarch, m_core_vec and build the section table
5923         here.
5924         <~core_target>: New.
5925         <core_gdbarch, get_core_register_section>: New methods.
5926         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5927         factored out from ...
5928         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5929         (core_ops): Delete.
5930         (sniff_core_bfd): Add gdbarch parameter.
5931         (core_close): Delete, merged into ...
5932         (core_target::close): ... here.  Delete self.
5933         (core_close_cleanup): Delete.
5934         (core_target_open): Allocate a core_target on the heap.  Use a
5935         unique_ptr instead of a cleanup.  Bits moved into the core_target
5936         ctor.  Adjust to use core_target methods instead of globals.
5937         (get_core_register_section): Rename to ...
5938         (core_target::get_core_register_section): ... this and adjust.
5939         (struct get_core_registers_cb_data): New.
5940         (get_core_registers_cb): Use it.  Use bool.
5941         (core_target::fetch_registers, core_target::files_info)
5942         (core_target::xfer_partial, core_target::read_description)
5943         (core_target::pid_to, core_target::thread_name): Adjust to
5944         reference class fields instead of globals.
5945         * target.h (struct target_ops_deleter, target_ops_up): New.
5946
5947 2018-05-11  Pedro Alves  <palves@redhat.com>
5948
5949         * corefile.c (core_file_command): Move to corelow.c.
5950         * corelow.c (the_core_target): Delete.
5951         (core_file_command): Moved from corefile.c.  Check exec_bfd
5952         instead of the_core_target.  Use target_detach instead of calling
5953         into the_core_target directly.
5954         (maybe_say_no_core_file_now): New.
5955         (core_target::detach): Use it.
5956         (_initialize_corelow): Remove references to the_core_target.
5957         * gdbcore.h (the_core_target): Delete.
5958
5959 2018-05-11  Tom Tromey  <tromey@redhat.com>
5960             Pedro Alves  <palves@redhat.com>
5961
5962         * corefile.c (core_bfd): Remove.
5963         * gdbcore.h (core_bfd): Now a macro.
5964         * progspace.h (struct program_space) <cbfd>: New field.
5965
5966 2018-05-11  Tom Tromey  <tom@tromey.com>
5967
5968         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5969         gdb::def_vector.
5970
5971 2018-05-10  Tom Tromey  <tom@tromey.com>
5972
5973         * configure: Rebuild.
5974         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5975
5976 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5977
5978         PR server/23158:
5979         * regformats/regdat.sh: Adjust script, following the addition
5980         of the new expedite_regs parameter to init_target_desc.
5981
5982 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5983     
5984         PR gdb/23127
5985         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5986         set_gdbarch_significant_addr_bit.
5987         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5988         set_gdbarch_significant_addr_bit.
5989         * utils.c (address_significant): Update to sign extend addr.
5990
5991 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5992
5993         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5994         (xtensa_linux_init_abi): Limit tdep->num_regs by
5995         tdep->num_nopriv_regs.
5996         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5997         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5998         not initialized.
5999
6000 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6001
6002         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6003
6004 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6005
6006         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6007         (I387_MXCSR_INIT_VAL): New constant.
6008         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6009         buffer if it was supplied by the inferior.
6010         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6011         (i387_xsave_get_clear_bv): New function.
6012         (i387_supply_xsave): Only read x87 control registers from the
6013         xsave buffer if the feature is enabled, and the state will have
6014         been written, otherwise, provide a suitable default.
6015         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6016         including x87 control registers.  Update control registers if they
6017         have changed from the default value, and mark features as enabled
6018         as required.
6019         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6020
6021 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6022
6023         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6024
6025 2018-05-07  Tom Tromey  <tom@tromey.com>
6026
6027         * configure: Rebuild.
6028         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6029
6030 2018-05-07  Tom Tromey  <tom@tromey.com>
6031
6032         PR tdep/20362:
6033         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6034         bit.  Use correct value for VDIV.
6035
6036 2018-05-04  Tom Tromey  <tom@tromey.com>
6037
6038         * configure: Rebuild.
6039         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6040
6041 2018-05-04  Tom Tromey  <tom@tromey.com>
6042
6043         * linux-record.c (record_linux_system_call) <case
6044         RECORD_SYS_RECVFROM>: Add "break".
6045
6046 2018-05-04  Tom Tromey  <tom@tromey.com>
6047
6048         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6049         Add missing "break".
6050         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6051         Add missing "break".
6052
6053 2018-05-04  Tom Tromey  <tom@tromey.com>
6054
6055         * rs6000-tdep.c (ppc_process_record_op4)
6056         (ppc_process_record_op63): Add fall-through comment.
6057
6058 2018-05-04  Tom Tromey  <tom@tromey.com>
6059
6060         * i386-tdep.c (i386_process_record): Add fall-through comment.
6061
6062 2018-05-04  Tom Tromey  <tom@tromey.com>
6063
6064         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6065         comment.
6066
6067 2018-05-04  Tom Tromey  <tom@tromey.com>
6068
6069         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6070         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6071         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6072         comment.
6073         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6074         comment.
6075         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6076         comment.
6077
6078 2018-05-04  Tom Tromey  <tom@tromey.com>
6079
6080         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6081
6082 2018-05-04  Tom Tromey  <tom@tromey.com>
6083
6084         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6085         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6086         * symfile.c (section_is_mapped): Fix fall-through comment.
6087         * stabsread.c (define_symbol, read_member_functions): Fix
6088         fall-through comment.
6089         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6090         comment.
6091         * remote.c (remote_wait_as): Fix fall-through comment.
6092         * p-exp.y (yylex): Fix fall-through comment.
6093         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6094         comment.
6095         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6096         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6097         * jv-exp.y (yylex): Fix fall-through comment.
6098         * go-exp.y (lex_one_token): Fix fall-through comment.
6099         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6100         fall-through comment.
6101         * f-exp.y (yylex): Fix fall-through comment.
6102         * dwarf2read.c (process_die): Fix fall-through comments.
6103         * dbxread.c (process_one_symbol): Fix fall-through comment.
6104         * d-exp.y (lex_one_token): Fix fall-through comment.
6105         * cp-name-parser.y (yylex): Fix fall-through comment.
6106         * coffread.c (coff_symtab_read): Fix fall-through comment.
6107         * c-exp.y (lex_one_token): Fix fall-through comment.
6108         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6109         comment.
6110         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6111         comment.
6112
6113 2018-05-04  Tom Tromey  <tom@tromey.com>
6114
6115         PR python/22730:
6116         * NEWS: Mention gdb.execute change.
6117         * gdbcmd.h (execute_control_command): Don't declare.
6118         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6119         execute_control_commands, execute_control_commands_to_string.
6120         * cli/cli-script.h (execute_control_commands)
6121         (execute_control_commands_to_string): Declare.
6122         (execute_control_command): Add from_tty parameter.
6123         * cli/cli-script.c (execute_control_commands)
6124         (execute_control_commands_to_string): New functions.
6125         (execute_user_command): Use execute_control_commands.
6126         (execute_control_command_1): Add "from_tty" parameter.  Update.
6127         (execute_control_command): Likewise.
6128
6129 2018-05-04  Tom Tromey  <tom@tromey.com>
6130
6131         PR python/22731:
6132         * NEWS: Mention that breakpoint commands are writable.
6133         * python/py-breakpoint.c (bppy_set_commands): New function.
6134         (breakpoint_object_getset) <"commands">: Use it.
6135
6136 2018-05-04  Tom Tromey  <tom@tromey.com>
6137
6138         * tracepoint.c (actions_command): Update.
6139         * mi/mi-cmd-break.c (mi_command_line_array)
6140         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6141         (mi_read_next_line): Remove.
6142         (mi_cmd_break_commands): Update.
6143         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6144         function_view.
6145         * cli/cli-script.c (get_command_line): Update.
6146         (process_next_line): Use function_view.  Constify.
6147         (recurse_read_control_structure, read_command_lines)
6148         (read_command_lines_1): Change argument types to function_view.
6149         (do_define_command, document_command): Update.
6150         * breakpoint.h (check_tracepoint_command): Don't declare.
6151         * breakpoint.c (check_tracepoint_command): Remove.
6152         (commands_command_1, create_tracepoint_from_upload): Update.
6153
6154 2018-05-04  Tom Tromey  <tom@tromey.com>
6155
6156         PR gdb/11750:
6157         * cli/cli-script.h (enum command_control_type) <define_control>:
6158         New constant.
6159         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6160         (build_command_line, execute_control_command_1)
6161         (process_next_line): Likewise.
6162         (do_define_command): New function, extracted from define_command.
6163         (define_command): Use it.
6164
6165 2018-05-04  Tom Tromey  <tom@tromey.com>
6166
6167         * tracepoint.c (actions_command): Update.
6168         * cli/cli-script.h (read_command_lines): Update.
6169         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6170         (MAX_TMPBUF): Remove define.
6171         (define_command): Use string_printf.
6172         (document_command): Likewise.
6173         * breakpoint.c (commands_command_1): Update.
6174
6175 2018-05-04  Tom Tromey  <tom@tromey.com>
6176
6177         * top.c (execute_command): Update.
6178         * cli/cli-script.h (print_command_lines): Now varargs.
6179         * cli/cli-script.c (print_command_lines): Now varargs.
6180         (execute_control_command_1) <case while_control, case if_control>:
6181         Update.
6182
6183 2018-05-04  Tom Tromey  <tom@tromey.com>
6184
6185         * tracepoint.c (all_tracepoint_actions): Rename from
6186         all_tracepoint_actions_and_cleanup.  Change return type.
6187         (actions_command, encode_actions_1, encode_actions)
6188         (trace_dump_actions, tdump_command): Update.
6189         * remote.c (remote_download_command_source): Update.
6190         * python/python.c (gdbpy_eval_from_control_command)
6191         (python_command, python_interactive_command): Update.
6192         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6193         * guile/guile.c (guile_command)
6194         (gdbscm_eval_from_control_command, guile_command): Update.
6195         * compile/compile.c (compile_code_command)
6196         (compile_print_command, compile_to_object): Update.
6197         * cli/cli-script.h (struct command_lines_deleter): New.
6198         (counted_command_line): New typedef.
6199         (struct command_line): Add constructor, destructor.
6200         <body_list>: Remove.
6201         <body_list_0, body_list_1>: New members.
6202         (command_line_up): Remove typedef.
6203         (read_command_lines, read_command_lines_1, get_command_line):
6204         Update.
6205         (copy_command_lines): Don't declare.
6206         * cli/cli-script.c (build_command_line): Use "new".
6207         (get_command_line): Return counted_command_line.
6208         (print_command_lines, execute_user_command)
6209         (execute_control_command_1, while_command, if_command): Update.
6210         (realloc_body_list): Remove.
6211         (process_next_line, recurse_read_control_structure): Update.
6212         (read_command_lines, read_command_lines_1): Return counted_command_line.
6213         (free_command_lines): Use "delete".
6214         (copy_command_lines): Remove.
6215         (define_command, document_command, show_user_1): Update.
6216         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6217         a counted_command_line.
6218         * breakpoint.h (counted_command_line): Remove typedef.
6219         (breakpoint_set_commands): Update.
6220         * breakpoint.c (check_no_tracepoint_commands)
6221         (validate_commands_for_breakpoint): Update.
6222         (breakpoint_set_commands): Change commands to be a
6223         counted_command_line.
6224         (commands_command_1, update_dprintf_command_list)
6225         (create_tracepoint_from_upload): Update.
6226
6227 2018-05-04  Tom Tromey  <tom@tromey.com>
6228
6229         * cli/cli-decode.h (cmd_list_element): New constructor.
6230         (~cmd_list_element): New destructor.
6231         (struct cmd_list_element): Add initializers.
6232         * cli/cli-decode.c (do_add_cmd): Use "new".
6233         (delete_cmd): Use "delete".
6234
6235 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6236             Pedro Alves <palves@redhat.com>
6237
6238         PR breakpoints/19806 and support for PR external/20207.
6239         * NEWS: Mention Aarch64 watchpoint improvements.
6240         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6241         watchpoints and PR external/20207 watchpoints.
6242         * nat/aarch64-linux-hw-point.c
6243         (kernel_supports_any_contiguous_range): New.
6244         (aarch64_watchpoint_offset): New.
6245         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6246         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6247         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6248         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6249         next_addr_orig_p.  Support PR external/20207 watchpoints.
6250         (aarch64_downgrade_regs): New.
6251         (aarch64_dr_state_insert_one_point): New parameters offset and
6252         addr_orig.
6253         (aarch64_dr_state_remove_one_point): Likewise.
6254         (aarch64_handle_breakpoint): Update caller.
6255         (aarch64_handle_aligned_watchpoint): Likewise.
6256         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6257         aligned_offset.
6258         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6259         aarch64_downgrade_regs.
6260         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6261         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6262         (DR_CONTROL_MASK): ... this.
6263         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6264         (unsigned int aarch64_watchpoint_offset): New prototype.
6265         (aarch64_linux_set_debug_regs): Remove const from state.
6266         * utils.c (align_up, align_down): Move to ...
6267         * common/common-utils.c (align_up, align_down): ... here.
6268         * utils.h (align_up, align_down): Move to ...
6269         * common/common-utils.h (align_up, align_down): ... here.
6270
6271 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6272
6273         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6274         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6275         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6276         Re-implement to match the ABI as summarized in GCC's
6277         gcc/config/sparc/sparc.c.  All callers updated.
6278         (sparc32_store_arguments): Remove assertion.
6279
6280 2018-05-04  Tom Tromey  <tom@tromey.com>
6281
6282         * printcmd.c: Don't include tui.h.
6283         (decode_format): Use skip_spaces.
6284
6285 2018-05-04  Tom Tromey  <tom@tromey.com>
6286
6287         PR gdb/22619:
6288         * printcmd.c (last_count): New global.
6289         (x_command): Use saved count when repeating.
6290
6291 2018-05-04  Tom Tromey  <tom@tromey.com>
6292
6293         * nto-procfs.c (do_closedir_cleanup): Remove.
6294         (procfs_pidlist): Use gdb_dir_up.
6295         * procfs.c (do_closedir_cleanup): Remove.
6296         (proc_update_threads): Use gdb_dir_up.
6297         * common/filestuff.h (struct gdb_dir_deleter): New.
6298         (gdb_dir_up): New typedef.
6299
6300 2018-05-04  Tom Tromey  <tom@tromey.com>
6301
6302         * ada-lang.c (print_mention_exception): Use std::string.
6303
6304 2018-05-04  Tom Tromey  <tom@tromey.com>
6305
6306         * ada-lang.c (create_excep_cond_exprs): Update.
6307         (ada_exception_catchpoint_cond_string): Use std::string.
6308
6309 2018-05-04  Tom Tromey  <tom@tromey.com>
6310
6311         * ada-lang.c (xget_renaming_scope): Return std::string.
6312         (old_renaming_is_invisible): Update.
6313
6314 2018-05-04  Tom Tromey  <tom@tromey.com>
6315
6316         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6317         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6318
6319 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6320
6321         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6322
6323 2018-05-04  Tom Tromey  <tom@tromey.com>
6324
6325         * remote.c (remote_query_supported_append): Change type.
6326         (remote_check_symbols): Update.
6327
6328 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6329
6330         PR gdb/11420
6331         * configure.ac: Prepend libpython.
6332         * python/python-config.py: Likewise.
6333         * configure: Regenerate.
6334
6335 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6336
6337         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6338
6339 2018-05-03  Pedro Alves  <palves@redhat.com>
6340
6341         * s390-linux-nat.c
6342         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6343         override.  Write 'true' instead of '1'.
6344         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6345         declaration.
6346
6347 2018-05-02  Pedro Alves  <palves@redhat.com>
6348
6349         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6350         add_inf_child_target.
6351         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6352         add_inf_child_target.
6353         * aix-thread.c (aix_thread_target_info): New.
6354         (aix_thread_target) <shortname, longname, doc>: Delete.
6355         <info>: New.
6356         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6357         add_inf_child_target.
6358         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6359         add_inf_child_target.
6360         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6361         add_inf_child_target.
6362         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6363         add_inf_child_target.
6364         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6365         add_inf_child_target.
6366         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6367         add_inf_child_target.
6368         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6369         add_inf_child_target.
6370         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6371         add_inf_child_target.
6372         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6373         add_inf_child_target.
6374         * bfd-target.c (target_bfd_target_info): New.
6375         (target_bfd) <shortname, longname, doc>: Delete.
6376         <info>: New.
6377         * bsd-kvm.c (bsd_kvm_target_info): New.
6378         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6379         <info>: New.
6380         (bsd_kvm_target::open): Rename to ...
6381         (bsd_kvm_target_open): ... this.  Adjust.
6382         * bsd-uthread.c (bsd_uthread_target_info): New.
6383         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6384         <info>: New.
6385         * corefile.c (core_file_command): Adjust.
6386         * corelow.c (core_target_info): New.
6387         (core_target) <shortname, longname, doc>: Delete.
6388         <info>: New.
6389         (core_target::open): Rename to ...
6390         (core_target_open): ... this.  Adjust.
6391         * ctf.c (ctf_target_info): New.
6392         (ctf_target) <shortname, longname, doc>: Delete.
6393         <info>: New.
6394         (ctf_target::open): Rename to ...
6395         (ctf_target_open): ... this.
6396         (_initialize_ctf): Adjust.
6397         * exec.c (exec_target_info): New.
6398         (exec_target) <shortname, longname, doc>: Delete.
6399         <info>: New.
6400         (exec_target::open): Rename to ...
6401         (exec_target_open): ... this.
6402         * gdbcore.h (core_target_open): Declare.
6403         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6404         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6405         add_inf_child_target.
6406         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6407         add_inf_child_target.
6408         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6409         add_inf_child_target.
6410         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6411         add_inf_child_target.
6412         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6413         add_inf_child_target.
6414         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6415         add_inf_child_target.
6416         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6417         add_inf_child_target.
6418         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6419         add_inf_child_target.
6420         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6421         add_inf_child_target.
6422         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6423         add_inf_child_target.
6424         * inf-child.c (inf_child_target_info): New.
6425         (inf_child_target::info): New.
6426         (inf_child_open_target): Remove 'target' parameter.  Use
6427         get_native_target instead.
6428         (inf_child_target::open): Delete.
6429         (add_inf_child_target): New.
6430         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6431         Delete.
6432         <info>: New.
6433         (add_inf_child_target): Declare.
6434         (inf_child_open_target): Declare.
6435         * linux-thread-db.c (thread_db_target_info): New.
6436         (thread_db_target) <shortname, longname, doc>: Delete.
6437         <info>: New.
6438         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6439         add_inf_child_target.
6440         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6441         add_inf_child_target.
6442         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6443         add_inf_child_target.
6444         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6445         add_inf_child_target.
6446         * make-target-delegates (print_class): Adjust.
6447         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6448         add_inf_child_target.
6449         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6450         add_inf_child_target.
6451         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6452         add_inf_child_target.
6453         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6454         add_inf_child_target.
6455         * nto-procfs.c (nto_native_target_info): New.
6456         (nto_procfs_target_native) <shortname, longname, doc>:
6457         Delete.
6458         <info>: New.
6459         (nto_procfs_target_info): New.
6460         (nto_procfs_target_procfs) <shortname, longname, doc>:
6461         Delete.
6462         <info>: New.
6463         (init_procfs_targets): Adjust.
6464         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6465         add_inf_child_target.
6466         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6467         add_inf_child_target.
6468         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6469         add_inf_child_target.
6470         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6471         add_inf_child_target.
6472         * ravenscar-thread.c (ravenscar_target_info): New.
6473         (ravenscar_thread_target) <shortname, longname, doc>:
6474         Delete.
6475         <info>: New.
6476         * record-btrace.c (record_btrace_target_info):
6477         (record_btrace_target) <shortname, longname, doc>: Delete.
6478         <info>: New.
6479         (record_btrace_target::open): Rename to ...
6480         (record_btrace_target_open): ... this.  Adjust.
6481         * record-full.c (record_longname, record_doc): New.
6482         (record_full_base_target) <shortname, longname, doc>: Delete.
6483         <info>: New.
6484         (record_full_target_info): New.
6485         (record_full_target): <shortname>: Delete.
6486         <info>: New.
6487         (record_full_core_open_1, record_full_open_1): Update comments.
6488         (record_full_base_target::open): Rename to ...
6489         (record_full_open): ... this.
6490         (cmd_record_full_restore): Update.
6491         (_initialize_record_full): Update.
6492         * remote-sim.c (remote_sim_target_info): New.
6493         (gdbsim_target) <shortname, longname, doc>: Delete.
6494         <info>: New.
6495         (gdbsim_target::open): Rename to ...
6496         (gdbsim_target_open): ... this.
6497         (_initialize_remote_sim): Adjust.
6498         * remote.c (remote_doc): New.
6499         (remote_target_info): New.
6500         (remote_target) <shortname, longname, doc>: Delete.
6501         <info>: New.
6502         (extended_remote_target_info): New.
6503         (extended_remote_target) <shortname, longname, doc>: Delete.
6504         <info>: New.
6505         (remote_target::open_1): Make static.  Adjust.
6506         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6507         * s390-linux-nat.c (_initialize_s390_nat): Use
6508         add_inf_child_target.
6509         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6510         add_inf_child_target.
6511         * sol-thread.c (thread_db_target_info): New.
6512         (sol_thread_target) <shortname, longname, doc>: Delete.
6513         <info>: New.
6514         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6515         add_inf_child_target.
6516         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6517         add_inf_child_target.
6518         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6519         add_inf_child_target.
6520         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6521         add_inf_child_target.
6522         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6523         add_inf_child_target.
6524         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6525         add_inf_child_target.
6526         * spu-linux-nat.c (_initialize_spu_nat): Use
6527         add_inf_child_target.
6528         * spu-multiarch.c (spu_multiarch_target_info): New.
6529         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6530         <info>: New.
6531         * target-delegates.c: Regenerate.
6532         * target.c: Include <unordered_map>.
6533         (target_ops_p): Delete.
6534         (DEF_VEC_P(target_ops_p)): Delete.
6535         (target_factories): New.
6536         (test_target_info): New.
6537         (test_target_ops::info): New.
6538         (open_target): Adjust to use target_factories.
6539         (add_target_with_completer): Rename to ...
6540         (add_target): ... this.  Change prototype.  Register target_info
6541         and open callback in target_factories.  Register target_info in
6542         command context instead of target_ops.
6543         (add_target): Delete old implementation.
6544         (add_deprecated_target_alias): Change prototype.  Adjust.
6545         (the_native_target): New.
6546         (set_native_target, get_native_target): New.
6547         (find_default_run_target): Use the_native_target.
6548         (find_attach_target, find_run_target): Simplify.
6549         (target_ops::open): Delete.
6550         (dummy_target_info): New.
6551         (dummy_target::shortname, dummy_target::longname)
6552         (dummy_target::doc): Delete.
6553         (dummy_target::info): New.
6554         (debug_target::shortname, debug_target::longname)
6555         (debug_target::doc): Delete.
6556         (debug_target::info): New.
6557         * target.h (struct target_info): New.
6558         (target_ops::~target_ops): Add comment.
6559         (target_ops::info): New.
6560         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6561         longer virtual.  Implement in terms of target_info.
6562         (set_native_target, get_native_target): Declare.
6563         (target_open_ftype): New.
6564         (add_target, add_target_with_completer)
6565         (add_deprecated_target_alias): Change prototype.
6566         (test_target) <shortname, longname, doc>: Delete.
6567         <info>: New.
6568         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6569         add_inf_child_target.
6570         * tracefile-tfile.c (tfile_target_info): New.
6571         (tfile_target) <shortname, longname, doc>: Delete.
6572         <info>: New.
6573         (tfile_target::open): Rename to ...
6574         (tfile_target_open): ... this.
6575         (_initialize_tracefile_tfile): Adjust.
6576         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6577         add_inf_child_target.
6578         * windows-nat.c (_initialize_windows_nat): Use
6579         add_inf_child_target.
6580         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6581         add_inf_child_target.
6582
6583 2018-05-02  Pedro Alves  <palves@redhat.com>
6584
6585         * linux-nat.h (linux_nat_target) <low_new_thread,
6586         low_delete_thread, low_new_fork, low_forget_process,
6587         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6588         New virtual methods.
6589         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6590         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6591         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6592         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6593         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6594         Delete.
6595         * linux-fork.c (delete_fork): Adjust to call low method.
6596         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6597         (linux_nat_new_fork, linux_nat_forget_process_hook)
6598         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6599         (linux_nat_status_is_event):
6600         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6601         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6602         to call low method.
6603         (sigtrap_is_event): Rename to ...
6604         (linux_nat_target::low_status_is_event): ... this.
6605         (linux_nat_set_status_is_event): Delete.
6606         (save_stop_reason, linux_nat_wait_1)
6607         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6608         low methods.
6609         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6610         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6611         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6612         (linux_nat_set_prepare_to_resume): Delete.
6613         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6614         low virtual methods.
6615         * amd64-linux-nat.c: Likewise.
6616         * arm-linux-nat.c: Likewise.
6617         * i386-linux-nat.c: Likewise.
6618         * ia64-linux-nat.c: Likewise.
6619         * mips-linux-nat.c: Likewise.
6620         * ppc-linux-nat.c: Likewise.
6621         * s390-linux-nat.c: Likewise.
6622         * sparc64-linux-nat.c: Likewise.
6623         * x86-linux-nat.c: Likewise.
6624         * x86-linux-nat.h: Include "nat/x86-linux.h".
6625         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6626         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6627         Override methods.
6628
6629 2018-05-02  Pedro Alves  <palves@redhat.com>
6630
6631         * target.h (target_ops)
6632         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6633         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6634         stopped_by_watchpoint, have_continuable_watchpoint,
6635         stopped_data_address, watchpoint_addr_within_range,
6636         can_accel_watchpoint_condition, can_run, thread_alive,
6637         has_all_memory, has_memory, has_stack, has_registers,
6638         has_execution, can_async_p, is_async_p, supports_non_stop,
6639         always_non_stop_p, can_execute_reverse, supports_multi_process,
6640         supports_enable_disable_tracepoint,
6641         supports_disable_randomization, supports_string_tracing,
6642         supports_evaluation_of_breakpoint_conditions,
6643         can_run_breakpoint_commands, filesystem_is_local,
6644         can_download_tracepoint, get_trace_state_variable_value,
6645         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6646         record_is_replaying, record_will_replay,
6647         augmented_libraries_svr4_read>: Adjust to return bool.
6648         * aarch64-linux-nat.c: All implementations adjusted.
6649         * aix-thread.c: All implementations adjusted.
6650         * arm-linux-nat.c: All implementations adjusted.
6651         * breakpoint.c: All implementations adjusted.
6652         * bsd-kvm.c: All implementations adjusted.
6653         * bsd-uthread.c: All implementations adjusted.
6654         * corelow.c: All implementations adjusted.
6655         * ctf.c: All implementations adjusted.
6656         * darwin-nat.c: All implementations adjusted.
6657         * darwin-nat.h: All implementations adjusted.
6658         * exec.c: All implementations adjusted.
6659         * fbsd-nat.c: All implementations adjusted.
6660         * fbsd-nat.h: All implementations adjusted.
6661         * gnu-nat.c: All implementations adjusted.
6662         * gnu-nat.h: All implementations adjusted.
6663         * go32-nat.c: All implementations adjusted.
6664         * ia64-linux-nat.c: All implementations adjusted.
6665         * inf-child.c: All implementations adjusted.
6666         * inf-child.h: All implementations adjusted.
6667         * inf-ptrace.c: All implementations adjusted.
6668         * inf-ptrace.h: All implementations adjusted.
6669         * linux-nat.c: All implementations adjusted.
6670         * linux-nat.h: All implementations adjusted.
6671         * mips-linux-nat.c: All implementations adjusted.
6672         * nto-procfs.c: All implementations adjusted.
6673         * ppc-linux-nat.c: All implementations adjusted.
6674         * procfs.c: All implementations adjusted.
6675         * ravenscar-thread.c: All implementations adjusted.
6676         * record-btrace.c: All implementations adjusted.
6677         * record-full.c: All implementations adjusted.
6678         * remote-sim.c: All implementations adjusted.
6679         * remote.c: All implementations adjusted.
6680         * s390-linux-nat.c: All implementations adjusted.
6681         * sol-thread.c: All implementations adjusted.
6682         * spu-multiarch.c: All implementations adjusted.
6683         * target-delegates.c: All implementations adjusted.
6684         * target.c: All implementations adjusted.
6685         * target.h: All implementations adjusted.
6686         * tracefile-tfile.c: All implementations adjusted.
6687         * tracefile.c: All implementations adjusted.
6688         * tracefile.h: All implementations adjusted.
6689         * windows-nat.c: All implementations adjusted.
6690         * x86-linux-nat.h: All implementations adjusted.
6691         * x86-nat.h: All implementations adjusted.
6692
6693 2018-05-02  Pedro Alves  <palves@redhat.com>
6694
6695         * make-target-delegates (scan_target_h): Don't trim lines here.
6696         Replace sequences of tabs and/or whitespace with a single
6697         whitespace.
6698         (top level, parsing methods): Trim each line before processing it
6699         here.
6700
6701 2018-05-02  Pedro Alves  <palves@redhat.com>
6702             John Baldwin  <jhb@freebsd.org>
6703
6704         * target.h (enum strata) <debug_stratum>: New.
6705         (struct target_ops) <all delegation methods>: Replace by C++
6706         virtual methods, and drop "to_" prefix.  All references updated
6707         throughout.
6708         <to_shortname, to_longname, to_doc, to_data,
6709         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6710         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6711         virtual methods.  All references updated throughout.
6712         <can_attach, supports_terminal_ours, can_create_inferior,
6713         get_thread_control_capabilities, attach_no_wait>: New
6714         virtual methods.
6715         <insert_breakpoint, remove_breakpoint>: Now
6716         TARGET_DEFAULT_NORETURN methods.
6717         <info_proc>: Now returns bool.
6718         <to_magic>: Delete.
6719         (OPS_MAGIC): Delete.
6720         (current_target): Delete.  All references replaced by references
6721         to ...
6722         (target_stack): ... this.  New.
6723         (target_shortname, target_longname): Adjust.
6724         (target_can_run): Now a function declaration.
6725         (default_child_has_all_memory, default_child_has_memory)
6726         (default_child_has_stack, default_child_has_registers)
6727         (default_child_has_execution): Remove target_ops parameter.
6728         (complete_target_initialization): Delete.
6729         (memory_breakpoint_target): New template class.
6730         (test_target_ops): Refactor as a C++ class with virtual methods.
6731         * make-target-delegates (NAME_PART): Tighten.
6732         (POINTER_PART, CP_SYMBOL): New.
6733         (SIMPLE_RETURN_PART): Reimplement.
6734         (VEC_RETURN_PART): Expect less.
6735         (RETURN_PART, VIRTUAL_PART): New.
6736         (METHOD): Adjust to C++ virtual methods.
6737         (scan_target_h): Remove reference to C99.
6738         (dname): Output "target_ops::" prefix.
6739         (write_function_header): Adjust to output a C++ class method.
6740         (write_declaration): New.
6741         (write_delegator): Adjust to output a C++ class method.
6742         (tdname): Output "dummy_target::" prefix.
6743         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6744         method.
6745         (tdefault_names, debug_names): Delete.
6746         (return_types, tdefaults, styles, argtypes_array): New.
6747         (top level): All methods are delegators.
6748         (print_class): New.
6749         (top level): Print dummy_target and debug_target classes.
6750         * target-delegates.c: Regenerate.
6751         * target-debug.h (target_debug_print_enum_info_proc_what)
6752         (target_debug_print_thread_control_capabilities)
6753         (target_debug_print_thread_info_p): New.
6754         * target.c (dummy_target): Delete.
6755         (the_dummy_target, the_debug_target): New.
6756         (target_stack): Now extern.
6757         (set_targetdebug): Push/unpush debug target.
6758         (default_child_has_all_memory, default_child_has_memory)
6759         (default_child_has_stack, default_child_has_registers)
6760         (default_child_has_execution): Remove target_ops parameter.
6761         (complete_target_initialization): Delete.
6762         (add_target_with_completer): No longer call
6763         complete_target_initialization.
6764         (target_supports_terminal_ours): Use regular delegation.
6765         (update_current_target): Delete.
6766         (push_target): No longer check magic number.  Don't call
6767         update_current_target.
6768         (unpush_target): Don't call update_current_target.
6769         (target_is_pushed): No longer check magic number.
6770         (target_require_runnable): Skip for all stratums over
6771         process_stratum.
6772         (target_ops::info_proc): New.
6773         (target_info_proc): Use find_target_at and
6774         find_default_run_target.
6775         (target_supports_disable_randomization): Use regular delegation.
6776         (target_get_osdata): Use find_target_at.
6777         (target_ops::open, target_ops::close, target_ops::can_attach)
6778         (target_ops::attach, target_ops::can_create_inferior)
6779         (target_ops::create_inferior, target_ops::can_run)
6780         (target_can_run): New.
6781         (default_fileio_target): Use regular delegation.
6782         (target_ops::fileio_open, target_ops::fileio_pwrite)
6783         (target_ops::fileio_pread, target_ops::fileio_fstat)
6784         (target_ops::fileio_close, target_ops::fileio_unlink)
6785         (target_ops::fileio_readlink): New.
6786         (target_fileio_open_1, target_fileio_unlink)
6787         (target_fileio_readlink): Always call the target method.  Handle
6788         FILEIO_ENOSYS.
6789         (return_zero, return_zero_has_execution): Delete.
6790         (init_dummy_target): Delete.
6791         (dummy_target::dummy_target, dummy_target::shortname)
6792         (dummy_target::longname, dummy_target::doc)
6793         (debug_target::debug_target, debug_target::shortname)
6794         (debug_target::longname, debug_target::doc): New.
6795         (target_supports_delete_record): Use regular delegation.
6796         (setup_target_debug): Delete.
6797         (maintenance_print_target_stack): Skip debug_stratum.
6798         (initialize_targets): Instantiate the_dummy_target and
6799         the_debug_target.
6800         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
6801         use target_stack.
6802         (target_auxv_search, fprint_target_auxv): Adjust.
6803         (info_auxv_command): Adjust to use target_stack.
6804         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
6805         * exceptions.c (print_flush): Handle a NULL target_stack.
6806         * regcache.c (target_ops_no_register): Refactor as class with
6807         virtual methods.
6808
6809         * exec.c (exec_target): New class.
6810         (exec_ops): Now an exec_target.
6811         (exec_open, exec_close_1, exec_get_section_table)
6812         (exec_xfer_partial, exec_files_info, exec_has_memory)
6813         (exec_make_note_section): Refactor as exec_target methods.
6814         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
6815         Delete.
6816         (exec_target::find_memory_regions): New.
6817         (_initialize_exec): Don't call init_exec_ops.
6818         * gdbcore.h (exec_file_clear): Delete.
6819
6820         * corefile.c (core_target): Delete.
6821         (core_file_command): Adjust.
6822         * corelow.c (core_target): New class.
6823         (the_core_target): New.
6824         (core_close): Remove target_ops parameter.
6825         (core_close_cleanup): Adjust.
6826         (core_target::close): New.
6827         (core_open, core_detach, get_core_registers, core_files_info)
6828         (core_xfer_partial, core_thread_alive, core_read_description)
6829         (core_pid_to_str, core_thread_name, core_has_memory)
6830         (core_has_stack, core_has_registers, core_info_proc): Rework as
6831         core_target methods.
6832         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6833         (_initialize_corelow): Initialize the_core_target.
6834         * gdbcore.h (core_target): Delete.
6835         (the_core_target): New.
6836
6837         * ctf.c: (ctf_target): New class.
6838         (ctf_ops): Now a ctf_target.
6839         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6840         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6841         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6842         methods.
6843         (init_ctf_ops): Delete.
6844         (_initialize_ctf): Don't call it.
6845         * tracefile-tfile.c (tfile_target): New class.
6846         (tfile_ops): Now a tfile_target.
6847         (tfile_open, tfile_close, tfile_files_info)
6848         (tfile_get_tracepoint_status, tfile_trace_find)
6849         (tfile_fetch_registers, tfile_xfer_partial)
6850         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6851         Refactor as tfile_target methods.
6852         (tfile_xfer_partial_features): Remove target_ops parameter.
6853         (init_tfile_ops): Delete.
6854         (_initialize_tracefile_tfile): Don't call it.
6855         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6856         (tracefile_has_stack, tracefile_has_registers)
6857         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6858         tracefile_target methods.
6859         (init_tracefile_ops): Delete.
6860         (tracefile_target::tracefile_target): New.
6861         * tracefile.h: Include "target.h".
6862         (tracefile_target): New class.
6863         (init_tracefile_ops): Delete.
6864
6865         * spu-multiarch.c (spu_multiarch_target): New class.
6866         (spu_ops): Now a spu_multiarch_target.
6867         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6868         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6869         (spu_search_memory, spu_mourn_inferior): Refactor as
6870         spu_multiarch_target methods.
6871         (init_spu_ops): Delete.
6872         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6873         complete_target_initialization.
6874
6875         * ravenscar-thread.c (ravenscar_thread_target): New class.
6876         (ravenscar_ops): Now a ravenscar_thread_target.
6877         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6878         (ravenscar_thread_alive, ravenscar_pid_to_str)
6879         (ravenscar_fetch_registers, ravenscar_store_registers)
6880         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6881         (ravenscar_stopped_by_hw_breakpoint)
6882         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6883         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6884         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6885         methods.
6886         (init_ravenscar_thread_ops): Delete.
6887         (_initialize_ravenscar): Remove references to
6888         init_ravenscar_thread_ops and complete_target_initialization.
6889
6890         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6891         (bsd_uthread_target): New class.
6892         (bsd_uthread_ops): Now a bsd_uthread_target.
6893         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6894         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6895         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6896         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6897         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6898         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6899         (bsd_uthread_target): Delete function.
6900         (_initialize_bsd_uthread): Remove reference to
6901         complete_target_initialization.
6902
6903         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6904         (target_bfd): ... this new class.
6905         (target_bfd_xfer_partial, target_bfd_get_section_table)
6906         (target_bfd_close): Refactor as target_bfd methods.
6907         (target_bfd::~target_bfd): New.
6908         (target_bfd_reopen): Adjust.
6909         (target_bfd::close): New.
6910
6911         * record-btrace.c (record_btrace_target): New class.
6912         (record_btrace_ops): Now a record_btrace_target.
6913         (record_btrace_open, record_btrace_stop_recording)
6914         (record_btrace_disconnect, record_btrace_close)
6915         (record_btrace_async, record_btrace_info)
6916         (record_btrace_insn_history, record_btrace_insn_history_range)
6917         (record_btrace_insn_history_from, record_btrace_call_history)
6918         (record_btrace_call_history_range)
6919         (record_btrace_call_history_from, record_btrace_record_method)
6920         (record_btrace_is_replaying, record_btrace_will_replay)
6921         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6922         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6923         (record_btrace_store_registers, record_btrace_prepare_to_store)
6924         (record_btrace_to_get_unwinder)
6925         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6926         (record_btrace_commit_resume, record_btrace_wait)
6927         (record_btrace_stop, record_btrace_can_execute_reverse)
6928         (record_btrace_stopped_by_sw_breakpoint)
6929         (record_btrace_supports_stopped_by_sw_breakpoint)
6930         (record_btrace_stopped_by_hw_breakpoint)
6931         (record_btrace_supports_stopped_by_hw_breakpoint)
6932         (record_btrace_update_thread_list, record_btrace_thread_alive)
6933         (record_btrace_goto_begin, record_btrace_goto_end)
6934         (record_btrace_goto, record_btrace_stop_replaying_all)
6935         (record_btrace_execution_direction)
6936         (record_btrace_prepare_to_generate_core)
6937         (record_btrace_done_generating_core): Refactor as
6938         record_btrace_target methods.
6939         (init_record_btrace_ops): Delete.
6940         (_initialize_record_btrace): Remove reference to
6941         init_record_btrace_ops.
6942         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6943         the execution_direction global.
6944         (record_full_base_target, record_full_target)
6945         (record_full_core_target): New classes.
6946         (record_full_ops): Now a record_full_target.
6947         (record_full_core_ops): Now a record_full_core_target.
6948         (record_full_target::detach, record_full_target::disconnect)
6949         (record_full_core_target::disconnect)
6950         (record_full_target::mourn_inferior, record_full_target::kill):
6951         New.
6952         (record_full_open, record_full_close, record_full_async): Refactor
6953         as methods of the record_full_base_target class.
6954         (record_full_resume, record_full_commit_resume): Refactor
6955         as methods of the record_full_target class.
6956         (record_full_wait, record_full_stopped_by_watchpoint)
6957         (record_full_stopped_data_address)
6958         (record_full_stopped_by_sw_breakpoint)
6959         (record_full_supports_stopped_by_sw_breakpoint)
6960         (record_full_stopped_by_hw_breakpoint)
6961         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6962         methods of the record_full_base_target class.
6963         (record_full_store_registers, record_full_xfer_partial)
6964         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6965         Refactor as methods of the record_full_target class.
6966         (record_full_can_execute_reverse, record_full_get_bookmark)
6967         (record_full_goto_bookmark, record_full_execution_direction)
6968         (record_full_record_method, record_full_info, record_full_delete)
6969         (record_full_is_replaying, record_full_will_replay)
6970         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6971         (record_full_stop_replaying): Refactor as methods of the
6972         record_full_base_target class.
6973         (record_full_core_resume, record_full_core_kill)
6974         (record_full_core_fetch_registers)
6975         (record_full_core_prepare_to_store)
6976         (record_full_core_store_registers, record_full_core_xfer_partial)
6977         (record_full_core_insert_breakpoint)
6978         (record_full_core_remove_breakpoint)
6979         (record_full_core_has_execution): Refactor
6980         as methods of the record_full_core_target class.
6981         (record_full_base_target::supports_delete_record): New.
6982         (init_record_full_ops): Delete.
6983         (init_record_full_core_ops): Delete.
6984         (record_full_save): Refactor as method of the
6985         record_full_base_target class.
6986         (_initialize_record_full): Remove references to
6987         init_record_full_ops and init_record_full_core_ops.
6988
6989         * remote.c (remote_target, extended_remote_target): New classes.
6990         (remote_ops): Now a remote_target.
6991         (extended_remote_ops): Now an extended_remote_target.
6992         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6993         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6994         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6995         (remote_pass_signals, remote_set_syscall_catchpoint)
6996         (remote_program_signals, )
6997         (remote_thread_always_alive): Remove target_ops parameter.
6998         (remote_thread_alive, remote_thread_name)
6999         (remote_update_thread_list, remote_threads_extra_info)
7000         (remote_static_tracepoint_marker_at)
7001         (remote_static_tracepoint_markers_by_strid)
7002         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7003         (remote_open): Refactor as methods of remote_target.
7004         (extended_remote_open, extended_remote_detach)
7005         (extended_remote_attach, extended_remote_post_attach):
7006         (extended_remote_supports_disable_randomization)
7007         (extended_remote_create_inferior): : Refactor as method of
7008         extended_remote_target.
7009         (remote_set_permissions, remote_open_1, remote_detach)
7010         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7011         (remote_resume, remote_commit_resume, remote_stop)
7012         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7013         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7014         (remote_prepare_to_store, remote_store_registers)
7015         (remote_flash_erase, remote_flash_done, remote_files_info)
7016         (remote_kill, remote_mourn, remote_insert_breakpoint)
7017         (remote_remove_breakpoint, remote_insert_watchpoint)
7018         (remote_watchpoint_addr_within_range)
7019         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7020         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7021         (remote_supports_stopped_by_sw_breakpoint)
7022         (remote_stopped_by_hw_breakpoint)
7023         (remote_supports_stopped_by_hw_breakpoint)
7024         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7025         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7026         (remote_verify_memory): Refactor as methods of remote_target.
7027         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7028         parameter.
7029         (remote_xfer_partial, remote_get_memory_xfer_limit)
7030         (remote_search_memory, remote_rcmd, remote_memory_map)
7031         (remote_pid_to_str, remote_get_thread_local_address)
7032         (remote_get_tib_address, remote_read_description): Refactor as
7033         methods of remote_target.
7034         (remote_target::fileio_open, remote_target::fileio_pwrite)
7035         (remote_target::fileio_pread, remote_target::fileio_close): New.
7036         (remote_hostio_readlink, remote_hostio_fstat)
7037         (remote_filesystem_is_local, remote_can_execute_reverse)
7038         (remote_supports_non_stop, remote_supports_disable_randomization)
7039         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7040         (remote_supports_enable_disable_tracepoint)
7041         (remote_supports_string_tracing)
7042         (remote_can_run_breakpoint_commands, remote_trace_init)
7043         (remote_download_tracepoint, remote_can_download_tracepoint)
7044         (remote_download_trace_state_variable, remote_enable_tracepoint)
7045         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7046         (remote_trace_start, remote_get_trace_status)
7047         (remote_get_tracepoint_status, remote_trace_stop)
7048         (remote_trace_find, remote_get_trace_state_variable_value)
7049         (remote_save_trace_data, remote_get_raw_trace_data)
7050         (remote_set_disconnected_tracing, remote_core_of_thread)
7051         (remote_set_circular_trace_buffer, remote_traceframe_info)
7052         (remote_get_min_fast_tracepoint_insn_len)
7053         (remote_set_trace_buffer_size, remote_set_trace_notes)
7054         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7055         (remote_disable_btrace, remote_teardown_btrace)
7056         (remote_read_btrace, remote_btrace_conf)
7057         (remote_augmented_libraries_svr4_read, remote_load)
7058         (remote_pid_to_exec_file, remote_can_do_single_step)
7059         (remote_execution_direction, remote_thread_handle_to_thread_info):
7060         Refactor as methods of remote_target.
7061         (init_remote_ops, init_extended_remote_ops): Delete.
7062         (remote_can_async_p, remote_is_async_p, remote_async)
7063         (remote_thread_events, remote_upload_tracepoints)
7064         (remote_upload_trace_state_variables): Refactor as methods of
7065         remote_target.
7066         (_initialize_remote): Remove references to init_remote_ops and
7067         init_extended_remote_ops.
7068
7069         * remote-sim.c (gdbsim_target): New class.
7070         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7071         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7072         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7073         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7074         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7075         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7076         Refactor as methods of gdbsim_target.
7077         (gdbsim_ops): Now a gdbsim_target.
7078         (init_gdbsim_ops): Delete.
7079         (gdbsim_cntrl_c): Adjust.
7080         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7081
7082         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7083         (the_amd64_linux_nat_target): New.
7084         (amd64_linux_fetch_inferior_registers)
7085         (amd64_linux_store_inferior_registers): Refactor as methods of
7086         amd64_linux_nat_target.
7087         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7088         * i386-linux-nat.c: Don't include "linux-nat.h".
7089         (i386_linux_nat_target): New class.
7090         (the_i386_linux_nat_target): New.
7091         (i386_linux_fetch_inferior_registers)
7092         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7093         as methods of i386_linux_nat_target.
7094         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7095         * inf-child.c (inf_child_ops): Delete.
7096         (inf_child_fetch_inferior_registers)
7097         (inf_child_store_inferior_registers): Delete.
7098         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7099         methods of inf_child_target.
7100         (inf_child_target::supports_terminal_ours)
7101         (inf_child_target::terminal_init)
7102         (inf_child_target::terminal_inferior)
7103         (inf_child_target::terminal_ours_for_output)
7104         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7105         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7106         New.
7107         (inf_child_open, inf_child_disconnect, inf_child_close)
7108         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7109         (inf_child_post_startup_inferior, inf_child_can_run)
7110         (inf_child_pid_to_exec_file): Refactor as methods of
7111         inf_child_target.
7112         (inf_child_follow_fork): Delete.
7113         (inf_child_target::can_create_inferior)
7114         (inf_child_target::can_attach): New.
7115         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7116         (inf_child_target::has_stack, inf_child_target::has_registers)
7117         (inf_child_target::has_execution): New.
7118         (inf_child_fileio_open, inf_child_fileio_pwrite)
7119         (inf_child_fileio_pread, inf_child_fileio_fstat)
7120         (inf_child_fileio_close, inf_child_fileio_unlink)
7121         (inf_child_fileio_readlink, inf_child_use_agent)
7122         (inf_child_can_use_agent): Refactor as methods of
7123         inf_child_target.
7124         (return_zero, inf_child_target): Delete.
7125         (inf_child_target::inf_child_target): New.
7126         * inf-child.h: Include "target.h".
7127         (inf_child_target): Delete function prototype.
7128         (inf_child_target): New class.
7129         (inf_child_open_target, inf_child_mourn_inferior)
7130         (inf_child_maybe_unpush_target): Delete.
7131         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7132         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7133         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7134         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7135         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7136         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7137         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7138         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7139         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7140         methods of inf_ptrace_target.
7141         (inf_ptrace_target): Delete function.
7142         * inf-ptrace.h: Include "inf-child.h".
7143         (inf_ptrace_target): Delete function declaration.
7144         (inf_ptrace_target): New class.
7145         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7146         * linux-nat.c (linux_target): New.
7147         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7148         (linux_nat_target::~linux_nat_target): New.
7149         (linux_child_post_attach, linux_child_post_startup_inferior)
7150         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7151         (linux_child_remove_fork_catchpoint)
7152         (linux_child_insert_vfork_catchpoint)
7153         (linux_child_remove_vfork_catchpoint)
7154         (linux_child_insert_exec_catchpoint)
7155         (linux_child_remove_exec_catchpoint)
7156         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7157         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7158         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7159         (linux_nat_stopped_data_address)
7160         (linux_nat_stopped_by_sw_breakpoint)
7161         (linux_nat_supports_stopped_by_sw_breakpoint)
7162         (linux_nat_stopped_by_hw_breakpoint)
7163         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7164         (linux_nat_kill, linux_nat_mourn_inferior)
7165         (linux_nat_xfer_partial, linux_nat_thread_alive)
7166         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7167         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7168         (linux_child_static_tracepoint_markers_by_strid)
7169         (linux_nat_is_async_p, linux_nat_can_async_p)
7170         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7171         (linux_nat_supports_multi_process)
7172         (linux_nat_supports_disable_randomization, linux_nat_async)
7173         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7174         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7175         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7176         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7177         methods of linux_nat_target.
7178         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7179         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7180         parameter.
7181         (check_stopped_by_watchpoint): Adjust.
7182         (linux_xfer_partial): Delete.
7183         (linux_target_install_ops, linux_target, linux_nat_add_target):
7184         Delete.
7185         (linux_nat_target::linux_nat_target): New.
7186         * linux-nat.h: Include "inf-ptrace.h".
7187         (linux_nat_target): New.
7188         (linux_target, linux_target_install_ops, linux_nat_add_target):
7189         Delete function declarations.
7190         (linux_target): Declare global.
7191         * linux-thread-db.c (thread_db_target): New.
7192         (thread_db_target::thread_db_target): New.
7193         (thread_db_ops): Delete.
7194         (the_thread_db_target): New.
7195         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7196         (thread_db_update_thread_list, thread_db_pid_to_str)
7197         (thread_db_extra_thread_info)
7198         (thread_db_thread_handle_to_thread_info)
7199         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7200         (thread_db_resume): Refactor as methods of thread_db_target.
7201         (init_thread_db_ops): Delete.
7202         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7203         * x86-linux-nat.c: Don't include "linux-nat.h".
7204         (super_post_startup_inferior): Delete.
7205         (x86_linux_nat_target::~x86_linux_nat_target): New.
7206         (x86_linux_child_post_startup_inferior)
7207         (x86_linux_read_description, x86_linux_enable_btrace)
7208         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7209         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7210         methods of x86_linux_nat_target.
7211         (x86_linux_create_target): Delete.  Bits folded ...
7212         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7213         pointer.
7214         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7215         (x86_linux_nat_target): New class.
7216         (x86_linux_create_target): Delete.
7217         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7218         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7219         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7220         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7221         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7222         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7223         make extern.
7224         (x86_use_watchpoints): Delete.
7225         * x86-nat.h: Include "breakpoint.h" and "target.h".
7226         (x86_use_watchpoints): Delete.
7227         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7228         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7229         (x86_insert_watchpoint, x86_remove_watchpoint)
7230         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7231         (x86_stopped_by_hw_breakpoint): New declarations.
7232         (x86_nat_target): New template class.
7233
7234         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7235         (the_ppc_linux_nat_target): New.
7236         (ppc_linux_fetch_inferior_registers)
7237         (ppc_linux_can_use_hw_breakpoint)
7238         (ppc_linux_region_ok_for_hw_watchpoint)
7239         (ppc_linux_ranged_break_num_registers)
7240         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7241         (ppc_linux_insert_mask_watchpoint)
7242         (ppc_linux_remove_mask_watchpoint)
7243         (ppc_linux_can_accel_watchpoint_condition)
7244         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7245         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7246         (ppc_linux_watchpoint_addr_within_range)
7247         (ppc_linux_masked_watch_num_registers)
7248         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7249         (ppc_linux_read_description): Refactor as methods of
7250         ppc_linux_nat_target.
7251         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7252
7253         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7254         (procfs_target): New class.
7255         (the_procfs_target): New.
7256         (procfs_target): Delete function.
7257         (procfs_auxv_parse, procfs_attach, procfs_detach)
7258         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7259         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7260         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7261         (procfs_create_inferior, procfs_update_thread_list)
7262         (procfs_thread_alive, procfs_pid_to_str)
7263         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7264         (procfs_stopped_data_address, procfs_insert_watchpoint)
7265         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7266         (proc_find_memory_regions, procfs_info_proc)
7267         (procfs_make_note_section): Refactor as methods of procfs_target.
7268         (_initialize_procfs): Adjust.
7269         * sol-thread.c (sol_thread_target): New class.
7270         (sol_thread_ops): Now a sol_thread_target.
7271         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7272         (sol_thread_fetch_registers, sol_thread_store_registers)
7273         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7274         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7275         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7276         (init_sol_thread_ops): Delete.
7277         (_initialize_sol_thread): Adjust.  Remove references to
7278         init_sol_thread_ops and complete_target_initialization.
7279
7280         * windows-nat.c (windows_nat_target): New class.
7281         (windows_fetch_inferior_registers)
7282         (windows_store_inferior_registers, windows_resume, windows_wait)
7283         (windows_attach, windows_detach, windows_pid_to_exec_file)
7284         (windows_files_info, windows_create_inferior)
7285         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7286         (windows_close, windows_pid_to_str, windows_xfer_partial)
7287         (windows_get_tib_address, windows_get_ada_task_ptid)
7288         (windows_thread_name, windows_thread_alive): Refactor as
7289         windows_nat_target methods.
7290         (do_initial_windows_stuff): Adjust.
7291         (windows_target): Delete function.
7292         (_initialize_windows_nat): Adjust.
7293
7294         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7295         (darwin_mourn_inferior, darwin_kill_inferior)
7296         (darwin_create_inferior, darwin_attach, darwin_detach)
7297         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7298         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7299         (darwin_supports_multi_process): Refactor as darwin_nat_target
7300         methods.
7301         (darwin_resume_to, darwin_files_info): Delete.
7302         (_initialize_darwin_inferior): Rename to ...
7303         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7304         * darwin-nat.h: Include "inf-child.h".
7305         (darwin_nat_target): New class.
7306         (darwin_complete_target): Delete.
7307         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7308         (darwin_target): New.
7309         (i386_darwin_fetch_inferior_registers)
7310         (i386_darwin_store_inferior_registers): Refactor as methods of
7311         darwin_nat_target.
7312         (darwin_complete_target): Delete, with ...
7313         (_initialize_i386_darwin_nat): ... bits factored out here.
7314
7315         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7316         (the_alpha_linux_nat_target): New.
7317         (alpha_linux_register_u_offset): Refactor as
7318         alpha_linux_nat_target method.
7319         (_initialize_alpha_linux_nat): Adjust.
7320         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7321         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7322         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7323         methods of linux_nat_trad_target.
7324         (linux_trad_target): Delete.
7325         * linux-nat-trad.h (linux_trad_target): Delete function.
7326         (linux_nat_trad_target): New class.
7327         * mips-linux-nat.c (mips_linux_nat_target): New class.
7328         (super_fetch_registers, super_store_registers, super_close):
7329         Delete.
7330         (the_mips_linux_nat_target): New.
7331         (mips64_linux_regsets_fetch_registers)
7332         (mips64_linux_regsets_store_registers)
7333         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7334         (mips_linux_register_u_offset, mips_linux_read_description)
7335         (mips_linux_can_use_hw_breakpoint)
7336         (mips_linux_stopped_by_watchpoint)
7337         (mips_linux_stopped_data_address)
7338         (mips_linux_region_ok_for_hw_watchpoint)
7339         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7340         (mips_linux_close): Refactor as methods of mips_linux_nat.
7341         (_initialize_mips_linux_nat): Adjust to C++ification.
7342
7343         * aix-thread.c (aix_thread_target): New class.
7344         (aix_thread_ops): Now an aix_thread_target.
7345         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7346         (aix_thread_fetch_registers, aix_thread_store_registers)
7347         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7348         (aix_thread_thread_alive, aix_thread_pid_to_str)
7349         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7350         Refactor as methods of aix_thread_target.
7351         (init_aix_thread_ops): Delete.
7352         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7353         and complete_target_initialization.
7354         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7355         (rs6000_nat_target): New class.
7356         (the_rs6000_nat_target): New.
7357         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7358         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7359         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7360         (super_create_inferior): Delete.
7361         (_initialize_rs6000_nat): Adjust to C++ification.
7362
7363         * arm-linux-nat.c (arm_linux_nat_target): New class.
7364         (the_arm_linux_nat_target): New.
7365         (arm_linux_fetch_inferior_registers)
7366         (arm_linux_store_inferior_registers, arm_linux_read_description)
7367         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7368         (arm_linux_remove_hw_breakpoint)
7369         (arm_linux_region_ok_for_hw_watchpoint)
7370         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7371         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7372         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7373         arm_linux_nat_target.
7374         (_initialize_arm_linux_nat): Adjust to C++ification.
7375
7376         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7377         (the_aarch64_linux_nat_target): New.
7378         (aarch64_linux_fetch_inferior_registers)
7379         (aarch64_linux_store_inferior_registers)
7380         (aarch64_linux_child_post_startup_inferior)
7381         (aarch64_linux_read_description)
7382         (aarch64_linux_can_use_hw_breakpoint)
7383         (aarch64_linux_insert_hw_breakpoint)
7384         (aarch64_linux_remove_hw_breakpoint)
7385         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7386         (aarch64_linux_region_ok_for_hw_watchpoint)
7387         (aarch64_linux_stopped_data_address)
7388         (aarch64_linux_stopped_by_watchpoint)
7389         (aarch64_linux_watchpoint_addr_within_range)
7390         (aarch64_linux_can_do_single_step): Refactor as methods of
7391         aarch64_linux_nat_target.
7392         (super_post_startup_inferior): Delete.
7393         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7394
7395         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7396         (the_hppa_linux_nat_target): New.
7397         (hppa_linux_fetch_inferior_registers)
7398         (hppa_linux_store_inferior_registers): Refactor as methods of
7399         hppa_linux_nat_target.
7400         (_initialize_hppa_linux_nat): Adjust to C++ification.
7401
7402         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7403         (the_ia64_linux_nat_target): New.
7404         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7405         (ia64_linux_stopped_data_address)
7406         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7407         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7408         ia64_linux_nat_target methods.
7409         (super_xfer_partial): Delete.
7410         (_initialize_ia64_linux_nat): Adjust to C++ification.
7411
7412         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7413         (the_m32r_linux_nat_target): New.
7414         (m32r_linux_fetch_inferior_registers)
7415         (m32r_linux_store_inferior_registers): Refactor as
7416         m32r_linux_nat_target methods.
7417         (_initialize_m32r_linux_nat): Adjust to C++ification.
7418
7419         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7420         (the_m68k_linux_nat_target): New.
7421         (m68k_linux_fetch_inferior_registers)
7422         (m68k_linux_store_inferior_registers): Refactor as
7423         m68k_linux_nat_target methods.
7424         (_initialize_m68k_linux_nat): Adjust to C++ification.
7425
7426         * s390-linux-nat.c (s390_linux_nat_target): New class.
7427         (the_s390_linux_nat_target): New.
7428         (s390_linux_fetch_inferior_registers)
7429         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7430         (s390_insert_watchpoint, s390_remove_watchpoint)
7431         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7432         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7433         (s390_auxv_parse, s390_read_description): Refactor as methods of
7434         s390_linux_nat_target.
7435         (_initialize_s390_nat): Adjust to C++ification.
7436
7437         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7438         (the_sparc_linux_nat_target): New.
7439         (_initialize_sparc_linux_nat): Adjust to C++ification.
7440         * sparc-nat.c (sparc_fetch_inferior_registers)
7441         (sparc_store_inferior_registers): Remove target_ops parameter.
7442         * sparc-nat.h (sparc_fetch_inferior_registers)
7443         (sparc_store_inferior_registers): Remove target_ops parameter.
7444         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7445         (the_sparc64_linux_nat_target): New.
7446         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7447
7448         * spu-linux-nat.c (spu_linux_nat_target): New class.
7449         (the_spu_linux_nat_target): New.
7450         (spu_child_post_startup_inferior, spu_child_post_attach)
7451         (spu_child_wait, spu_fetch_inferior_registers)
7452         (spu_store_inferior_registers, spu_xfer_partial)
7453         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7454         methods.
7455         (_initialize_spu_nat): Adjust to C++ification.
7456
7457         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7458         (the_tilegx_linux_nat_target): New.
7459         (fetch_inferior_registers, store_inferior_registers):
7460         Refactor as methods.
7461         (_initialize_tile_linux_nat): Adjust to C++ification.
7462
7463         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7464         (the_xtensa_linux_nat_target): New.
7465         (xtensa_linux_fetch_inferior_registers)
7466         (xtensa_linux_store_inferior_registers): Refactor as
7467         xtensa_linux_nat_target methods.
7468         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7469
7470         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7471         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7472         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7473         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7474         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7475         (fbsd_stopped_by_sw_breakpoint)
7476         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7477         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7478         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7479         (fbsd_post_startup_inferior, fbsd_post_attach)
7480         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7481         (fbsd_set_syscall_catchpoint)
7482         (super_xfer_partial, super_resume, super_wait)
7483         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7484         (fbsd_handle_debug_trap): Remove target_ops parameter.
7485         (fbsd_nat_add_target): Delete.
7486         * fbsd-nat.h: Include "inf-ptrace.h".
7487         (fbsd_nat_add_target): Delete.
7488         (USE_SIGTRAP_SIGINFO): Define.
7489         (fbsd_nat_target): New class.
7490
7491         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7492         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7493         (amd64bsd_target): Delete.
7494         * amd64-bsd-nat.h: New file.
7495         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7496         "x86-bsd-nat.h".
7497         (amd64_fbsd_nat_target): New class.
7498         (the_amd64_fbsd_nat_target): New.
7499         (amd64fbsd_read_description): Refactor as method of
7500         amd64_fbsd_nat_target.
7501         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7502         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7503         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7504         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7505         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7506         (i386bsd_target): Delete.
7507         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7508         (i386bsd_fetch_inferior_registers)
7509         (i386bsd_store_inferior_registers): Declare.
7510         (i386_bsd_nat_target): New class.
7511         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7512         (the_i386_fbsd_nat_target): New.
7513         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7514         i386_fbsd_nat_target methods.
7515         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7516         (_initialize_i386fbsd_nat): Adjust to C++ification.
7517         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7518         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7519         (_initialize_x86_bsd_nat): Adjust to C++ification.
7520         * x86-bsd-nat.h: Include "x86-nat.h".
7521         (x86bsd_target): Delete declaration.
7522         (x86bsd_nat_target): New class.
7523
7524         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7525         (the_aarch64_fbsd_nat_target): New.
7526         (aarch64_fbsd_fetch_inferior_registers)
7527         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7528         aarch64_fbsd_nat_target.
7529         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7530         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7531         (the_alpha_bsd_nat_target): New.
7532         (alphabsd_fetch_inferior_registers)
7533         (alphabsd_store_inferior_registers): Refactor as
7534         alpha_bsd_nat_target methods.
7535         (_initialize_alphabsd_nat): Refactor as methods of
7536         alpha_bsd_nat_target.
7537         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7538         (the_amd64_nbsd_nat_target): New.
7539         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7540         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7541         (the_amd64_obsd_nat_target): New.
7542         (_initialize_amd64obsd_nat): Adjust to C++ification.
7543         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7544         (the_arm_fbsd_nat_target): New.
7545         (arm_fbsd_fetch_inferior_registers)
7546         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7547         (_initialize_arm_fbsd_nat): Refactor as methods of
7548         arm_fbsd_nat_target.
7549         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7550         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7551         (the_arm_netbsd_nat_target): New.
7552         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7553         arm_netbsd_nat_target.
7554         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7555         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7556         (the_hppa_nbsd_nat_target): New.
7557         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7558         hppa_nbsd_nat_target methods.
7559         (_initialize_hppanbsd_nat): Adjust to C++ification.
7560         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7561         (the_hppa_obsd_nat_target): New.
7562         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7563         methods of hppa_obsd_nat_target.
7564         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7565         add_target.
7566         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7567         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7568         add_target.
7569         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7570         (_initialize_i386obsd_nat): Use add_target.
7571         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7572         (the_m68k_bsd_nat_target): New.
7573         (m68kbsd_fetch_inferior_registers)
7574         (m68kbsd_store_inferior_registers): Refactor as methods of
7575         m68k_bsd_nat_target.
7576         (_initialize_m68kbsd_nat): Adjust to C++ification.
7577         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7578         (the_mips_fbsd_nat_target): New.
7579         (mips_fbsd_fetch_inferior_registers)
7580         (mips_fbsd_store_inferior_registers): Refactor as methods of
7581         mips_fbsd_nat_target.
7582         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7583         add_target.
7584         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7585         (the_mips_nbsd_nat_target): New.
7586         (mipsnbsd_fetch_inferior_registers)
7587         (mipsnbsd_store_inferior_registers): Refactor as methods of
7588         mips_nbsd_nat_target.
7589         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7590         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7591         (the_mips64_obsd_nat_target): New.
7592         (mips64obsd_fetch_inferior_registers)
7593         (mips64obsd_store_inferior_registers): Refactor as methods of
7594         mips64_obsd_nat_target.
7595         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7596         add_target.
7597         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7598         nbsd_nat_target.
7599         * nbsd-nat.h: Include "inf-ptrace.h".
7600         (nbsd_nat_target): New class.
7601         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7602         (obsd_wait): Refactor as methods of obsd_nat_target.
7603         (obsd_add_target): Delete.
7604         * obsd-nat.h: Include "inf-ptrace.h".
7605         (obsd_nat_target): New class.
7606         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7607         (the_ppc_fbsd_nat_target): New.
7608         (ppcfbsd_fetch_inferior_registers)
7609         (ppcfbsd_store_inferior_registers): Refactor as methods of
7610         ppc_fbsd_nat_target.
7611         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7612         add_target.
7613         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7614         (the_ppc_nbsd_nat_target): New.
7615         (ppcnbsd_fetch_inferior_registers)
7616         (ppcnbsd_store_inferior_registers): Refactor as methods of
7617         ppc_nbsd_nat_target.
7618         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7619         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7620         (the_ppc_obsd_nat_target): New.
7621         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7622         methods of ppc_obsd_nat_target.
7623         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7624         add_target.
7625         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7626         (the_sh_nbsd_nat_target): New.
7627         (shnbsd_fetch_inferior_registers)
7628         (shnbsd_store_inferior_registers): Refactor as methods of
7629         sh_nbsd_nat_target.
7630         (_initialize_shnbsd_nat): Adjust to C++ification.
7631         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7632         (inf_ptrace_xfer_partial): Delete.
7633         (sparc_xfer_partial, sparc_target): Delete.
7634         * sparc-nat.h (sparc_fetch_inferior_registers)
7635         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7636         (sparc_target): Delete function declaration.
7637         (sparc_target): New template class.
7638         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7639         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7640         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7641         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7642         add_target.
7643         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7644         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7645         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7646         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7647         add_target.
7648         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7649         (the_vax_bsd_nat_target): New.
7650         (vaxbsd_fetch_inferior_registers)
7651         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7652         methods.
7653         (_initialize_vaxbsd_nat): Adjust to C++ification.
7654
7655         * bsd-kvm.c (bsd_kvm_target): New class.
7656         (bsd_kvm_ops): Now a bsd_kvm_target.
7657         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7658         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7659         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7660         bsd_kvm_target.
7661         (bsd_kvm_return_one): Delete.
7662         (bsd_kvm_add_target): Adjust to C++ification.
7663
7664         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7665         (nto_procfs_target_procfs): New classes.
7666         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7667         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7668         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7669         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7670         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7671         (procfs_remove_hw_breakpoint, procfs_resume)
7672         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7673         (procfs_kill_inferior, procfs_store_registers)
7674         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7675         as methods of nto_procfs_target.
7676         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7677         (nto_native_ops): Delete.
7678         (procfs_open, procfs_native_open): Delete.
7679         (nto_native_ops): Now an nto_procfs_target_native.
7680         (init_procfs_targets): Adjust to C++ification.
7681         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7682         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7683         Refactor as methods of nto_procfs_target.
7684
7685         * go32-nat.c (go32_nat_target): New class.
7686         (the_go32_nat_target): New.
7687         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7688         (go32_store_registers, go32_xfer_partial, go32_files_info)
7689         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7690         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7691         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7692         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7693         (go32_target): Delete.
7694         (_initialize_go32_nat): Adjust to C++ification.
7695
7696         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7697         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7698         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7699         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7700         gnu_nat_target.
7701         (gnu_target): Delete.
7702         * gnu-nat.h (gnu_target): Delete.
7703         (gnu_nat_target): New class.
7704         * i386-gnu-nat.c (gnu_base_target): New.
7705         (i386_gnu_nat_target): New class.
7706         (the_i386_gnu_nat_target): New.
7707         (_initialize_i386gnu_nat): Adjust to C++ification.
7708
7709 2018-05-02  Pedro Alves  <palves@redhat.com>
7710
7711         * bfd-target.c (target_bfd_xclose): Rename to ...
7712         (target_bfd_close): ... this.
7713         (target_bfd_reopen): Adjust.
7714         * target.c (target_close): Remove references to to_xclose.
7715         * target.h (target_ops::to_xclose): Delete.
7716         (target_ops::to_close): Update comments.
7717
7718 2018-05-02  Pedro Alves  <palves@redhat.com>
7719
7720         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7721         "linux-nat.h".
7722         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7723         * inf-ptrace.c (inf_ptrace_register_u_offset)
7724         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7725         (inf_ptrace_store_register, inf_ptrace_store_registers)
7726         (inf_ptrace_trad_target): Move to ...
7727         * linux-nat-trad.c: ... this new file.
7728         * linux-nat-trad.h: New file.
7729         * linux-nat.c (linux_target_install_ops): Make extern.
7730         (linux_trad_target): Delete.
7731         * linux-nat.h (linux_trad_target): Delete declaration.
7732         (linux_target_install_ops): Declare.
7733         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7734         "linux-nat.h".
7735
7736 2018-05-02  Pedro Alves  <palves@redhat.com>
7737
7738         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7739         procfs_target/add_target here.
7740         * procfs.c (procfs_target): Make static.
7741         (_initialize_procfs): Call add_target here.
7742         * procfs.h (struct target_ops): Remove forward declaration.
7743         (procfs_target): Remove declaration.
7744         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7745
7746 2018-05-02  Pedro Alves  <palves@redhat.com>
7747
7748         * procfs.c (procfs_stopped_by_watchpoint)
7749         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7750         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7751         Forward declare.
7752         (procfs_use_watchpoints): Delete, move contents...
7753         (procfs_target): ... here.
7754         * procfs.h (procfs_use_watchpoints): Delete declaration.
7755         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7756         procfs_use_watchpoints.
7757         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7758         procfs_use_watchpoints.
7759
7760 2018-05-02  Tom Tromey  <tom@tromey.com>
7761
7762         PR python/20084:
7763         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7764         and var_zuinteger_unlimited.
7765         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7766         and PARAM_ZUINTEGER_UNLIMITED.
7767         (set_parameter_value): Handle var_zuinteger and
7768         var_zuinteger_unlimited.
7769         (add_setshow_generic): Likewise.
7770         (parmpy_init): Likewise.
7771
7772 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7773
7774         PR rust/23124
7775         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7776         pointer is not null before dereferencing it.
7777
7778 2018-04-30  Tom Tromey  <tom@tromey.com>
7779
7780         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7781         is_mi_like_p.
7782
7783 2018-04-30  Tom Tromey  <tom@tromey.com>
7784
7785         * breakpoint.c (mention): Remove use of is_mi_like_p.
7786         (print_mention_ranged_breakpoint): Likewise.
7787         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
7788         of is_mi_like_p.
7789
7790 2018-04-30  Tom Tromey  <tom@tromey.com>
7791
7792         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
7793
7794 2018-04-30  Tom Tromey  <tom@tromey.com>
7795
7796         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
7797         (info_spu_event_command): Remove some uses of is_mi_like_p.
7798
7799 2018-04-30  Tom Tromey  <tom@tromey.com>
7800
7801         * python/py-framefilter.c (py_print_single_arg)
7802         (enumerate_locals, py_print_args, py_print_frame): Remove some
7803         uses of is_mi_like_p.
7804
7805 2018-04-30  Tom Tromey  <tom@tromey.com>
7806
7807         * ui-out.c: Update.
7808         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
7809         * ui-out.h (ui_out::is_mi_like_p): Now const.
7810         (ui_out::do_is_mi_like_p): Now const.
7811         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
7812
7813 2018-04-30  Tom Tromey  <tom@tromey.com>
7814
7815         * varobj.c (varobj_set_visualizer): Use new_reference.
7816         * python/python.c (gdbpy_decode_line): Use new_reference.
7817         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
7818         new_reference.
7819
7820 2018-04-30  Tom Tromey  <tom@tromey.com>
7821
7822         * varobj.c (install_new_value): Use new_reference.
7823         * value.h (value_incref): Return void.  Swap intro comment with
7824         value_decref.
7825         * value.c (set_value_parent): Use new_reference.
7826         (value_incref): Return void.  Update intro comment.
7827         (release_value): Use new_reference.
7828         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7829
7830 2018-04-30  Tom Tromey  <tom@tromey.com>
7831
7832         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7833         * gdb_bfd.h (new_bfd_ref): Remove.
7834         (gdb_bfd_open): Update comment.
7835         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7836         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7837         (gdb_bfd_fdopenr): Use new_reference.
7838         * exec.c (exec_file_attach): Use new_reference.
7839
7840 2018-04-30  Tom Tromey  <tom@tromey.com>
7841
7842         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7843         method.
7844
7845 2018-04-30  Tom Tromey  <tom@tromey.com>
7846
7847         * jit.c (jit_read_code_entry): Use type_align.
7848         * i386-tdep.c (i386_gdbarch_init): Don't call
7849         set_gdbarch_long_long_align_bit.
7850         * gdbarch.sh: Remove long_long_align_bit.
7851         * gdbarch.c, gdbarch.h: Rebuild.
7852         * arc-tdep.c (arc_type_align): New function.
7853         (arc_gdbarch_init): Use arc_type_align.  Don't call
7854         set_gdbarch_long_long_align_bit.
7855
7856 2018-04-30  Tom Tromey  <tom@tromey.com>
7857
7858         * rust-lang.c (rust_type_alignment): Remove.
7859         (rust_composite_type): Use type_align.
7860
7861 2018-04-30  Tom Tromey  <tom@tromey.com>
7862
7863         * NEWS: Mention Type.align.
7864         * python/py-type.c (typy_get_alignof): New function.
7865         (type_object_getset): Add "alignof".
7866
7867 2018-04-30  Tom Tromey  <tom@tromey.com>
7868
7869         PR exp/17095:
7870         * NEWS: Update.
7871         * std-operator.def (UNOP_ALIGNOF): New operator.
7872         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7873         New.
7874         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7875         * c-lang.c (c_op_print_tab): Add alignof.
7876         * c-exp.y (ALIGNOF): New token.
7877         (exp): Add "ALIGNOF" production.
7878         (ident_tokens): Add _Alignof and alignof.
7879
7880 2018-04-30  Tom Tromey  <tom@tromey.com>
7881
7882         * i386-tdep.c (i386_type_align): New function.
7883         (i386_gdbarch_init): Update.
7884         * gdbarch.sh (type_align): New method.
7885         * gdbarch.c, gdbarch.h: Rebuild.
7886         * arch-utils.h (default_type_align): Declare.
7887         * arch-utils.c (default_type_align): New function.
7888         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7889         (struct type) <align_log2>: New field.
7890         <instance_flags>: Now a bitfield.
7891         (TYPE_RAW_ALIGN): New macro.
7892         (type_align, type_raw_align, set_type_align): Declare.
7893         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7894         functions.
7895         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7896         (get_alignment, maybe_set_alignment): New functions.
7897         (read_structure_type, read_enumeration_type, read_array_type)
7898         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7899         (read_subrange_type, read_base_type): Set type alignment.
7900
7901 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7902
7903         * dwarf2read.c (read_index_from_section): Use bool.
7904
7905 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7906
7907         PR gdb/22950
7908         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7909         with #ifdef.
7910
7911 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7912
7913         PR build/22873
7914         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7915         last step, and do it atomically.
7916
7917 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7918
7919         * compile/compile-c-types.c (convert_int, convert_float):
7920         Update for C FE v1.
7921
7922 2018-04-27  Tom Tromey  <tom@tromey.com>
7923
7924         PR rust/22545:
7925         * rust-lang.c (rust_inclusive_range_type_p): New function.
7926         (rust_range): Handle inclusive ranges.
7927         (rust_compute_range): Likewise.
7928         * rust-exp.y (struct rust_op) <inclusive>: New field.
7929         (DOTDOTEQ): New constant.
7930         (range_expr): Add "..=" productions.
7931         (operator_tokens): Add "..=" token.
7932         (ast_range): Add "inclusive" parameter.
7933         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7934         ranges.
7935         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7936         bounds values.
7937         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7938         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7939         Update comments.
7940         * expprint.c (print_subexp_standard): Handle new bounds values.
7941         (dump_subexp_body_standard): Likewise.
7942
7943 2018-04-27  Tom Tromey  <tom@tromey.com>
7944
7945         * configure: Rebuild.
7946         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7947         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7948         "OVERRIDE".
7949         (class symbol_needs_eval_context): Likewise.
7950         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7951         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7952         "virtual".
7953         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7954         "override".
7955         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7956         * aarch64-tdep.c (instruction_reader::read): Use "override".
7957         (instruction_reader_test::read): Likewise.
7958         * arm-tdep.c (instruction_reader::read): Use "override".
7959         (instruction_reader_thumb::read): Likewise.
7960
7961 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7962
7963         PR remote/9665
7964         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7965         instead of remote_send.
7966         (remote_send): Remove.
7967
7968 2018-04-26  Pedro Alves  <palves@redhat.com>
7969
7970         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7971         find_function_start_sal instead of find_pc_line.
7972
7973 2018-04-26  Pedro Alves  <palves@redhat.com>
7974
7975         * breakpoint.c (set_breakpoint_location_function): Handle
7976         mst_data_gnu_ifunc.
7977         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7978         * elfread.c (elf_symtab_read): Give data symbols with
7979         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7980         (elf_rel_plt_read): Update comment.
7981         * linespec.c (convert_linespec_to_sals): Handle
7982         mst_data_gnu_ifunc.
7983         (minsym_found): Handle mst_data_gnu_ifunc.
7984         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7985         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7986         * parse.c (find_minsym_type_and_address): Handle
7987         mst_data_gnu_ifunc.
7988         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7989         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7990         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7991         comment.
7992         <mst_data_gnu_ifunc>: New enumerator.
7993
7994 2018-04-26  Pedro Alves  <palves@redhat.com>
7995
7996         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7997         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7998         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7999         Handle it.
8000         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8001         (lookup_minimal_symbol_by_pc): Adjust.
8002         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8003         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8004         * minsyms.h (lookup_msym_prefer): New enum.
8005         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8006         parameter by a lookup_msym_prefer parameter.
8007
8008 2018-04-26  Pedro Alves  <palves@redhat.com>
8009
8010         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8011         ends in "@plt" instead of looking at the symbol's section.
8012
8013 2018-04-26  Pedro Alves  <palves@redhat.com>
8014
8015         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8016         all references.
8017         (find_pc_partial_function_gnu_ifunc): Rename to ...
8018         (find_pc_partial_function): ... this, and remove references to
8019         'is_gnu_ifunc_p'.
8020         (find_pc_partial_function): Delete old implementation.
8021         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8022
8023 2018-04-26  Pedro Alves  <palves@redhat.com>
8024
8025         * linespec.c (struct bound_minimal_symbol_search_key): New.
8026         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8027         skip first line if we found a GNU ifunc minimal symbol by name.
8028         (compare_msymbols): Change parameters to work with a destructured
8029         lhs minsym.
8030         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8031         functions.
8032
8033 2018-04-26  Pedro Alves  <palves@redhat.com>
8034
8035         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8036         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8037         address/name.
8038         (add_location_to_breakpoint): Store the minsym and the objfile in
8039         the breakpoint location.
8040         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8041         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8042         Record the minsym in the sal.
8043         * symtab.h (symtab_and_line) <msymbol>: New field.
8044
8045 2018-04-26  Pedro Alves  <palves@redhat.com>
8046
8047         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8048         unless we actually resolved the ifunc.
8049
8050 2018-04-26  Pedro Alves  <palves@redhat.com>
8051
8052         * c-exp.y (variable production): Prefer ifunc minsyms over
8053         regular function symbols.
8054         * symtab.c (find_gnu_ifunc): New function.
8055         * minsyms.h (lookup_msym_prefer): New enum.
8056         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8057         parameter by a lookup_msym_prefer parameter.
8058         * symtab.h (find_gnu_ifunc): New declaration.
8059
8060 2018-04-26  Pedro Alves  <palves@redhat.com>
8061
8062         * blockframe.c (find_gnu_ifunc_target_type): New function.
8063         (find_function_type): New.
8064         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8065         return a value with a memory address.
8066         (eval_call): For calls to GNU ifunc functions, try to find the
8067         type of the target function from the type that the resolver
8068         returns.
8069         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8070         symbols.
8071         * infcall.c (find_function_return_type): Delete.
8072         (find_function_addr): Add 'function_type' parameter.  For calls to
8073         GNU ifunc functions, try to find the type of the target function
8074         from the type that the resolver returns, and return it via
8075         FUNCTION_TYPE.
8076         (call_function_by_hand_dummy): Adjust to use the function type
8077         returned by find_function_addr.
8078         (find_function_addr): Add 'function_type' parameter and move
8079         description here.
8080         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8081         declarations.
8082
8083 2018-04-26  Pedro Alves  <palves@redhat.com>
8084
8085         * c-exp.y (variable production): Skip finding an alias for ifunc
8086         symbols.
8087
8088 2018-04-26  Pedro Alves  <palves@redhat.com>
8089
8090         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8091
8092 2018-04-25  Pedro Alves  <palves@redhat.com>
8093
8094         * infcmd.c (kill_command): Print the pid as string, not the whole
8095         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8096         message.
8097         * remote.c (remote_detach_1): Print the pid as string, not the
8098         whole thread's ptid.
8099
8100 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8101             Sergio Durigan Junior  <sergiodj@redhat.com>
8102             Pedro Alves  <palves@redhat.com>
8103
8104         * infcmd.c (kill_command): Print message when inferior has
8105         been killed.
8106         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8107         '1'.
8108         (add_inferior): Improve message printed when
8109         'print_inferior_events' is on.
8110         (exit_inferior): Remove message printed when
8111         'print_inferior_events' is on.
8112         (detach_inferior): Improve message printed when
8113         'print_inferior_events' is on.
8114         (initialize_inferiors): Use 'add_inferior_silent' to set
8115         'current_inferior_'.
8116         * inferior.h (print_inferior_events): Declare here as
8117         'extern'.
8118         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8119         '[Detaching...]' messages when 'print_inferior_events' is on.
8120         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8121         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8122         'Detaching after fork from child...', replace it by '... from
8123         parent...'.
8124         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8125         prefix/suffix when printing 'Detaching...' messages.  Print
8126         them when 'print_inferior_events' is on.
8127         * remote.c (remote_detach_1): Print message when detaching
8128         from inferior and '!is_fork_parent'.
8129
8130 2018-04-24  Tom Tromey  <tom@tromey.com>
8131
8132         * cli-out.h: Reindent.
8133
8134 2018-04-24  Tom Tromey  <tom@tromey.com>
8135
8136         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8137         (cli_ui_out::do_field_string): Use fputs_filtered.
8138         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8139
8140 2018-04-23  Tom Tromey  <tom@tromey.com>
8141
8142         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8143         gdb::unique_xmalloc_ptr.
8144
8145 2018-04-23  Tom Tromey  <tom@tromey.com>
8146
8147         * configure: Rebuild.
8148
8149 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8150
8151         PR gdb/23095
8152         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8153         prepare_for_testing.  Set normal_bp to r_debug_state if target
8154         is bsd.
8155
8156 2018-04-21  Pedro Alves  <palves@redhat.com>
8157             Rajendra SY  <rajendra.sy@gmail.com>
8158
8159         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8160         * remote.c (extended_remote_attach): In all-stop mode, mark the
8161         thread as executing.
8162
8163 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8164
8165         * thread.c (thread_apply_all_command): Fix comment.
8166         (thread_command): Fix comment.
8167
8168 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8169
8170         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8171         parameter.
8172         * features/aarch64-core.c (create_feature_aarch64_core):
8173         Regenerate.
8174         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8175         Likewise.
8176         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8177         Likewise.
8178         * features/i386/32bit-avx512.c
8179         (create_feature_i386_32bit_avx512): Likewise.
8180         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8181         Likewise.
8182         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8183         Likewise.
8184         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8185         Likewise.
8186         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8187         Likewise.
8188         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8189         Likewise.
8190         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8191         Likewise.
8192         * features/i386/64bit-avx512.c
8193         (create_feature_i386_64bit_avx512): Likewise.
8194         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8195         Likewise.
8196         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8197         Likewise.
8198         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8199         Likewise.
8200         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8201         Likewise.
8202         * features/i386/64bit-segments.c
8203         (create_feature_i386_64bit_segments): Likewise.
8204         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8205         Likewise.
8206         * features/i386/x32-core.c
8207         (create_feature_i386_x32_core): Likewise.
8208         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8209         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8210         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8211         * target-descriptions.c: In generated code, don't pass xml
8212         filename.
8213
8214 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8215
8216         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8217         (print_xml_feature::visit_post): Likewise.
8218         (print_xml_feature::visit): Likewise.
8219         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8220         (print_xml_feature): Add new class.
8221         * regformats/regdat.sh: Null xmltarget on feature targets.
8222         * target-descriptions.c (struct target_desc): Add xmltarget.
8223         (maintenance_check_tdesc_xml_convert): Add unittest function.
8224         (tdesc_get_features_xml): Add function to get xml.
8225         (maintenance_check_xml_descriptions): Test xml generation.
8226         * xml-tdesc.c (string_read_description_xml): Add function.
8227         * xml-tdesc.h (string_read_description_xml): Add declaration.
8228
8229 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8230
8231         * features/Makefile: Add feature marker to targets with new style
8232         target descriptions.
8233         * regformats/aarch64.dat: Regenerate.
8234         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8235         * regformats/i386/amd64-avx-linux.dat: Likewise.
8236         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8237         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8238         * regformats/i386/amd64-linux.dat: Likewise.
8239         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8240         * regformats/i386/amd64.dat: Likewise.
8241         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8242         * regformats/i386/i386-avx-linux.dat: Likewise.
8243         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8244         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8245         * regformats/i386/i386-linux.dat: Likewise.
8246         * regformats/i386/i386-mmx-linux.dat: Likewise.
8247         * regformats/i386/i386-mpx-linux.dat: Likewise.
8248         * regformats/i386/i386.dat: Likewise.
8249         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8250         * regformats/i386/x32-avx-linux.dat: Likewise.
8251         * regformats/i386/x32-linux.dat: Likewise.
8252         * regformats/tic6x-c62x-linux.dat: Likewise.
8253         * regformats/tic6x-c64x-linux.dat: Likewise.
8254         * regformats/tic6x-c64xp-linux.dat: Likewise.
8255         * regformats/regdat.sh: Parse feature marker.
8256
8257 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8258
8259         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8260         (tdesc_osabi_name): Likewise.
8261         * target-descriptions.c (tdesc_architecture_name): Add new
8262         function.
8263         (tdesc_osabi_name): Likewise.
8264
8265 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8266
8267         * common/tdesc.c (tdesc_predefined_type): Move to here.
8268         (tdesc_named_type): Likewise.
8269         (tdesc_create_vector): Likewise.
8270         (tdesc_create_struct): Likewise.
8271         (tdesc_set_struct_size): Likewise.
8272         (tdesc_create_union): Likewise.
8273         (tdesc_create_flags): Likewise.
8274         (tdesc_create_enum): Likewise.
8275         (tdesc_add_field): Likewise.
8276         (tdesc_add_typed_bitfield): Likewise.
8277         (tdesc_add_bitfield): Likewise.
8278         (tdesc_add_flag): Likewise.
8279         (tdesc_add_enum_value): Likewise.
8280         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8281         (struct tdesc_type_vector): Likewise.
8282         (struct tdesc_type_field): Likewise.
8283         (struct tdesc_type_with_fields): Likewise.
8284         (tdesc_create_enum): Add declaration.
8285         (tdesc_add_typed_bitfield): Likewise.
8286         (tdesc_add_enum_value): Likewise.
8287         * target-descriptions.c (tdesc_type_field): Move from here.
8288         (tdesc_type_builtin): Likewise.
8289         (tdesc_type_vector): Likewise.
8290         (tdesc_type_with_fields): Likewise.
8291         (tdesc_predefined_types): Likewise.
8292         (tdesc_named_type): Likewise.
8293         (tdesc_create_vector): Likewise.
8294         (tdesc_create_struct): Likewise.
8295         (tdesc_set_struct_size): Likewise.
8296         (tdesc_create_union): Likewise.
8297         (tdesc_create_flags): Likewise.
8298         (tdesc_create_enum): Likewise.
8299         (tdesc_add_field): Likewise.
8300         (tdesc_add_typed_bitfield): Likewise.
8301         (tdesc_add_bitfield): Likewise.
8302         (tdesc_add_flag): Likewise.
8303         (tdesc_add_enum_value): Likewise.
8304         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8305         (tdesc_add_typed_bitfield): Likewise.
8306         (tdesc_add_enum_value): Likewise.
8307
8308 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8309
8310         * common/tdesc.c (tdesc_feature::accept): Move to here.
8311         (tdesc_feature::operator==): Likewise.
8312         (tdesc_create_reg): Likewise.
8313         * common/tdesc.h (tdesc_type_kind): Likewise.
8314         (struct tdesc_type): Likewise.
8315         (struct tdesc_feature): Likewise.
8316         * regformats/regdat.sh: Create a feature.
8317         * target-descriptions.c (tdesc_type_kind): Move from here.
8318         (tdesc_type): Likewise.
8319         (tdesc_type_up): Likewise.
8320         (tdesc_feature): Likewise.
8321         (tdesc_create_reg): Likewise.
8322
8323 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8324
8325         * Makefile.in: Add arch/tdesc.c
8326         * common/tdesc.c: New file.
8327         * common/tdesc.h (tdesc_element_visitor): Move to here.
8328         (tdesc_element): Likewise.
8329         (tdesc_reg): Likewise.
8330         (tdesc_reg_up): Likewise.
8331         * regformats/regdef.h (reg): Add offset to constructors.
8332         * target-descriptions.c (tdesc_element_visitor): Move from here.
8333         (tdesc_element): Likewise.
8334         (tdesc_reg): Likewise.
8335         (tdesc_reg_up): Likewise.
8336
8337 2018-04-17  Tom Tromey  <tom@tromey.com>
8338
8339         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8340         discriminant field.
8341
8342 2018-04-17  Tom Tromey  <tom@tromey.com>
8343
8344         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8345
8346 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8347
8348         * symtab.c (print_symbol_info): Skip printing filename and line
8349         number when `last' is NULL.
8350         (symtab_symbol_info): Use empty string instead of NULL for first
8351         invocation of print_symbol_info.
8352         (rbreak_command): Pass NULL to `last' parameter of
8353         print_symbol_info.
8354
8355 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8356
8357         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8358         instead of nullptr.
8359
8360 2018-04-16  Pedro Alves  <palves@redhat.com>
8361
8362         * MAINTAINERS (sh): Remove.
8363         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8364         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8365         (ALLDEPFILES): Remove sh64-tdep.c.
8366         * NEWS: Mentions that support for SH-5/SH64 is removed.
8367         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8368         (sh*-*-openbsd*): Ditto.
8369         (sh64-*-elf*): Remove.
8370         (sh*): Remove.
8371         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8372         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8373         * sh-tdep.c: No longer include "sh64-tdep.h".
8374         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8375         * sh64-tdep.c, sh64-tdep.h: Remove files.
8376
8377 2018-04-16  Pedro Alves  <palves@redhat.com>
8378
8379         * MAINTAINERS: Remove m88k.
8380         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8381         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8382         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8383         * NEWS: Mention that support for m88k was removed.
8384         * configure.host (m88*-*-*): Remove support.
8385         * configure.nat (m88k-*-*): Remove support.
8386         * configure.tgt (m88*-*-openbsd*): Remove.
8387         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8388
8389 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8390
8391         * configure.tgt (x86_tobjs): New variable.
8392         (amd64_tobjs, i386_tobjs): Use it.
8393
8394 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8395
8396         * symtab.c (print_symbol_info): Precede the symbol definition by
8397         the line number when available.
8398         * NEWS: Advertise this enhancement.
8399
8400 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8401
8402         * NEWS (New options): announce set/show record btrace cpu.
8403         * btrace.c: Include record-btrace.h.
8404         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8405         the vendor is unknown.
8406         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8407         Maybe overwrite the btrace configuration's cpu.
8408         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8409         (btrace_fetch): Add cpu parameter.  Update callers.
8410         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8411         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8412         errata workarounds if the vendor is unknown.
8413         * python/py-record-btrace.c: Include record-btrace.h.
8414         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8415         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8416         * record-btrace.c (record_btrace_cpu_state_kind): New.
8417         (record_btrace_cpu): New.
8418         (set_record_btrace_cpu_cmdlist): New.
8419         (record_btrace_get_cpu): New.
8420         (require_btrace_thread, record_btrace_info)
8421         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8422         (cmd_set_record_btrace_cpu_none): New.
8423         (cmd_set_record_btrace_cpu_auto): New.
8424         (cmd_set_record_btrace_cpu): New.
8425         (cmd_show_record_btrace_cpu): New.
8426         (_initialize_record_btrace): Initialize set/show record btrace cpu
8427         commands.
8428         * record-btrace.h (record_btrace_get_cpu): New.
8429
8430 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8431
8432         * record.c (set_record_command): Fix typo in message.
8433
8434 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8435
8436         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8437
8438 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8439
8440         * infrun.c (process_event_stop_test): Call
8441         gdbarch_in_indirect_branch_thunk.
8442         * gdbarch.sh (in_indirect_branch_thunk): New.
8443         * gdbarch.c: Regenerated.
8444         * gdbarch.h: Regenerated.
8445         * x86-tdep.h: New.
8446         * x86-tdep.c: New.
8447         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8448         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8449         (ALLDEPFILES): Add x86-tdep.c.
8450         * arch-utils.h (default_in_indirect_branch_thunk): New.
8451         * arch-utils.c (default_in_indirect_branch_thunk): New.
8452         * i386-tdep: Include x86-tdep.h.
8453         (i386_in_indirect_branch_thunk): New.
8454         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8455         function.
8456         * amd64-tdep: Include x86-tdep.h.
8457         (amd64_in_indirect_branch_thunk): New.
8458         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8459
8460 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8461
8462         PR gdb/23053
8463         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8464         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8465         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8466         regression.
8467
8468 2018-04-12  Tom Tromey  <tom@tromey.com>
8469
8470         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8471         (rust_evaluate_subexp): Likewise.
8472
8473 2018-04-12  Pedro Alves  <palves@redhat.com>
8474
8475         * procfs.c (procfs_detach): Make forward declaration's prototype
8476         match definition's protototype.
8477         (proc_get_LDT_entry): Remove stale do_cleanups call.
8478
8479 2018-04-12  Pedro Alves  <palves@redhat.com>
8480
8481         * target.h (target_ops::to_has_exited): Delete.
8482         (target_has_exited): Delete.
8483         * target-delegates.c: Regenerate.
8484
8485 2018-04-11  Pedro Alves  <palves@redhat.com>
8486
8487         * target.c (fileio_fh_t::t): Add comment.
8488         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8489         (target_fileio_close): Handle a NULL target.
8490         (invalidate_fileio_fh): New.
8491         (target_close): Call it.
8492         * remote.c (remote_hostio_send_command): No longer check whether
8493         remote_desc is open.
8494
8495 2018-04-11  Pedro Alves  <palves@redhat.com>
8496
8497         * target.c (fileio_fh_t): Make it a named struct instead of a
8498         typedef.
8499         (fileio_fh_t::is_closed): New method.
8500         (DEF_VEC_O (fileio_fh_t)): Remove.
8501         (fileio_fhandles): Now a std::vector.
8502         (is_closed_fileio_fh): Delete.
8503         (acquire_fileio_fd): Adjust.  Rename parameters.
8504         (release_fileio_fd): Adjust.
8505         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8506         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8507         (target_fileio_close): Adjust.
8508
8509 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8510
8511         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8512         index.
8513
8514 2018-04-10  Pedro Alves  <palves@redhat.com>
8515
8516         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8517         (scoped_finish_thread_state): New class.
8518         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8519         cleanup.
8520         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8521         (fetch_inferior_event, normal_stop): Likewise.
8522         * thread.c (finish_thread_state_cleanup): Delete.
8523
8524 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8525             Pedro Alves  <palves@redhat.com>
8526
8527         * value.c: Include "selftest.h" and "common/array-view.h".
8528         (struct range) <operator ==>: New.
8529         (test_ranges_contain): New.
8530         (check_ranges_vector): New.
8531         (test_insert_into_bit_range_vector): New.
8532         (_initialize_values): Register selftests.
8533         * common/array-view.h (operator==, operator!=): New.
8534
8535 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8536
8537         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8538         an iterator.
8539         * inline-frame.c: Include <algorithm>.
8540         (struct inline_state): Add constructor.
8541         (inline_state_s): Remove.
8542         (DEF_VEC_O(inline_state_s)): Remove.
8543         (inline_states): Change type to std::vector.
8544         (find_inline_frame_state): Adjust to std::vector.
8545         (allocate_inline_frame_state): Remove.
8546         (clear_inline_frame_state): Adjust to std::vector.
8547         (skip_inline_frames): Adjust to std::vector.
8548
8549 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8550
8551         * tracepoint.h (struct trace_state_variable): Add constructor.
8552         <name>: Change type to std::string.
8553         * tracepoint.c (tsv_s): Remove.
8554         (DEF_VEC_O(tsv_s)): Remove.
8555         (tvariables): Change to std::vector.
8556         (create_trace_state_variable): Adjust to std::vector.
8557         (find_trace_state_variable): Likewise.
8558         (find_trace_state_variable_by_number): Likewise.
8559         (delete_trace_state_variable): Likewise.
8560         (trace_variable_command): Adjust to std::string.
8561         (delete_trace_variable_command): Likewise.
8562         (tvariables_info_1): Adjust to std::vector.
8563         (save_trace_state_variables): Likewise.
8564         (start_tracing): Likewise.
8565         (merge_uploaded_trace_state_variables): Adjust to std::vector
8566         and std::string.
8567         * target.h (struct target_ops)
8568         <to_download_trace_state_variable>: Pass reference to
8569         trace_state_variable.
8570         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8571         * target-delegates.c: Re-generate.
8572         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8573         (mi_tsv_deleted): Likewise.
8574         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8575         * remote.c (remote_download_trace_state_variable): Change
8576         pointer to reference and adjust.
8577         * make-target-delegates (parse_argtypes): Handle references.
8578         (write_function_header): Likewise.
8579         (munge_type): Likewise.
8580
8581 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8582
8583         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8584         string_view-selftests.c.
8585         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8586         testsuite.
8587         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8588         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8589         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8590         * unittests/basic_string_view/element_access/char/1.cc:
8591         Likewise.
8592         * unittests/basic_string_view/element_access/char/empty.cc:
8593         Likewise.
8594         * unittests/basic_string_view/element_access/char/front_back.cc:
8595         Likewise.
8596         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8597         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8598         Likewise.
8599         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8600         Likewise.
8601         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8602         Likewise.
8603         * unittests/basic_string_view/operations/compare/char/1.cc:
8604         Likewise.
8605         * unittests/basic_string_view/operations/compare/char/13650.cc:
8606         Likewise.
8607         * unittests/basic_string_view/operations/copy/char/1.cc:
8608         Likewise.
8609         * unittests/basic_string_view/operations/data/char/1.cc:
8610         Likewise.
8611         * unittests/basic_string_view/operations/find/char/1.cc:
8612         Likewise.
8613         * unittests/basic_string_view/operations/find/char/2.cc:
8614         Likewise.
8615         * unittests/basic_string_view/operations/find/char/3.cc:
8616         Likewise.
8617         * unittests/basic_string_view/operations/find/char/4.cc:
8618         Likewise.
8619         * unittests/basic_string_view/operations/rfind/char/1.cc:
8620         Likewise.
8621         * unittests/basic_string_view/operations/rfind/char/2.cc:
8622         Likewise.
8623         * unittests/basic_string_view/operations/rfind/char/3.cc:
8624         Likewise.
8625         * unittests/basic_string_view/operations/substr/char/1.cc:
8626         Likewise.
8627         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8628         * unittests/string_view-selftests.c: New file.
8629
8630 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8631
8632         * unittests/basic_string_view/capacity/1.cc: New file.
8633         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8634         * unittests/basic_string_view/cons/char/1.cc: New file.
8635         * unittests/basic_string_view/cons/char/2.cc: New file.
8636         * unittests/basic_string_view/cons/char/3.cc: New file.
8637         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8638         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8639         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8640         * unittests/basic_string_view/element_access/char/1.cc: New file.
8641         * unittests/basic_string_view/element_access/char/2.cc: New file.
8642         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8643         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8644         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8645         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8646         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8647         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8648         * unittests/basic_string_view/include.cc: New file.
8649         * unittests/basic_string_view/inserters/char/1.cc: New file.
8650         * unittests/basic_string_view/inserters/char/2.cc: New file.
8651         * unittests/basic_string_view/inserters/char/3.cc: New file.
8652         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8653         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8654         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8655         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8656         * unittests/basic_string_view/literals/types.cc: New file.
8657         * unittests/basic_string_view/literals/values.cc: New file.
8658         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8659         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8660         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8661         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8662         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8663         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8664         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8665         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8666         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8667         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8668         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8669         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8670         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8671         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8672         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8673         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8674         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8675         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8676         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8677         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8678         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8679         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8680         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8681         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8682         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8683         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8684         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8685         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8686         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8687         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8688         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8689         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8690         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8691         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8692         * unittests/basic_string_view/operators/char/2.cc: New file.
8693         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8694         * unittests/basic_string_view/range_access/char/1.cc: New file.
8695         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8696         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8697         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8698         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8699         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8700         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8701         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8702         * unittests/basic_string_view/typedefs.cc: New file.
8703         * unittests/basic_string_view/types/1.cc: New file.
8704
8705 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8706
8707         * common/gdb_string_view.h: Remove libstdc++ implementation
8708         details, adjust to gdb reality.
8709         * common/gdb_string_view.tcc: Likewise.
8710         * cli/cli-script.c (struct string_view): Remove.
8711         (user_args) <m_args>: Change element type to gdb::string_view.
8712         (user_args::insert_args): Adjust.
8713
8714 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8715
8716         * common/gdb_string_view.h: New file.
8717         * common/gdb_string_view.tcc: New file.
8718
8719 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8720
8721         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8722         * configure: Re-generate.
8723
8724 2018-04-09  Pedro Alves  <palves@redhat.com>
8725
8726         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8727         (set_target_gdbarch): Call
8728         gdb::observers::architecture_changed.notify instead of
8729         observer_notify_architecture_changed.
8730
8731 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8732
8733         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8734         (do_restore_current_traceframe_cleanup): Remove.
8735         (restore_current_traceframe_cleanup_dtor): Remove.
8736         (make_cleanup_restore_current_traceframe): Remove.
8737         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8738         New.
8739         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8740         * infrun.c (fetch_inferior_event): Use
8741         scoped_restore_current_traceframe.
8742
8743 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8744
8745         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8746         Remove.
8747         <n_allocated_type_units>: Remove.
8748         <all_type_units>: Change to std::vector.
8749         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8750         to std::vector change.
8751         (dwarf2_per_objfile::get_cutu): Likewise.
8752         (dwarf2_per_objfile::get_tu): Likewise.
8753         (create_signatured_type_table_from_index): Likewise.
8754         (create_signatured_type_table_from_debug_names): Likewise.
8755         (dw2_symtab_iter_next): Likewise.
8756         (dw2_print_stats): Likewise.
8757         (dw2_expand_all_symtabs): Likewise.
8758         (dw2_expand_marked_cus): Likewise.
8759         (dw2_debug_names_iterator::next): Likewise.
8760         (dwarf2_initialize_objfile): Likewise.
8761         (add_signatured_type_cu_to_table): Likewise.
8762         (create_all_type_units): Likewise.
8763         (add_type_unit): Likewise.
8764         (struct tu_abbrev_offset): Add constructor.
8765         (build_type_psymtabs_1): Adjust to std::vector change.
8766         (print_tu_stats): Likewise.
8767         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8768         (write_debug_names): Likewise.
8769
8770 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8771
8772         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8773         Make an std::vector.
8774         <n_comp_units>: Remove.
8775         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8776         to std::vector change.
8777         (dwarf2_per_objfile::get_cutu): Likewise.
8778         (dwarf2_per_objfile::get_cu): Likewise.
8779         (create_cus_from_index): Likewise.
8780         (create_addrmap_from_index): Likewise.
8781         (create_addrmap_from_aranges): Likewise.
8782         (dwarf2_read_index): Likewise.
8783         (dw2_find_last_source_symtab): Likewise.
8784         (dw2_map_symtabs_matching_filename): Likewise.
8785         (dw2_symtab_iter_next): Likewise.
8786         (dw2_print_stats): Likewise.
8787         (dw2_expand_all_symtabs): Likewise.
8788         (dw2_expand_symtabs_with_fullname): Likewise.
8789         (dw2_expand_marked_cus): Likewise.
8790         (dw2_map_symbol_filenames): Likewise.
8791         (create_cus_from_debug_names): Likewise.
8792         (dwarf2_read_debug_names): Likewise.
8793         (dw2_debug_names_iterator::next): Likewise.
8794         (dwarf2_initialize_objfile): Likewise.
8795         (set_partial_user): Likewise.
8796         (dwarf2_build_psymtabs_hard): Likewise.
8797         (read_comp_units_from_section): Remove arguments, adjust to
8798         std::vector change.
8799         (create_all_comp_units): Adjust to std::vector and
8800         read_comp_units_from_section changes.
8801         (dwarf2_find_containing_comp_unit): Adjust to std::vector
8802         change.
8803         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8804         (psyms_seen_size): Likewise.
8805         (write_gdbindex): Likewise.
8806         (write_debug_names): Likewise.
8807
8808 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8809
8810         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
8811         with dwarf2_per_objfile.
8812         (create_cus_from_index): Likewise.
8813         (create_signatured_type_table_from_index): Likewise.
8814         (dwarf2_read_index): Likewise.
8815         (dwarf2_initialize_objfile): Likewise.
8816         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
8817         per_cu rather than get_dwarf2_per_objfile.
8818
8819 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8820
8821         * dwarf2read.h (struct signatured_type): Forward declare.
8822         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
8823         New methods.
8824         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8825         (dw2_get_cutu): ...this.
8826         (dwarf2_per_objfile::get_cu): Rename from...
8827         (dw2_get_cu): ...this.
8828         (dwarf2_per_objfile::get_tu): New.
8829         (create_addrmap_from_index): Adjust.
8830         (create_addrmap_from_aranges): Adjust.
8831         (dw2_find_last_source_symtab): Adjust.
8832         (dw2_map_symtabs_matching_filename): Adjust.
8833         (dw2_symtab_iter_next): Adjust.
8834         (dw2_print_stats): Adjust.
8835         (dw2_expand_all_symtabs): Adjust.
8836         (dw2_expand_symtabs_with_fullname): Adjust.
8837         (dw2_expand_marked_cus): Adjust.
8838         (dw_expand_symtabs_matching_file_matcher): Adjust.
8839         (dw2_map_symbol_filenames): Adjust.
8840         (dw2_debug_names_iterator::next): Adjust.
8841         (dwarf2_initialize_objfile): Adjust.
8842         (set_partial_user): Adjust.
8843         (dwarf2_build_psymtabs_hard): Adjust.
8844
8845 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8846
8847         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8848         Remove unused variables.
8849         (dw2_map_symtabs_matching_filename): Likewise.
8850         (dwarf2_record_block_ranges): Likewise.
8851         (dwarf2_read_addr_index): Likewise.
8852         (follow_die_offset): Likewise.
8853
8854 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8855
8856         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8857         to symbol_file_add_main.
8858
8859 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8860
8861         PR mi/22299
8862         * mi/mi-console.c (do_fputc_async_safe): New.
8863         (mi_console_file::write_async_safe): New.
8864         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8865         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8866         New.
8867         * ui-file.c (ui_file::putstrn): Adjust call to
8868         fputstrn_unfiltered.
8869         * utils.c (printchar): Replace do_fputs and do_fprintf
8870         parameters by do_fputc.
8871         (fputstr_filtered): Adjust call to printchar.
8872         (fputstr_unfiltered): Likewise.
8873         (fputstrn_filtered): Likewise.
8874         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8875         printchar.
8876         * utils.h (do_fputc_ftype): New typedef.
8877         (fputstrn_unfiltered): Add do_fputc parameter.
8878
8879 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8880
8881         * regformats/i386/i386-avx.dat: Remove.
8882
8883 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8884
8885         PR gdb/22979
8886         * amd64-tdep.c (amd64_none_init_abi): New function.
8887         (amd64_x32_none_init_abi): New function.
8888         (_initialize_amd64_tdep): Register handlers for x86-64 and
8889         x64_32 with GDB_OSABI_NONE.
8890         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8891         GDB_OSABI_NONE osabi.
8892
8893 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8894
8895         PR gdb/22980
8896         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8897         GDB_OSABI_NONE.
8898         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8899         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8900
8901 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8902
8903         * common/byte-vector.h (char_vector): New type.
8904         * target.h (target_read_alloc): Return
8905         gdb::optional<byte_vector>.
8906         (target_read_stralloc): Return gdb::optional<char_vector>.
8907         (target_get_osdata): Return gdb::optional<char_vector>.
8908         * target.c (target_read_alloc_1): Templatize.  Replacement
8909         manual memory management with vector.
8910         (target_read_alloc): Change return type, adjust.
8911         (target_read_stralloc): Change return type, adjust.
8912         (target_get_osdata): Change return type, adjust.
8913         * auxv.c (struct auxv_info) <length>: Remove.
8914         <data>: Change type to gdb::optional<byte_vector>.
8915         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8916         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8917         (target_auxv_search): Adjust.
8918         (fprint_target_auxv): Adjust.
8919         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8920         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8921         (linux_make_corefile_notes): Adjust.
8922         * osdata.c (get_osdata): Adjust.
8923         * remote.c (remote_get_threads_with_qxfer): Adjust.
8924         (remote_memory_map): Adjust.
8925         (remote_traceframe_info): Adjust.
8926         (btrace_read_config): Adjust.
8927         (remote_read_btrace): Adjust.
8928         (remote_pid_to_exec_file): Adjust.
8929         * solib-aix.c (solib_aix_get_library_list): Adjust.
8930         * solib-dsbt.c (decode_loadmap): Don't free buf.
8931         (dsbt_get_initial_loadmaps): Adjust.
8932         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8933         * solib-target.c (solib_target_current_sos): Adjust.
8934         * tracepoint.c (sdata_make_value): Adjust.
8935         * xml-support.c (xinclude_start_include): Adjust.
8936         (xml_fetch_content_from_file): Adjust.
8937         * xml-support.h (xml_fetch_another): Change return type.
8938         (xml_fetch_content_from_file): Change return type.
8939         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8940         * xml-tdesc.c (file_read_description_xml): Adjust.
8941         (fetch_available_features_from_target): Change return type.
8942         (target_fetch_description_xml): Adjust.
8943         (target_read_description_xml): Adjust.
8944
8945 2018-04-06  Tom Tromey  <tom@tromey.com>
8946
8947         * value.c (~value): Update.
8948         (struct value) <contents>: Now unique_xmalloc_ptr.
8949         (value_contents_bits_eq, allocate_value_contents)
8950         (value_contents_raw, value_contents_all_raw)
8951         (value_contents_for_printing, value_contents_for_printing_const)
8952         (set_value_enclosing_type): Update.
8953
8954 2018-04-06  Tom Tromey  <tom@tromey.com>
8955
8956         * value.c (range_s): Remove typedef, VEC.
8957         (struct range): Add operator<.
8958         (range_lessthan): Remove.
8959         (ranges_contain): Change type.
8960         (~value): Update.
8961         (struct value) <unavailable, optimized_out>: Now std::vector.
8962         (value_entirely_available)
8963         (value_entirely_covered_by_range_vector)
8964         (value_entirely_unavailable, value_entirely_optimized_out):
8965         Update.
8966         (insert_into_bit_range_vector): Change argument type.
8967         (find_first_range_overlap): Likewise.
8968         (struct ranges_and_idx, value_contents_bits_eq)
8969         (require_not_optimized_out, require_available): Update.
8970         (ranges_copy_adjusted): Change argument types.
8971         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8972
8973 2018-04-06  Tom Tromey  <tom@tromey.com>
8974
8975         * value.c (~value): Update.
8976         (struct value) <parent>: Now a value_ref_ptr.
8977         (value_parent, set_value_parent, value_address, value_copy):
8978         Update.
8979
8980 2018-04-06  Tom Tromey  <tom@tromey.com>
8981
8982         * value.c (struct value): Add constructor, destructor, and member
8983         initializers.
8984         (allocate_value_lazy, value_decref): Update.
8985
8986 2018-04-06  Tom Tromey  <tom@tromey.com>
8987
8988         * value.c (struct value) <released, next>: Remove.
8989         (all_values): Now a std::vector.
8990         (allocate_value_lazy): Update.
8991         (value_next): Remove.
8992         (value_mark, value_free_to_mark, release_value)
8993         (value_release_to_mark): Update.
8994
8995 2018-04-06  Tom Tromey  <tom@tromey.com>
8996
8997         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8998         (free_value_chain): Remove.
8999         * value.c (free_value_chain): Remove.
9000         (value_release_to_mark): Return a std::vector.
9001         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9002         std::vector.
9003         (check_condition): Update.
9004         * eval.c (fetch_subexp_value): Change "val_chain" to a
9005         std::vector.
9006         * breakpoint.c (update_watchpoint): Update.
9007         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9008
9009 2018-04-06  Tom Tromey  <tom@tromey.com>
9010
9011         * value.h (free_all_values): Remove.
9012         * value.c (free_all_values): Remove.
9013
9014 2018-04-06  Tom Tromey  <tom@tromey.com>
9015
9016         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9017         (value_history_chain, value_history_count): Remove.
9018         (value_history): New global.
9019         (record_latest_value, access_value_history, show_values)
9020         (preserve_values): Update.
9021
9022 2018-04-06  Tom Tromey  <tom@tromey.com>
9023
9024         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9025         * varobj.c (varobj_set_display_format, varobj_set_value)
9026         (install_default_visualizer, construct_visualizer)
9027         (install_new_value, ~varobj, varobj_get_value_type)
9028         (my_value_of_variable, varobj_editable_p): Update.
9029         * c-varobj.c (c_describe_child, c_value_of_variable)
9030         (cplus_number_of_children, cplus_describe_child): Update.
9031         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9032         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9033         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9034
9035 2018-04-06  Tom Tromey  <tom@tromey.com>
9036
9037         * printcmd.c (last_examine_address): Change type to
9038         value_ref_ptr.
9039         (do_examine, x_command): Update.
9040
9041 2018-04-06  Tom Tromey  <tom@tromey.com>
9042
9043         * value.c (release_value): Update.
9044         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9045         (struct bpstats) <val>: Now a value_ref_ptr.
9046         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9047         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9048         (~watchpoint, print_it_watchpoint, watch_command_1)
9049         (invalidate_bp_value_on_memory_change): Update.
9050
9051 2018-04-06  Tom Tromey  <tom@tromey.com>
9052
9053         * varobj.c (varobj_clear_saved_item)
9054         (update_dynamic_varobj_children, install_new_value, ~varobj):
9055         Update.
9056         * value.h (value_incref): Move declaration earlier.
9057         (value_decref): Rename from value_free.
9058         (struct value_ref_policy): New.
9059         (value_ref_ptr): New typedef.
9060         (struct value_deleter): Remove.
9061         (gdb_value_up): Remove typedef.
9062         (release_value): Change return type.
9063         (release_value_or_incref): Remove.
9064         * value.c (set_value_parent): Update.
9065         (value_incref): Change return type.
9066         (value_decref): Rename from value_free.
9067         (value_free_to_mark, free_all_values, free_value_chain): Update.
9068         (release_value): Return value_ref_ptr.
9069         (release_value_or_incref): Remove.
9070         (record_latest_value, set_internalvar, clear_internalvar):
9071         Update.
9072         * stack.c (info_frame_command): Don't call value_free.
9073         * python/py-value.c (valpy_dealloc, valpy_new)
9074         (value_to_value_object): Update.
9075         * printcmd.c (do_examine): Update.
9076         * opencl-lang.c (lval_func_free_closure): Update.
9077         * mi/mi-main.c (register_changed_p): Don't call value_free.
9078         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9079         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9080         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9081         value_free.
9082         * guile/scm-value.c (vlscm_free_value_smob)
9083         (vlscm_scm_from_value): Update.
9084         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9085         (frame_unwind_register_unsigned, get_frame_register_bytes)
9086         (put_frame_register_bytes): Don't call value_free.
9087         * findvar.c (address_from_register): Don't call value_free.
9088         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9089         * dwarf2loc.c (entry_data_value_free_closure)
9090         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9091         (dwarf2_evaluate_loc_desc_full): Update.
9092         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9093         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9094         (~watchpoint, watch_command_1)
9095         (invalidate_bp_value_on_memory_change): Update.
9096         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9097
9098 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9099
9100         PR gdb/23022
9101         * warning.m4: Add -Wno-error=deprecated-register.
9102         * configure: Re-generate.
9103
9104 2018-04-05  Tom Tromey  <tom@tromey.com>
9105
9106         * linespec.h: Remove include of "vec.h".
9107
9108 2018-04-05  Tom Tromey  <tom@tromey.com>
9109
9110         * linespec.c (typep): Remove typedef.
9111         (find_methods, find_superclass_methods): Take a std::vector.
9112         (find_method): Use std::vector.
9113
9114 2018-04-05  Tom Tromey  <tom@tromey.com>
9115
9116         * utils.c (compare_strings): Remove.
9117         * utils.h (compare_strings): Remove.
9118         * objc-lang.h (find_imps): Update.
9119         * objc-lang.c (find_methods): Take a std::vector.
9120         (uniquify_strings, find_imps): Likewise.
9121         * linespec.c (find_methods): Take a std::vector.
9122         (decode_objc): Use std::vector.
9123         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9124         a std::vector.
9125         (find_method, find_function_symbols): Use std::vector.
9126
9127 2018-04-05  Tom Tromey  <tom@tromey.com>
9128
9129         * completer.c (completion_tracker::completion_tracker): Remove
9130         cast.
9131         (completion_tracker::discard_completions): Likewise.
9132         * breakpoint.c (ambiguous_names_p): Remove cast.
9133         * ada-lang.c (_initialize_ada_language): Remove cast.
9134         * utils.h (streq): Update.
9135         (streq_hash): Add new declaration.
9136         * utils.c (streq): Return bool.
9137         (streq_hash): New function.
9138
9139 2018-04-05  Tom Tromey  <tom@tromey.com>
9140
9141         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9142         Remove a string copy.
9143
9144 2018-04-05  Tom Tromey  <tom@tromey.com>
9145
9146         * linespec.c (filter_results): Use std::vector.
9147         (decode_line_2, decode_line_full): Update.
9148
9149 2018-04-05  Tom Tromey  <tom@tromey.com>
9150
9151         * linespec.c (canonical_to_fullform): Return std::string.
9152         (filter_results): Update.
9153         (struct decode_line_2_item): Add constructor.
9154         <fullform, displayform>: Now std::string.
9155         (decode_line_2_compare_items): Now a std::sort comparator.
9156         (decode_line_2): Update.
9157
9158 2018-04-05  Tom Tromey  <tom@tromey.com>
9159
9160         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9161         (unexpected_linespec_error): Update.
9162         (linespec_parse_basic, parse_linespec): Update.
9163
9164 2018-04-05  Tom Tromey  <tom@tromey.com>
9165
9166         * linespec.c (linespec_parse_basic): Reindent.
9167
9168 2018-04-05  Tom Tromey  <tom@tromey.com>
9169
9170         * minsyms.h (iterate_over_minimal_symbols): Update.
9171         * minsyms.c (iterate_over_minimal_symbols): Take a
9172         gdb::function_view.
9173         * linespec.c (struct collect_minsyms): Remove.
9174         (compare_msyms): Now a std::sort comparator.
9175         (add_minsym): Add parameters.
9176         (search_minsyms_for_name): Update.  Use std::vector.
9177
9178 2018-04-03  Tom Tromey  <tom@tromey.com>
9179
9180         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9181         gdb::byte_vector.
9182
9183 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9184
9185         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9186
9187 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9188
9189         PR gdb/16959
9190         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9191         printing static type.
9192
9193 2018-04-01  Tom Tromey  <tom@tromey.com>
9194
9195         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9196         (rs6000_xfer_shared_libraries): Update.
9197
9198 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9199
9200         * common/gdb_vecs.h (char_ptr): Remove.
9201         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9202
9203 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9204
9205         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9206         with std::vector.
9207         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9208
9209 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9210
9211         * tracepoint.h (struct uploaded_tp): Initialize fields.
9212         <actions, step_actions, cmd_strings>: Change type to
9213         std::vector<char *>.
9214         * tracepoint.c (get_uploaded_tp): Allocate with new.
9215         (free_uploaded_tps): Free with delete.
9216         (parse_tracepoint_definition): Adjust to std::vector change.
9217         * breakpoint.c (read_uploaded_action): Likewise.
9218         (create_tracepoint_from_upload): Likewise.
9219         * ctf.c (ctf_write_uploaded_tp): Likewise.
9220         (SET_ARRAY_FIELD): Likewise.
9221         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9222
9223 2018-03-30  Tom Tromey  <tom@tromey.com>
9224
9225         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9226         std::unique_ptr.
9227         (svr4_keep_data_in_core): Update.
9228         (svr4_read_so_list): Update.
9229
9230 2018-03-30  Tom Tromey  <tom@tromey.com>
9231
9232         * windows-nat.c (handle_output_debug_string, handle_exception):
9233         Update.
9234         * target.h (target_read_string): Update.
9235         * target.c (target_read_string): Change "string" to
9236         unique_xmalloc_ptr.
9237         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9238         Update.
9239         * solib-frv.c (frv_current_sos): Update.
9240         * solib-dsbt.c (dsbt_current_sos): Update.
9241         * solib-darwin.c (darwin_current_sos): Update.
9242         * linux-thread-db.c (inferior_has_bug): Update.
9243         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9244         Update.  Remove alloca.
9245         * ada-lang.c (ada_main_name): Update.
9246
9247 2018-03-30  Tom Tromey  <tom@tromey.com>
9248
9249         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9250         (struct dwo_file_deleter): New.
9251         (dwo_file_up): New typedef.
9252         (open_and_init_dwo_file): Use dwo_file_up.
9253         (free_dwo_file_cleanup): Remove.
9254
9255 2018-03-30  Tom Tromey  <tom@tromey.com>
9256
9257         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9258         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9259
9260 2018-03-30  Tom Tromey  <tom@tromey.com>
9261
9262         * dwarf2read.c (class free_cached_comp_units): New class.
9263         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9264         (free_cached_comp_units): Remove function.
9265
9266 2018-03-30  Tom Tromey  <tom@tromey.com>
9267
9268         * utils.h (make_cleanup_unpush_target): Remove.
9269         * inf-ptrace.c (struct target_unpusher): New.
9270         (target_unpush_up) New typedef.
9271         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9272         target_unpush_up.
9273         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9274
9275 2018-03-27  Tom Tromey  <tom@tromey.com>
9276
9277         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9278
9279 2018-03-27  Pedro Alves  <palves@redhat.com>
9280             Tom Tromey  <tom@tromey.com>
9281
9282         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9283         destructor.  Now a class.
9284         (gdb_readline_wrapper_cleanup): Remove function.
9285         (gdb_readline_wrapper): Remove cleanups.
9286
9287 2018-03-27  Tom Tromey  <tom@tromey.com>
9288
9289         * typeprint.h (struct type_print_options) <local_typedefs,
9290         global_typedefs>: Remove "struct" keyword.
9291         (class typedef_hash_table): New class.
9292         (recursively_update_typedef_hash, add_template_parameters)
9293         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9294         (find_typedef_in_hash): Don't declare.
9295         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9296         (typedef_hash_table::recursively_update): Rename from
9297         recursively_update_typedef_hash.  Now a member.
9298         (typedef_hash_table::add_template_parameters): Rename from
9299         add_template_parameters.  Now a member.
9300         (typedef_hash_table::typedef_hash_table): Now a constructor;
9301         rename from create_typedef_hash.
9302         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9303         rename from free_typedef_hash.
9304         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9305         (do_free_global_table): Remove.
9306         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9307         from copy_type_recursive.
9308         (create_global_typedef_table): Remove.
9309         (typedef_hash_table::find_global_typedef): Now a member of
9310         typedef_hash_table.
9311         (typedef_hash_table::find_typedef): Rename from
9312         find_typedef_in_hash; now a member.
9313         (whatis_exp): Update.
9314         * extension.h (struct ext_lang_type_printers): Add constructor and
9315         destructor.
9316         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9317         declare.
9318         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9319         Now a constructor; rename from start_ext_lang_type_printers.
9320         (ext_lang_type_printers): Now a destructor; rename from
9321         free_ext_lang_type_printers.
9322         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9323         Update.
9324         (c_type_print_base_struct_union): Update.  Remove cleanups.
9325
9326 2018-03-27  Tom Tromey  <tom@tromey.com>
9327
9328         * dwarf-index-write.c: Include <cmath>.
9329
9330 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9331
9332         * NEWS: Add entry describing new "set|show varsize-limit" command.
9333         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9334         command.
9335         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9336         "set variable".
9337
9338 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9339
9340         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9341         dwarf-index-write.c
9342         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9343         * dwarf-index-common.c: New file.
9344         * dwarf-index-common.h: New file.
9345         * dwarf-index-write.c: New file.
9346         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9347         (struct dwarf2_section_info): Move from here.
9348         (dwarf2_section_info_def): Likewise.
9349         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9350         (offset_type): Likewise.
9351         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9352         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9353         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9354         (byte_swap): Likewise.
9355         (MAYBE_SWAP): Likewise.
9356         (dwarf2_per_cu_ptr): Likewise.
9357         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9358         (struct tu_stats): Likewise.
9359         (struct dwarf2_per_objfile): Likewise.
9360         (struct dwarf2_per_cu_data): Likewise.
9361         (struct signatured_type): Likewise.
9362         (sig_type_ptr): Likewise.
9363         (DEF_VEC_P (sig_type_ptr)): Likewise.
9364         (INDEX4_SUFFIX): Likewise.
9365         (INDEX5_SUFFIX): Likewise.
9366         (DEBUG_STR_SUFFIX): Likewise.
9367         (dwarf2_read_section): Make non-static.
9368         (mapped_index_string_hash): Move from here.
9369         (dwarf5_djb_hash): Likewise.
9370         (file_write): Likewise.
9371         (class data_buf): Likewise.
9372         (struct symtab_index_entry): Likewise.
9373         (struct mapped_symtab): Likewise.
9374         (find_slot): Likewise.
9375         (hash_expand): Likewise.
9376         (add_index_entry): Likewise.
9377         (uniquify_cu_indices): Likewise.
9378         (class c_str_view): Likewise.
9379         (class c_str_view_hasher): Likewise.
9380         (class vector_hasher): Likewise.
9381         (write_hash_table): Likewise.
9382         (psym_index_map): Likewise.
9383         (struct addrmap_index_data): Likewise.
9384         (add_address_entry): Likewise.
9385         (add_address_entry_worker): Likewise.
9386         (write_address_map): Likewise.
9387         (symbol_kind): Likewise.
9388         (write_psymbols): Likewise.
9389         (struct signatured_type_index_data): Likewise.
9390         (write_one_signatured_type): Likewise.
9391         (recursively_count_psymbols): Likewise.
9392         (recursively_write_psymbols): Likewise.
9393         (class debug_names): Likewise.
9394         (check_dwarf64_offsets): Likewise.
9395         (psyms_seen_size): Likewise.
9396         (write_gdbindex): Likewise.
9397         (write_debug_names): Likewise.
9398         (assert_file_size): Likewise.
9399         (write_psymtabs_to_index): Likewise.
9400         (save_gdb_index_command): Likewise.
9401         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9402         command.
9403         * dwarf2read.h: New file.
9404
9405 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9406
9407         PR gdb/22670
9408         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9409         symbol name if the CU's language stores symbol names in linkage
9410         format.
9411         * language.h (struct language_defn)
9412         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9413         all instances of this struct.
9414
9415 2018-03-26  Tom Tromey  <tom@tromey.com>
9416
9417         * stack.c (backtrace_command_1): Remove verbose code.
9418
9419 2018-03-26  Tom Tromey  <tom@tromey.com>
9420
9421         * python/py-framefilter.c (py_print_type): Don't catch
9422         exceptions.  Return void.
9423         (py_print_value): Likewise.
9424         (py_print_single_arg): Likewise.
9425         (enumerate_args): Don't catch exceptions.
9426         (py_print_args): Likewise.
9427         (py_print_frame): Likewise.
9428         (gdbpy_apply_frame_filter): Catch exceptions here.
9429
9430 2018-03-26  Tom Tromey  <tom@tromey.com>
9431
9432         * stack.c (_initialize_stack): Remove trailing newlines from help
9433         text.  Add "Usage" line to "backtrace" help.
9434
9435 2018-03-26  Tom Tromey  <tom@tromey.com>
9436
9437         PR python/16486:
9438         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9439
9440 2018-03-26  Tom Tromey  <tom@tromey.com>
9441
9442         * python/py-framefilter.c (py_print_single_arg): Return
9443         EXT_LANG_BT_ERROR from catch.
9444
9445 2018-03-26  Tom Tromey  <tom@tromey.com>
9446
9447         PR backtrace/15584:
9448         * stack.c (backtrace_command_1): Move some code into no-filters
9449         "if".
9450
9451 2018-03-26  Tom Tromey  <tom@tromey.com>
9452
9453         * python/py-framefilter.c (throw_quit_or_print_exception): New
9454         function.
9455         (gdbpy_apply_frame_filter): Use it.
9456
9457 2018-03-26  Tom Tromey  <tom@tromey.com>
9458
9459         PR cli/17716:
9460         * python/py-framefilter.c (py_print_type, py_print_value)
9461         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9462         RETURN_MASK_ERROR.
9463
9464 2018-03-26  Tom Tromey  <tom@tromey.com>
9465
9466         * python/py-framefilter.c (enumerate_args): Use
9467         gdb::unique_xmalloc_ptr.
9468
9469 2018-03-26  Tom Tromey  <tom@tromey.com>
9470
9471         * python/py-framefilter.c (py_print_frame): Return
9472         EXT_LANG_BT_OK.
9473         (gdbpy_apply_frame_filter): Update comment.
9474         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9475         Remove.
9476         <EXT_LANG_BT_NO_FILTERS>: Change value.
9477
9478 2018-03-26  Tom Tromey  <tom@tromey.com>
9479
9480         PR backtrace/15582:
9481         * stack.c (backtrace_command): Parse "hide" argument.
9482         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9483         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9484         constant.
9485
9486 2018-03-26  Tom Tromey  <tom@tromey.com>
9487
9488         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9489         add "flags".
9490         (backtrace_command): Remove "fulltrace", add "flags".
9491
9492 2018-03-26  Tom Tromey  <tom@tromey.com>
9493
9494         * stack.c (backtrace_command): Rewrite command line parsing.
9495
9496 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9497
9498         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9499
9500 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9501
9502         * filename-seen-cache.h: Add include guard.
9503
9504 2018-03-26  Keith Seitz  <keiths@redhat.com>
9505
9506         * symfile.c (place_section): Remove "struct" from section_addr_info
9507         in comment.
9508         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9509         "struct" keyword from section_addr_info.
9510
9511 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9512
9513         * regformats/regdef.h (reg): Add constructors.
9514
9515 2018-03-25  Pedro Alves  <palves@redhat.com>
9516
9517         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9518         if then/else bodies in var_func_name extraction.
9519
9520 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9521
9522         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9523         lookup_minimal_symbol() to find symbol entry.
9524         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9525
9526 2018-03-23  Keith Seitz  <keiths@redhat.com>
9527
9528         PR c++/22968
9529         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9530         nested type definitions for C++, too.
9531
9532 2018-03-23  Tom Tromey  <tom@tromey.com>
9533
9534         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9535         a typedef.
9536         (macho_register_oso): Remove.
9537         (macho_symtab_read): Take a std::vector.
9538         (oso_el_compare_name): Now a std::sort comparator.
9539         (macho_symfile_read_all_oso): Take a std::vector.
9540         (macho_symfile_read): Use std::vector.  Remove cleanups.
9541
9542 2018-03-22  Tom Tromey  <tom@tromey.com>
9543
9544         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9545         (record_full_goto_bookmark): Use std::string.
9546
9547 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9548
9549         PR tdep/18295
9550         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9551         a single mask.
9552
9553 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9554
9555         * rs6000-tdep.c (store_insn_p): New function.
9556         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9557         and cr_reg to their unshifted values. Use store_insn_p to
9558         match LR saves using either R1 or fdata->alloca_reg. Use
9559         store_insn_p to match CR saves. Set alloca_reg_offset
9560         when alloca_reg and framep are set. Remove lr_reg shift
9561         when assigning to fdata->lr_register.
9562
9563 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9564
9565         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9566         command line args instead of emitting a warning.
9567
9568 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9569
9570         * tracepoint.h (struct static_tracepoint_marker): Initialize
9571         fields, define default constructor, move constructor and move
9572         assignment, disable the rest.
9573         <str_id, extra>: Make std::string.
9574         (release_static_tracepoint_marker): Remove.
9575         (free_current_marker): Remove.
9576         * tracepoint.c (free_current_marker): Remove.
9577         (parse_static_tracepoint_marker_definition): Adjust to
9578         std::string, use new hex2str overload.
9579         (release_static_tracepoint_marker): Remove.
9580         (print_one_static_tracepoint_marker): Get marker by reference
9581         and adjust to std::string.
9582         (info_static_tracepoint_markers_command): Adjust to std::vector
9583         changes
9584         * target.h (static_tracepoint_marker_p): Remove typedef.
9585         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9586         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9587         bool.
9588         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9589         * target-debug.h
9590         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9591         (target_debug_print_std_vector_static_tracepoint_marker): New.
9592         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9593         to...
9594         (target_debug_print_static_tracepoint_marker_p): ... this.
9595         * target-delegates.c: Re-generate.
9596         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9597         Make std::string.
9598         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9599         (decode_static_tracepoint_spec): Adjust to std::vector.
9600         (tracepoint_print_one_detail): Adjust to std::string.
9601         (strace_marker_decode_location): Adjust to std::string.
9602         (update_static_tracepoint): Adjust to std::string, remove call
9603         to release_static_tracepoint_marker.
9604         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9605         Adjust to std::vector.
9606         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9607         (remote_static_tracepoint_markers_by_strid): Adjust to
9608         std::vector.
9609         * common/rsp-low.h (hex2str): New overload with explicit count
9610         of bytes.
9611         * common/rsp-low.c (hex2str): New overload with explicit count
9612         of bytes.
9613         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9614         (_initialize_rsp_low_selftests): Add test_hex2str test.
9615         * unittests/tracepoint-selftests.c
9616         (test_parse_static_tracepoint_marker_definition): Adjust to
9617         std::string.
9618
9619 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9620
9621         * tracepoint.c (parse_static_tracepoint_marker_definition):
9622         Consider case where the definition is followed by more
9623         definitions.
9624         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9625         tracepoint-selftests.c.
9626         * unittests/tracepoint-selftests.c: New.
9627
9628 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9629
9630         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9631         Carvalho.
9632
9633 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9634
9635         * symtab.c (find_pc_sect_line): fixed indentation.
9636
9637 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9638
9639         * symtab.c (find_pc_sect_line): now uses binary search.
9640
9641 2018-03-19  Tom Tromey  <tom@tromey.com>
9642
9643         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9644         "IDENT" production.
9645
9646 2018-03-19  Pedro Alves  <palves@redhat.com>
9647             Tom Tromey  <tom@tromey.com>
9648
9649         * unittests/observable-selftests.c: New file.
9650         * common/observable.h: New file.
9651         * observable.h: New file.
9652         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9653         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9654         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9655         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9656         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9657         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9658         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9659         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9660         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9661         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9662         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9663         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9664         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9665         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9666         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9667         tui/tui-interp.c, valops.c: Update all users.
9668         * tui/tui-hooks.c (tui_bp_created_observer)
9669         (tui_bp_deleted_observer, tui_bp_modified_observer)
9670         (tui_inferior_exit_observer, tui_before_prompt_observer)
9671         (tui_normal_stop_observer, tui_register_changed_observer):
9672         Remove.
9673         (tui_observers_token): New global.
9674         (attach_or_detach, tui_attach_detach_observers): New functions.
9675         (tui_install_hooks, tui_remove_hooks): Use
9676         tui_attach_detach_observers.
9677         * record-btrace.c (record_btrace_thread_observer): Remove.
9678         (record_btrace_thread_observer_token): New global.
9679         * observer.sh: Remove.
9680         * observer.c: Rename to observable.c.
9681         * observable.c (namespace gdb_observers): Define new objects.
9682         (observer_debug): Move into gdb_observers namespace.
9683         (struct observer, struct observer_list, xalloc_observer_list_node)
9684         (xfree_observer_list_node, generic_observer_attach)
9685         (generic_observer_detach, generic_observer_notify): Remove.
9686         (_initialize_observer): Update.
9687         Don't include observer.inc.
9688         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9689         (clean mostlyclean): Likewise.
9690         (observer.h, observer.inc): Remove targets.
9691         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9692         (COMMON_SFILES): Use observable.c, not observer.c.
9693         * .gitignore: Remove observer.h.
9694
9695 2018-03-18  Tom Tromey  <tom@tromey.com>
9696
9697         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9698         gdb::def_vector.
9699         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9700
9701 2018-03-17  Tom Tromey  <tom@tromey.com>
9702
9703         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9704
9705 2018-03-17  Tom Tromey  <tom@tromey.com>
9706
9707         * target.c (class scoped_target_fd): New.
9708         (target_fileio_close_cleanup): Remove.
9709         (target_fileio_read_alloc_1): Use scoped_target_fd.
9710
9711 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9712
9713         * silent-rules.mk: New.
9714         * Makefile.in: Include silent-rules.mk
9715         (srcdir, VPATH, top_srcdir): Move up.
9716         (COMPILE): Add ECHO_CXX.
9717         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9718         (init.c): Add ECHO_INIT_C.
9719         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9720         (version.c): Add ECHO_GEN.
9721         (printcmd.o): Add ECHO_CXX.
9722         (target-float.o): Add ECHO_CXX.
9723         (ada-exp.o): Add ECHO_CXX.
9724         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9725         (insight$(EXEEXT)): Add ECHO_CXXLD.
9726         * gnulib/configure.ac: Add AM_SILENT_RULES.
9727         * gnulib/aclocal.m4: Re-generate.
9728         * gnulib/configure: Re-generate.
9729         * gnulib/import/Makefile.in: Re-generate.
9730
9731 2018-03-16  Tom Tromey  <tom@tromey.com>
9732
9733         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9734         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9735         * utils.c (do_free_section_addr_info)
9736         (make_cleanup_free_section_addr_info): Remove.
9737         * symfile.h (struct other_sections): Add constructor.
9738         (struct section_addr_info): Remove.
9739         (section_addr_info): New typedef.
9740         (struct sym_fns) <sym_offsets>: Change type of parameter.
9741         (build_section_addr_info_from_objfile)
9742         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9743         (default_symfile_offsets, symbol_file_add)
9744         (symbol_file_add_from_bfd)
9745         (build_section_addr_info_from_section_table): Update.
9746         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9747         * symfile.c (alloc_section_addr_info): Remove.
9748         (build_section_addr_info_from_section_table): Change return type.
9749         Update.
9750         (build_section_addr_info_from_bfd)
9751         (build_section_addr_info_from_objfile): Likewise.
9752         (free_section_addr_info): Remove.
9753         (relative_addr_info_to_section_offsets): Change type of "addrs".
9754         (addrs_section_compar): Now a std::sort comparator.
9755         (addrs_section_sort): Change return type.
9756         (addr_info_make_relative): Change type of "addrs".  Update.
9757         (default_symfile_offsets, syms_from_objfile_1)
9758         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9759         (symbol_file_add_separate): Update.
9760         (symbol_file_add): Change type of "addrs".  Update.
9761         (add_symbol_file_command): Update.  Remove cleanups.
9762         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9763         cleanups.
9764         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9765         * solib.c (solib_read_symbols): Update.
9766         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9767         * machoread.c (macho_symfile_offsets): Update.
9768         * jit.c (jit_bfd_try_read_symtab): Update.
9769
9770 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9771
9772         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9773         unittests/utils-selftests.c.
9774         * unittests/utils-selftests.c: New file.
9775
9776 2018-03-14  Tom Tromey  <tom@tromey.com>
9777
9778         PR cli/14977:
9779         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9780         for NULL.
9781
9782 2018-03-14  Tom Tromey  <tom@tromey.com>
9783
9784         PR cli/19918:
9785         * printcmd.c (printf_pointer): Allow "-" in format.
9786
9787 2018-03-14  Tom Tromey  <tom@tromey.com>
9788
9789         * printcmd.c (_initialize_printcmd): Add usage to printf.
9790
9791 2018-03-14  Yao Qi  <qiyao@sourceware.org>
9792
9793         * MAINTAINERS: Update my email address.
9794
9795 2018-03-13  Tom Tromey  <tom@tromey.com>
9796
9797         * machoread.c (macho_check_dsym): Change filenamep to a
9798         std::string*.
9799         (macho_symfile_read): Update.
9800         * symfile.c (load_command): Use std::string.
9801
9802 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9803
9804         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
9805         to error message string.
9806         (riscv_register_name): Use xsnprintf instead of sprintf.
9807         (riscv_insn::fetch_instruction): Use gdb_assert instead of
9808         internal_error.
9809         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
9810         error.
9811         (riscv_push_dummy_call): Likewise.
9812
9813 2018-03-12  Tom Tromey  <tom@tromey.com>
9814
9815         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
9816         Use gdb::byte_vector.
9817         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
9818
9819 2018-03-12  Yao Qi  <yao.qi@linaro.org>
9820
9821         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
9822         parameter type to readable_regcache.
9823         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9824         the declaration.
9825
9826 2018-03-11  Tom Tromey  <tom@tromey.com>
9827
9828         * dwarf2read.c (struct nextfield): Add initializers.
9829         (struct nextfnfield): Remove.
9830         (struct fnfieldlist): Add initializers.  Remove "length" and
9831         "head", use std::vector.
9832         (struct decl_field_list): Remove.
9833         (struct field_info): Add initializers.
9834         <fields, baseclasses>: Now std::vector.
9835         <nbaseclasses, nfnfields, typedef_field_list_count,
9836         nested_types_list_count>: Remove.
9837         (dwarf2_add_field, dwarf2_add_type_defn)
9838         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9839         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9840         (process_structure_scope): Update.
9841
9842 2018-03-11  Tom Tromey  <tom@tromey.com>
9843
9844         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9845         for use by std::sort.
9846         (build_type_psymtabs_1): Use std::vector.
9847
9848 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9849
9850         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9851         and LIBMPFR in the printed configuration.
9852
9853 2018-03-08  Tom Tromey  <tom@tromey.com>
9854
9855         * source.c (get_filename_and_charpos): Use scoped_fd.
9856         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9857         (procfs_pidlist): Likewise.
9858         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9859         (iterate_over_mappings): Likewise.
9860
9861 2018-03-08  Tom Tromey  <tom@tromey.com>
9862
9863         * infcall.c (struct call_return_meta_info)
9864         <stack_temporaries_enabled>: Remove.
9865         (get_call_return_value, call_function_by_hand_dummy): Update.
9866         * thread.c (disable_thread_stack_temporaries): Remove.
9867         (enable_thread_stack_temporaries): Remove.
9868         (thread_stack_temporaries_enabled_p): Return bool.
9869         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9870         (get_last_thread_stack_temporary): Update.
9871         * eval.c (evaluate_subexp): Update.
9872         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9873         class, not a function.
9874         (value_ptr, value_vec): Remove typedefs.
9875         (class thread_info) <stack_temporaries_enabled>: Now bool.
9876         <stack_temporaries>: Now a std::vector.
9877         (thread_stack_temporaries_enabled_p)
9878         (value_in_thread_stack_temporaries): Return bool.
9879
9880 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9881
9882         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9883         (getpkt_or_notif_sane_1): Likewise.
9884
9885 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9886
9887         * build-id.c (build_id_to_debug_bfd): Use std::string.
9888
9889 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9890
9891         * build-id.c (find_separate_debug_file_by_buildid): Return
9892         std::string.
9893         * build-id.h (find_separate_debug_file_by_buildid): Return
9894         std::string.
9895         * coffread.c (coff_symfile_read): Adjust to std::string.
9896         * elfread.c (elf_symfile_read): Adjust to std::string.
9897         * symfile.c (separate_debug_file_exists): Change parameter to
9898         std::string.
9899         (find_separate_debug_file): Return std::string.
9900         (find_separate_debug_file_by_debuglink): Return std::string.
9901         * symfile.h (find_separate_debug_file_by_debuglink): Return
9902         std::string.
9903
9904 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9905
9906         * common/xml-utils.c (xml_escape_text): Move code to...
9907         (xml_escape_text_append): ... this new function.
9908         * common/xml-utils.h (xml_escape_text_append): New declaration.
9909         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9910         New function.
9911         (_initialize_xml_utils): register test_xml_escape_text_append as
9912         a selftest.
9913
9914 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9915
9916         * defs.h: Remove MAX_REGISTER_SIZE.
9917         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9918         asserts.
9919         * python/py-unwind.c (pyuw_sniffer): Likewise.
9920
9921 2018-03-07  Tom Tromey  <tom@tromey.com>
9922
9923         * linux-tdep.c (linux_info_proc): Update.
9924         * target.h (struct target_ops) <to_fileio_readlink>: Return
9925         optional<string>.
9926         (target_fileio_readlink): Return optional<string>.
9927         * remote.c (remote_hostio_readlink): Return optional<string>.
9928         * inf-child.c (inf_child_fileio_readlink): Return
9929         optional<string>.
9930         * target.c (target_fileio_readlink): Return optional<string>.
9931
9932 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9933
9934         * regcache.c (cooked_read_test): Add riscv to the list of
9935         architectures that have a save_reggroup.
9936
9937 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9938
9939         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9940         value is not a dynamic class object.
9941
9942 2018-03-06  Tom Tromey  <tom@tromey.com>
9943
9944         * rust-exp.y: Formatting fixes.
9945
9946 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9947
9948         * riscv-tdep.c (riscv_register_name): Remove target description
9949         support.
9950         (riscv_gdbarch_init): Remove target description check.
9951
9952 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9953
9954         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9955         comment.
9956         * riscv-tdep.h: Likewise.
9957
9958 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9959
9960         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9961         (riscv_pseudo_register_write): Delete.
9962         (riscv_gdbarch_init): Remove all use of pseudo registers.
9963
9964 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9965
9966         * record-btrace.c (btrace_print_lines): Replace cleanup
9967         parameter with RAII equivalents.
9968         (btrace_insn_history): Replace cleanup with RAII equivalents.
9969         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9970         make_cleanup_ui_out_tuple_begin_end): Remove.
9971         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9972         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9973         make_cleanup_ui_out_list_begin_end): Remove.
9974
9975 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9976
9977         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9978         parameter types to std::vector.  Use bool.
9979         (record_btrace_wait): Replace VEC(tp_t) with
9980         std::vector<thread_info *>.
9981         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9982
9983 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9984
9985         * record-btrace.c (record_btrace_disable_callback): Remove.
9986         (struct scoped_btrace_disable): New.
9987         (record_btrace_open): Use scoped_btrace_disable.
9988
9989 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9990
9991         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9992         reading values from registers.
9993
9994 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9995
9996         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9997         where appropriate.
9998
9999 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10000
10001         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10002         change parameter type.  Use GDB's print functions, and use
10003         core_addr_to_string where appropriate.
10004         (riscv_push_dummy_call): Use core_addr_to_string where
10005         appropriate, update call to riscv_print_arg_location, and reindent
10006         a few lines.
10007         (riscv_return_value): Update call to riscv_print_arg_location.
10008
10009 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10010             Tim Newsome <tim@sifive.com>
10011             Albert Ou <a0u@eecs.berkeley.edu>
10012             Darius Rad <darius@bluespec.com>
10013
10014         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10015         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10016         (ALLDEPFILES): Add riscv-tdep.c
10017         * configure.tgt: Add riscv support.
10018         * riscv-tdep.c: New file.
10019         * riscv-tdep.h: New file.
10020         * NEWS: Mention new target.
10021         * MAINTAINERS: Add entry for riscv.
10022
10023 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10024
10025         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10026         fields within aggregates.
10027
10028 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10029
10030         * record-btrace.c (btrace_print_lines): Change type of flags to
10031         gdb_disassembly_flags.
10032
10033 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10034
10035         * fbsd-nat.c: Include "inf-ptrace.h".
10036         (USE_SIGTRAP_SIGINFO): Conditionally define.
10037         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10038         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10039         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10040         function.
10041         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10042         Likewise.
10043         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10044         Likewise.
10045         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10046         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10047         "supports_stopped_by_hw_breakpoint" target methods.
10048
10049 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10050
10051         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10052         * fbsd-nat.c (debug_fbsd_nat): New variable.
10053         (show_fbsd_nat_debug): New function.
10054         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10055         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10056
10057 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10058
10059         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10060         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10061         prototype.
10062         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10063         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10064         method.
10065
10066 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10067
10068         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10069         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10070
10071 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10072
10073         * charset.c (struct charset_vector): New.
10074         (charsets): Change type to charset_vector.
10075         (find_charset_names): Adjust.
10076         (add_one): Adjust.
10077         (_initialize_charset): Adjust.
10078
10079 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10080
10081         * progspace.h (struct program_space) <deleted_solibs>: Change
10082         type to std::vector<std::string>.
10083         * progspace.c (clear_program_space_solib_cache): Adjust.
10084         * breakpoint.c (print_solib_event): Adjust.
10085         (check_status_catch_solib): Adjust.
10086         * solib.c (update_solib_list): Adjust.
10087         * ui-out.h (class ui_out) <field_string>: New overload.
10088         * ui-out.c (ui_out::field_string): New overload.
10089
10090 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10091
10092         * progspace.h (struct program_space): Add constructor and
10093         destructor, initialize fields.
10094         (add_program_space): Remove.
10095         * progspace.c (add_program_space): Rename to...
10096         (program_space::program_space): ... this.
10097         (release_program_space): Rename to...
10098         (program_space::~program_space): ... this.
10099         (delete_program_space): Use delete to delete program_space.
10100         (initialize_progspace): Use new to allocate program_space.
10101         * inferior.c (add_inferior_with_spaces): Likewise.
10102         (clone_inferior_command): Likewise.
10103         * infrun.c (follow_fork_inferior): Likewise.
10104         (handle_vfork_child_exec_or_exit): Likewise.
10105
10106 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10107
10108         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10109         (delim_string_to_char_ptr_vec): Return std::vector of
10110         gdb::unique_xmalloc_ptr.
10111         (dirnames_to_char_ptr_vec_append): Take std::vector of
10112         gdb::unique_xmalloc_ptr.
10113         (dirnames_to_char_ptr_vec): Return std::vector of
10114         gdb::unique_xmalloc_ptr.
10115         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10116         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10117         (delim_string_to_char_ptr_vec): Return an std::vector of
10118         gdb::unique_xmalloc_ptr, adjust the code.
10119         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10120         gdb::unique_xmalloc_ptr, adjust the code.
10121         (dirnames_to_char_ptr_vec): Return an std::vector of
10122         gdb::unique_xmalloc_ptr, adjust the code.
10123         * auto-load.c (auto_load_safe_path_vec): Change type to
10124         std::vector of gdb::unique_xmalloc_ptr.
10125         (auto_load_expand_dir_vars): Return an std::vector of
10126         gdb::unique_xmalloc_ptr, adjust the code.
10127         (auto_load_safe_path_vec_update): Adjust.
10128         (filename_is_in_auto_load_safe_path_vec): Adjust.
10129         (auto_load_objfile_script_1): Adjust.
10130         * build-id.c (build_id_to_debug_bfd): Adjust.
10131         * linux-thread-db.c (thread_db_load_search): Adjust.
10132         * source.c (add_path): Adjust.
10133         (openp): Adjust.
10134         * symfile.c (find_separate_debug_file): Adjust.
10135         * utils.c (do_free_char_ptr_vec): Remove.
10136         (make_cleanup_free_char_ptr_vec): Remove.
10137
10138 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10139
10140         PR gdb/22907
10141         * common/pathstuff.c: Conditionally include "<windows.h>".
10142
10143 2018-03-01  Georg Sauthoff  <mail@georg.so>
10144
10145         PR gdb/22888
10146         * gcore.in: Quote variables and switch interpreter to bash.
10147
10148 2018-03-01  Tom Tromey  <tom@tromey.com>
10149
10150         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10151         assertion.  Add assertion for discriminant_index.
10152         (quirk_rust_enum): Use correct base type name in univariant case.
10153
10154 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10155
10156         * record.c (get_call_history_modifiers): Return a
10157         record_print_flags.
10158         (cmd_record_call_history): Adjust.
10159         * record-btrace.c (record_btrace_call_history): Adjust.
10160         (record_btrace_call_history_range): Adjust.
10161         (record_btrace_call_history_from): Adjust.
10162         * target-debug.h (target_debug_print_record_print_flags): New.
10163         * target-delegates.c: Re-generate.
10164         * target.c (target_call_history): Change flags type.
10165         (target_call_history_from): Likewise.
10166         (target_call_history_range): Likewise.
10167         * target.h (struct target_ops) <target_call_history>: Likewise.
10168         (target_call_history_from): Likewise.
10169         (target_call_history_range): Likewise.
10170
10171 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10172             Simon Marchi  <simon.marchi@polymtl.ca>
10173
10174         * common/common-utils.c: Include "sys/stat.h".
10175         (is_regular_file): Move here from "source.c"; change return
10176         type to "bool".
10177         * common/common-utils.h (is_regular_file): New prototype.
10178         * common/pathstuff.c (contains_dir_separator): New function.
10179         * common/pathstuff.h (contains_dir_separator): New prototype.
10180         * source.c: Don't include "sys/stat.h".
10181         (is_regular_file): Move to "common/common-utils.c".
10182
10183 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10184
10185         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10186         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10187         * auto-load.c: Include "common/pathstuff.h".
10188         * common/common-def.h (current_directory): Move here.
10189         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10190         function.
10191         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10192         prototype.
10193         * common/pathstuff.c: New file.
10194         * common/pathstuff.h: New file.
10195         * compile/compile.c: Include "common/pathstuff.h".
10196         * defs.h (current_directory): Move to "common/common-defs.h".
10197         * dwarf2read.c: Include "common/pathstuff.h".
10198         * exec.c: Likewise.
10199         * guile/scm-safe-call.c: Likewise.
10200         * linux-thread-db.c: Likewise.
10201         * main.c: Likewise.
10202         * nto-tdep.c: Likewise.
10203         * objfiles.c: Likewise.
10204         * source.c: Likewise.
10205         * symtab.c: Likewise.
10206         * utils.c: Include "common/pathstuff.h".
10207         (gdb_realpath): Move to "common/pathstuff.c".
10208         (gdb_realpath_keepfile): Likewise.
10209         (gdb_abspath): Likewise.
10210         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10211         (gdb_realpath_keepfile): Likewise.
10212         (gdb_abspath): Likewise.
10213
10214 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10215
10216         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10217         wildcard process pid for super_resume for kernels with a
10218         specific bug.
10219
10220 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10221
10222         * compile/compile.c (get_args): Add additional comments
10223         explaining function.
10224
10225 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10226             Tom Tromey  <tom@tromey.com>
10227
10228         * target.h (memory_write_request_s): Remove typedef.  Don't define
10229         VEC.
10230         (target_write_memory_blocks): Change argument to std::vector.
10231         (struct memory_write_request): Add constructor.
10232         * target-memory.c (compare_block_starting_address): Return bool.
10233         Change argument types.
10234         (claim_memory): Change arguments to use std::vector.
10235         (split_regular_and_flash_blocks, blocks_to_erase)
10236         (compute_garbled_blocks): Likewise.
10237         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10238         (target_write_memory_blocks): Change argument to std::vector.
10239         * symfile.c (struct load_section_data): Add constructor and
10240         destructor.  Use std::vector for "requests".
10241         (struct load_progress_data): Add initializers.
10242         (load_section_callback): Update.  Use "new".
10243         (clear_memory_write_data): Remove.
10244         (generic_load): Update.
10245
10246 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10247
10248         * arch/aarch64.h: Use common/tdesc.h.
10249
10250 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10251
10252         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10253         architecture with a 64-bit ABI.
10254
10255 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10256
10257         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10258         ahead of target description loading.
10259
10260 2018-02-26  Tom Tromey  <tom@tromey.com>
10261
10262         * stack.c (backtrace_command_1): Update.
10263         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10264         of "flags".
10265         * python/py-framefilter.c (py_print_frame)
10266         (gdbpy_apply_frame_filter): Change type of "flags".
10267         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10268         of "flags".
10269         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10270         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10271         * extension.h (enum frame_filter_flag): Rename from
10272         frame_filter_flags.
10273         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10274         (apply_ext_lang_frame_filter): Change type of "flags".
10275         * extension.c (apply_ext_lang_frame_filter): Change type of
10276         "flags".
10277         * extension-priv.h (struct extension_language_ops)
10278         <apply_frame_filter>: Change type of "flags".
10279
10280 2018-02-26  Tom Tromey  <tom@tromey.com>
10281
10282         PR python/16497:
10283         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10284         off-by-one in py_end computation.
10285         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10286         PRINT_MORE_FRAMES.
10287         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10288         constant.
10289
10290 2018-02-26  Tom Tromey  <tom@tromey.com>
10291
10292         * dwarf2read.c (struct variant_field): New.
10293         (struct nextfield) <variant>: New field.
10294         (dwarf2_add_field): Handle DW_TAG_variant_part.
10295         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10296         discriminated union.
10297         (read_structure_type): Handle DW_TAG_variant_part.
10298         (handle_struct_member_die): New function, extracted from
10299         process_structure_scope.  Handle DW_TAG_variant.
10300         (process_structure_scope): Handle discriminated unions.  Call
10301         handle_struct_member_die.
10302
10303 2018-02-26  Tom Tromey  <tom@tromey.com>
10304
10305         * rust-lang.h (rust_last_path_segment): Declare.
10306         * rust-lang.c (rust_last_path_segment): Now public.  Change
10307         contract.
10308         (struct disr_info): Remove.
10309         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10310         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10311         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10312         (rust_enum_p, rust_enum_variant): New function.
10313         (rust_underscore_fields): Remove "offset" parameter.
10314         (rust_print_enum): New function.
10315         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10316         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10317         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10318         enums.
10319         (rust_internal_print_type): New function, from rust_print_type.
10320         Remove enum code.
10321         (rust_print_type): Call rust_internal_print_type.
10322         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10323         Update enum handling.
10324         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10325         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10326         (rust_union_quirks): New functions.
10327         (process_full_comp_unit, process_full_type_unit): Call
10328         rust_union_quirks.
10329         (process_structure_scope): Update rust_unions if necessary.
10330
10331 2018-02-26  Tom Tromey  <tom@tromey.com>
10332
10333         * value.h (value_union_variant): Declare.
10334         * valops.c (value_union_variant): New function.
10335         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10336         (struct discriminant_info): New.
10337         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10338         enumerator.
10339         (struct main_type) <flag_discriminated_union>: New field.
10340
10341 2018-02-26  Tom Tromey  <tom@tromey.com>
10342
10343         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10344         unittests/unpack-selftests.c.
10345         * unittests/unpack-selftests.c: New file.
10346         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10347
10348 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10349
10350         * dwarf2read.c (struct partial_die_info) <read>: New method.
10351         (read_partial_die): Remove the declaration.
10352         (load_partial_dies): Update.
10353         (partial_die_info::partial_die_info):
10354         (read_partial_die): Change it to partial_die_info::read.
10355
10356 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10357
10358         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10359         (fixup_partial_die): Remove declaration.
10360         (scan_partial_symbols): Update.
10361         (partial_die_parent_scope): Likewise.
10362         (partial_die_full_name): Likewise.
10363         (fixup_partial_die): Change it to partial_die_info::fixup.
10364
10365 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10366
10367         * dwarf2read.c (read_partial_die): Update the declaration.
10368         (load_partial_dies): Caller update.
10369         (read_partial_die): Remove one argument abbrev_len.
10370
10371 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10372
10373         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10374         assignment operator.
10375         (load_partial_dies): Use ctor and copy ctor.
10376         (read_partial_die): Update.
10377         (dwarf2_cu::find_partial_die): Use ctor.
10378
10379 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10380
10381         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10382         (find_partial_die_in_comp_unit): Change it to
10383         dwarf2_cu::find_partial_die.
10384         (find_partial_die): Update.
10385
10386 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10387
10388         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10389         is NULL.
10390
10391 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10392
10393         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10394
10395 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10396
10397         * arch/amd64.h: Use common/tdesc.h.
10398         * arch/i386.c: Likewise.
10399         * arch/i386.h: Likewise.
10400         * arch/tic6x.c: Likewise.
10401         * arch/tdesc.h: Move file from here...
10402         * common/tdesc.h: ...to here.
10403         * features/aarch64-core.c: Regenerate.
10404         * features/aarch64-fpu.c: Regenerate.
10405         * features/i386/32bit-avx.c: Regenerate.
10406         * features/i386/32bit-avx512.c: Regenerate.
10407         * features/i386/32bit-core.c: Regenerate.
10408         * features/i386/32bit-linux.c: Regenerate.
10409         * features/i386/32bit-mpx.c: Regenerate.
10410         * features/i386/32bit-pkeys.c: Regenerate.
10411         * features/i386/32bit-sse.c: Regenerate.
10412         * features/i386/64bit-avx.c: Regenerate.
10413         * features/i386/64bit-avx512.c: Regenerate.
10414         * features/i386/64bit-core.c: Regenerate.
10415         * features/i386/64bit-linux.c: Regenerate.
10416         * features/i386/64bit-mpx.c: Regenerate.
10417         * features/i386/64bit-pkeys.c: Regenerate.
10418         * features/i386/64bit-segments.c: Regenerate.
10419         * features/i386/64bit-sse.c: Regenerate.
10420         * features/i386/x32-core.c: Regenerate.
10421         * features/tic6x-c6xp.c: Regenerate.
10422         * features/tic6x-core.c: Regenerate.
10423         * features/tic6x-gp.c: Regenerate.
10424         * target-descriptions.c: Use common/tdesc.h.
10425         * target-descriptions.h: Likewise.
10426
10427 2018-02-24  Tom Tromey  <tom@tromey.com>
10428
10429         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10430         (try_thread_db_load_from_dir, thread_db_load_search): Use
10431         std::string.
10432         (info_auto_load_libthread_db_compare): Return bool.  Change
10433         argument types.
10434         (info_auto_load_libthread_db): Use std::vector, std::string.
10435         Remove cleanups.
10436
10437 2018-02-24  Tom Tromey  <tom@tromey.com>
10438
10439         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10440         std::string.
10441         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10442         std::string*.
10443         * gdbarch.c: Rebuild.
10444         * gdbarch.h: Rebuild.
10445         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10446         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10447         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10448         std::string*.
10449
10450 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10451
10452         * gdbtypes.h (sect_offset): Change type to uint64_t.
10453         (sect_offset_str): New function.
10454         * dwarf2read.c (create_addrmap_from_aranges): Use
10455         sect_offset_str.
10456         (error_check_comp_unit_head): Likewise.
10457         (create_debug_type_hash_table): Likewise.
10458         (read_cutu_die_from_dwo): Likewise.
10459         (init_cutu_and_read_dies): Likewise.
10460         (init_cutu_and_read_dies_no_follow): Likewise.
10461         (process_psymtab_comp_unit_reader): Likewise.
10462         (partial_die_parent_scope): Likewise.
10463         (peek_die_abbrev): Likewise.
10464         (process_queue): Likewise.
10465         (dwarf2_physname): Likewise.
10466         (read_namespace_alias): Likewise.
10467         (read_import_statement): Likewise.
10468         (create_dwo_cu_reader): Likewise.
10469         (create_cus_hash_table): Likewise.
10470         (lookup_dwo_cutu): Likewise.
10471         (inherit_abstract_dies): Likewise.
10472         (read_func_scope): Likewise.
10473         (read_call_site_scope): Likewise.
10474         (dwarf2_add_member_fn): Likewise.
10475         (read_common_block): Likewise.
10476         (read_module_type): Likewise.
10477         (read_typedef): Likewise.
10478         (read_subrange_type): Likewise.
10479         (load_partial_dies): Likewise.
10480         (read_partial_die): Likewise.
10481         (find_partial_die): Likewise.
10482         (read_str_index): Likewise.
10483         (dwarf2_string_attr): Likewise.
10484         (build_error_marker_type): Likewise.
10485         (lookup_die_type): Likewise.
10486         (dump_die_shallow): Likewise.
10487         (follow_die_ref): Likewise.
10488         (dwarf2_fetch_die_loc_sect_off): Likewise.
10489         (dwarf2_fetch_constant_bytes): Likewise.
10490         (follow_die_sig): Likewise.
10491         (get_signatured_type): Likewise.
10492         (get_DW_AT_signature_type): Likewise.
10493         (dwarf2_find_containing_comp_unit): Likewise.
10494         (set_die_type): Likewise.
10495
10496 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10497
10498         * arch/aarch64.c: Include "common-defs.h".
10499         * arch/amd64.c: Likewise.
10500         * arch/i386.c: Likewise.
10501
10502 2018-02-21  Tom Tromey  <tom@tromey.com>
10503
10504         * value.h: (extract_field_op): Update.
10505         * eval.c (extract_field_op): Return a const char *.
10506         * expression.h (parse_expression_for_completion): Update.
10507         * completer.c (complete_expression): Update.
10508         (add_struct_fields): Make fieldname const.
10509         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10510         (mark_completion_tag, parse_exp_in_context_1): Update.
10511         (parse_expression_for_completion): Change "name" to
10512         unique_xmalloc_ptr*.
10513
10514 2018-02-21  Tom Tromey  <tom@tromey.com>
10515
10516         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10517
10518 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10519
10520         * avr-tdep.c (avr_read_pc): Change parameter type to
10521         readable_regcache.
10522         * gdbarch.sh (read_pc): Likewise.
10523         * gdbarch.c: Re-generated.
10524         * gdbarch.h: Re-generated.
10525         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10526         readable_regcache.
10527         * ia64-tdep.c (ia64_read_pc): Likewise.
10528         * mips-tdep.c (mips_read_pc): Likewise.
10529         * spu-tdep.c (spu_read_pc): Likewise.
10530
10531 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10532
10533         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10534         * regcache-dump.c: New file.
10535         * regcache.c: Move register_dump to regcache-dump.c.
10536         (maintenance_print_registers): Likewise.
10537         (maintenance_print_raw_registers): Likewise.
10538         (maintenance_print_cooked_registers): Likewise.
10539         (maintenance_print_register_groups): Likewise.
10540         (maintenance_print_remote_registers): Likewise.
10541         (_initialize_regcache): Likewise.
10542         * regcache.h (register_dump): Moved from regcache.c.
10543
10544 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10545
10546         * regcache.c (regcache::regcache): Update.
10547         (regcache::invalidate): Move it to detached_regcache::invalidate.
10548         (get_thread_arch_aspace_regcache): Update.
10549         (regcache::raw_update): Update.
10550         (regcache::cooked_read): Remove some code.
10551         (regcache::cooked_read_value): Likewise.
10552         (regcache::raw_write): Remove assert on m_readonly_p.
10553         (regcache::raw_supply_integer): Move it to
10554         detached_regcache::raw_supply_integer.
10555         (regcache::raw_supply_zeroed): Likewise.
10556         * regcache.h (detached_regcache) <raw_supply_integer>: New
10557         declaration.
10558         <raw_supply_zeroed, invalidate>: Likewise.
10559         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10560         <invalidate>: Likewise.
10561         <m_readonly_p>: Removed.
10562
10563 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10564
10565         * infcmd.c (get_return_value): Let stop_regs point to
10566         get_current_regcache.
10567         * regcache.c (regcache::regcache): Remove.
10568         (register_dump_reg_buffer): New class.
10569         (regcache_print): Adjust.
10570         * regcache.h (regcache): Remove constructors.
10571
10572 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10573
10574         * regcache.c (class register_dump): New class.
10575         (register_dump_regcache, register_dump_none): New class.
10576         (register_dump_remote, register_dump_groups): New class.
10577         (regcache_print): Update.
10578         * regcache.h (regcache_dump_what): Move it to regcache.c.
10579         (regcache) <dump>: Remove.
10580
10581 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10582
10583         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10584          reg_buffer_rw *.
10585         (jit_unwind_reg_set_impl): Call raw_supply.
10586         (jit_frame_sniffer): Use reg_buffer_rw.
10587         * record-full.c (record_full_core_regbuf): Change its type.
10588         (record_full_core_open_1): Use reg_buffer_rw.
10589         (record_full_close): Likewise.
10590         (record_full_core_fetch_registers): Use regcache->raw_supply.
10591         (record_full_core_store_registers): Likewise.
10592         * regcache.c (regcache::get_register_status): Move it to
10593         reg_buffer.
10594         (regcache_raw_set_cached_value): Remove.
10595         (regcache::raw_set_cached_value): Remove.
10596         (regcache::raw_write): Call raw_supply.
10597         (regcache::raw_supply): Move it to reg_buffer_rw.
10598         * regcache.h (regcache_raw_set_cached_value): Remove.
10599         (reg_buffer_rw): New class.
10600
10601 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10602
10603         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10604         readonly_detached_regcache.
10605         (dummy_frame_prev_register): Use regcache->cooked_read.
10606         * frame.c (frame_save_as_regcache): Change return type.
10607         (frame_pop): Update.
10608         * frame.h (frame_save_as_regcache): Update declaration.
10609         * inferior.h (get_infcall_suspend_state_regcache): Update
10610         declaration.
10611         * infrun.c (infcall_suspend_state) <registers>: use
10612         readonly_detached_regcache.
10613         (save_infcall_suspend_state): Don't use regcache_dup.
10614         (get_infcall_suspend_state_regcache): Change return type.
10615         * linux-fork.c (struct fork_info) <savedregs>: Change to
10616         readonly_detached_regcache.
10617         <pc>: New field.
10618         (fork_save_infrun_state): Don't use regcache_dup.
10619         (info_checkpoints_command): Adjust.
10620         * mi/mi-main.c (register_changed_p): Update declaration.
10621         (mi_cmd_data_list_changed_registers): Use
10622         readonly_detached_regcache.
10623         (register_changed_p): Change parameter type to
10624         readonly_detached_regcache.
10625         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10626         readonly_detached_regcache.
10627         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10628         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10629         New.
10630         (regcache::save): Move it to reg_buffer.
10631         (regcache::restore): Change parameter type.
10632         (regcache_dup): Remove.
10633         * regcache.h (reg_buffer) <save>: New method.
10634         (readonly_detached_regcache): New class.
10635         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10636         readonly_detached_regcache.
10637         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10638
10639 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10640
10641         * frame.c (frame_save_as_regcache): Use regcache method save.
10642         (frame_pop): Use regcache method restore.
10643         * infrun.c (restore_infcall_suspend_state): Likewise.
10644         * linux-fork.c (fork_load_infrun_state): Likewise.
10645         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10646         save.
10647         * regcache.c (regcache_save): Remove.
10648         (regcache::restore): More asserts.
10649         (regcache_cpy): Remove.
10650         * regcache.h (regcache_save): Remove the declaration.
10651         (regcache::restore): Move from private to public.
10652         Remove the friend declaration of regcache_cpy.
10653         (regcache_cpy): Remove declaration.
10654
10655 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10656
10657         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10658         parameter type to 'readable_regcache *'.
10659         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10660         * arm-tdep.c (arm_neon_quad_read): Likewise.
10661         (arm_pseudo_read): Likewise.
10662         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10663         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10664         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10665         * gdbarch.c: Re-generated.
10666         * gdbarch.h: Re-generated.
10667         * gdbarch.sh (pseudo_register_read): Change parameter type to
10668         'readable_regcache *'.
10669         (pseudo_register_read_value): Likewise.
10670         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10671         (h8300_pseudo_register_read): Likewise.
10672         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10673         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10674         (i386_pseudo_register_read_into_value): Likewise.
10675         (i386_pseudo_register_read_value): Likewise.
10676         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10677         declaration.
10678         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10679         * m32c-tdep.c (m32c_raw_read): Likewise.
10680         (m32c_read_flg): Likewise.
10681         (m32c_banked_register): Likewise.
10682         (m32c_banked_read): Likewise.
10683         (m32c_sb_read): Likewise.
10684         (m32c_part_read): Likewise.
10685         (m32c_cat_read): Likewise.
10686         (m32c_r3r2r1r0_read): Likewise.
10687         (m32c_pseudo_register_read): Likewise.
10688         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10689         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10690         (mep_pseudo_cr64_read): Likewise.
10691         (mep_pseudo_register_read): Likewise.
10692         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10693         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10694         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10695         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10696         (regcache::cooked_read): Likewise.
10697         (regcache::cooked_read_value): Likewise.
10698         (regcache_cooked_read_signed):
10699         (regcache::cooked_read): Likewise.
10700         * regcache.h (readable_regcache): New class.
10701         (regcache): Inherit readable_regcache.  Move some methods to
10702         readable_regcache.
10703         * rl78-tdep.c (rl78_pseudo_register_read): Change
10704         parameter type to 'readable_regcache *'.
10705         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10706         (e500_pseudo_register_read): Change parameter type to
10707         'readable_regcache *'.
10708         (dfp_pseudo_register_read): Likewise.
10709         (vsx_pseudo_register_read): Likewise.
10710         (efpr_pseudo_register_read): Likewise.
10711         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10712         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10713         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10714         (sh64_pseudo_register_read): Likewise.
10715         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10716         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10717         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10718         (spu_pseudo_register_read): Likewise.
10719         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10720         (xtensa_pseudo_register_read): Likewise.
10721
10722 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10723
10724         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10725         (regcache::arch): Move it to reg_buffer::arch.
10726         (regcache::register_buffer): Likewise.
10727         (regcache::assert_regnum): Likewise.
10728         (regcache::num_raw_registers): Likewise.
10729         * regcache.h (reg_buffer): New class.
10730         (regcache): Inherit reg_buffer.
10731
10732 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10733
10734         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10735         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10736
10737 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10738
10739         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10740
10741 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10742
10743         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10744         (SFILES): Remove common/*.c files.
10745         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10746         * common/common.host: Add common reference.
10747         * configure.ac: Likewise.
10748         * configure: Regenerate.
10749
10750 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10751
10752         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10753         (block_initialize_namespace): Use new.
10754         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10755         (dwarf2_free_objfile): Use delete.
10756         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10757         (copy_type_recursive): Use new.
10758         * gdb_obstack.h (allocate_on_obstack): New.
10759
10760 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10761
10762         PR gdb/22849
10763         * inferior.c (exit_inferior_1): Reset inf->control.
10764
10765 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10766
10767         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10768         declaration.
10769
10770 2018-02-14  Pedro Alves  <palves@redhat.com>
10771
10772         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10773         frame_cleanup_after_sniffer on exception.
10774
10775 2018-02-14  Tom Tromey  <tom@tromey.com>
10776
10777         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10778         const.
10779         (solib_bfd_open): Make pathname const.
10780         * solib.c (solib_bfd_open): Make pathname const.
10781         * solib-spu.c (spu_bfd_fopen): Make name const.
10782         (spu_bfd_open): Make pathname const.
10783         * solib-darwin.c (darwin_bfd_open): Make pathname const.
10784         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
10785
10786 2018-02-14  Tom Tromey  <tom@tromey.com>
10787
10788         * symfile.c (symfile_bfd_open): Update.
10789         * source.h (openp, source_full_path_of, find_and_open_source):
10790         Change argument type to unique_xmalloc_ptr.
10791         * source.c (openp): Take a unique_xmalloc_ptr.
10792         (source_full_path_of, find_and_open_source): Likewise.
10793         (open_source_file, symtab_to_fullname): Update.
10794         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
10795         unique_xmalloc_ptr.
10796         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
10797         (exec_file_find): Update.
10798         * psymtab.c (psymtab_to_fullname): Update.
10799         * nto-tdep.h (nto_find_and_open_solib): Update.
10800         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
10801         unique_xmalloc_ptr.
10802         * exec.c (exec_file_attach): Update.
10803         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
10804         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
10805
10806 2018-02-14  Tom Tromey  <tom@tromey.com>
10807
10808         * solib.c: Include source.h.
10809         * nto-tdep.c: Include source.h.
10810         * mi/mi-cmd-env.c: Include source.h.
10811         * infcmd.c: Include source.h.
10812         * exec.c: Include source.h.
10813         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
10814         (add_path, directory_switch, source_path, init_source_path): Move
10815         declarations...
10816         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
10817         (add_path, directory_switch, source_path, init_source_path):
10818         ...here.
10819
10820 2018-02-14  Tom Tromey  <tom@tromey.com>
10821
10822         * solist.h (exec_file_find, solib_find): Return
10823         unique_xmalloc_ptr.
10824         (solib_bfd_fopen): Take a const char *.
10825         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10826         (exec_file_find, solib_find): Likewise.
10827         (solib_bfd_fopen): Do not take ownership of "pathname".
10828         (solib_bfd_open): Use unique_xmalloc_ptr.
10829         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10830         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10831         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10832         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10833
10834 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10835
10836         * ada-lang.c (name_match_type_from_name): Remove reference to
10837         ada_name_for_lookup in function's documentation.
10838         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10839
10840 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10841
10842         * defs.h (enum openp_flags): New enum.
10843         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10844         Move to enum openp_flags.
10845         (openp_flags): New enum flags.
10846         (openp): Change parameter type to openp_flags.
10847         * source.c (openp): Change parameter type to openp_flags.
10848         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10849         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10850
10851 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10852
10853         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10854         per-command.
10855
10856 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10857
10858         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10859         into...
10860         (class dwarf2_queue_guard): ...the destructor of this new class.
10861         (dw2_do_instantiate_symtab): Create instance of the new class
10862         dwarf2_queue_guard, remove cleanup.
10863
10864 2018-02-09  Tom Tromey  <tom@tromey.com>
10865
10866         * source.c (find_source_lines): Don't reference past the end of
10867         the vector.
10868
10869 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10870
10871         * remote.c (remote_btrace_maybe_reopen): Change error message.
10872         * btrace.c (btrace_enable): Likewise.
10873         (parse_xml_btrace): Likewise.
10874         (parse_xml_btrace_conf): Likewise.
10875
10876 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10877
10878         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10879         (linux_enable_pt, linux_enable_bts): Call
10880         diagnose_perf_event_open_fail.
10881
10882 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10883
10884         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10885         Remove parameter and change return type.  Update callers.  Move it.
10886         (linux_enable_bts, linux_enable_pt): Improve error message.
10887         (linux_enable_pt): Remove zero buffer size check.
10888         (linux_enable_btrace): Improve error messages.  Remove NULL return
10889         check.
10890
10891 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10892
10893         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10894         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10895         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10896         (linux_supports_pt, linux_supports_btrace): Remove.
10897         (linux_enable_bts): Call cpu_supports_bts.
10898         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10899         * remote.c (remote_supports_btrace): Remove.
10900         (init_remote_ops): Remove remote_supports_btrace.
10901         * target-delegates.c: Regenerated.
10902         * target.c (target_supports_btrace): Remove.
10903         * target.h (target_ops) <to_supports_btrace>: Remove
10904         (target_supports_btrace): Remove.
10905         * x86-linux-nat.c (x86_linux_create_target): Remove
10906         linux_supports_btrace.
10907
10908 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10909
10910         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10911         btrace failed.
10912         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10913         exception and use message in own exception.
10914
10915 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10916
10917         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10918         (perf_event_pt_event_type): Use gdb_file_up.
10919         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10920         scoped_fd, and scoped_mmap.
10921
10922 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10923
10924         * common/scoped_mmap.h: New.
10925         * unittests/scoped_mmap-selftest.c: New.
10926         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10927         unittests/scoped_mmap-selftest.c.
10928
10929 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10930
10931         * common/scoped_fd.h: New.
10932         * unittests/scoped_fd-selftest.c: New.
10933         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10934         unittests/scoped_fd-selftest.c.
10935
10936 2018-02-09  Tom Tromey  <tom@tromey.com>
10937
10938         * auto-load.c (auto_load_section_scripts): Use
10939         gdb::unique_xmalloc_ptr.
10940
10941 2018-02-09  Tom Tromey  <tom@tromey.com>
10942
10943         * auto-load.c (execute_script_contents): Use std::string.
10944
10945 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10946
10947         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10948         Python function, rather than a new command.
10949
10950 2018-02-08  Tom Tromey  <tom@tromey.com>
10951
10952         * solib.c (solib_find_1): Use std::string.
10953         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10954
10955 2018-02-08  Tom Tromey  <tom@tromey.com>
10956
10957         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10958
10959 2018-02-08  Tom Tromey  <tom@tromey.com>
10960
10961         * source.c (find_source_lines): Use gdb::def_vector.
10962
10963 2018-02-08  Tom Tromey  <tom@tromey.com>
10964
10965         * macrocmd.c (struct temporary_macro_definition): New.
10966         (macro_define_command): Use temporary_macro_definition.  Remove
10967         cleanups.
10968         (free_macro_definition_ptr): Remove.
10969
10970 2018-02-08  Tom Tromey  <tom@tromey.com>
10971
10972         * macroexp.c (maybe_expand): Use std::string.
10973
10974 2018-02-08  Tom Tromey  <tom@tromey.com>
10975
10976         * macroexp.c (struct macro_buffer): Add initializers for some
10977         members.
10978         (init_buffer, init_shared_buffer, free_buffer)
10979         (free_buffer_return_text): Remove.
10980         (macro_buffer): New constructors.
10981         (~macro_buffer): New destructor.
10982         (macro_buffer::set_shared): New method.
10983         (macro_buffer::resize_buffer, macro_buffer::appendc)
10984         (macro_buffer::appendmem): Now methods, not free functions.
10985         (set_token, append_tokens_without_splicing, stringify)
10986         (macro_stringify): Update.
10987         (gather_arguments): Change return type.  Remove argc_p argument,
10988         add args_ptr argument.  Use std::vector.
10989         (substitute_args): Remove argc argument.  Accept std::vector.
10990         (expand): Update.  Use std::vector.
10991         (scan, macro_expand, macro_expand_next): Update.
10992
10993 2018-02-08  Tom Tromey  <tom@tromey.com>
10994
10995         * symtab.c (default_collect_symbol_completion_matches_break_on):
10996         Use unique_xmalloc_ptr.
10997         * macroscope.h: (sal_macro_scope, user_macro_scope)
10998         (default_macro_scope): Return unique_xmalloc_ptr.
10999         * macroscope.c (sal_macro_scope, user_macro_scope)
11000         (default_macro_scope): Return unique_xmalloc_ptr.
11001         * macroexp.h (macro_expand, macro_expand_once): Return
11002         unique_xmalloc_ptr.
11003         * macroexp.c (macro_expand, macro_expand_once): Return
11004         unique_xmalloc_ptr.
11005         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11006         (info_macro_command, info_macros_command): Use
11007         unique_xmalloc_ptr.
11008         * compile/compile-c-support.c (write_macro_definitions): Use
11009         unique_xmalloc_ptr.
11010         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11011
11012 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11013
11014         * value.c (value_static_field): Assign field type instead of
11015         containing type when returning an optimized out value.
11016
11017 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11018
11019         * ft32-tdep.c (ft32_read_pc): Remove.
11020         (ft32_write_pc): Remove.
11021         (ft32_gdbarch_init): Update.
11022         * m32r-tdep.c (m32r_read_pc): Remove.
11023         (m32r_gdbarch_init): Update.
11024         * mep-tdep.c (mep_read_pc): Remove.
11025         (mep_gdbarch_init): Update.
11026         * microblaze-tdep.c (microblaze_write_pc): Remove.
11027         (microblaze_gdbarch_init): Update.
11028         * mn10300-tdep.c (mn10300_read_pc): Remove.
11029         (mn10300_write_pc): Remove.
11030         (mn10300_gdbarch_init): Update.
11031         * moxie-tdep.c (moxie_read_pc): Remove.
11032         (moxie_write_pc): Remove.
11033         (moxie_gdbarch_init): Update.
11034
11035 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11036
11037         * expprint.c (print_subexp_standard): Handle
11038         OP_F77_UNDETERMINED_ARGLIST.
11039         (dump_subexp_body_standard): Likewise.
11040
11041 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11042
11043         * target-descriptions.c (tdesc_element_visitor) Add empty
11044         implementations.
11045         (tdesc_type): Move make_gdb_type from here.
11046         (tdesc_type_builtin): Likewise.
11047         (tdesc_type_vector): Likewise.
11048         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11049         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11050         (make_gdb_type_union): Likewise.
11051         (make_gdb_type_flags): Likewise.
11052         (make_gdb_type_enum): Likewise.
11053         (make_gdb_type): New function.
11054         (tdesc_register_type): Use static make_gdb_type.
11055
11056 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11057
11058         * infcmd.c (default_print_one_register_info): Align natural-format
11059         column values consistently one under another.
11060         (pad_to_column): New function.
11061
11062 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11063
11064         * dwarf2read.c (dwarf2_physname): Move commment.
11065
11066 2018-02-01  Leszek Swirski  <leszeks@google.com>
11067
11068         * varobj.c (varobj_formatted_print_options): Allow recursive
11069         pretty printing if pretty printing is enabled.
11070
11071 2018-02-01  Leszek Swirski  <leszeks@google.com>
11072
11073         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11074         names after a structop as a filename.
11075
11076 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11077
11078         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11079         (arm_record_coproc_data_proc): Likewise.
11080
11081 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11082
11083         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11084
11085 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11086
11087         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11088         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11089
11090 2018-01-31  Pedro Alves  <palves@redhat.com>
11091
11092         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11093         * inflow.c (child_terminal_save_inferior): Wrap reference to
11094         tcgetpgrp in HAVE_TERMIOS_H.
11095         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11096         _WIN32.
11097         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11098         always iterate over all inferiors.
11099         (gdbsim_cntrl_c): Adjust.
11100         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11101
11102 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11103
11104         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11105         index type is objfile-owned if the element type is as well.
11106
11107 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11108
11109         GDB 8.1 released.
11110
11111 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11112
11113         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11114         "features/s390x-linux64.c".
11115         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11116         s390_linux32 and s390x_linux64.
11117         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11118         default tdesc.
11119         * s390-tdep.c: Include "features/s390-linux32.c" and
11120         "features/s390x-linux64.c".
11121         (s390_tdesc_valid): Add check for tdesc_has_registers.
11122         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11123         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11124         tdesc_s390x_linux64.
11125         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11126         tdesc_s390x_linux64 to...
11127         * s390-tdep.h: ...here.
11128
11129 2018-01-30  Pedro Alves  <palves@redhat.com>
11130
11131         PR gdb/13211
11132         * config.in, configure: Regenerate.
11133         * configure.ac: Check for getpgid.
11134         * go32-nat.c (go32_pass_ctrlc): New.
11135         (go32_target): Install it.
11136         * inf-child.c (inf_child_target): Install
11137         child_terminal_save_inferior, child_pass_ctrlc and
11138         child_interrupt.
11139         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11140         (inf_ptrace_target): No longer install it.
11141         * infcmd.c (interrupt_target_1): Adjust.
11142         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11143         (child_interrupt): Declare.
11144         (inferior::terminal_state): New.
11145         * inflow.c (struct terminal_info): Update comments.
11146         (inferior_process_group): Delete.
11147         (terminal_is_ours): Delete.
11148         (gdb_tty_state): New.
11149         (child_terminal_init): Adjust.
11150         (is_gdb_terminal, sharing_input_terminal_1)
11151         (sharing_input_terminal): New functions.
11152         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11153         Set the process's actual process group in the foreground if
11154         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11155         mark terminal as the inferior's if not sharing GDB's terminal.
11156         Don't check attach_flag.
11157         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11158         pass down a target_terminal_state.
11159         (child_terminal_save_inferior): New, factored out from ...
11160         (child_terminal_ours_1): ... this.  Handle
11161         target_terminal_state::is_ours_for_output.
11162         (child_interrupt, child_pass_ctrlc): New.
11163         (inflow_inferior_exit): Clear the inferior's terminal_state.
11164         (copy_terminal_info): Copy the inferior's terminal state.
11165         (_initialize_inflow): Remove reference to terminal_is_ours.
11166         * inflow.h (inferior_process_group): Delete.
11167         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11168         * procfs.c (procfs_target): Don't install procfs_interrupt.
11169         (procfs_interrupt): Delete.
11170         * remote.c (remote_serial_quit_handler): Adjust.
11171         (remote_interrupt): Remove ptid parameter.  Adjust.
11172         * target-delegates.c: Regenerate.
11173         * target.c: Include "terminal.h".
11174         (target_terminal::terminal_state): Rename to ...
11175         (target_terminal::m_terminal_state): ... this.
11176         (target_terminal::init): Adjust.
11177         (target_terminal::inferior): Adjust to per-inferior
11178         terminal_state.
11179         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11180         (target_terminal::ours, target_terminal::ours_for_output): Use
11181         target_terminal_is_ours_kind.
11182         (target_interrupt): Remove ptid parameter.  Adjust.
11183         (default_target_pass_ctrlc): Adjust.
11184         * target.h (target_ops::to_terminal_save_inferior): New field.
11185         (target_ops::to_interrupt): Remove ptid_t parameter.
11186         (target_interrupt): Remove ptid_t parameter.  Update comment.
11187         (target_pass_ctrlc): Update comment.
11188         * target/target.h (target_terminal_state): New scoped enum,
11189         factored out of ...
11190         (target_terminal::terminal_state): ... here.
11191         (target_terminal::inferior): Update comments.
11192         (target_terminal::restore_inferior): New.
11193         (target_terminal::is_inferior, target_terminal::is_ours)
11194         (target_terminal::is_ours_for_output): Adjust.
11195         (target_terminal::scoped_restore_terminal_state): Adjust to
11196         rename, and call restore_inferior() instead of inferior().
11197         (target_terminal::scoped_restore_terminal_state::m_state): Change
11198         type.
11199         (target_terminal::terminal_state): Rename to ...
11200         (target_terminal::m_terminal_state): ... this and change type.
11201
11202 2018-01-30  Pedro Alves  <palves@redhat.com>
11203
11204         * linux-nat.c (wait_for_signal): New function.
11205         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11206         directly.
11207         (async_terminal_is_ours)
11208         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11209         (linux_nat_add_target): Don't override
11210         to_terminal_inferior/to_terminal_ours.
11211
11212 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11213
11214         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11215
11216 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11217
11218         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11219         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11220         dwarf2_per_objfile_free here.
11221         (dwarf2_per_objfile_free): Remove.
11222         (_initialize_dwarf2_read): Don't register
11223         dwarf2_per_objfile_free as a registry cleanup.
11224
11225 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11226
11227         Avoid compilation errors in MinGW native builds
11228
11229         The error is triggered by including python-internal.h, and the
11230         error message is:
11231
11232              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11233                       from build-gnulib/import/math.h:27,
11234                       from d:/usr/Python26/include/pyport.h:235,
11235                       from d:/usr/Python26/include/Python.h:58,
11236                       from python/python-internal.h:94,
11237                       from python/py-arch.c:24:
11238              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11239         using ::hypot;
11240                 ^~~~~
11241
11242         This happens because Python headers define 'hypot' to expand t
11243         '_hypot' in the Windows builds.
11244         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11245         'hypoth'.  This avoids a compilation error.
11246
11247 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11248
11249         * MAINTAINERS (Write After Approval): Fix ordering.
11250
11251 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11252
11253         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11254
11255 2018-01-26  Alan Modra  <amodra@gmail.com>
11256
11257         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11258         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11259         Remove nop.  Make const.  Comment.
11260         (powerpc32_plt_stub_so_2): New.
11261         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11262         Correct count.  Update uses.
11263         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11264         Move common code reading PLT entry word.  Correct
11265         powerpc32_plt_stub PLT address calculation.
11266         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11267         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11268         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11269         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11270         (ppc64_standard_linkage8): Likewise.
11271         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11272         Correct insns description.
11273         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11274
11275 2018-01-24  Pedro Alves  <palves@redhat.com>
11276
11277         GCC PR libstdc++/83906
11278         * gdbtypes.c (operator==(const dynamic_prop &,
11279         const dynamic_prop &)): New.
11280         (operator==(const range_bounds &, const range_bounds &)): New.
11281         (check_types_equal): Use them instead of memcmp.
11282         * gdbtypes.h (operator==(const dynamic_prop &,
11283         const dynamic_prop &)): Declare.
11284         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11285         (operator==(const range_bounds &, const range_bounds &)): Declare.
11286         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11287
11288 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11289
11290         * s390-linux-tdep.c (s390_record_address_mask)
11291         (s390_record_calc_disp_common, s390_record_calc_disp)
11292         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11293         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11294         (s390_process_record): Move to s390-tdep.c.
11295         (s390_linux_init_abi_any): Adjust.
11296         * s390-tdep.c (s390_record_address_mask)
11297         (s390_record_calc_disp_common, s390_record_calc_disp)
11298         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11299         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11300         (s390_process_record): Moved from s390-linux-tdep.c
11301         (s390_gdbarch_init): Adjust.
11302
11303 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11304
11305         * s390-linux-nat.c (s390-tdep.h): New include.
11306         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11307         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11308         (ALLDEPFILES): Add s390-tdep.c.
11309         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11310         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11311         * s390-tdep.h: ...this.  New file.
11312         * s390-linux-tdep.c (s390-tdep.h): New include.
11313         (_initialize_s390_tdep): Rename to...
11314         (_initialize_s390_linux_tdep): ...this and adjust.
11315         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11316         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11317         s390-tdep.h.
11318         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11319         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11320         (s390_is_partial_instruction, s390_software_single_step)
11321         (is_non_branch_ril, s390_displaced_step_copy_insn)
11322         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11323         (s390_prologue_data, s390_addr, s390_store, s390_load)
11324         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11325         (s390_register_call_saved, s390_guess_tracepoint_registers)
11326         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11327         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11328         (s390_pseudo_register_name, s390_pseudo_register_type)
11329         (s390_pseudo_register_read, s390_pseudo_register_write)
11330         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11331         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11332         (s390_addr_bits_remove, s390_address_class_type_flags)
11333         (s390_address_class_type_flags_to_name)
11334         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11335         (s390_function_arg_float, s390_function_arg_vector)
11336         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11337         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11338         (s390_frame_align, s390_register_return_value, s390_return_value)
11339         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11340         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11341         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11342         (s390_trad_frame_prev_register, s390_unwind_cache)
11343         (s390_prologue_frame_unwind_cache)
11344         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11345         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11346         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11347         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11348         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11349         (s390_frame_base_address, s390_local_base_address)
11350         (s390_frame_base, s390_gcc_target_options)
11351         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11352         (s390_validate_reg_range, s390_tdesc_valid)
11353         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11354         * s390-tdep.c: ...this.  New file.
11355
11356 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11357
11358         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11359         (s390_process_record, s390_gdbarch_tdep_alloc)
11360         (s390_linux_init_abi_any): Use/set new hook.
11361
11362 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11363
11364         * s390-linux-tdep.c (osabi.h): New include.
11365         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11366         (s390_linux_init_abi_any): New functions.
11367         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11368
11369 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11370
11371         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11372         tdesc_has_registers check
11373
11374 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11375
11376         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11377         (s390_validate_reg_range): New macro.
11378         (s390_gdbarch_init): Adjust.
11379
11380 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11381
11382         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11383         (s390_gdbarch_tdep_alloc): Adjust.
11384         (s390_gdbarch_init): Adjust.
11385
11386 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11387
11388         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11389         <have_tdb>: Change type to bool.
11390         (s390_gdbarch_tdep_alloc): Adjust.
11391         (s390_gdbarch_init): Adjust.
11392
11393 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11394
11395         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11396         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11397         (s390_gdbarch_tdep_alloc): New function.
11398         (s390_gdbarch_init): Allocate tdep at start and use its fields
11399         instead of separate variables.
11400
11401 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11402
11403         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11404         when looking for cached gdbarch and add comment for remaining.
11405
11406 2018-01-22  Pedro Alves  <palves@redhat.com>
11407             Sergio Durigan Junior  <sergiodj@redhat.com>
11408
11409         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11410         case.
11411
11412 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11413
11414         * MAINTAINERS: Update my company e-mail address.
11415
11416 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11417
11418         * regcache.c (cooked_write_test): New function.
11419         (_initialize_regcache): Register the test.
11420
11421 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11422
11423         * ia64-tdep.c (ia64_pseudo_register_read): Call
11424         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11425         * m32c-tdep.c (m32c_cat_read): Likewise.
11426         (m32c_r3r2r1r0_read): Likewise.
11427         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11428         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11429
11430 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11431
11432         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11433         method raw_read instead of regcache_raw_read.
11434         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11435         * arm-tdep.c (arm_neon_quad_read): Likewise.
11436         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11437         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11438         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11439         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11440         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11441         (i386_pseudo_register_read_into_value): Likewise.
11442         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11443         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11444         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11445         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11446         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11447         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11448         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11449         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11450         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11451
11452 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11453
11454         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11455         * configure.tgt: Remove target mt.
11456         * mt-tdep.c: Remove.
11457         * regcache.c (cooked_read_test): Remove the check for mt.
11458
11459 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11460
11461         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11462         instead of gdbarch_pseudo_register_read_value.
11463
11464 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11465
11466         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11467         language is Ada.
11468
11469 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11470
11471         * linespec.c (create_sals_line_offset): Remove code that preserved
11472         the symtab_and_line's line number.
11473
11474 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11475
11476         * varobj.c (varobj_create): Don't set valid_block when creating a
11477         floating varobj.
11478
11479 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11480
11481         * varobj.c (varobj_create): Remove out of date comment.
11482
11483 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11484
11485         PR mi/20395
11486         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11487         updating innermost block.
11488         * parse.c (innermost_block_tracker::update): Take extra type
11489         parameter, and check types match before updating innermost block.
11490         (write_dollar_variable): Update innermost block for registers.
11491         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11492         (innermost_block_tracker::innermost_block_tracker): Initialise
11493         m_types member.
11494         (innermost_block_tracker::reset): Take type parameter.
11495         (innermost_block_tracker::update): Take type parameter, and pass
11496         type through as needed.
11497         (innermost_block_tracker::m_types): New member.
11498         * varobj.c (varobj_create): Pass type when reseting innermost
11499         block.
11500
11501 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11502
11503         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11504         * ada-lang.c (resolve_subexp): Likewise.
11505         * breakpoint.c (set_breakpoint_condition) Likewise.
11506         (watch_command_1) Likewise.
11507         * c-exp.y (variable): Likewise.
11508         * d-exp.y (PrimaryExpression): Likewise.
11509         * f-exp.y (variable): Likewise.
11510         * go-exp.y (variable): Likewise.
11511         * m2-exp.y (variable): Likewise.
11512         * objfiles.c (objfile::~objfile): Likewise.
11513         * p-exp.y (variable): Likewise.
11514         * parse.c (innermost_block): Change type.
11515         * parser-defs.h (class innermost_block_tracker): New.
11516         (innermost_block): Change to innermost_block_tracker.
11517         * printcmd.c (display_command): Switch to innermost_block API.
11518         (do_one_display): Likewise.
11519         * rust-exp.y (do_one_display): Likewise.
11520         * symfile.c (clear_symtab_users): Likewise.
11521         * varobj.c (varobj_create): Switch to innermost_block API, replace
11522         use of innermost_block with block stored on varobj object.
11523
11524 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11525
11526         * expression.h (innermost_block): Remove declaration.
11527         * varobj.c: Add 'parser-defs.h' include.
11528
11529 2018-01-19  Tom Tromey  <tom@tromey.com>
11530
11531         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11532         symbols in the static and global blocks.
11533
11534 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11535
11536         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11537         gdb_ptrace.h, and move including gdb_wait.h ...
11538         * nat/linux-ptrace.h: ... to here.
11539
11540 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11541
11542         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11543         inf_ptrace_detach_success.
11544         (inf_ptrace_detach_success): Add inferior parameter, use it
11545         instead of inferior_ptid, pass it to detach_inferior.
11546         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11547         parameter.
11548         * inferior.c (detach_inferior): Add overload that takes an
11549         inferior object.
11550         * inferior.h (detach_inferior): Likewise.
11551         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11552         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11553         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11554
11555 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11556
11557         * target.h (struct target_ops) <to_detach>: Add inferior
11558         parameter.
11559         (target_detach): Likewise.
11560         * target.c (dispose_inferior): Pass inferior down.
11561         (target_detach): Pass inferior down.  Assert that it is equal to
11562         the current inferior.
11563         * aix-thread.c (aix_thread_detach): Pass inferior down.
11564         * corefile.c (core_file_command): Pass current_inferior() down.
11565         * corelow.c (core_detach): Add inferior parameter.
11566         * darwin-nat.c (darwin_detach): Likewise.
11567         * gnu-nat.c (gnu_detach): Likewise.
11568         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11569         * infcmd.c (detach_command): Pass current_inferior() down to
11570         target_detach.
11571         * infrun.c (follow_fork_inferior): Pass parent_inf to
11572         target_detach.
11573         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11574         target_detach.
11575         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11576         * linux-thread-db.c (thread_db_detach): Likewise.
11577         * nto-procfs.c (procfs_detach): Likewise.
11578         * procfs.c (procfs_detach): Likewise.
11579         * record.c (record_detach): Likewise.
11580         * record.h (struct inferior): Forward-declare.
11581         (record_detach): Add inferior parameter.
11582         * remote-sim.c (gdbsim_detach): Likewise.
11583         * remote.c (remote_detach_1): Likewise.
11584         (remote_detach): Likewise.
11585         (extended_remote_detach): Likewise.
11586         * sol-thread.c (sol_thread_detach): Likewise.
11587         * target-debug.h (target_debug_print_inferior_p): New macro.
11588         * target-delegates.c: Re-generate.
11589         * top.c (kill_or_detach): Pass inferior down to target_detach.
11590         * windows-nat.c (windows_detach): Add inferior parameter.
11591
11592 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11593
11594         * target.h (struct target_ops) <to_detach>: Remove args
11595         parameter.
11596         (target_detach): Likewise.
11597         * target.c (dispose_inferior): Adjust.
11598         (target_detach): Remove args parameter, adjust.
11599         * aix-thread.c (aix_thread_detach): Adjust.
11600         * corefile.c (core_file_command): Adjust.
11601         * corelow.c (core_detach): Adjust.
11602         * darwin-nat.c (darwin_detach): Adjust.
11603         * gnu-nat.c (gnu_detach): Adjust.
11604         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11605         * infcmd.c (detach_command): Adjust
11606         * infrun.c (follow_fork_inferior): Adjust.
11607         (handle_vfork_child_exec_or_exit): Adjust.
11608         * linux-fork.c (linux_fork_detach): Remove args parameter.
11609         * linux-fork.h (linux_fork_detach): Likewise.
11610         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11611         * linux-thread-db.c (thread_db_detach): Likewise.
11612         * nto-procfs.c (procfs_detach): Likewise.
11613         * procfs.c (procfs_detach): Likewise.
11614         (do_detach): Remove signo parameter.
11615         * record.c (record_detach): Remove args parameter.
11616         * record.h (record_detach): Likewise.
11617         * remote-sim.c (gdbsim_detach): Likewise.
11618         * remote.c (remote_detach_1): Likewise.
11619         (remote_detach): Likewise.
11620         (extended_remote_detach): Likewise.
11621         * sol-thread.c (sol_thread_detach): Likewise.
11622         * target-delegates.c: Re-generate.
11623         * top.c (struct qt_args) <args>: Remove field.
11624         (kill_or_detach): Don't pass args.
11625         (quit_force): Don't set args.
11626         * windows-nat.c (windows_detach): Remove args parameter.
11627
11628 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11629
11630         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11631         (arm_linux_init_abi): Install it.
11632
11633 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11634
11635         * osabi.c (gdb_osabi_names): Extend the regexp for
11636         arm-linux-gnueabihf.
11637
11638 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11639
11640         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11641         m_abbrevs.
11642         (abbrev_table::add_abbrev): Update.
11643         (abbrev_table::lookup_abbrev): Update.
11644
11645 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11646
11647         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11648
11649 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11650
11651         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11652         to "std::string".
11653
11654 2018-01-17  Tom Tromey  <tom@tromey.com>
11655
11656         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11657
11658 2018-01-17  Tom Tromey  <tom@tromey.com>
11659
11660         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11661         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11662         (create_array_type_with_stride): Update.
11663         * dwarf2read.c (set_die_type): Update.
11664
11665 2018-01-17  Tom Tromey  <tom@tromey.com>
11666
11667         * dwarf2read.c (delayed_method_info): Remove typedef.
11668         (dwarf2_cu::method_info): Now a std::vector.
11669         (add_to_method_list): Update.
11670         (free_delayed_list): Remove.
11671         (compute_delayed_physnames): Update.
11672         (process_full_comp_unit, process_full_type_unit): Clear the method
11673         list.  Remove cleanups.
11674         (psymtab_include_file_name): Add name_holder parameter.  Use
11675         unique_xmalloc_ptr.
11676         (dwarf_decode_lines): Update.
11677
11678 2018-01-17  Tom Tromey  <tom@tromey.com>
11679             Simon Marchi  <simon.marchi@ericsson.com>
11680
11681         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11682         (dwarf2_per_objfile::free_cached_comp_units)
11683         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11684         (init_cutu_and_read_dies_no_follow): Update.
11685         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11686         (dwarf2_cu::~dwarf2_cu): New.
11687         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11688         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11689
11690 2018-01-17  Tom Tromey  <tom@tromey.com>
11691             Simon Marchi  <simon.marchi@ericsson.com>
11692
11693         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11694         (struct die_reader_specs) <abbrev_table>: New member.
11695         (struct abbrev_table): Add constructor.
11696         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11697         <abbrev_obstack>: Now an auto_obstack.
11698         (abbrev_table_up): New typedef.
11699         (init_cu_die_reader): Add abbrev_table parameter.
11700         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11701         Add result_dwo_abbrev_table.
11702         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11703         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11704         Update.
11705         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11706         parameter.
11707         (skip_children): Update.
11708         (abbrev_table::alloc_abbrev): Rename from
11709         abbrev_table_alloc_abbrev.
11710         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11711         (abbrev_table::lookup_abbrev): Rename from
11712         abbrev_table_lookup_abbrev.
11713         (abbrev_table_read_table): Return abbrev_table_up.
11714         (abbrev_table_free, abbrev_table_free_cleanup)
11715         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11716         (load_partial_dies): Update.
11717
11718 2018-01-17  Tom Tromey  <tom@tromey.com>
11719
11720         * dwarf2read.c (dwarf2_compute_name): Update comment.
11721         (read_func_scope, read_variable): Update.
11722         (new_symbol): Remove.
11723         (new_symbol_full): Rename to new_symbol.
11724
11725 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11726
11727         PR gdb/16577
11728         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11729         a warning instead of throwing an error, set section size to 0 and return
11730         NULL.
11731         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11732
11733 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11734
11735         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11736         std::string.
11737         (linux_ptrace_attach_fail_reason_string): Likewise.
11738         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11739         Likewise.
11740         (linux_ptrace_attach_fail_reason_string): Likewise.
11741         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11742
11743 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11744
11745         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11746
11747 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11748
11749         PR gdb/21559
11750         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11751         checking for fs_base/gs_base fields in struct user_regs_struct.
11752         * configure: Regenerate.
11753
11754 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11755
11756         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11757         function.
11758         (aarch64_linux_init_abi): Install it to gdbarch hook
11759         gcc_target_options.
11760
11761 2018-01-15  Pedro Alves  <palves@redhat.com>
11762
11763         * common/signals-state-save-restore.c
11764         (save_original_signals_state): Fix typos.
11765
11766 2017-01-12  Tom Tromey  <tom@tromey.com>
11767             Sergio Durigan Junior  <sergiodj@redhat.com>
11768
11769         * Makefile.in (install-only): Install gdb-add-index.
11770
11771 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11772
11773         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11774
11775 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11776
11777         * infrun.c (keep_going_pass_signal): Clear step-over info when
11778         insert_breakpoints fails.
11779
11780 2018-01-11  Pedro Alves  <palves@redhat.com>
11781
11782         PR gdb/22583
11783         * infrun.c (resume): Rename to ...
11784         (resume_1): ... this.
11785         (resume): Reimplement as wrapper around resume_1.
11786
11787 2018-01-11  Pedro Alves  <palves@redhat.com>
11788
11789         PR remote/22597
11790         * remote.c (remote_parse_stop_reply): Default to the last-set
11791         general thread instead of to 'magic_null_ptid'.
11792
11793 2018-01-10  Pedro Alves  <palves@redhat.com>
11794
11795         * language.h (language_get_symbol_name_matcher): Rename ...
11796         (get_symbol_name_matcher): ... this.
11797         * language.c (language_get_symbol_name_matcher): Ditto.
11798         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
11799         callers adjusted.
11800
11801 2018-01-10  Pedro Alves  <palves@redhat.com>
11802
11803         PR gdb/22670
11804         * dwarf2read.c
11805         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
11806         Adjust to use language_get_symbol_name_matcher instead of
11807         language_defn::la_get_symbol_name_matcher.
11808         * language.c (language_get_symbol_name_matcher): If in Ada mode
11809         and the lookup name is a verbatim match, return Ada's matcher.
11810         * language.h (language_get_symbol_name_matcher): Adjust comment.
11811         (ada_lookup_name_info::verbatim_p):: New method.
11812
11813 2018-01-10  Pedro Alves  <palves@redhat.com>
11814
11815         PR gdb/22670
11816         * ada-lang.c (ada_collect_symbol_completion_matches): If the
11817         minsym's language is language_auto or language_cplus, pass down
11818         language_ada instead.
11819         * symtab.c (compare_symbol_name): Don't frob symbol language here.
11820
11821 2018-01-10  Pedro Alves  <palves@redhat.com>
11822
11823         PR gdb/22670
11824         * minsyms.c (linkage_name_str): New function.
11825         (iterate_over_minimal_symbols): Use it.
11826
11827 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11828
11829         * NEWS: Document that 'info proc' now works on FreeBSD.
11830
11831 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11832
11833         * configure.ac: Check for kinfo_getfile in libutil.
11834         * configure: Regenerate.
11835         * config.in: Regenerate.
11836         * fbsd-nat.c: Include "fbsd-tdep.h".
11837         (fbsd_fetch_cmdline): New.
11838         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11839         rather than calling error.
11840         (fbsd_info_proc): New.
11841         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11842         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11843         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11844
11845 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11846
11847         * fbsd-nat.c (struct free_deleter): Remove.
11848         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11849
11850 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11851
11852         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11853         NULL for an empty pathname.
11854
11855 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11856
11857         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11858         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11859         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11860         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11861         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11862         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11863         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11864         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11865         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11866         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11867         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11868         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11869         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11870         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11871         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11872
11873 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11874
11875         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11876         (gnu_xfer_auxv): New function.
11877         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11878         TARGET_OBJECT_AUXV.
11879
11880 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11881             Simon Marchi  <simon.marchi@ericsson.com>
11882
11883         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11884         common/selftest.c.
11885         (COMMON_OBS): Remove selftest.o.
11886         * configure.ac: Append selftest-arch.c and common/selftest.c to
11887         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11888         * configure: Re-generated.
11889         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11890         GDB_SELF_TEST.
11891         (maintenance_info_selftests): Likewise.
11892
11893 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11894
11895         * ada-valprint.c (val_print_packed_array_elements): Use
11896         proper number of elements when printing an array indexed
11897         by an enumeration type.
11898
11899 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11900
11901         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11902         (dw2_get_file_names_reader): Adjust.
11903         (lookup_dwo_signatured_type): Adjust.
11904         (lookup_dwp_signatured_type): Adjust.
11905         (lookup_signatured_type): Adjust.
11906         (create_type_unit_group): Adjust.
11907         (get_type_unit_group): Adjust.
11908         (process_psymtab_comp_unit_reader): Adjust.
11909         (build_type_psymtabs_reader): Adjust.
11910         (scan_partial_symbols): Adjust.
11911         (add_partial_symbol): Adjust.
11912         (add_partial_subprogram): Adjust.
11913         (peek_die_abbrev): Adjust.
11914         (fixup_go_packaging): Adjust.
11915         (process_imported_unit_die): Adjust.
11916         (dwarf2_compute_name): Adjust.
11917         (dwarf2_physname): Adjust.
11918         (read_import_statement): Adjust.
11919         (handle_DW_AT_stmt_list): Adjust.
11920         (read_file_scope): Adjust.
11921         (read_func_scope): Adjust.
11922         (read_lexical_block_scope): Adjust.
11923         (read_call_site_scope): Adjust.
11924         (read_variable): Adjust.
11925         (dwarf2_rnglists_process): Adjust.
11926         (dwarf2_ranges_process): Adjust.
11927         (dwarf2_ranges_read): Adjust.
11928         (dwarf2_get_pc_bounds): Adjust.
11929         (dwarf2_record_block_ranges): Adjust.
11930         (dwarf2_add_field): Adjust.
11931         (dwarf2_add_member_fn): Adjust.
11932         (read_structure_type): Adjust.
11933         (process_structure_scope): Adjust.
11934         (read_enumeration_type): Adjust.
11935         (read_array_type): Adjust.
11936         (mark_common_block_symbol_computed): Adjust.
11937         (read_common_block): Adjust.
11938         (read_namespace_type): Adjust.
11939         (read_namespace): Adjust.
11940         (read_module_type): Adjust.
11941         (read_tag_pointer_type): Adjust.
11942         (read_tag_ptr_to_member_type): Adjust.
11943         (read_tag_string_type): Adjust.
11944         (read_subroutine_type): Adjust.
11945         (read_typedef): Adjust.
11946         (read_base_type): Adjust.
11947         (attr_to_dynamic_prop): Adjust.
11948         (read_subrange_type): Adjust.
11949         (read_unspecified_type): Adjust.
11950         (dwarf2_read_abbrevs): Adjust.
11951         (load_partial_dies): Adjust.
11952         (read_partial_die): Adjust.
11953         (find_partial_die): Adjust.
11954         (guess_partial_die_structure_name): Adjust.
11955         (fixup_partial_die): Adjust.
11956         (read_attribute_value): Adjust.
11957         (read_addr_index): Adjust.
11958         (read_addr_index_from_leb128): Adjust.
11959         (read_str_index): Adjust.
11960         (dwarf2_string_attr): Adjust.
11961         (get_debug_line_section): Adjust.
11962         (dwarf_decode_line_header): Adjust.
11963         (lnp_state_machine::check_line_address): Adjust.
11964         (dwarf_decode_lines_1): Adjust.
11965         (dwarf_decode_lines): Adjust.
11966         (dwarf2_start_symtab): Adjust.
11967         (var_decode_location): Adjust.
11968         (new_symbol_full): Adjust.
11969         (dwarf2_const_value_data): Adjust.
11970         (dwarf2_const_value_attr): Adjust.
11971         (dwarf2_const_value): Adjust.
11972         (die_type): Adjust.
11973         (die_containing_type): Adjust.
11974         (build_error_marker_type): Adjust.
11975         (lookup_die_type): Adjust.
11976         (guess_full_die_structure_name): Adjust.
11977         (anonymous_struct_prefix): Adjust.
11978         (determine_prefix): Adjust.
11979         (dwarf2_name): Adjust.
11980         (follow_die_ref_or_sig): Adjust.
11981         (follow_die_offset): Adjust.
11982         (follow_die_ref): Adjust.
11983         (follow_die_sig_1): Adjust.
11984         (follow_die_sig): Adjust.
11985         (get_signatured_type): Adjust.
11986         (get_DW_AT_signature_type): Adjust.
11987         (decode_locdesc): Adjust.
11988         (dwarf_decode_macros): Adjust.
11989         (cu_debug_loc_section): Adjust.
11990         (fill_in_loclist_baton): Adjust.
11991         (dwarf2_symbol_mark_computed): Adjust.
11992         (init_one_comp_unit): Don't assign
11993         dwarf2_cu::dwarf2_per_objfile.
11994         (set_die_type): Adjust.
11995
11996 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11997
11998         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11999         <dwarf2_per_objfile>: New field.
12000         (dwarf2_per_objfile): Remove global.
12001         (get_dwarf2_per_objfile): New function.
12002         (set_dwarf2_per_objfile): New function.
12003         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12004         dwarf2_per_objfile.
12005         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12006         (read_abbrev_offset): Likewise.
12007         (read_indirect_string): Likewise.
12008         (read_indirect_line_string): Likewise.
12009         (read_indirect_string_at_offset): Likewise.
12010         (read_indirect_string_from_dwz): Likewise.
12011         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12012         dwarf2_per_objfile.
12013         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12014         (create_all_comp_units): Change objfile parameter to
12015         dwarf2_per_objfile.
12016         (create_all_type_units): Likewise.
12017         (process_queue): Add dwarf2_per_objfile parameter.
12018         (read_and_check_comp_unit_head): Likewise.
12019         (lookup_dwo_unit_in_dwp): Likewise.
12020         (get_dwp_file): Likewise.
12021         (process_cu_includes): Likewise.
12022         (struct free_dwo_file_cleanup_data): New struct.
12023         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12024         set_dwarf2_per_objfile.
12025         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12026         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12027         context, adjust calls.
12028         (dw2_instantiate_symtab): Likewise.
12029         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12030         (dw2_get_cu): Likewise.
12031         (create_cu_from_index_list): Change objfile parameter to
12032         dwarf2_per_objfile.
12033         (create_cus_from_index_list): Get dwarf2_per_objfile from
12034         context, adjust calls.
12035         (create_cus_from_index): Likewise.
12036         (create_signatured_type_table_from_index): Change objfile
12037         parameter to dwarf2_per_objfile.
12038         (create_signatured_type_table_from_debug_names): Change objfile
12039         parameter to dwarf2_per_objfile.
12040         (create_addrmap_from_index): Likewise.
12041         (create_addrmap_from_aranges): Likewise.
12042         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12043         (dw2_setup): Remove.
12044         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12045         context.
12046         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12047         get_dwarf2_per_objfile.
12048         (dw2_forget_cached_source_info): Likewise.
12049         (dw2_map_symtabs_matching_filename): Likewise.
12050         (struct dw2_symtab_iterator) <index>: Remove.
12051         <dwarf2_per_objfile>: New field.
12052         (dw2_symtab_iter_init): Replace index parameter with
12053         dwarf2_per_objfile.
12054         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12055         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12056         (dw2_print_stats): Likewise.
12057         (dw2_dump): Likewise.
12058         (dw2_expand_symtabs_for_function): Likewise.
12059         (dw2_expand_all_symtabs): Likewise.
12060         (dw2_expand_symtabs_with_fullname): Likewise.
12061         (dw2_expand_marked_cus): Replace index and objfile parameters
12062         with dwarf2_per_objfile.
12063         (dw_expand_symtabs_matching_file_matcher): Add
12064         dwarf2_per_objfile parameter and adjust calls.
12065         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12066         adjust calls.
12067         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12068         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12069         adjust calls.
12070         (create_cus_from_debug_names_list): Replace objfile parameter
12071         with dwarf2_per_objfile and adjust calls.
12072         (create_cus_from_debug_names): Likewise.
12073         (dwarf2_read_debug_names): Likewise.
12074         (mapped_debug_names::namei_to_name): Adjust call.
12075         (dw2_debug_names_iterator::next): Likewise.
12076         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12077         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12078         (dw2_debug_names_dump): Likewise.
12079         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12080         (dw2_debug_names_expand_symtabs_matching): Likewise.
12081         (dwarf2_initialize_objfile): Likewise.
12082         (dwarf2_build_psymtabs): Likewise.
12083         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12084         this_cu.
12085         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12086         (read_and_check_comp_unit_head): Likewise.
12087         (read_abbrev_offset): Likewise.
12088         (create_debug_type_hash_table): Likewise.
12089         (create_debug_types_hash_table): Likewise.
12090         (create_all_type_units): Replace objfile parameter with
12091         dwarf2_per_objfile.
12092         (add_type_unit): Add dwarf2_per_objfile parameter.
12093         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12094         with dwarf2_per_objfile.
12095         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12096         (lookup_dwp_signatured_type): Likewise.
12097         (lookup_signatured_type): Likewise.
12098         (read_cutu_die_from_dwo): Likewise.
12099         (init_tu_and_read_dwo_dies): Likewise.
12100         (init_cutu_and_read_dies): Likewise.
12101         (init_cutu_and_read_dies_no_follow): Likewise.
12102         (allocate_type_unit_groups_table): Add objfile parameter.
12103         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12104         (get_type_unit_group): Likewise.
12105         (process_psymtab_comp_unit): Update call.
12106         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12107         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12108         (print_tu_stats): Likewise.
12109         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12110         in void* parameter.
12111         (build_type_psymtabs): Change objfile parameter to
12112         dwarf2_per_objfile.
12113         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12114         passed in void* parameter.
12115         (process_skeletonless_type_units): Change objfile parameter to
12116         dwarf2_per_objfile.
12117         (set_partial_user): Likewise.
12118         (dwarf2_build_psymtabs_hard): Likewise.
12119         (read_comp_units_from_section): Likewise.
12120         (create_all_comp_units): Likewise.
12121         (scan_partial_symbols): Update calls.
12122         (add_partial_symbol): Likewise.
12123         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12124         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12125         (process_queue): Add dwarf2_per_objfile parameter.
12126         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12127         (compute_compunit_symtab_includes): Likewise.
12128         (process_cu_includes): Add dwarf2_per_objfile parameter.
12129         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12130         (process_full_type_unit): Likewise.
12131         (process_imported_unit_die): Update call.
12132         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12133         (read_file_scope): Likewise.
12134         (allocate_dwo_file_hash_table): Add objfile parameter.
12135         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12136         (create_cus_hash_table): Likewise.
12137         (create_dwp_hash_table): Likewise.
12138         (create_dwo_unit_in_dwp_v1): Likewise.
12139         (create_dwp_v2_section): Likewise.
12140         (create_dwo_unit_in_dwp_v2): Likewise.
12141         (lookup_dwo_unit_in_dwp): Likewise.
12142         (try_open_dwop_file): Likewise.
12143         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12144         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12145         cleanup to include a reference to dwarf2_per_objfile.
12146         (open_dwp_file): Add dwarf2_per_objfile parameter.
12147         (open_and_init_dwp_file): Likewise.
12148         (get_dwp_file): Likewise.
12149         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12150         (queue_and_load_all_dwo_tus): Update call.
12151         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12152         data.
12153         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12154         (dwarf2_ranges_process): Likewise.
12155         (dwarf2_get_pc_bounds): Likewise.
12156         (mark_common_block_symbol_computed): Likewise.
12157         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12158         (dwarf2_read_abbrevs): Update call.
12159         (read_partial_die): Use dwarf2_per_objfile from cu.
12160         (find_partial_die): Likewise.
12161         (fixup_partial_die): Likewise.
12162         (read_attribute_value): Likewise.
12163         (read_indirect_string_at_offset_from): Add objfile parameter.
12164         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12165         parameter.
12166         (read_indirect_string_from_dwz): Add objfile parameter.
12167         (read_indirect_string): Add objfile parameter.
12168         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12169         (read_addr_index): Use dwarf2_per_objfile from cu.
12170         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12171         call dw2_setup.
12172         (read_str_index): Use dwarf2_per_objfile from cu.
12173         (get_debug_line_section): Likewise.
12174         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12175         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12176         (new_symbol_full): Use dwarf2_per_objfile from cu.
12177         (build_error_marker_type): Likewise.
12178         (lookup_die_type): Likewise.
12179         (determine_prefix): Likewise.
12180         (follow_die_offset): Likewise.
12181         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12182         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12183         (dwarf2_fetch_die_type_sect_off): Likewise.
12184         (dwarf2_get_die_type): Likewise.
12185         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12186         (get_signatured_type): Likewise.
12187         (get_DW_AT_signature_type): Likewise.
12188         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12189         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12190         (cu_debug_loc_section): Likewise.
12191         (fill_in_loclist_baton): Likewise.
12192         (dwarf2_symbol_mark_computed): Likewise.
12193         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12194         dwarf2_per_objfile.
12195         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12196         parameter.
12197         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12198         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12199         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12200         (set_die_type): Use dwarf2_free_objfile from cu.
12201         (get_die_type_at_offset): Likewise.
12202         (dwarf2_per_objfile_free): Don't assign global variable.
12203         (debug_names) <constructor>: Add dwarf2_per_objfile
12204         parameter, update m_debugstrlookup construction.
12205         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12206         parameter.
12207         <m_dwarf2_per_objfile>: New field.
12208         <lookup>: Use m_dwarf2_per_objfile.
12209         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12210         (psyms_seen_size): Likewise.
12211         (write_gdbindex): Replace objfile parameter with
12212         dwarf2_per_objfile.
12213         (write_debug_names): Likewise.
12214         (write_psymtabs_to_index): Likewise.
12215         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12216         calls.
12217
12218 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12219
12220         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12221         <dwarf2_per_objfile>: New field.
12222         (struct dwarf2_per_cu_data) <objfile>: Remove.
12223         <dwarf2_per_objfile>: New field.
12224         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12225         of objfile.
12226         (create_signatured_type_table_from_index): Likewise.
12227         (create_debug_type_hash_table): Likewise.
12228         (fill_in_sig_entry_from_dwo_entry): Likewise.
12229         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12230         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12231         objfile.
12232         (create_partial_symtab): Access objfile through
12233         dwarf2_per_objfile.
12234         (process_psymtab_comp_unit_reader): Likewise.
12235         (read_comp_units_from_section): Likewise.
12236         (scan_partial_symbols): Likewise.
12237         (add_partial_symbol): Likewise.
12238         (add_partial_subprogram): Likewise.
12239         (peek_die_abbrev): Likewise.
12240         (fixup_go_packaging): Likewise.
12241         (process_full_comp_unit): Likewise.
12242         (process_full_type_unit): Likewise.
12243         (process_imported_unit_die): Likewise.
12244         (dwarf2_compute_name): Likewise.
12245         (dwarf2_physname): Likewise.
12246         (read_import_statement): Likewise.
12247         (create_cus_hash_table): Assign dwarf2_physname instead of
12248         objfile.
12249         (read_func_scope): Access objfile through dwarf2_per_objfile.
12250         (read_lexical_block_scope): Likewise.
12251         (read_call_site_scope): Likewise.
12252         (read_variable): Likewise.
12253         (dwarf2_rnglists_process): Likewise.
12254         (dwarf2_ranges_process): Likewise.
12255         (dwarf2_ranges_read): Likewise.
12256         (dwarf2_record_block_ranges): Likewise.
12257         (dwarf2_add_field): Likewise.
12258         (dwarf2_add_member_fn): Likewise.
12259         (read_structure_type): Likewise.
12260         (process_structure_scope): Likewise.
12261         (read_enumeration_type): Likewise.
12262         (read_array_type): Likewise.
12263         (read_common_block): Likewise.
12264         (read_namespace_type): Likewise.
12265         (read_namespace): Likewise.
12266         (read_module_type): Likewise.
12267         (read_tag_pointer_type): Likewise.
12268         (read_tag_ptr_to_member_type): Likewise.
12269         (read_tag_string_type): Likewise.
12270         (read_subroutine_type): Likewise.
12271         (read_typedef): Likewise.
12272         (read_base_type): Likewise.
12273         (attr_to_dynamic_prop): Likewise.
12274         (read_subrange_type): Likewise.
12275         (read_unspecified_type): Likewise.
12276         (load_partial_dies): Likewise.
12277         (read_partial_die): Likewise.
12278         (find_partial_die): Likewise.
12279         (guess_partial_die_structure_name): Likewise.
12280         (fixup_partial_die): Likewise.
12281         (read_attribute_value): Likewise.
12282         (read_addr_index_from_leb128): Likewise.
12283         (dwarf2_read_addr_index): Likewise.
12284         (dwarf2_string_attr): Likewise.
12285         (lnp_state_machine::check_line_address): Likewise.
12286         (dwarf_decode_lines_1): Likewise.
12287         (dwarf_decode_lines): Likewise.
12288         (dwarf2_start_symtab): Likewise.
12289         (var_decode_location): Likewise.
12290         (new_symbol_full): Likewise.
12291         (dwarf2_const_value_data): Likewise.
12292         (dwarf2_const_value_attr): Likewise.
12293         (dwarf2_const_value): Likewise.
12294         (die_type): Likewise.
12295         (die_containing_type): Likewise.
12296         (lookup_die_type): Likewise.
12297         (guess_full_die_structure_name): Likewise.
12298         (anonymous_struct_prefix): Likewise.
12299         (dwarf2_name): Likewise.
12300         (follow_die_ref_or_sig): Likewise.
12301         (follow_die_offset): Likewise.
12302         (follow_die_ref): Likewise.
12303         (dwarf2_fetch_die_loc_sect_off): Likewise.
12304         (dwarf2_fetch_constant_bytes): Likewise.
12305         (dwarf2_fetch_die_type_sect_off): Likewise.
12306         (dwarf2_get_die_type): Likewise.
12307         (follow_die_sig): Likewise.
12308         (decode_locdesc): Likewise.
12309         (dwarf2_per_cu_objfile): Likewise.
12310         (dwarf2_per_cu_text_offset): Likewise.
12311         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12312         objfile.
12313         (set_die_type): Access objfile through
12314         dwarf2_per_objfile.
12315
12316 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12317
12318         * valprint.c (converted_character_d): Remove typedef.
12319         (DEF_VEC_O (converted_character_d)): Remove.
12320         (count_next_character): Use std::vector.
12321         (print_converted_chars_to_obstack): Likewise.
12322         (generic_printstr): Likewise.
12323
12324 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12325
12326         * xml-support.h (struct gdb_xml_value): Add constructor.
12327         <value>: Change type to unique_xmalloc_ptr.
12328         (gdb_xml_value_s): Remove typedef.
12329         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12330         (gdb_xml_element_start_handler): Change parameter type to
12331         std::vector.
12332         (xml_find_attribute): Likewise.
12333         * xml-support.c (xml_find_attribute): Change parameter type to
12334         std::vector and adjust.
12335         (gdb_xml_values_cleanup): Remove.
12336         (gdb_xml_parser::start_element): Adjust to std::vector.
12337         (xinclude_start_include): Change paraeter type to std::vector
12338         and adjust.
12339         * btrace.c (check_xml_btrace_version): Likewise.
12340         (parse_xml_btrace_block): Likewise.
12341         (parse_xml_btrace_pt_config_cpu): Likewise.
12342         (parse_xml_btrace_pt): Likewise.
12343         (parse_xml_btrace_conf_bts): Likewise.
12344         (parse_xml_btrace_conf_pt): Likewise.
12345         * memory-map.c (memory_map_start_memory): Likewise.
12346         (memory_map_start_property): Likewise.
12347         * osdata.c (osdata_start_osdata): Likewise.
12348         (osdata_start_item): Likewise.
12349         (osdata_start_column): Likewise.
12350         * remote.c (start_thread): Likewise.
12351         * solib-aix.c (library_list_start_library): Likewise.
12352         (library_list_start_list): Likewise.
12353         * solib-svr4.c (library_list_start_library): Likewise.
12354         (svr4_library_list_start_list): Likewise.
12355         * solib-target.c (library_list_start_segment): Likewise.
12356         (library_list_start_section): Likewise.
12357         (library_list_start_library): Likewise.
12358         (library_list_start_list): Likewise.
12359         * tracepoint.c (traceframe_info_start_memory): Likewise.
12360         (traceframe_info_start_tvar): Likewise.
12361         * xml-syscall.c (syscall_start_syscall): Likewise.
12362         * xml-tdesc.c (tdesc_start_target): Likewise.
12363         (tdesc_start_feature): Likewise.
12364         (tdesc_start_reg): Likewise.
12365         (tdesc_start_union): Likewise.
12366         (tdesc_start_struct): Likewise.
12367         (tdesc_start_flags): Likewise.
12368         (tdesc_start_enum): Likewise.
12369         (tdesc_start_field): Likewise.
12370         (tdesc_start_enum_value): Likewise.
12371         (tdesc_start_vector): Likewise.
12372
12373 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12374
12375         * extension.h (struct xmethod_worker) <clone>: Remove.
12376         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12377         Remove.
12378         (python_xmethod_worker::clone): Remove.
12379         * valops.c (find_overload_match): Use std::move instead of
12380         clone.
12381
12382 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12383
12384         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12385         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12386         <free_xmethod_worker_data>: Remove.
12387         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12388         <get_xmethod_arg_types>: Remove.
12389         <get_xmethod_result_type>: Remove.
12390         <invoke_xmethod>: Remove.
12391         * extension.c (new_xmethod_worker): Remove.
12392         (clone_xmethod_worker): Remove.
12393         (get_matching_xmethod_workers): Return void, pass std::vector by
12394         pointer.
12395         (get_xmethod_arg_types): Rename to...
12396         (xmethod_worker::get_arg_types): ... this, and adjust.
12397         (get_xmethod_result_type): Rename to...
12398         (xmethod_worker::get_result_type): ... this, and adjust.
12399         (invoke_xmethod): Remove.
12400         (free_xmethod_worker): Remove.
12401         (free_xmethod_worker_vec): Remove.
12402         * extension.h (enum ext_lang_rc): Move here from
12403         extension-priv.h.
12404         (struct xmethod_worker): Add constructor and destructor.
12405         <data>: Remove.
12406         <value>: Remove.
12407         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12408         virtual pure methods.
12409         <get_arg_types, get_result_type>: New methods.
12410         (xmethod_worker_ptr): Remove typedef.
12411         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12412         (xmethod_worker_vec): Remove typedef.
12413         (xmethod_worker_up): New typedef.
12414         (invoke_xmethod): Remove.
12415         (clone_xmethod_worker): Remove.
12416         (free_xmethod_worker): Remove.
12417         (free_xmethod_worker_vec): Remove.
12418         (get_xmethod_arg_types): Remove.
12419         (get_xmethod_result_type): Remove.
12420         * valops.c (find_method_list): Use std::vector, don't use
12421         intermediate vector.
12422         (value_find_oload_method_list): Use std::vector.
12423         (find_overload_match): Use std::vector.
12424         (find_oload_champ): Use std::vector.
12425         * value.c (value_free): Use operator delete.
12426         (value_of_xmethod): Rename to...
12427         (value_from_xmethod): ... this.  Don't assign
12428         xmethod_worker::value, take rvalue-reference.
12429         (result_type_of_xmethod): Adjust.
12430         (call_xmethod): Adjust.
12431         * value.h: Include extension.h.
12432         (struct xmethod_worker): Don't forward-declare.
12433         (value_of_xmethod): Rename to...
12434         (value_from_xmethod): ... this, take rvalue-reference.
12435         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12436         (struct python_xmethod_worker): ... this, add constructor and
12437         destructor.
12438         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12439         (gdbpy_free_xmethod_worker_data): Rename to...
12440         (python_xmethod_worker::~python_xmethod_worker): ... this and
12441         adjust.
12442         (gdbpy_clone_xmethod_worker_data): Rename to...
12443         (python_xmethod_worker::clone): ... this and adjust.
12444         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12445         temporary vector.
12446         (gdbpy_get_xmethod_arg_types): Rename to...
12447         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12448         (gdbpy_get_xmethod_result_type): Rename to...
12449         (python_xmethod_worker::do_get_result_type): ... this and
12450         adjust.
12451         (gdbpy_invoke_xmethod): Rename to...
12452         (python_xmethod_worker::invoke): ... this and adjust.
12453         (new_python_xmethod_worker): Rename to...
12454         (python_xmethod_worker::python_xmethod_worker): ... this and
12455         adjust.
12456         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12457         Remove.
12458         (gdbpy_free_xmethod_worker_data): Remove.
12459         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12460         (gdbpy_get_xmethod_arg_types): Remove.
12461         (gdbpy_get_xmethod_result_type): Remove.
12462         (gdbpy_invoke_xmethod): Remove.
12463         * python/python.c (python_extension_ops): Remove obsolete
12464         callbacks.
12465
12466 2018-01-05  Pedro Alves  <palves@redhat.com>
12467
12468         PR gdb/18653
12469         * common/signals-state-save-restore.c
12470         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12471         find a custom handler preinstalled, instead of internal erroring.
12472         But only warn if !quiet.
12473         * common/signals-state-save-restore.h
12474         (save_original_signals_state): New parameter 'quiet'.
12475         * main.c (captured_main_1): Move save_original_signals_state call
12476         after option handling, and pass QUIET.
12477
12478 2018-01-05  Pedro Alves  <palves@redhat.com>
12479
12480         * spu-tdep.c (spu_catch_start): Pass
12481         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12482
12483 2018-01-05  Pedro Alves  <palves@redhat.com>
12484
12485         PR gdb/22670
12486         * ada-lang.c (literal_symbol_name_matcher): New function.
12487         (ada_get_symbol_name_matcher): Use it for
12488         symbol_name_match_type::SEARCH_NAME.
12489         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12490         it down instead of assuming symbol_name_match_type::FULL.
12491         * block.h (block_lookup_symbol): New parameter 'match_type'.
12492         * c-valprint.c (print_unpacked_pointer): Use
12493         lookup_symbol_search_name instead of lookup_symbol.
12494         * compile/compile-object-load.c (get_out_value_type): Pass down
12495         symbol_name_match_type::SEARCH_NAME.
12496         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12497         symbol_name_match_type::FULL.
12498         * cp-support.c (cp_get_symbol_name_matcher): Handle
12499         symbol_name_match_type::SEARCH_NAME.
12500         * infrun.c (insert_exception_resume_breakpoint): Use
12501         lookup_symbol_search_name.
12502         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12503         * psymtab.c (maintenance_check_psymtabs): Use
12504         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12505         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12506         SYMBOL_SEARCH_NAME.
12507         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12508         if symbol_name_match_type::SEARCH_NAME.
12509         (lookup_symbol_in_language): Pass down
12510         symbol_name_match_type::FULL.
12511         (lookup_symbol_search_name): New.
12512         (lookup_language_this): Pass down
12513         symbol_name_match_type::SEARCH_NAME.
12514         (lookup_symbol_aux, lookup_local_symbol): New parameter
12515         'match_type'.  Pass it down.
12516         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12517         (lookup_symbol_search_name): New declaration.
12518         (lookup_symbol_in_block): New 'match_type' parameter.
12519
12520 2018-01-05  Pedro Alves  <palves@redhat.com>
12521
12522         PR gdb/22670
12523         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12524         ada_lookup_symbol.
12525         (ada_lookup_symbol): Reimplement in terms of
12526         ada_lookup_symbol_list, bits factored out from
12527         ada_lookup_encoded_symbol.
12528
12529 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12530
12531         * ada-exp.y (write_object_renaming): When subscripting an array
12532         using a symbol as the index, pass the block in call to
12533         ada_lookup_encoded_symbol when looking that symbol up.
12534
12535 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12536
12537         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12538         TYPE_INDEX_TYPE.
12539
12540 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12541
12542         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12543         the case where VALUE_LVAL (val0) is not lval_memory.
12544
12545 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12546
12547         * ada-valprint.c (print_optional_low_bound): Handle
12548         character-indexed array printing like boolean-indexed array
12549         printing.
12550
12551 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12552
12553         * NEWS: Create a new section for the next release branch.
12554         Rename the section of the current branch, now that it has
12555         been cut.
12556
12557 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12558
12559         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12560         * version.in: Bump version to 8.1.50.DATE-git.
12561
12562 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12563
12564         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12565         Add field.
12566         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12567         Add field.
12568         (default_exception_support_info) <catch_handlers_sym>: Add field.
12569         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12570         (ada_exception_name_addr_1): Add "catch handlers" handling.
12571         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12572         Update all callers.
12573         (create_excep_cond_exprs) <ex>: Add parameter.
12574         (re_set_exception): Update create_excep_cond_exprs call.
12575         (print_it_exception, print_one_exception, print_mention_exception)
12576         (print_recreate_exception): Add "catch handler" handling.
12577         (allocate_location_catch_handlers, re_set_catch_handlers)
12578         (check_status_catch_handlers, print_it_catch_handlers)
12579         (print_one_catch_handlers, print_mention_catch_handlers)
12580         (print_recreate_catch_handlers): New function.
12581         (catch_handlers_breakpoint_ops): New variable.
12582         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12583         Add parameter.  Add "catch handler" handling.
12584         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12585         Add "catch handler" handling.
12586         (ada_exception_catchpoint_cond_string): Add "catch handler"
12587         handling.
12588         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12589         call.
12590         (catch_ada_handlers_command): New function.
12591         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12592         operations structure.
12593         (_initialize_ada_language): Add "catch handlers" command entry.
12594         * NEWS: Document "catch handlers" feature.
12595
12596 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12597
12598         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12599         account when creating the array type of the slice.
12600         (ada_value_slice): Likewise.
12601
12602 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12603
12604         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12605         New enum value.
12606         (create_array_type_with_stride): Add byte_stride_prop parameter.
12607         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12608         New parameter.  Update all callers in this file.
12609         (array_type_has_dynamic_stride): New function.
12610         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12611         of arrays with dynamic byte strides.
12612         * dwarf2read.c (read_array_type): Add support for dynamic
12613         DW_AT_byte_stride attributes.
12614
12615 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12616
12617         * dwarf2read.c (read_unspecified_type): Treat
12618         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12619
12620 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12621
12622         Update copyright year range in all GDB files.
12623
12624 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12625
12626         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12627         and gdb/testsuite/gdb.base/step-line.c.
12628
12629 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12630
12631         * copyright.py (main): Dump the contents of
12632         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12633         even if BY_HAND is empty.
12634
12635 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12636
12637         * top.c (print_gdb_version): Update Copyright year in version
12638         message.
12639
12640 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12641
12642         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12643
12644 For older changes see ChangeLog-2017.
12645 \f
12646 Local Variables:
12647 mode: change-log
12648 left-margin: 8
12649 fill-column: 74
12650 version-control: never
12651 coding: utf-8
12652 End: