Add comment describing continuable/steppable/non-steppable watchpoints
[external/binutils.git] / gdb / ChangeLog
1 2018-08-31  Pedro Alves  <palves@redhat.com>
2
3         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
4         * target.h (Hardware watchpoint interfaces): Describe
5         continuable/steppable/non-steppable watchpoints.
6         * gdbarch.h, gdbarch.c: Regenerate.
7
8 2018-08-31  Pedro Alves  <palves@redhat.com>
9
10         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
11         Delete.
12         * s390-linux-nat.c
13         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
14         * target.h (target_ops::have_continuable_watchpoint): Delete.
15         (target_have_continuable_watchpoint): Delete.
16         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
17         * target-delegates.c: Regenerate.
18
19 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
20
21         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
22         the files present in "gnulib/import/m4/".
23
24 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
25
26         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
27         c.sw, c.swsp, and c.sdsp.
28
29 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
30
31         * riscv-tdep.c (struct riscv_inferior_data): Delete.
32         (riscv_read_misa_reg): Don't cache value read into inferior data.
33         (riscv_new_inferior_data): Delete.
34         (riscv_inferior_data_cleanup): Delete.
35         (riscv_inferior_data): Delete.
36         (riscv_invalidate_inferior_data): Delete.
37         (_initialize_riscv_tdep): Remove initialisation of inferior data.
38
39 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
40
41         * compile/compile-cplus-types.c
42         (compile_cplus_instance::leave_scope): Take the address of scope
43         object.
44         (compile_cplus_instance::convert_qualified_base): Compare quals
45         to 0.
46
47 2018-08-30  Keith Seitz  <keiths@redhat.com>
48
49         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
50         Use "%s" and host_address_to_string instead of "%p" in printf.
51
52 2018-08-29  Keith Seitz  <keiths@redhat.com>
53
54         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
55         and compile-cplus-types.c.
56         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
57         * c-lang.c (cplus_language_defn): Set C++ compile functions.
58         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
59         Declare.
60         * compile/compile-c-support.c: Include compile-cplus.h.
61         (load_libcompile): Templatize.
62         (get_compile_context): "New" function.
63         (c_get_compile_context): Use get_compile_context.
64         (cplus_get_compile_context): New function.
65         (cplus_push_user_expression, cplus_pop_user_expression)
66         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
67         (cplus_compute_program): Define new structs/functions.
68         * compile/compile-cplus-symmbols.c: New file.
69         * compile/compile-cplus-types.c: New file.
70         * compile/compile-cplus.h: New file.
71         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
72         Declare.
73         * compile/compile-object-load.c (get_out_value_type): Use
74         strncmp_iw when comparing symbol names.
75         (compile_object_load): Add mst_bss and mst_data.
76         * compile/compile.c (_initialize_compile): Remove
77         -Wno-implicit-function-declaration from `compile_args'.
78         * compile/gcc-cp-plugin.h: New file.
79         * NEWS: Mention C++ compile support and new debug options.
80
81 2018-08-29  Keith Seitz  <keiths@redhat.com>
82
83         * linespec.c (collect_info::add_symbol): Make virtual.
84         (struct symbol_searcher_collect_info): New struct.
85         (symbol_searcher::find_all_symbols): New method.
86         * symtab.h (class symbol_searcher): New class.
87
88 2018-08-29  Keith Seitz  <keiths@redhat.com>
89
90         * linespec.c (struct linespec) <function_symbols, label_symbols>:
91         Change to vector of block_symbol.  Update all users.
92         (struct collect_info) <symbols>: Likewise.
93         (collect_info::add_symbol): Take block_symbol as argument.
94         Update all callers.
95         (decode_compound_collector) <m_symbols>: Change type to vector
96         of block_symbol.  Update all users.
97         (decode_compound_collector::operator ()): Change parameter type
98         to block_symbol.
99         (find_method, find_function_symbols, find_linespec_symbols)
100         (find_label_symbols_in_block, find_label_symbols): Change symbol
101         vectors to block_symbol vectors.
102         * symtab.h (symbol_found_callback_ftype): Change parameter type to
103         block_symbol.
104
105 2018-08-29  Keith Seitz  <keiths@redhat.com>
106
107         * linespec.c (symbolp): Remove typedef and VEC definitions.
108         (bound_minimal_symbol_d): Likewise.
109
110 2018-08-29  Keith Seitz  <keiths@redhat.com>
111
112         * linespec.c (decode_compound_collector::decode_compound_collector):
113         Remove initialization for `m_symtabs'.
114         (decode_compound_collector::release_symbols): Change return type
115         to std::vector.  Update all callers.
116         (class decode_compound_collector) <m_symbols>: Change type to
117         std::vector.
118         (lookup_prefix_sym): Change return type to std::vector.  Update all
119         callers.
120         (compare_symbols): Remove.
121         (std_compare_symbols): Rename to `compare_symbols'.
122         (find_method): Change `sym_classes' parameter to std::vector.
123         Update all callers.  Use std::sort to sort sym_classes.
124         (find_linespec_symbols): Remove cleanup.
125
126 2018-08-29  Keith Seitz  <keiths@redhat.com>
127
128         * linespec.c (struct linespec) <minimal_symbols>: Change type to
129         std::vector.  Update all users.
130         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
131         (struct collect_info) <minimal_symbols>: Likewise.
132         (compare_msymbols): Return bool.  Change parameters to const
133         bound_minimal_symbol references.
134         (find_method, find_function_symbols, find_linespec_symbols): Change
135         `minsyms' parameter to std::vector.  Update all callers.
136
137 2018-08-29  Keith Seitz  <keiths@redhat.com>
138
139         * linespec.c (struct linespec) <label_symbols>: Change type to
140         std::vector.  Update all users.
141         (find_label_symbols_in_block): Change `result' parameter to
142         std::vector.  Update all callers.
143         (find_label_symbols): Return std::vector.  Update all callers.
144
145 2018-08-29  Keith Seitz  <keiths@redhat.com>
146
147         * linespec.c (struct linespec) <function_symbols>: Change type to
148         std::vector.  Update all users.
149         (struct collect_info) <function_symbols>: Likewise.
150         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
151         (std_compare_symbols): New function.
152         (find_method, find_function_symbols, find_linespec_symbols)
153         (find_label_symbols_in_block): Change `symbols' parameter to
154         std::vector.  Update all callers.
155         (find_label_symbols): Likewise for `function_symbols' and
156         `label_funcs_ret'.
157
158 2018-08-29  Keith Seitz  <keiths@redhat.com>
159
160         * linespec.c (symtab_vector_up): Define.
161         (struct linespec) <file_symtabs>: Change type to std::vector *.
162         Update all uses.
163         (struct collect_info) <file_symtabs>: Likewise.
164         (collect_symtabs_from_filename): Return symtab_vector_up.
165         Update all callers.
166         (decode_objc): Remove cleanup.
167         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
168         (symtab_collector::release_symtabs): Return symtab_vector_up.
169         Update all callers.
170         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
171         Update all users.
172         (collect_symtabs_from_filename, symtabs_from_filename): Return
173         symtab_vector_up.  Update all callers.
174
175 2018-08-29  Tom Tromey  <tom@tromey.com>
176
177         * csky-tdep.c (csky_analyze_prologue): Use
178         core_addr_to_string_nz.
179
180 2018-08-29  Tom Tromey  <tom@tromey.com>
181
182         * windows-nat.c (struct xlate_exception) <them>: Change type to
183         DWORD.
184         (xlate): Fix formatting.  Remove last entry.
185         (struct xlate_exception, xlate): Comment out.
186         (windows_nat_target::resume): Use ranged for.
187
188 2018-08-29  Jim Wilson  <jimw@sifive.com>
189
190         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
191         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
192         of NT_PRFPREG.
193         (riscv_linux_nat_target::store_registers): Likewise.
194
195 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
196
197         PR gdb/23555
198         PR gdb/23558
199         * gnulib/aclocal.m4: Regenerate.
200         * gnulib/config.in: Regenerate.
201         * gnulib/configure: Regenerate.
202         * gnulib/import/Makefile.am: Update.
203         * gnulib/import/Makefile.in: Update.
204         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
205         * gnulib/import/_Noreturn.h: ... this.
206         * gnulib/import/alloca.in.h: Update.
207         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
208         * gnulib/import/arg-nonnull.h: ... this.
209         * gnulib/import/assure.h: Update.
210         * gnulib/import/at-func.c: Update.
211         * gnulib/import/basename-lgpl.c: Update.
212         * gnulib/import/extra/snippet/c++defs.h: Rename to...
213         * gnulib/import/c++defs.h: ... this.
214         * gnulib/import/canonicalize-lgpl.c: Update.
215         * gnulib/import/cdefs.h: Update.
216         * gnulib/import/chdir-long.c: Update.
217         * gnulib/import/chdir-long.h: Update.
218         * gnulib/import/cloexec.c: Update.
219         * gnulib/import/cloexec.h: Update.
220         * gnulib/import/close.c: Update.
221         * gnulib/import/closedir.c: Update.
222         * gnulib/import/config.charset: Update.
223         * gnulib/import/dirent-private.h: Update.
224         * gnulib/import/dirent.in.h: Update.
225         * gnulib/import/dirfd.c: Update.
226         * gnulib/import/dirname-lgpl.c: Update.
227         * gnulib/import/dirname.h: Update.
228         * gnulib/import/dosname.h: Update.
229         * gnulib/import/dup-safer-flag.c: Update.
230         * gnulib/import/dup-safer.c: Update.
231         * gnulib/import/dup.c: Update.
232         * gnulib/import/dup2.c: Update.
233         * gnulib/import/errno.in.h: Update.
234         * gnulib/import/error.c: Update.
235         * gnulib/import/error.h: Update.
236         * gnulib/import/exitfail.c: Update.
237         * gnulib/import/exitfail.h: Update.
238         * gnulib/import/extra/update-copyright: Update.
239         * gnulib/import/fchdir.c: Update.
240         * gnulib/import/fcntl.c: Update.
241         * gnulib/import/fcntl.in.h: Update.
242         * gnulib/import/fd-hook.c: Update.
243         * gnulib/import/fd-hook.h: Update.
244         * gnulib/import/fd-safer-flag.c: Update.
245         * gnulib/import/fd-safer.c: Update.
246         * gnulib/import/fdopendir.c: Update.
247         * gnulib/import/filename.h: Update.
248         * gnulib/import/filenamecat-lgpl.c: Update.
249         * gnulib/import/filenamecat.h: Update.
250         * gnulib/import/flexmember.h: Update.
251         * gnulib/import/float+.h: Update.
252         * gnulib/import/float.c: Update.
253         * gnulib/import/float.in.h: Update.
254         * gnulib/import/fnmatch.c: Update.
255         * gnulib/import/fnmatch.in.h: Update.
256         * gnulib/import/fnmatch_loop.c: Update.
257         * gnulib/import/fpucw.h: Update.
258         * gnulib/import/frexp.c: Update.
259         * gnulib/import/frexpl.c: Update.
260         * gnulib/import/fstat.c: Update.
261         * gnulib/import/fstatat.c: Update.
262         * gnulib/import/getcwd-lgpl.c: Update.
263         * gnulib/import/getcwd.c: Update.
264         * gnulib/import/getdtablesize.c: Update.
265         * gnulib/import/getlogin_r.c: Update.
266         * gnulib/import/getprogname.c: Update.
267         * gnulib/import/getprogname.h: Update.
268         * gnulib/import/gettext.h: Update.
269         * gnulib/import/gettimeofday.c: Update.
270         * gnulib/import/glob-libc.h: Update.
271         * gnulib/import/glob.c: Update.
272         * gnulib/import/glob.in.h: Update.
273         * gnulib/import/glob_internal.h: Update.
274         * gnulib/import/glob_pattern_p.c: Update.
275         * gnulib/import/globfree.c: Update.
276         * gnulib/import/hard-locale.c: Update.
277         * gnulib/import/hard-locale.h: Update.
278         * gnulib/import/intprops.h: Update.
279         * gnulib/import/inttypes.in.h: Update.
280         * gnulib/import/isnan.c: Update.
281         * gnulib/import/isnand-nolibm.h: Update.
282         * gnulib/import/isnand.c: Update.
283         * gnulib/import/isnanl-nolibm.h: Update.
284         * gnulib/import/isnanl.c: Update.
285         * gnulib/import/itold.c: Update.
286         * gnulib/import/libc-config.h: Update.
287         * gnulib/import/limits.in.h: Update.
288         * gnulib/import/localcharset.c: Update.
289         * gnulib/import/localcharset.h: Update.
290         * gnulib/import/localtime-buffer.c: Update.
291         * gnulib/import/localtime-buffer.h: Update.
292         * gnulib/import/lstat.c: Update.
293         * gnulib/import/m4/00gnulib.m4: Update.
294         * gnulib/import/m4/__inline.m4: Update.
295         * gnulib/import/m4/absolute-header.m4: Update.
296         * gnulib/import/m4/alloca.m4: Update.
297         * gnulib/import/m4/builtin-expect.m4: Update.
298         * gnulib/import/m4/canonicalize.m4: Update.
299         * gnulib/import/m4/chdir-long.m4: Update.
300         * gnulib/import/m4/close.m4: Update.
301         * gnulib/import/m4/closedir.m4: Update.
302         * gnulib/import/m4/configmake.m4: Update.
303         * gnulib/import/m4/d-ino.m4: Update.
304         * gnulib/import/m4/d-type.m4: Update.
305         * gnulib/import/m4/dirent_h.m4: Update.
306         * gnulib/import/m4/dirfd.m4: Update.
307         * gnulib/import/m4/dirname.m4: Update.
308         * gnulib/import/m4/double-slash-root.m4: Update.
309         * gnulib/import/m4/dup.m4: Update.
310         * gnulib/import/m4/dup2.m4: Update.
311         * gnulib/import/m4/eealloc.m4: Update.
312         * gnulib/import/m4/environ.m4: Update.
313         * gnulib/import/m4/errno_h.m4: Update.
314         * gnulib/import/m4/error.m4: Update.
315         * gnulib/import/m4/exponentd.m4: Update.
316         * gnulib/import/m4/exponentl.m4: Update.
317         * gnulib/import/m4/extensions.m4: Update.
318         * gnulib/import/m4/extern-inline.m4: Update.
319         * gnulib/import/m4/fchdir.m4: Update.
320         * gnulib/import/m4/fcntl-o.m4: Update.
321         * gnulib/import/m4/fcntl.m4: Update.
322         * gnulib/import/m4/fcntl_h.m4: Update.
323         * gnulib/import/m4/fdopendir.m4: Update.
324         * gnulib/import/m4/filenamecat.m4: Update.
325         * gnulib/import/m4/flexmember.m4: Update.
326         * gnulib/import/m4/float_h.m4: Update.
327         * gnulib/import/m4/fnmatch.m4: Update.
328         * gnulib/import/m4/fnmatch_h.m4: Update.
329         * gnulib/import/m4/fpieee.m4: Update.
330         * gnulib/import/m4/frexp.m4: Update.
331         * gnulib/import/m4/frexpl.m4: Update.
332         * gnulib/import/m4/fstat.m4: Update.
333         * gnulib/import/m4/fstatat.m4: Update.
334         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
335         * gnulib/import/m4/getcwd-path-max.m4: Update.
336         * gnulib/import/m4/getcwd.m4: Update.
337         * gnulib/import/m4/getdtablesize.m4: Update.
338         * gnulib/import/m4/getlogin.m4: Update.
339         * gnulib/import/m4/getlogin_r.m4: Update.
340         * gnulib/import/m4/getpagesize.m4: Update.
341         * gnulib/import/m4/getprogname.m4: Update.
342         * gnulib/import/m4/gettimeofday.m4: Update.
343         * gnulib/import/m4/glibc21.m4: Update.
344         * gnulib/import/m4/glob.m4: Update.
345         * gnulib/import/m4/glob_h.m4: Update.
346         * gnulib/import/m4/gnulib-cache.m4: Update.
347         * gnulib/import/m4/gnulib-common.m4: Update.
348         * gnulib/import/m4/gnulib-comp.m4: Update.
349         * gnulib/import/m4/gnulib-tool.m4: Update.
350         * gnulib/import/m4/hard-locale.m4: Update.
351         * gnulib/import/m4/include_next.m4: Update.
352         * gnulib/import/m4/inttypes-pri.m4: Update.
353         * gnulib/import/m4/inttypes.m4: Update.
354         * gnulib/import/m4/isnand.m4: Update.
355         * gnulib/import/m4/isnanl.m4: Update.
356         * gnulib/import/m4/largefile.m4: Update.
357         * gnulib/import/m4/limits-h.m4: Update.
358         * gnulib/import/m4/localcharset.m4: Update.
359         * gnulib/import/m4/locale-fr.m4: Update.
360         * gnulib/import/m4/locale-ja.m4: Update.
361         * gnulib/import/m4/locale-zh.m4: Update.
362         * gnulib/import/m4/localtime-buffer.m4: Update.
363         * gnulib/import/m4/longlong.m4: Update.
364         * gnulib/import/m4/lstat.m4: Update.
365         * gnulib/import/m4/malloc.m4: Update.
366         * gnulib/import/m4/malloca.m4: Update.
367         * gnulib/import/m4/math_h.m4: Update.
368         * gnulib/import/m4/mbrtowc.m4: Update.
369         * gnulib/import/m4/mbsinit.m4: Update.
370         * gnulib/import/m4/mbsrtowcs.m4: Update.
371         * gnulib/import/m4/mbstate_t.m4: Update.
372         * gnulib/import/m4/memchr.m4: Update.
373         * gnulib/import/m4/memmem.m4: Update.
374         * gnulib/import/m4/mempcpy.m4: Update.
375         * gnulib/import/m4/memrchr.m4: Update.
376         * gnulib/import/m4/mkdir.m4: Update.
377         * gnulib/import/m4/mkstemp.m4: Update.
378         * gnulib/import/m4/mmap-anon.m4: Update.
379         * gnulib/import/m4/mode_t.m4: Update.
380         * gnulib/import/m4/msvc-inval.m4: Update.
381         * gnulib/import/m4/msvc-nothrow.m4: Update.
382         * gnulib/import/m4/multiarch.m4: Update.
383         * gnulib/import/m4/nocrash.m4: Update.
384         * gnulib/import/m4/off_t.m4: Update.
385         * gnulib/import/m4/onceonly.m4: Update.
386         * gnulib/import/m4/open-cloexec.m4: Update.
387         * gnulib/import/m4/open.m4: Update.
388         * gnulib/import/m4/openat.m4: Update.
389         * gnulib/import/m4/opendir.m4: Update.
390         * gnulib/import/m4/pathmax.m4: Update.
391         * gnulib/import/m4/rawmemchr.m4: Update.
392         * gnulib/import/m4/readdir.m4: Update.
393         * gnulib/import/m4/readlink.m4: Update.
394         * gnulib/import/m4/realloc.m4: Update.
395         * gnulib/import/m4/rename.m4: Update.
396         * gnulib/import/m4/rewinddir.m4: Update.
397         * gnulib/import/m4/rmdir.m4: Update.
398         * gnulib/import/m4/save-cwd.m4: Update.
399         * gnulib/import/m4/secure_getenv.m4: Update.
400         * gnulib/import/m4/setenv.m4: Update.
401         * gnulib/import/m4/signal_h.m4: Update.
402         * gnulib/import/m4/ssize_t.m4: Update.
403         * gnulib/import/m4/stat-time.m4: Update.
404         * gnulib/import/m4/stat.m4: Update.
405         * gnulib/import/m4/std-gnu11.m4: Update.
406         * gnulib/import/m4/stdbool.m4: Update.
407         * gnulib/import/m4/stddef_h.m4: Update.
408         * gnulib/import/m4/stdint.m4: Update.
409         * gnulib/import/m4/stdio_h.m4: Update.
410         * gnulib/import/m4/stdlib_h.m4: Update.
411         * gnulib/import/m4/strchrnul.m4: Update.
412         * gnulib/import/m4/strdup.m4: Update.
413         * gnulib/import/m4/strerror.m4: Update.
414         * gnulib/import/m4/string_h.m4: Update.
415         * gnulib/import/m4/strstr.m4: Update.
416         * gnulib/import/m4/strtok_r.m4: Update.
417         * gnulib/import/m4/sys_socket_h.m4: Update.
418         * gnulib/import/m4/sys_stat_h.m4: Update.
419         * gnulib/import/m4/sys_time_h.m4: Update.
420         * gnulib/import/m4/sys_types_h.m4: Update.
421         * gnulib/import/m4/tempname.m4: Update.
422         * gnulib/import/m4/time_h.m4: Update.
423         * gnulib/import/m4/unistd-safer.m4: Update.
424         * gnulib/import/m4/unistd_h.m4: Update.
425         * gnulib/import/m4/warn-on-use.m4: Update.
426         * gnulib/import/m4/wchar_h.m4: Update.
427         * gnulib/import/m4/wchar_t.m4: Update.
428         * gnulib/import/m4/wctype_h.m4: Update.
429         * gnulib/import/m4/wint_t.m4: Update.
430         * gnulib/import/malloc.c: Update.
431         * gnulib/import/malloc/scratch_buffer.h: Update.
432         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
433         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
434         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
435         * gnulib/import/malloca.c: Update.
436         * gnulib/import/malloca.h: Update.
437         * gnulib/import/malloca.valgrind: Update.
438         * gnulib/import/math.in.h: Update.
439         * gnulib/import/mbrtowc.c: Update.
440         * gnulib/import/mbsinit.c: Update.
441         * gnulib/import/mbsrtowcs-impl.h: Update.
442         * gnulib/import/mbsrtowcs-state.c: Update.
443         * gnulib/import/mbsrtowcs.c: Update.
444         * gnulib/import/memchr.c: Update.
445         * gnulib/import/memmem.c: Update.
446         * gnulib/import/mempcpy.c: Update.
447         * gnulib/import/memrchr.c: Update.
448         * gnulib/import/mkdir.c: Update.
449         * gnulib/import/mkstemp.c: Update.
450         * gnulib/import/msvc-inval.c: Update.
451         * gnulib/import/msvc-inval.h: Update.
452         * gnulib/import/msvc-nothrow.c: Update.
453         * gnulib/import/msvc-nothrow.h: Update.
454         * gnulib/import/open.c: Update.
455         * gnulib/import/openat-die.c: Update.
456         * gnulib/import/openat-priv.h: Update.
457         * gnulib/import/openat-proc.c: Update.
458         * gnulib/import/openat.c: Update.
459         * gnulib/import/openat.h: Update.
460         * gnulib/import/opendir.c: Update.
461         * gnulib/import/pathmax.h: Update.
462         * gnulib/import/pipe-safer.c: Update.
463         * gnulib/import/rawmemchr.c: Update.
464         * gnulib/import/readdir.c: Update.
465         * gnulib/import/readlink.c: Update.
466         * gnulib/import/realloc.c: Update.
467         * gnulib/import/ref-add.sin: Update.
468         * gnulib/import/ref-del.sin: Update.
469         * gnulib/import/rename.c: Update.
470         * gnulib/import/rewinddir.c: Update.
471         * gnulib/import/rmdir.c: Update.
472         * gnulib/import/same-inode.h: Update.
473         * gnulib/import/save-cwd.c: Update.
474         * gnulib/import/save-cwd.h: Update.
475         * gnulib/import/scratch_buffer.h: Update.
476         * gnulib/import/secure_getenv.c: Update.
477         * gnulib/import/setenv.c: Update.
478         * gnulib/import/signal.in.h: Update.
479         * gnulib/import/stat-time.c: Update.
480         * gnulib/import/stat-time.h: Update.
481         * gnulib/import/stat-w32.c: Update.
482         * gnulib/import/stat-w32.h: Update.
483         * gnulib/import/stat.c: Update.
484         * gnulib/import/stdbool.in.h: Update.
485         * gnulib/import/stddef.in.h: Update.
486         * gnulib/import/stdint.in.h: Update.
487         * gnulib/import/stdio.in.h: Update.
488         * gnulib/import/stdlib.in.h: Update.
489         * gnulib/import/str-two-way.h: Update.
490         * gnulib/import/strchrnul.c: Update.
491         * gnulib/import/strdup.c: Update.
492         * gnulib/import/streq.h: Update.
493         * gnulib/import/strerror-override.c: Update.
494         * gnulib/import/strerror-override.h: Update.
495         * gnulib/import/strerror.c: Update.
496         * gnulib/import/string.in.h: Update.
497         * gnulib/import/stripslash.c: Update.
498         * gnulib/import/strnlen1.c: Update.
499         * gnulib/import/strnlen1.h: Update.
500         * gnulib/import/strstr.c: Update.
501         * gnulib/import/strtok_r.c: Update.
502         * gnulib/import/sys_stat.in.h: Update.
503         * gnulib/import/sys_time.in.h: Update.
504         * gnulib/import/sys_types.in.h: Update.
505         * gnulib/import/tempname.c: Update.
506         * gnulib/import/tempname.h: Update.
507         * gnulib/import/time.in.h: Update.
508         * gnulib/import/unistd--.h: Update.
509         * gnulib/import/unistd-safer.h: Update.
510         * gnulib/import/unistd.in.h: Update.
511         * gnulib/import/unsetenv.c: Update.
512         * gnulib/import/verify.h: Update.
513         * gnulib/import/extra/snippet/warn-on-use.h: Update.
514         * gnulib/import/wchar.in.h: Update.
515         * gnulib/import/wctype.in.h: Update.
516         * gnulib/import/xalloc-oversized.h: Update.
517         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
518         "53e2c179f26a890fa6685af4b6c1397ee370433b".
519
520 2018-08-16  Gary Benson <gbenson@redhat.com>
521
522         PR gdb/13000:
523         * gdb/main.c (captured_main_1): Exit with nonzero status
524         in batch mode if the last command to be executed failed.
525         * NEWS: Mention the above.
526
527 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
528
529         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
530         end of warning message.
531
532 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
533
534         PR gdb/22943:
535         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
536         (aarch64_extract_return_value): Use
537         aapcs_is_vfp_call_or_return_candidate.
538         (aarch64_return_in_memory): Likewise.
539         (aarch64_store_return_value): Likewise.
540
541 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
542
543         * aarch64-tdep.c
544         (aapcs_is_vfp_call_or_return_candidate): Make static
545         (pass_in_v_or_stack): Remove function.
546         (pass_in_v_vfp_candidate): New function.
547         (aarch64_push_dummy_call): Check for float register candidates.
548
549 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
550
551         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
552         (aapcs_is_vfp_call_or_return_candidate_1): New function.
553         (aapcs_is_vfp_call_or_return_candidate): Likewise.
554
555 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
556
557         PR build/23399
558         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
559         (struct ipa_sym_addresses): Rename to...
560         (struct ipa_sym_addresses_common): ... this.
561         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
562
563 2018-08-28  Tom Tromey  <tom@tromey.com>
564
565         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
566         (token_fifo): Now a std::vector.
567         (yylex, c_parse): Update.
568         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
569         (token_fifo): Now a std::vector.
570         (yylex, d_parse): Update.
571         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
572         (token_fifo): Now a std::vector.
573         (yylex, go_parse): Update.
574
575 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
576
577         * parser-defs.h (struct type_stack) <elements>: Change type to
578         std::vector<union type_stack_elt>.
579         <depth, size>: Remove.
580         * parse.c (parse_exp_in_context_1): Adjust.
581         (type_stack_reserve): Remove.
582         (check_type_stack_depth): Remove.
583         (insert_into_type_stack): Adjust to std::vector.
584         (insert_type): Likewise.
585         (push_type): Likewise.
586         (push_type_int): Likewise.
587         (insert_type_address_space): Likewise.
588         (pop_type): Likewise.
589         (pop_type_int): Likewise.
590         (pop_typelist): Likewise.
591         (pop_type_stack): Likewise.
592         (append_type_stack): Likewise.
593         (push_type_stack): Likewise.
594         (get_type_stack): Likewise.
595         (type_stack_cleanup): Likewise.
596         (push_typelist): Likewise.
597         (follow_types): Likewise.
598         (_initialize_parse): Likewise.
599
600 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
601
602         * NEWS: Mention csky target.
603
604 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
605             Hafiz Abid Qadeer  <abidh@codesourcery.com>
606             Don Breazeal  <donb@codesourcery.com>
607
608         * csky-linux-tdep.c: New file.
609         * csky-tdep.c: Likewise.
610         * csky-tdep.h: Likewise.
611         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
612         csky-tdep.o.
613         (HFILES_NO_SRCDIR): Add csky-tdep.h.
614         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
615         * configure.tgt: Add csky support.
616
617 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
618
619         * python/py-framefilter.c (py_print_frame): Print frame architecture
620         when printing on an MI output.
621
622 2018-08-27  Tom Tromey  <tom@tromey.com>
623
624         PR build/23087:
625         * configure: Rebuild.
626         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
627
628 2018-08-27  Tom Tromey  <tom@tromey.com>
629
630         * aarch64-linux-tdep.c
631         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
632         casts to int.
633
634 2018-08-27  Tom Tromey  <tom@tromey.com>
635
636         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
637         unsigned.
638         (ppc64_standard_linkage1, ppc64_standard_linkage2)
639         (ppc64_standard_linkage3, ppc64_standard_linkage4)
640         (ppc64_standard_linkage5, ppc64_standard_linkage6)
641         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
642         unsigned.
643
644 2018-08-27  Tom Tromey  <tom@tromey.com>
645
646         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
647         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
648
649 2018-08-27  Tom Tromey  <tom@tromey.com>
650
651         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
652         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
653         ULONGEST_MAX.
654         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
655         ULONGEST_MAX.
656         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
657         ULONGEST_MAX.
658         * sparc-linux-tdep.c (sparc32_linux_sigframe)
659         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
660         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
661         ULONGEST_MAX.
662         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
663         (ppc64_linux_sigaction_tramp_frame)
664         (ppc32_linux_sighandler_tramp_frame)
665         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
666         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
667         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
668         * mn10300-linux-tdep.c (am33_linux_sigframe)
669         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
670         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
671         * mips-linux-tdep.c (mips_linux_o32_sigframe)
672         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
673         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
674         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
675         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
676         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
677         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
678         * microblaze-linux-tdep.c
679         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
680         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
681         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
682         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
683         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
684         * common/common-types.h (ULONGEST_MAX): New define.
685         (CORE_ADDR_MAX): Fix formatting.
686         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
687         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
688         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
689         (arm_linux_rt_sigreturn_tramp_frame)
690         (arm_eabi_linux_sigreturn_tramp_frame)
691         (arm_eabi_linux_rt_sigreturn_tramp_frame)
692         (thumb2_eabi_linux_sigreturn_tramp_frame)
693         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
694         (arm_linux_restart_syscall_tramp_frame)
695         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
696         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
697         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
698         ULONGEST_MAX.
699         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
700
701 2018-08-27  Tom Tromey  <tom@tromey.com>
702
703         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
704         CORE_ADDR_MAX.
705         * mips-tdep.c (mips_deal_with_atomic_sequence)
706         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
707         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
708         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
709         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
710         CORE_ADDR_MAX.
711         * aarch64-tdep.c (aarch64_software_single_step): Use
712         CORE_ADDR_MAX.
713
714 2018-08-27  Tom Tromey  <tom@tromey.com>
715
716         * linespec.c (complete_linespec_component): Add cast to "char".
717         * completer.c (completion_tracker::build_completion_result): Add
718         cast to "char".
719
720 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
721
722         * solist.h (struct solist, struct target_so_ops): Fix
723         indentation.
724
725 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
726
727         * ada-tasks.c (ada_task_info_s): Remove typedef.
728         (DEF_VEC_O(ada_task_info_s)): Remove.
729         (struct ada_tasks_inferior_data): Initialize fields.
730         <task_list>: Make an std::vector.
731         (get_ada_tasks_inferior_data): Allocate with new.
732         (ada_get_task_number): Adjust.
733         (get_task_number_from_id): Likewise.
734         (valid_task_id): Likewise.
735         (ada_get_task_info_from_ptid): Likewise.
736         (iterate_over_live_ada_tasks): Likewise.
737         (add_ada_task): Likewise.
738         (read_known_tasks): Likewise.
739         (ada_build_task_list): Likewise.
740         (print_ada_task_info): Likewise.
741         (info_task): Likewise.
742         (task_command_1): Likewise.
743
744 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
745
746         * ada-lang.c (add_angle_brackets): Return std::string.
747
748 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
749
750         * python/py-threadevent.c (py_get_event_thread): Initialize
751         pythread.
752
753 2018-08-24  Pedro Alves  <palves@redhat.com>
754
755         * python/py-bpevent.c (create_breakpoint_event_object): Use
756         copy-initialization.
757         * python/py-continueevent.c (emit_continue_event): Use
758         copy-initialization.
759         * python/py-exitedevent.c (create_exited_event_object): Return a
760         gdbpy_ref<>.
761         (emit_exited_event): Use copy-initialization.
762         * python/py-inferior.c (python_new_inferior)
763         (python_inferior_deleted, add_thread_object): Use
764         copy-initialization.
765         * python/py-infevents.c (create_inferior_call_event_object)
766         (create_register_changed_event_object)
767         (create_memory_changed_event_object): Return a gdbpy_ref<>.
768         (emit_inferior_call_event, emit_memory_changed_event)
769         (emit_register_changed_event): Use copy-initialization.
770         * python/py-newobjfileevent.c (create_new_objfile_event_object):
771         Return a gdbpy_ref<>.
772         (emit_new_objfile_event): Use copy-initialization.
773         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
774         (emit_clear_objfiles_event): Use copy-initialization.
775         * python/py-signalevent.c (create_signal_event_object): Use
776         copy-initialization.
777         * python/py-threadevent.c (create_thread_event_object): Use
778         copy-initialization.
779
780 2018-08-24  Pedro Alves  <palves@redhat.com>
781             Simon Marchi  <simon.marchi@ericsson.com>
782
783         PR gdb/23379
784         * python/py-continueevent.c: Include "gdbthread.h".
785         (create_continue_event_object): Add intro comment.  Add 'ptid'
786         parameter.  Use it to find thread to pass to
787         create_thread_event_object.
788         (emit_continue_event): Pass PTID down to
789         create_continue_event_object.
790         * python/py-event.h (py_get_event_thread): Declare.
791         (create_thread_event_object): Remove default from 'thread'
792         parameter.
793         * python/py-stopevent.c (create_stop_event_object): Use
794         py_get_event_thread.
795         * python/py-threadevent.c (get_event_thread): Rename to ...
796         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
797         and use it to find the thread.
798         (create_thread_event_object): Assert that THREAD isn't null.
799         Don't find the event thread here.
800
801 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
802
803         * block.h (blockrange, blockranges): New struct declarations.
804         (struct block): Add new field named `ranges'.
805         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
806         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
807         macros for accessing ranges in struct block.
808         (make_blockranges): New declaration.
809         block.c (make_blockranges): New function.
810         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
811         for block.
812         * symtab.h (find_pc_partial_function): Add new parameter `block'.
813         * blockframe.c (cache_pc_function_block): New static global.
814         (clear_pc_function_cache): Clear cache_pc_function_block.
815         (find_pc_partial_function): Move comment to symtab.h.  Add
816         support for non-contiguous blocks.
817         * cli/cli-cmds.c (block.h): Include.
818         (print_disassembly): Handle printing of non-contiguous blocks.
819         (disassemble_current_function): Likewise.
820         (disassemble_command): Likewise.
821
822         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
823         BLOCK_START.
824         * blockframe.c (get_pc_function_start): Likewise.
825         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
826         (gcc_symbol_address): Likewise.
827         * compile/compile-object-run.c (compile_object_run): Likewise.
828         * compile/compile.c (get_expr_block_and_pc): Likewise.
829         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
830         (func_addr_to_tail_call_list): Likewise.
831         * findvar.c (default_read_var_value): Likewise.
832         * inline-frame.c (inline_frame_this_id): Likewise.
833         (skip-inline_frames): Likewise.
834         * infcmd.c (until_next_command): Likewise.
835         * linespec.c (convert_linespec_to_sals): Likewise.
836         * parse.c (parse_exp_in_context_1): Likewise.
837         * printcmd.c (build_address_symbolic): likewise.
838         (info_address_command): Likewise.
839         symtab.c (find_function_start_sal): Likewise.
840         (skip_prologue_sal): Likewise.
841         (find_function_alias_target): Likewise.
842         (find_gnu_ifunc): Likewise.
843         * stack.c (find_frame_funname): Likewise.
844         * symtab.c (fixup_symbol_section): Likewise.
845         (find_function_start_sal): Likewise.
846         (skip_prologue_sal): Likewsie.
847         (find_function_alias_target): Likewise.
848         (find_gnu_ifunc): Likewise.
849         * tracepoint.c (info_scope_command): Likewise.
850         * value.c (value_fn_field): Likewise.
851
852         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
853         in place of find_pc_partial_function.
854         * blockframe.c (find_function_entry_range_from_pc): New function.
855         * symtab.h (find_function_entry_range_from_pc): Declare and document.
856         * objfiles.c (objfile_relocate1): Relocate start and end addresses
857         for each range in a block.
858
859
860 2018-08-23  Xavier Roirand  <roirand@adacore.com>
861
862         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
863         incrementation.
864
865 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
866
867         * solib-svr4.c (read_program_headers_from_bfd): Return
868         gdb::optional<gdb::byte_vector>.
869         (svr4_exec_displacement): Adjust.
870
871 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
872
873         * solib-svr4.c (read_program_header): Return
874         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
875         (find_program_interpreter): Return
876         gdb::optional<gdb::byte_vector>.
877         (scan_dyntag_auxv): Adjust.
878         (enable_break): Adjust.
879         (svr4_exec_displacement): Adjust.
880
881 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
882
883         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
884         * inf-child.c (inf_child_target::terminal_save_inferior): New.
885
886 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
887
888         * guile/scm-string.c (gdbscm_scm_from_printf): Use
889         string_vprintf.
890         * guile/scm-utils.c (gdbscm_printf): Likewise.
891         * serial.c (serial_printf): Likewise.
892         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
893
894 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
895
896         * stack.c (print_frame): Print frame architecture when printing on
897         an MI output.
898         * NEWS: Mention new "arch" attribute in frame output.
899
900 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
901
902         * arch/aarch64.h (aarch64_regnum): Update comment.
903
904 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
905
906         * NEWS: Add SVE to 8.2 section.
907
908 2018-08-21  Pedro Alves  <palves@redhat.com>
909
910         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
911         out from gdbscm_parse_function_args.
912         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
913         gdbscm_parse_function_args_1.
914
915 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
916
917         PR gdb/17816
918         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
919         operator.
920
921 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
922
923         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
924
925 2018-08-19  Michael Spang  <spang@google.com>
926
927         PR gdb/11786
928         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
929         for PT_TLS segments.
930
931 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
932
933         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
934         dwarf_variable_value.
935         * dwarf2-frame.c (class dwarf_expr_executor):
936         Add override for dwarf_variable_value.
937         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
938         (class symbol_needs_eval_context): Likewise.
939         (indirect_synthetic_pointer): Add forward declaration.
940         (sect_variable_value): New function.
941         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
942         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
943         for DW_OP_GNU_variable_value.
944
945 2018-08-16  Tom Tromey  <tom@tromey.com>
946
947         * top.c (read_command_file): Update.
948         (command_line_input): Remove "repeat" argument.
949         * ada-lang.c (get_selections): Update.
950         * linespec.c (decode_line_2): Update.
951         * defs.h (command_line_input): Remove argument.
952         * cli/cli-script.c (read_next_line): Update.
953         * python/py-gdb-readline.c: Update.
954
955 2018-08-17  Tom Tromey  <tom@tromey.com>
956
957         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
958         command_line_input.
959
960 2018-08-15  Tom Tromey  <tom@tromey.com>
961
962         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
963
964 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
965
966         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
967         If used, use find_pc_partial_function to find address range
968         to disassemble.
969         * mi/mi-main.c (mi_cmd_list_features): Report
970         "data-disassemble-a-option" feature.
971         * NEWS: Mention new -data-disassemble option -a.
972
973 2018-08-13  Tom Tromey  <tom@tromey.com>
974
975         * common/common-defs.h (_FORTIFY_SOURCE): Define.
976
977 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
978
979         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
980         (aarch64_linux_collect_sve_regset): Likewise.
981         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
982         * regcache.h (regcache_map_entry_size): New function.
983
984 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
985
986         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
987         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
988         (SVE_HEADER_VL_LENGTH): Likewise.
989         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
990         (SVE_HEADER_FLAGS_LENGTH): Likewise.
991         (SVE_HEADER_RESERVED_LENGTH): Likewise.
992         (SVE_HEADER_SIZE_OFFSET): Likewise.
993         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
994         (SVE_HEADER_VL_OFFSET): Likewise.
995         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
996         (SVE_HEADER_FLAGS_OFFSET): Likewise.
997         (SVE_HEADER_RESERVED_OFFSET): Likewise.
998         (SVE_HEADER_SIZE): Likewise.
999         (aarch64_linux_core_read_vq): Add function.
1000         (aarch64_linux_core_read_description): Check for SVE section.
1001
1002 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1003
1004         * aarch64-fbsd-tdep.c
1005         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1006         collect_size.
1007         * aarch64-linux-tdep.c
1008         (aarch64_linux_iterate_over_regset_sections): Likewise.
1009         * alpha-linux-tdep.c
1010         (alpha_linux_iterate_over_regset_sections):
1011         * alpha-nbsd-tdep.c
1012         (alphanbsd_iterate_over_regset_sections): Likewise.
1013         * amd64-fbsd-tdep.c
1014         (amd64fbsd_iterate_over_regset_sections): Likewise.
1015         * amd64-linux-tdep.c
1016         (amd64_linux_iterate_over_regset_sections): Likewise.
1017         * arm-bsd-tdep.c
1018         (armbsd_iterate_over_regset_sections): Likewise.
1019         * arm-fbsd-tdep.c
1020         (arm_fbsd_iterate_over_regset_sections): Likewise.
1021         * arm-linux-tdep.c
1022         (arm_linux_iterate_over_regset_sections): Likewise.
1023         * corelow.c (get_core_registers_cb): Likewise.
1024         (core_target::fetch_registers): Likewise.
1025         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1026         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1027         * gdbarch.h (void): Regenerate.
1028         * gdbarch.sh: Add supply_size and collect_size.
1029         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1030         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1031         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1032         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1033         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1034         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1035         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1036         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1037         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1038         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1039         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1040         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1041         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1042         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1043         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1044         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1045         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1046         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1047         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1048         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1049         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1050         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1051         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1052         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1053         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1054         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1055         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1056         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1057         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1058         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1059
1060 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1061
1062         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1063         with string_printf.
1064
1065 2018-08-10  Keith Seitz  <keiths@redhat.com>
1066
1067         * compile/compile-c-support.c (add_code_header, add_code_footer):
1068         Move into policy class.
1069         (c_push_user_expression, pop_user_expression_nop)
1070         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1071         (compile_program): New host class.
1072         (c_compile_program): New typedef.
1073         (c_compute_porgram): Use c_compile_program.
1074
1075 2018-08-10  Keith Seitz  <keiths@redhat.com>
1076
1077         * compile/compile-internal.h (compile_instance::~compile_instance):
1078         Remove calls to htab_delete.
1079         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1080         * compile.c (compile_instance::compile_instance): Initialize
1081         htab unique pointers.
1082         (compile_instance::get_cached_type, compile_instance::insert_type)
1083         (compile_instance::error_symbol_once): Update for unique_ptr.
1084
1085 2018-08-10  Keith Seitz  <keiths@redhat.com>
1086
1087         * compile/compile-c-symbols.c (struct symbol_error)
1088         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1089         (compile_instance::insert_symbol_error)
1090         (compile_instance::error_symbol_once): Move to ...
1091         * compile/compile.c: ... here.
1092
1093 2018-08-10  Keith Seitz  <keiths@redhat.com>
1094
1095         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1096         instead of `new_compile_instance'.
1097         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1098         Update description.
1099         If the symbol error map is not initialized, create it.
1100         (generate_c_for_for_one_symbol): Do not check/initialize
1101         the symbol error map.
1102         * compile/compile-c-types.c (compile_c_instance): Make a class.
1103         Update all callers.
1104         (compile_instance::compile_instance): Initialize the type cache.
1105         (get_cached_type): New function.
1106         (insert_type): Update description.
1107         (compile_c_instance::m_default_cflags): Define.
1108         (convert_type): Update description.  Use get_cached_type.
1109         (delete_instance): Moved to destructor.
1110         (new_compile_instance): Moved to constructor.
1111         * compile/compile-c.h (compile_c_instance): Make class inheriting
1112         from compile_instance.
1113         <base>: Remove field.
1114         <type_map, symbol_err_map>: Move to base class.
1115         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1116         * compile/compile-internal.h (compile_instance): Make class.
1117         <type_map_t, symbol_err_map_t>: Define.
1118         <fe>: Rename to `m_gcc_fe'.
1119         <scope, block, gcc_target_options>: Add `m_' prefix.
1120         <m_type_map, m_symbol_err_map>: New fields, moved from
1121         compile_c_instance.
1122         <destroy>: Remove.
1123         (convert_type, new_compile_instance): Remove.
1124         * compile/compile.c (cleanup_compile_instance): Remove.
1125         (compile_to_object): Use unique_ptr to eliminate cleanups.
1126         (compile_instance::set_print_callback, compile_instance::version)
1127         (compile_instance::set_verbose)
1128         (compile_instance::set_driver_filename)
1129         (compile_instance::set_triplet_regexp)
1130         (compile_instance::set_arguments)
1131         (compile_instance::set_source_file)
1132         (compile_instance::compile): Define.
1133
1134 2018-08-10  Keith Seitz  <keiths@redhat.com>
1135
1136         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1137         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1138         gcc-c-fe.def to define C plugin.
1139         (delete_instance): Delete `c_plugin'.
1140         (new_compile_instance): Initialize `c_plugin'.
1141         * compile/compile-c.h: Include gcc_c_plugin.h.
1142         (struct compile_c_instance) <c_plugin>: New member.
1143         * gcc-c-plugin.h: New file.
1144         Update all callers with API change.
1145
1146 2018-08-10  Keith Seitz  <keiths@redhat.com>
1147
1148         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1149         (HFILES_NO_SRCDIR): ... to here.
1150         Add compile-internal.h and compile-c.h.
1151         * compile/compile-c-support.c: Include compile-c.h.
1152         * compile/compile-c-symbols.c: Include compile-c.h.
1153         (generate_c_for_variable_locations): Update comment.
1154         * compile/compile-c-types.c: Include compile-c.h.
1155         * compile/compile-c.h: New file -- moved C language declarations
1156         from other files here.
1157         * compile/compile-internal.h: Do not include hashtab.h or
1158         common/enum-flags.h.
1159         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1160         (gcc_convert_symbol, gcc_symbol_address)
1161         (generate_c_for_variable_locations, c_get_mode_for_size)
1162         (c_get_range_decl_name): Definitions moved to compile-c.h.
1163         * compile/compile-loc2c.c: Include compile-c.h.
1164
1165 2018-08-10  Keith Seitz  <keiths@redhat.com>
1166
1167         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1168         (c_symbol_substitution_name): ... this.
1169         Update all callers.
1170
1171 2018-08-10  Keith Seitz  <keiths@redhat.com>
1172
1173         * compile/compile-c-support.c (c_compute_program): Use
1174         unique_xmalloc_ptr to eliminate cleanup.
1175         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1176         Return a unique_xmalloc_ptr and eliminate cleanup.
1177         * compile/compile-internal.h (generate_c_for_variable_locations):
1178         Return unique_xmalloc_ptr and update description.
1179
1180 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1181
1182         * corelow.c (core_target::get_core_register_section): Rename
1183         min_size to section_min_size.
1184
1185 2018-08-09  Jim Wilson  <jimw@sifive.com>
1186
1187         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1188         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1189         * NEWS: Mention new GNU/Linux RISC-V target.
1190         * configure.host: Add riscv*-*-linux*.
1191         * configure.nat: Add riscv*.
1192         * configure.tgt: Add riscv*-*-linux*.
1193         * riscv-linux-nat.c: New file.
1194         * riscv-linux-tdep.c: New file.
1195
1196 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1197
1198         * infrun.c (resume): Make static, add forward declaration.
1199         (proceed): Update header comment.
1200         * infrun.h (resume): Delete declaration.
1201
1202 2018-08-09  Tom Tromey  <tom@tromey.com>
1203
1204         * riscv-tdep.h: Minor formatting fixes.
1205
1206 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1207
1208         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1209         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1210         (test_mkdir_recursive): Likewise.
1211         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1212
1213 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1214
1215         * valarith.c (value_subscripted_rvalue): If an array is not in
1216         memory, and we don't know the upper bound, then we can't know that
1217         the requested element exists or not.
1218
1219 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1220
1221         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1222         (target_options_to_string): Add comment.
1223
1224 2018-08-08  Tom Tromey  <tom@tromey.com>
1225
1226         * unittests/scoped_mmap-selftests.c: Check result of "write".
1227
1228 2018-08-08  Jim Wilson  <jimw@sifive.com>
1229
1230         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1231         (decode_register_index_short): New.
1232         (decode_j_type_insn, decode_cj_type_insn): New.
1233         (decode_b_type_insn, decode_cb_type_insn): New.
1234         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1235         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1236         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1237         is_c_sw_insn instead of is_sw_insn.
1238         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1239         (riscv_software_single_step): New.
1240         * riscv-tdep.h (riscv_software_single_step): Declare.
1241
1242         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1243         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1244
1245 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1246
1247         PR gdb/18050:
1248         * target.c (dispose_inferior): Don't dispose of inferiors that are
1249         already killed.
1250
1251 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1252
1253         * remote.c (remote_target::download_tracepoint): Change char* to
1254         const char*.
1255
1256 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1257
1258         * target.h (target_options_to_string): Return an std::string.
1259         * target.c (str_comma_list_concat_elem): Return void, use
1260         std::string.
1261         (do_option): Likewise.
1262         (target_options_to_string): Return an std::string.
1263         * linux-nat.c (linux_nat_target::wait): Adjust.
1264         * target-debug.h (target_debug_print_options): Adjust.
1265
1266 2018-08-07  Tom Tromey  <tom@tromey.com>
1267
1268         * Makefile.in (CPPFLAGS): New variable.
1269         (INTERNAL_CPPFLAGS): Use it.
1270
1271 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1272
1273         * NEWS: Mention the index cache.
1274
1275 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1276
1277         * common/pathstuff.h (get_standard_cache_dir): New.
1278         * common/pathstuff.c (get_standard_cache_dir): New.
1279         * build-id.h (build_id_to_string): New.
1280         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1281         DEBUG_STR_SUFFIX): Move to here.
1282         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1283         DEBUG_STR_SUFFIX): Move from there.
1284         (write_psymtabs_to_index): Make non-static, add basename
1285         parameter.  Write to temporary files, rename when done.
1286         (save_gdb_index_command): Adjust call to
1287         write_psymtabs_to_index.
1288         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1289         field.
1290         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1291         (get_gdb_index_contents_from_cache): New.
1292         (get_gdb_index_contents_from_cache_dwz): New.
1293         (dwarf2_initialize_objfile): Read index from cache.
1294         (dwarf2_build_psymtabs): Save to index.
1295         * dwarf-index-cache.h: New file.
1296         * dwarf-index-cache.c: New file.
1297         * dwarf-index-write.h: New file.
1298
1299 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1300
1301         * gnulib/aclocal.m4: Re-generate.
1302         * gnulib/config.in: Re-generate.
1303         * gnulib/configure: Re-generate.
1304         * gnulib/import/Makefile.am: Re-generate.
1305         * gnulib/import/Makefile.in: Re-generate.
1306         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1307         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1308         * gnulib/import/m4/mkdir.m4: New file.
1309         * gnulib/import/mkdir.c: New file.
1310         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1311         module.
1312
1313 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1314
1315         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1316         * common/scoped_mmap.c: New file.
1317         * common/scoped_mmap.h (destroy): New method.
1318         (~scoped_mmap, reset): Use destroy.
1319         (scoped_mmap): New move constructor.
1320         (mmap_file): New declaration.
1321         * unittests/scoped_mmap-selftests.c (test_normal,
1322         test_invalid_filename, run_tests): New functions.
1323         (_initialize_scoped_mmap_selftests): Register selftest.
1324
1325 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1326
1327         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1328         (read_gdb_index_from_buffer): ... this.  Remove section
1329         parameter, add buffer parameter.
1330         (get_gdb_index_contents_ftype,
1331         get_gdb_index_contents_dwz_ftype): New typedefs.
1332         (dwarf2_read_gdb_index): Add callback parameters to get the
1333         index contents.
1334         (get_gdb_index_contents_from_section): New.
1335         (dwarf2_initialize_objfile): Update call to
1336         dwarf2_read_gdb_index.
1337
1338 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1339
1340         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1341         (gdb_open_cloexec): Likewise.
1342         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1343         (commandline_from_pid): Likewise.
1344         (linux_xfer_osdata_threads): Likewise.
1345         (linux_xfer_osdata_fds): Likewise.
1346         * ada-lang.c (is_package_name): Likewise.
1347         * auxv.c (procfs_xfer_auxv): Likewise.
1348         * breakpoint.c (print_one_breakpoint_location): Use
1349         uiout::field_fmt.
1350         (print_one_catch_solib): Use string_printf.
1351         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1352         (add_pe_forwarded_sym): Likewise.
1353         * dwarf2read.c (create_type_unit_group): Likewise.
1354         (build_error_marker_type): Likewise.
1355         * infcall.c (get_function_name): Likewise.
1356         * valprint.c (print_converted_chars_to_obstack): Likewise.
1357         * xtensa-tdep.c (xtensa_register_type): Likewise.
1358
1359 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1360
1361         * remote.c (remote_target::download_tracepoint): Fix format
1362         string errors.
1363
1364 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1365
1366         * tracefile.c: Include common/byte-vector.h.
1367         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1368         with trace_regblock_size if needed.  Update uses of buf.
1369
1370 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1371
1372         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1373         std::vector<unsigned char>.
1374         * tracepoint.c (collection_list::collection_list): Remove
1375         m_regs_mask initializer from initializer list.  Resize
1376         m_regs_mask using the largest remote register number.
1377         (collection_list::add_remote_register): Remove size check on
1378         m_regs_mask.  Use at to access element.
1379         (collection_list::stringify): Change type of temp_buf to
1380         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1381         stringify the register mask.  Use pack_hex_byte for the register
1382         mask.
1383
1384 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1385
1386         * tracepoint.h (class collection_list) <add_register>: Remove.
1387         <add_remote_register, add_ax_registers, add_local_register>:
1388         Declare.
1389         <add_memrange>: Add scope parameter.
1390         * tracepoint.c (encode_actions_1): Likewise.
1391         (collection_list::add_register): Rename to ...
1392         (collection_list::add_remote_register): ... this.  Update
1393         comment.
1394         (collection_list::add_ax_registers, add_local_register): New
1395         methods.
1396         (collection_list::add_memrange): Add scope parameter.  Call
1397         add_local_register instead of add_register.
1398         (finalize_tracepoint_aexpr): New function.
1399         (collection_list::collect_symbol): Update calls to add_memrange.
1400         Call add_local_register instead of add_register.  Call
1401         add_ax_registers.  Call finalize_tracepoint_aexpr.
1402         (encode_actions_1): Get remote regnos for $reg action.  Call
1403         add_remote_register, add_ax_registers, and add_local_register.
1404         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1405         (validate_actionline): Call finalize_tracepoint_aexpr.
1406
1407 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1408
1409         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1410         Replace array buf with gdb::char_vector buf, of size
1411         get_remote_packet_size ().  Replace references to buf and
1412         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1413         and xsnprintf with snprintf.  Raise errors if the buffer is too
1414         small.
1415
1416 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1417
1418         * remote.c (remote_target::download_tracepoint): Fix the has_more
1419         predicate in the QTDP action list iteration.
1420
1421 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1422
1423         * remote.c (remote_target::download_tracepoint): Fix indentation
1424         in for block.
1425
1426 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1427
1428         * proc-api.c (_initialize_proc_api): Remove c, unused.
1429         * procfs.c (procfs_init_inferior): Remove signals, unused.
1430         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1431         unused.
1432
1433 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1434             Andrew Burgess  <andrew.burgess@embecosm.com>
1435
1436         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1437         'W_STOPCODE (0)' as this could be ambiguous.
1438
1439 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1440
1441         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1442         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1443         "ai_socktype").
1444
1445 2018-08-02  Tom Tromey  <tom@tromey.com>
1446
1447         PR symtab/16842.
1448         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1449         symbols.
1450         (process_structure_scope): Likewise.
1451
1452 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1453
1454         PR gdb/22629:
1455         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1456         kill inferior.
1457
1458 2018-08-02  Tom Tromey  <tom@tromey.com>
1459
1460         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1461         (darwin_suspend_inferior, darwin_resume_inferior)
1462         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1463         (darwin_check_new_threads): Check result of get_darwin_inferior.
1464
1465 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1466
1467         GDB 8.1.1 released.
1468
1469 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1470
1471         * varobj.c (varobj_get_path_expr_parent): Report an error if
1472         parent is a dynamic varobj.
1473
1474 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1475
1476         * gnulib/aclocal.m4: Re-generate.
1477         * gnulib/config.in: Re-generate.
1478         * gnulib/configure: Re-generate.
1479         * gnulib/import/Makefile.in: Re-generate.
1480         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1481         * gnulib/import/m4/onceonly.m4: Re-generate.
1482
1483 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1484
1485         * target-descriptions.c (struct xml_test_tdesc): New.
1486         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1487         (record_xml_tdesc): Update.
1488         (maintenance_check_xml_descriptions): Update.
1489         * target-descriptions.h (record_xml_tdesc): Update comment.
1490
1491 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1492
1493         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1494         checking array bounds are defined.
1495
1496 2018-07-30  Tom Tromey  <tom@tromey.com>
1497
1498         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1499         irreflexivity violation.
1500
1501 2018-07-30  Tom Tromey  <tom@tromey.com>
1502
1503         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1504         * value.c (unpack_long): Remove lint code.
1505         * valops.c (value_ind): Remove lint code.
1506         * valarith.c (value_x_binop, value_x_unop, value_equal)
1507         (value_pos): Remove lint code.
1508
1509 2018-07-28  Tom de Vries  <tdevries@suse.de>
1510
1511         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1512         with undefined upper bound as <optimized out>.
1513
1514 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1515
1516         * gcore.in: Rename variable "name" to "prefix".  Expand
1517         "usage" text.
1518
1519 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1520
1521         * windows-nat.c (windows_nat_target::create_inferior): Update to
1522         call close() in global namespace.
1523
1524 2018-07-26  Tom Tromey  <tom@tromey.com>
1525
1526         * dwarf-index-write.c (add_address_entry): Don't add objfile
1527         offsets.
1528         * dbxread.c (find_stab_function): Rename from
1529         find_stab_function_addr.  Return a bound_minimal_symbol.
1530         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1531         Don't add objfile offsets.
1532         (end_psymtab): Use raw_text_low, raw_text_high,
1533         MSYMBOL_VALUE_RAW_ADDRESS.
1534         (read_ofile_symtab): Update.
1535         (process_one_symbol): Update.
1536         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1537         offsets.
1538         (dw2_relocate): Remove.
1539         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1540         searching addrmap.
1541         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1542         Update.
1543         (process_psymtab_comp_unit_reader, add_partial_symbol)
1544         (add_partial_subprogram, dwarf2_ranges_read): Update.
1545         (load_partial_dies): Update.
1546         (add_address_entry): Don't add objfile offsets.
1547         (dwarf2_build_include_psymtabs): Update.
1548         (create_addrmap_from_aranges): Don't add objfile offsets.
1549         (dw2_find_pc_sect_compunit_symtab): Update.
1550         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1551         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1552         Update.
1553         (parse_partial_symbols): Don't add objfile offsets.  Use
1554         raw_text_low, raw_text_high.  Update.
1555         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1556         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1557         or call 'relocate' quick function.  Clear psymbol_map.
1558         * psympriv.h (struct partial_symbol) <address>: Add section
1559         offset.
1560         <set_unrelocated_address>: Rename from set_address.
1561         <raw_text_low, raw_text_high>: New methods.
1562         <text_low, text_high>: Add objfile parameter.
1563         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1564         set_unrelocated_address.
1565         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1566         (find_pc_psymbol): Update.
1567         (fixup_psymbol_section, relocate_psymtabs): Remove.
1568         (dump_psymtab, psym_functions): Update.
1569         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1570         parameter.
1571         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1572         (start_psymtab_common): Update.
1573         * symfile-debug.c (debug_qf_relocate): Remove.
1574         (debug_sym_quick_functions): Update.
1575         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1576         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1577         Update.
1578
1579 2018-07-26  Tom Tromey  <tromey@redhat.com>
1580
1581         * dbxread.c (end_psymtab): Use text_high_valid and
1582         text_low_valid.
1583         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1584         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1585         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1586         Update comment.
1587         <text_low_valid, text_high_valid>: New fields.
1588         <set_text_low, set_text_high>: Update.
1589         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1590
1591 2018-07-26  Tom Tromey  <tom@tromey.com>
1592
1593         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1594         Update.
1595         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1596         textlow and texthigh fields.
1597         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1598         Update.
1599         * mdebugread.c (parse_lines, parse_partial_symbols)
1600         (psymtab_to_symtab_1): Update.
1601         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1602         Rename fields.  Update comment.  Now private.
1603         <text_low, text_high, set_text_low, set_text_high>: New methods.
1604         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1605         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1606         (start_psymtab_common, maintenance_info_psymtabs)
1607         (maintenance_check_psymtabs): Update.
1608         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1609         texthigh fields.
1610         (scan_xcoff_symtab): Update.
1611
1612 2018-07-26  Tom Tromey  <tromey@redhat.com>
1613
1614         * psympriv.h (struct partial_symbol) <unrelocated_address,
1615         address, set_address>: New methods.
1616         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1617         (fixup_psymbol_section, relocate_psymtabs): Update.
1618         (print_partial_symbols): Add 'objfile' parameter.  Update.
1619         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1620         Update.
1621
1622 2018-07-26  Tom Tromey  <tom@tromey.com>
1623
1624         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1625         (debug_names::write_psymbols): Update.
1626         * psympriv.h (struct partial_symbol): Derive from
1627         general_symbol_info.
1628         <obj_section>: New method.
1629         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1630         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1631         (find_pc_sect_psymbol, fixup_psymbol_section)
1632         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1633         (print_partial_symbols, recursively_search_psymtabs)
1634         (compare_psymbols, psymbol_hash, psymbol_compare)
1635         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1636         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1637
1638 2018-07-26  Tom Tromey  <tromey@redhat.com>
1639
1640         * dbxread.c (end_psymtab): Remove dead code.
1641
1642 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1643
1644         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1645         DWARF unwinders are disabled.
1646         * dwarf2-frame.c: Add dwarf2read.h include.
1647         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1648         disabled.
1649         (dwarf2_frame_unwinders_enabled_p): Define.
1650         (show_dwarf_unwinders_enabled_p): New function.
1651         (_initialize_dwarf2_frame): Register switch to control DWARF
1652         unwinder use.
1653         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1654         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1655         (show_dwarf_cmdlist): Remove static keyword.
1656         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1657         (show_dwarf_cmdlist): Declare.
1658         * NEWS: Document new feature.
1659
1660 2018-07-26  Tom de Vries  <tdevries@suse.de>
1661
1662         PR breakpoints/23366
1663         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1664
1665 2018-07-26  Tom de Vries  <tdevries@suse.de>
1666
1667         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1668         DW_AT_count can't be translated to a dynamic prop.
1669
1670 2018-07-25  Tom de Vries  <tdevries@suse.de>
1671
1672         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1673         try/catch.
1674
1675 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1676
1677         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1678
1679 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1680
1681         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1682
1683 2018-07-24  Keith Seitz  <keiths@redhat.comt
1684
1685         PR symtab/23010
1686         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1687         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1688         instead of add_symbol_to_list.
1689         (read_file_scope): Call prepare_one_comp_unit before reading
1690         any other DIEs.
1691
1692 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1693
1694         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1695
1696 2018-07-24  Tom Tromey  <tom@tromey.com>
1697
1698         * utils.c (malloc, realloc, free): Don't declare.
1699         * configure, config.in: Rebuild.
1700         * configure.ac: Don't check for declarations of free, malloc, or
1701         realloc.
1702
1703 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1704
1705         * aarch64-linux-nat.c
1706         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1707         variable.
1708         * arm-linux-nat.c (fetch_regs): Likewise.
1709         (store_regs): Likewise.
1710         (fetch_vfp_regs): Likewise.
1711         (store_vfp_regs): Likewise.
1712         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1713         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1714         (arm_linux_nat_target::insert_watchpoint): Likewise.
1715         (arm_linux_nat_target::remove_watchpoint): Likewise.
1716         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1717         Likewise.
1718         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1719         Likewise.
1720         * ppc-linux-nat.c (fetch_register): Likewise.
1721         (fetch_all_gp_regs): Likewise.
1722         (fetch_ppc_registers): Likewise.
1723         (store_all_gp_regs): Likewise.
1724         (store_ppc_registers): Likewise.
1725         (hwdebug_insert_point): Likewise.
1726         (can_use_watchpoint_cond_accel): Likewise.
1727         * remote-sim.c (gdb_os_write_stdout): Likewise.
1728
1729 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1730             Tom Tromey  <tom@tromey.com>
1731
1732         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1733         test for it.
1734         * configure: Rebuild.
1735
1736 2018-07-22  Tom Tromey  <tom@tromey.com>
1737
1738         * regformats/regdat.sh: Define xmltarget_${name} inside
1739         #ifndef IN_PROCESS_AGENT.
1740
1741 2018-07-22  Tom Tromey  <tom@tromey.com>
1742
1743         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1744
1745 2018-07-22  Tom Tromey  <tom@tromey.com>
1746
1747         * symfile.c (reread_symbols): Notify iter, not objfile.
1748
1749 2018-07-22  Tom Tromey  <tom@tromey.com>
1750
1751         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1752         Use arch_ops.
1753         (ravenscar_thread_target::prepare_to_store): Likewise.
1754
1755 2018-07-22  Tom Tromey  <tom@tromey.com>
1756
1757         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1758         unused variable.  Call value_fetch_lazy when needed.
1759         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1760         Remove unused variable.  Call value_fetch_lazy when needed.
1761
1762 2018-07-22  Tom Tromey  <tom@tromey.com>
1763
1764         * m32c-tdep.c (mark_dma): Return void.
1765         (make_regs): Remove unused declarations.
1766
1767 2018-07-22  Tom Tromey  <tom@tromey.com>
1768
1769         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1770         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1771         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1772         bkscm_get_valid_block_smob_arg_unsafe for effect.
1773
1774 2018-07-22  Tom Tromey  <tom@tromey.com>
1775
1776         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1777         value_type.
1778
1779 2018-07-22  Tom Tromey  <tom@tromey.com>
1780
1781         * windows-nat.c (saved_context): Conditionally define.
1782         * remote.c (remote_target::remote_btrace_maybe_reopen):
1783         Conditionally declare "warned".
1784         * inflow.c (sigquit_ours): Conditionally define.
1785         (new_tty): Move "tty" declaration inside #if.
1786         * guile/guile.c (guile_datadir): Conditionally define.
1787         * charset.c (set_be_le_names): Move some declarations inside #if.
1788         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1789         #if.
1790         (parse_xml_btrace_conf): Likewise.
1791
1792 2018-07-22  Tom Tromey  <tom@tromey.com>
1793
1794         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1795
1796 2018-07-22  Tom Tromey  <tom@tromey.com>
1797
1798         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1799         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1800         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1801         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1802         * stack.c (frame_apply_level_command): Remove unused variable.
1803         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1804         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1805         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1806         unused variable.
1807         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
1808         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
1809         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
1810         variable.
1811         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
1812         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
1813         variable.
1814         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
1815         Remove unused variable.
1816         * cli/cli-script.c (recurse_read_control_structure): Remove unused
1817         variable.
1818         * common/tdesc.c (print_xml_feature::visit): Remove unused
1819         variable.
1820         * compile/compile-object-load.c (store_regs): Remove unused
1821         variables.
1822         * complaints.c (clear_complaints): Remove unused variable.
1823         * corelow.c (core_target_open): Remove unused variable.
1824         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
1825         variable.
1826         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
1827         variable.
1828         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
1829         variable.
1830         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
1831         variable.
1832         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
1833         variable.
1834         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
1835         variable.
1836         * ia64-tdep.c (examine_prologue): Remove unused variable.
1837         * infcall.c (run_inferior_call): Remove unused variable.
1838         * inferior.c (exit_inferior): Remove unused variable.
1839         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
1840         * linespec.c (decode_line_2): Remove unused variable.
1841         * linux-nat.c (super_close): Remove.
1842         * linux-tdep.c (linux_info_proc): Remove unused variable.
1843         * mi/mi-main.c (mi_execute_command): Remove unused variable.
1844         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
1845         Remove unused variable.
1846         * parse.c (find_minsym_type_and_address): Remove unused variable.
1847         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1848         variable.
1849         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1850         variable.
1851         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1852         variables.
1853         * record-btrace.c (record_btrace_target::store_registers): Remove
1854         unused variable.
1855         (cmd_show_record_btrace_cpu): Remove unused variable.
1856         * riscv-tdep.c (riscv_register_reggroup_p)
1857         (riscv_push_dummy_call, riscv_return_value): Remove unused
1858         variable.
1859         * rust-exp.y (literal): Remove unused variable.
1860         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1861         unused variable.
1862         <STRUCTOP_ANONYMOUS>: Likewise.
1863         * s390-linux-tdep.c (s390_linux_init_abi_31)
1864         (s390_linux_init_abi_64): Remove unused variable.
1865         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1866         (file_select_thread, net_windows_open, _initialize_ser_windows):
1867         Remove unused variables.
1868         * symtab.c (find_pc_sect_line): Remove unused variable.
1869         * target-memory.c (compute_garbled_blocks): Remove unused
1870         variable.
1871         (target_write_memory_blocks): Remove unused variable.
1872         * target.c (target_stack::unpush): Remove unused variables.
1873         * tracepoint.c (start_tracing, all_tracepoint_actions)
1874         (merge_uploaded_trace_state_variables)
1875         (print_one_static_tracepoint_marker): Remove unused variable.
1876         * unittests/basic_string_view/element_access/char/1.cc (test01):
1877         Remove unused variable.
1878         * windows-nat.c (windows_continue, windows_add_all_dlls)
1879         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1880         Remove unused variables.
1881
1882 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1883
1884         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1885         attr_profile in HAVE_ELF.
1886         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1887         HAVE_ELF.
1888
1889 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1890
1891         * frame.c (frame_register_unwind): Change parameter name.
1892         (frame_unwind_register): Likewise.
1893         (frame_unwind_register_value): Likewise.
1894         (frame_unwind_register_signed): Likewise.
1895         (frame_unwind_register_unsigned): Likewise.
1896         * frame.h (frame_register_unwind): Likewise.
1897         (frame_unwind_register): Likewise.
1898         (frame_unwind_register_value): Likewise.
1899         (frame_unwind_register_signed): Likewise.
1900         (frame_unwind_register_unsigned): Likewise.
1901         (frame_unwind_arch): Likewise.
1902
1903 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1904
1905         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1906         ISA maintenance.
1907
1908 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1909
1910         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1911         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1912         hand.
1913
1914 2018-07-20  Keith Seitz  <keiths@redhat.com>
1915
1916         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1917         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1918         m_compunit_symtab, m_language>: Add "m_" prefix.
1919         Update all uses.
1920         * buildsym.c: Update all uses.
1921
1922 2018-07-20  Tom Tromey  <tom@tromey.com>
1923
1924         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1925         * buildsym.h (record_line_ftype): Remove typedef.
1926
1927 2018-07-20  Tom Tromey  <tom@tromey.com>
1928
1929         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1930         (end_expandable_symtab): Likewise.
1931         (end_symtab_get_static_block): Likewise.
1932         (end_symtab_from_static_block): Likewise.
1933         * buildsym-legacy.c (augment_type_symtab): Remove.
1934         (end_expandable_symtab): Remove.
1935         (end_symtab_get_static_block): Remove.
1936         (end_symtab_from_static_block): Remove.
1937
1938 2018-07-20  Tom Tromey  <tom@tromey.com>
1939
1940         * dwarf2read.c: Include buildsym.h.
1941         (struct dwarf2_cu) <builder>: New method.
1942         (fixup_go_packaging): Update.
1943         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1944         use scoped_free_pendings.
1945         (using_directives): Add "cu" parameter, remove "language".
1946         (read_import_statement, setup_type_unit_groups, )
1947         (read_func_scope, read_lexical_block_scope)
1948         (dwarf2_record_block_ranges, read_namespace): Update.
1949         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1950         (lnp_state_machine::handle_end_sequence): Update.
1951         (class lnp_state_machine) <m_cu>: New member.
1952         <m_record_line_callback>: Remove.
1953         <m_currently_recording_lines>: New member.
1954         (lnp_state_machine::handle_set_file): Update.
1955         (noop_record_line): Remove.
1956         (dwarf_record_line_p): Add cu parameter.
1957         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1958         (lnp_state_machine::record_line)
1959         (lnp_state_machine::lnp_state_machine)
1960         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1961         (dwarf_decode_lines): Update.
1962         (dwarf2_start_subfile): Add cu parameter.
1963         (dwarf2_start_symtab, new_symbol): Update.
1964         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1965         Remove dwarf2_per_objfile parameter.
1966         (dwarf_decode_macros): Update.
1967
1968 2018-07-20  Tom Tromey  <tom@tromey.com>
1969
1970         * stabsread.c (define_symbol): Update.
1971         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1972         * dwarf2read.c (new_symbol): Update.
1973         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1974         * cp-namespace.c: Include buildsym.h.
1975         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1976         * buildsym-legacy.c (get_buildsym_compunit): New function.
1977
1978 2018-07-20  Tom Tromey  <tom@tromey.com>
1979
1980         * xcoffread.c: Include buildsym-legacy.h.
1981         * windows-nat.c: Include buildsym-legacy.h.
1982         * stabsread.c: Include buildsym-legacy.h.
1983         * mdebugread.c: Include buildsym-legacy.h.
1984         * buildsym-legacy.h: New file.
1985         * buildsym-legacy.c: New file, from buildsym.c.
1986         * go32-nat.c: Include buildsym-legacy.h.
1987         * dwarf2read.c: Include buildsym-legacy.h.
1988         * dbxread.c: Include buildsym-legacy.h.
1989         * cp-namespace.c: Include buildsym-legacy.h.
1990         * coffread.c: Include buildsym-legacy.h.
1991         * buildsym.h: Move some contents to buildsym-legacy.h.
1992         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1993         buildsym-legacy.c.
1994         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1995
1996 2018-07-20  Tom Tromey  <tom@tromey.com>
1997
1998         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1999         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2000         (buildsym_compunit::buildsym_compunit)
2001         (buildsym_compunit::~buildsym_compunit)
2002         (buildsym_compunit::get_macro_table): Define.
2003
2004 2018-07-20  Tom Tromey  <tom@tromey.com>
2005
2006         * buildsym.c (reset_symtab_globals): Remove.
2007         (buildsym_compunit::end_symtab_from_static_block): Update.
2008         (buildsym_compunit::augment_type_symtab): Update.
2009         (end_symtab_from_static_block): Call free_buildsym_compunit.
2010         (augment_type_symtab, end_symtab, end_expandable_symtab):
2011         Likewise.
2012
2013 2018-07-20  Tom Tromey  <tom@tromey.com>
2014
2015         * arch-utils.c: Do not include buildsym.h.
2016         * mipsread.c: Do not include buildsym.h.
2017         * machoread.c: Do not include buildsym.h.
2018         * elfread.c: Do not include buildsym.h.
2019
2020 2018-07-20  Tom Tromey  <tom@tromey.com>
2021
2022         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2023         initialization.
2024         (buildsym_compunit): Add new constructor.
2025         (struct buildsym_compunit) <get_last_source_file, finish_block,
2026         record_block_range, start_subfile, patch_subfile_names,
2027         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2028         set_last_source_start_addr, get_last_source_start_addr,
2029         get_local_using_directives, set_local_using_directives,
2030         get_global_using_directives, outermost_context_p,
2031         get_current_context_stack, get_context_stack_depth,
2032         get_current_subfile, get_local_symbols, get_file_symbols,
2033         get_global_symbols, record_debugformat, record_producer,
2034         push_context, pop_context, end_symtab_get_static_block,
2035         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2036         New public methods.
2037         <record_pending_block, finish_block_internal, make_blockvector,
2038         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2039         private methods.
2040         Update all users.
2041
2042 2018-05-22  Tom Tromey  <tom@tromey.com>
2043
2044         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2045         parameter.
2046         (finish_block_internal): Update.
2047
2048 2018-07-20  Tom Tromey  <tom@tromey.com>
2049
2050         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2051         parameter.
2052         (finish_block_internal): Update.
2053
2054 2018-07-20  Tom Tromey  <tom@tromey.com>
2055
2056         * buildsym.h (EXTERN): Don't define or undef.
2057         * buildsym.c (EXTERN): Don't define.
2058
2059 2018-07-20  Tom Tromey  <tom@tromey.com>
2060
2061         * buildsym.c: Remove TODO comment.
2062
2063 2018-07-20  Tom Tromey  <tom@tromey.com>
2064
2065         * coffread.c (coff_symtab_read): Update.
2066         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2067         (xcoff_new_init): Update.
2068         * mipsread.c (mipscoff_new_init): Update.
2069         * mdebugread.c (mdebug_build_psymtabs): Update.
2070         * elfread.c (elf_new_init): Update.
2071         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2072         Update.
2073         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2074         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2075         (stabsect_build_psymtabs): Update.
2076         * buildsym.h (buildsym_init): Don't declare.
2077         * buildsym.c: Update comment.
2078         (prepare_for_building): Remove.
2079         (start_symtab, restart_symtab): Update.
2080         (reset_symtab_globals): Update comment.
2081         (buildsym_init): Remove.
2082
2083 2018-07-20  Tom Tromey  <tom@tromey.com>
2084
2085         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2086         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2087         (read_enum_type, common_block_start, common_block_end)
2088         (cleanup_undefined_types_1, finish_global_stabs): Update.
2089         * mdebugread.c (psymtab_to_symtab_1): Update.
2090         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2091         (read_lexical_block_scope, new_symbol): Update.
2092         * dbxread.c (process_one_symbol): Update.
2093         * coffread.c (coff_symtab_read, process_coff_symbol)
2094         (coff_read_enum_type): Update.
2095         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2096         declare.
2097         (get_local_symbols, get_file_symbols, get_global_symbols): New
2098         functions.
2099         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2100         m_global_symbols.
2101         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2102         (~scoped_free_pendings): Update.
2103         (finish_block, prepare_for_building, reset_symtab_globals)
2104         (end_symtab_get_static_block, end_symtab_with_blockvector)
2105         (augment_type_symtab, push_context): Update.
2106         (get_local_symbols, get_file_symbols, get_global_symbols): New
2107         functions.
2108         (buildsym_init): Update.
2109
2110 2018-07-20  Tom Tromey  <tom@tromey.com>
2111
2112         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2113         (process_full_type_unit): Likewise.
2114         (dwarf2_start_symtab): Set list_in_scope.
2115
2116 2018-07-20  Tom Tromey  <tom@tromey.com>
2117
2118         * dwarf2read.c (process_psymtab_comp_unit_reader)
2119         (build_type_psymtabs_reader): Do not set list_in_scope.
2120
2121 2018-07-20  Tom Tromey  <tom@tromey.com>
2122
2123         * buildsym.c (free_pendings): Remove.
2124         (add_symbol_to_list, scoped_free_pendings)
2125         (finish_block_internal, buildsym_init): Update.
2126
2127 2018-07-20  Tom Tromey  <tom@tromey.com>
2128
2129         * xcoffread.c (read_xcoff_symtab): Update.
2130         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2131         Update.
2132         * dbxread.c (process_one_symbol): Update.
2133         * coffread.c (coff_symtab_read): Update.
2134         * buildsym.h (finish_block): Update.
2135         * buildsym.c (finish_block): Remove "listhead" argument.
2136         (end_symtab_get_static_block): Update.
2137
2138 2018-07-20  Tom Tromey  <tom@tromey.com>
2139
2140         * buildsym.h (class scoped_free_pendings): Remove constructor.
2141         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2142         method.
2143         <m_pending_block_obstack, m_pending_blocks>: New members.
2144         (pending_block_obstack, pending_blocks): Remove.
2145         (scoped_free_pendings::scoped_free_pendings): Default.
2146         (~scoped_free_pendings): Update.
2147         (free_pending_blocks): Remove.
2148         (finish_block_internal, record_pending_block, make_blockvector)
2149         (end_symtab_get_static_block, augment_type_symtab, push_context)
2150         (buildsym_init): Update.
2151
2152 2018-07-20  Tom Tromey  <tom@tromey.com>
2153
2154         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2155         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2156         members.
2157         (pending_addrmap, pending_addrmap_obstack)
2158         (pending_addrmap_interesting): Remove.
2159         (scoped_free_pendings, record_block_range, make_blockvector)
2160         (prepare_for_building, reset_symtab_globals, buildsym_init):
2161         Update.
2162
2163 2018-07-20  Tom Tromey  <tom@tromey.com>
2164
2165         * xcoffread.c (process_linenos): Update.
2166         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2167         * mdebugread.c (psymtab_to_symtab_1): Update.
2168         * dwarf2read.c (setup_type_unit_groups)
2169         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2170         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2171         * dbxread.c (process_one_symbol): Update.
2172         * coffread.c (coff_symtab_read, enter_linenos)
2173         (process_coff_symbol): Update.
2174         * buildsym.h (current_subfile): Don't declare.
2175         (get_current_subfile): Declare.
2176         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2177         member.
2178         (start_subfile, free_buildsym_compunit, push_subfile)
2179         (prepare_for_building, start_symtab): Update.
2180         (get_current_subfile): New function.
2181
2182 2018-07-20  Tom Tromey  <tom@tromey.com>
2183
2184         * coffread.c (coff_symtab_read): Update.
2185         * xcoffread.c (read_xcoff_symtab): Update.
2186         * dwarf2read.c (new_symbol): Update.
2187         (read_func_scope, read_lexical_block_scope): Update.
2188         * dbxread.c (process_one_symbol): Update.
2189         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2190         (outermost_context_p): Remove macro.
2191         (outermost_context_p, get_current_context_stack)
2192         (get_context_stack_depth): Declare.
2193         (pop_context): Return struct context_stack.
2194         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2195         member.
2196         (context_stack_size): Remove.
2197         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2198         (prepare_for_building, end_symtab_get_static_block)
2199         (augment_type_symtab, push_context): Update.
2200         (pop_context): Return struct context_stack.
2201         (outermost_context_p, get_current_context_stack)
2202         (get_context_stack_depth): New functions.
2203         (buildsym_init): Update.
2204
2205 2018-07-20  Tom Tromey  <tom@tromey.com>
2206
2207         * rust-exp.y: Now a pure parser.  Update all rules.
2208         (%union): Move earlier.
2209         (current_parser, work_obstack): Remove globals.
2210         (rust_parser, ~rust_parser): Update.
2211         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2212         lex_character, lex_number, lex_string, lex_identifier,
2213         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2214         convert_name, convert_params_to_expression,
2215         convert_ast_to_expression, ast_basic_type, ast_operation,
2216         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2217         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2218         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2219         ast_array_type, ast_slice_type, ast_reference_type,
2220         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2221         (rust_parse): Update.
2222         (rustyyerror, rustyylex): Add parser parameter.
2223         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2224         (rust_lex_stringish_test, rust_lex_test_sequence)
2225         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2226         (rust_lex_test_push_back, rust_lex_tests): Update.
2227
2228 2018-07-19  Pedro Alves  <palves@redhat.com>
2229
2230         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2231         gdb::unique_xmalloc_ptr.
2232         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2233         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2234         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2235         copy-initialization.
2236         * guile/scm-pretty-print.c (ppscm_print_children): Use
2237         gdb::unique_xmalloc_ptr instead of cleanups.
2238         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2239         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2240         gdb::unique_xmalloc_ptr.
2241         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2242         Adjust to use gdb::unique_xmalloc_ptr.
2243         * guile/scm-utils.c (extract_arg): Adjust.
2244         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2245         gdb::unique_xmalloc_ptr instead of a cleanup.
2246
2247 2018-07-19  Tom Tromey  <tom@tromey.com>
2248
2249         * utils.c (do_value_free_to_mark)
2250         (make_cleanup_value_free_to_mark): Remove.
2251         * utils.h (make_cleanup_value_free_to_mark): Remove.
2252
2253 2018-07-19  Pedro Alves  <palves@redhat.com>
2254
2255         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2256         forwarding reference.
2257
2258 2018-07-18  Pedro Alves  <palves@redhat.com>
2259
2260         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2261         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2262         cleanup.
2263
2264 2018-07-18  Pedro Alves  <palves@redhat.com>
2265
2266         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2267         exceptions.
2268         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2269         (gdbscm_wrap): New.
2270         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2271         directly instead of a cleanup.
2272         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2273         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2274         (vlscm_binop_gdbthrow): New, factored out from ...
2275         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2276         (vlscm_rich_compare): Use gdbscm_wrap.
2277         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2278         instead of a cleanup.
2279         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2280         cleanup.
2281         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2282         Use xfree directly instead of a cleanup.
2283         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2284         Adjust to use gdbscm_wrap and scoped_value_mark.
2285         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2286         (gdbscm_value_address, gdbscm_value_dereference)
2287         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2288         scoped_value_mark.
2289         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2290         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2291         scoped_value_mark.
2292         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2293         gdbscm_wrap and scoped_value_mark.
2294         (gdbscm_value_to_string): Use xfree directly instead of a
2295         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2296         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2297         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2298         scoped_value_mark.
2299         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2300         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2301         scoped_value_mark.
2302         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2303         gdbscm_wrap.
2304
2305 2018-07-18  Tom de Vries  <tdevries@suse.de>
2306
2307         * findvar.c (default_read_var_value): Also resolve dynamic type for
2308         LOC_OPTIMIZED_OUT vars.
2309
2310 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2311
2312         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2313         decoding.
2314
2315 2018-07-17  Tom Tromey  <tom@tromey.com>
2316
2317         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2318         (compute_enum_list, pascm_set_param_value_x)
2319         (gdbscm_parameter_value): Update.
2320         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2321         (gdbscm_scm_to_host_string): Update.
2322         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2323         Update.
2324         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2325         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2326         * guile/scm-string.c (gdbscm_scm_to_string): Return
2327         unique_xmalloc_ptr.
2328         (gdbscm_scm_to_host_string): Likewise.
2329
2330 2018-07-17  Tom Tromey  <tom@tromey.com>
2331
2332         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2333         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2334         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2335         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2336         unique_xmalloc_ptr.
2337
2338 2018-07-17  Tom Tromey  <tom@tromey.com>
2339
2340         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2341         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2342         Update.
2343         * guile/scm-cmd.c (cmdscm_function): Update.
2344         * guile/scm-pretty-print.c
2345         (ppscm_print_exception_unless_memory_error): Update.
2346         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2347         Return unique_xmalloc_ptr.
2348
2349 2018-07-17  Tom Tromey  <tom@tromey.com>
2350
2351         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2352         Use string_printf.
2353
2354 2018-07-17  Jim Wilson  <jimw@sifive.com>
2355
2356         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2357         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2358         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2359         unecessary braces after EF_RISCV_RVC test.  Delete call to
2360         set_gdbarch_decr_pc_after_break.
2361
2362         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2363         RISCV_LAST_FP_REGNUM + 1.
2364         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2365
2366 2018-07-17  Tom Tromey  <tom@tromey.com>
2367
2368         * configure.ac: Remove --disable-gdbcli.
2369         * configure: Rebuild.
2370         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2371         (SUBDIR_CLI_CFLAGS): Remove.
2372         (SFILES): Use SUBDIR_CLI_SRCS.
2373         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2374
2375 2018-07-17  Tom Tromey  <tom@tromey.com>
2376
2377         PR gdb/18624:
2378         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2379
2380 2018-07-16  Jim Wilson  <jimw@sifive.com>
2381
2382         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2383
2384 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2385
2386         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2387         variable.
2388         (libunwind_frame_sniffer): Likewise.
2389         (libunwind_frame_prev_register): Likewise.
2390         (libunwind_sigtramp_frame_sniffer): Likewise.
2391         * ia64-tdep.c (ia64_access_reg): Likewise.
2392         (ia64_access_rse_reg): Likewise.
2393         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2394         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2395
2396 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2397
2398         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2399
2400 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2401
2402         * remote-sim.c (gdbsim_target::close,
2403         gdbsim_target::mourn_inferior): Remove unused variables.
2404
2405 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2406
2407         * ia64-tdep.c (ktab_buf): New global.
2408         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2409         (get_kernel_table): Adjust.
2410
2411 2018-07-16  Tom Tromey  <tom@tromey.com>
2412
2413         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2414         * dwarf2read.c (using_directives, new_symbol): Use
2415         outermost_context_p.
2416         * dbxread.c (process_one_symbol): Use outermost_context_p.
2417         * coffread.c (coff_symtab_read): Use outermost_context_p.
2418
2419 2018-07-16  Tom Tromey  <tom@tromey.com>
2420
2421         * dwarf2read.c (using_directives, read_func_scope)
2422         (read_lexical_block_scope): Update.
2423         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2424         * buildsym.h (local_using_directives, global_using_directives):
2425         Don't declare.
2426         (get_local_using_directives, set_local_using_directives)
2427         (get_global_using_directives): Declare.
2428         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2429         m_global_using_directives>: New members.
2430         (finish_block_internal, prepare_for_building)
2431         (reset_symtab_globals, end_symtab_get_static_block)
2432         (push_context): Update.
2433         (get_local_using_directives, set_local_using_directives)
2434         (get_global_using_directives): New functions.
2435         (buildsym_init): Update.
2436
2437 2018-07-16  Tom Tromey  <tom@tromey.com>
2438
2439         * xcoffread.c (xcoff_initial_scan): Don't call
2440         free_pending_blocks.
2441         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2442         * buildsym.h (class scoped_free_pendings): Add constructor.
2443         (free_pending_blocks): Don't declare.
2444         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2445         (free_pending_blocks): Now static.
2446
2447 2018-07-16  Tom Tromey  <tom@tromey.com>
2448
2449         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2450         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2451         member.
2452         (struct subfile_stack): Remove.
2453         (subfile_stack): Remove.
2454         (push_subfile, pop_subfile, buildsym_init): Update.
2455
2456 2018-07-16  Tom Tromey  <tom@tromey.com>
2457
2458         * buildsym.c (push_subfile): Use gdb_assert.
2459         (pop_subfile): Use gdb_assert.
2460
2461 2018-07-16  Tom Tromey  <tom@tromey.com>
2462
2463         * buildsym.h (merge_symbol_lists): Remove.
2464         * buildsym.c (merge_symbol_lists): Remove.
2465
2466 2018-07-16  Tom Tromey  <tom@tromey.com>
2467
2468         * stabsread.c (scan_file_globals): Update comment.
2469         * stabsread.h (scan_file_globals): Move from buildsym.h.
2470         * buildsym.h (scan_file_globals): Move to stabsread.h.
2471
2472 2018-07-16  Tom Tromey  <tom@tromey.com>
2473
2474         * xcoffread.c (xcoff_new_init): Update.
2475         * mipsread.c (mipscoff_new_init): Update.
2476         * mdebugread.c (mdebug_build_psymtabs): Update.
2477         * elfread.c (elf_new_init): Update.
2478         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2479         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2480         * buildsym.h (buildsym_new_init): Don't declare.
2481         * buildsym.c (buildsym_new_init): Remove.
2482
2483 2018-07-16  Tom Tromey  <tom@tromey.com>
2484
2485         * stabsread.h (within_function): Move from buildsym.h.
2486         * stabsread.c (start_stabs): Clear within_function.
2487         * coffread.c (coff_start_symtab): Clear within_function.
2488         * buildsym.h (within_function): Move to stabsread.h.
2489         * buildsym.c (prepare_for_building): Update.
2490
2491 2018-07-16  Tom Tromey  <tom@tromey.com>
2492
2493         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2494         * dwarf2read.c (dwarf2_start_symtab): Don't set
2495         processing_gcc_compilation.
2496         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2497
2498 2018-07-16  Tom Tromey  <tom@tromey.com>
2499
2500         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2501         (next_symbol_text_func): Move from buildsym.h.
2502         * stabsread.c (hashname): Move from buildsym.c.
2503         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2504         (next_symbol_text_func, hashname): Move to stabsread.h.
2505         * buildsym.c: Don't include bcache.h
2506         (hashname): Move to stasbread.c.
2507
2508 2018-07-16  Tom Tromey  <tom@tromey.com>
2509
2510         * buildsym.h (context_stack_size): Don't declare.
2511         * buildsym.c (context_stack_size): New global.
2512
2513 2018-07-16  Tom Tromey  <tom@tromey.com>
2514
2515         * dbxread.c (processing_acc_compilation): New global.
2516         * buildsym.h (processing_acc_compilation): Don't declare.
2517
2518 2018-07-16  Tom Tromey  <tom@tromey.com>
2519
2520         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2521         * dbxread.c (read_ofile_symtab): Update.
2522         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2523         * buildsym.h (last_source_start_addr): Remove.
2524         (set_last_source_start_addr, get_last_source_start_addr):
2525         Declare.
2526         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2527         parameter.
2528         (struct buildsym_compunit) <m_last_source_start_addr>: New
2529         member.
2530         (prepare_for_building): Remove start_addr parameter.
2531         (start_symtab, restart_symtab, end_symtab_get_static_block)
2532         (end_symtab_with_blockvector): Update.
2533         (set_last_source_start_addr, get_last_source_start_addr): New
2534         functions.
2535
2536 2018-07-16  Tom Tromey  <tom@tromey.com>
2537
2538         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2539         member.
2540         (have_line_numbers): Remove.
2541         (record_line, prepare_for_building, end_symtab_get_static_block)
2542         (augment_type_symtab): Update.
2543
2544 2018-07-16  Tom Tromey  <tom@tromey.com>
2545
2546         * buildsym.c (~buildsym_compunit): Free the macro table.
2547         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2548         methods.
2549         <m_pending_macros>: New member.
2550         (pending_macros): Remove.
2551         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2552         (reset_symtab_globals, end_symtab_get_static_block)
2553         (end_symtab_with_blockvector, augment_type_symtab)
2554         (buildsym_init): Update.
2555
2556 2018-07-16  Tom Tromey  <tom@tromey.com>
2557
2558         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2559         parameter.
2560         (buildsym_compunit::set_last_source_file): New method.
2561         <m_last_source_file>: New member.
2562         (prepare_for_building): Remove "name" parameter.
2563         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2564         (last_source_file): Remove.
2565         (set_last_source_file, get_last_source_file): Update.
2566
2567 2018-07-16  Tom Tromey  <tom@tromey.com>
2568
2569         * buildsym.c (prepare_for_building): Add assert.
2570
2571 2018-07-16  Tom Tromey  <tom@tromey.com>
2572
2573         * buildsym.c (~buildsym_compunit): Update.
2574         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2575         (start_subfile, patch_subfile_names)
2576         (end_symtab_with_blockvector): Update.
2577
2578 2018-07-16  Tom Tromey  <tom@tromey.com>
2579
2580         * buildsym.c (struct buildsym_compunit): Add constructor,
2581         destructor, initializers.
2582         (start_buildsym_compunit): Remove.
2583         (free_buildsym_compunit): Use "delete".
2584         (start_symtab, restart_symtab): Use "new".
2585
2586 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2587
2588         * symfile.c (set_objfile_default_section_offset): Remove struct
2589         keyword.
2590
2591 2018-07-14  Stafford Horne  <shorne@gmail.com>
2592
2593         * (Responsible Maintainers): Add myself as or1k maintainer.
2594
2595 2018-07-13  Tom Tromey  <tom@tromey.com>
2596
2597         * symfile.c (set_objfile_default_section_offset): Use extra braces
2598         around initializer.
2599
2600 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2601
2602         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2603         non-branching basr.
2604
2605 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2606
2607         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2608         unittests/cli-utils-selftests.c
2609         * unittests/cli-utils-selftests.c: New file.
2610
2611 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2612
2613         * NEWS: Mention new commands. Mention change to 'thread apply'.
2614
2615 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2616
2617         * thread.c (thr_try_catch_cmd): New function.
2618         (thread_apply_all_command): Handle qcs flags.
2619         (thread_apply_command): Handle qcs flags.
2620         (taas_command): New function.
2621         (tfaas_command): New function.
2622         (_initialize_thread): Update to setup the new commands 'taas
2623         and 'tfaas'. Change doc string for 'thread apply'.
2624
2625 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2626
2627         * stack.c: (trailing_outermost_frame): New function, mostly
2628         extracted from backtrace_command_1.
2629         (leading_innermost_frame): New function.
2630         (backtrace_command_1): Update to call trailing_outermost_frame.
2631         (frame_apply_command_count): New function.
2632         (frame_apply_level_command): New function.
2633         (frame_apply_all_command): New function.
2634         (frame_apply_command): New function.
2635         (faas_command): New function.
2636         (frame_cmd_list): New variable.
2637         (_initialize_stack): Update to setup the new commands 'frame apply'
2638         and 'faas'.
2639
2640 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2641
2642         * cli-utils.c (number_or_range_parser::get_number): Only handle
2643         numbers or convenience var as numbers.
2644         (parse_flags): New function.
2645         (parse_flags_qcs): New function.
2646         (number_or_range_parser::finished): Ensure parsing end is detected
2647         before end of string.
2648         * cli-utils.h (parse_flags): New function.
2649         (parse_flags_qcs): New function.
2650         (number_or_range_parser): Remove m_finished bool.
2651         (number_or_range_parser::skip_range): Set m_in_range to false.
2652
2653 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2654
2655         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2656         on Windows.
2657
2658 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2659             Jan Kratochvil  <jan.kratochvil@redhat.com>
2660             Paul Fertser  <fercerpav@gmail.com>
2661             Tsutomu Seki  <sekiriki@gmail.com>
2662             Pedro Alves  <palves@redhat.com>
2663
2664         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2665         'unittests/parse-connection-spec-selftests.c'.
2666         (COMMON_SFILES): Add 'common/netstuff.c'.
2667         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2668         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2669         * common/netstuff.c: New file.
2670         * common/netstuff.h: New file.
2671         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2672         (wait_for_connect): Update comment.  New parameter
2673         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2674         Use 'sock' directly instead of 'scb->fd'.
2675         (try_connect): New function, with code from 'net_open'.
2676         (net_open): Rewrite main loop to deal with multiple
2677         sockets/addresses.  Handle IPv6-style hostnames; implement
2678         support for IPv6 connections.
2679         * unittests/parse-connection-spec-selftests.c: New file.
2680
2681 2018-07-11  Pedro Alves  <palves@redhat.com>
2682
2683         PR gdb/23377
2684         * remote.c (remote_target::remote_detach_pid): Call
2685         set_current_process.
2686
2687 2018-07-11  Pedro Alves  <palves@redhat.com>
2688
2689         * h8300-tdep.c (h8300_gdbarch_init): Remove
2690         set_gdbarch_ecoff_reg_to_regnum calls.
2691
2692 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2693
2694         PR c++/23373
2695         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2696         offsets/sizes for static members of a class/struct.
2697
2698 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2699
2700         * target-descriptions.c (tdesc_register_bitsize): Rename.
2701         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2702         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2703         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2704
2705 2018-07-10  Tom Tromey  <tom@tromey.com>
2706
2707         * breakpoint.c (moribund_locations): Now static and a
2708         std::vector.
2709         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2710         (build_bpstat_chain, update_global_location_list)
2711         (breakpoint_retire_moribund): Update.
2712         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2713         VEC.
2714
2715 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2716
2717         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2718         (riscv_register_reggroup_p): Use new function, remove unneeded
2719         parenthesis.
2720         (riscv_push_dummy_call): Extend assert to compare against xlen or
2721         flen based on register type.
2722
2723 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2724
2725         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2726
2727 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2728
2729         * remote.c (show_hardware_watchpoint_limit): New function.
2730         (show_hardware_watchpoint_length_limit): New function.
2731         (show_hardware_breakpoint_limit): New function.
2732         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2733         where appropriate, update help text.
2734
2735 2018-07-09  Tom Tromey  <tom@tromey.com>
2736
2737         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2738         (CLIBS): Don't mention NAT_CLIBS.
2739
2740 2018-07-09  Tom Tromey  <tom@tromey.com>
2741
2742         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2743         (LIBGDB_OBS, clean mostlyclean): Update.
2744         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2745
2746 2018-07-09  Tom Tromey  <tom@tromey.com>
2747
2748         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2749         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2750         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2751
2752 2018-07-09  Tom Tromey  <tom@tromey.com>
2753
2754         * Makefile.in (ALLDEPFILES): Remove exec.c.
2755         (COMMON_OBS): Remove exec.o.
2756         (COMMON_SFILES): Add exec.c.
2757
2758 2018-07-09  Tom Tromey  <tom@tromey.com>
2759
2760         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2761
2762 2018-07-09  Tom Tromey  <tom@tromey.com>
2763
2764         * Makefile.in (clean mostlyclean): Remove stamp-version.
2765         (version.c): Depend on stamp-version.
2766         (stamp-version): New rule, from version.c rule.
2767
2768 2018-07-09  Tom Tromey  <tom@tromey.com>
2769
2770         * Makefile.in (init.c): Depend on stamp-init.
2771         (stamp-init): New rule, from init.c rule.
2772         (clean mostlyclean): Remove stamp-init.
2773
2774 2018-07-09  Tom Tromey  <tom@tromey.com>
2775
2776         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2777         SUBDIR_GCC_COMPILE_SRCS.
2778
2779 2018-07-09  Tom Tromey  <tom@tromey.com>
2780
2781         * Makefile.in (init.c): Remove some unused sed rules.
2782
2783 2018-07-09  Tom Tromey  <tom@tromey.com>
2784
2785         * Makefile.in (TSOBS): Remove.
2786         (INIT_FILES): Update.
2787         (LIBGDB_OBS): Update.
2788         (COMMON_SFILES): Add inflow.c.
2789         (SFILES): Remove inflow.c.
2790
2791 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2792
2793         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2794
2795 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2796
2797         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2798         get_saveloc_name, is_signal_frame_name, step_name,
2799         init_remote_name, create_addr_space_name,
2800         destroy_addr_space_name, search_unwind_table_name,
2801         find_dyn_list_name): Constify.
2802
2803 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2804
2805         * darwin-nat.c (darwin_pthread_kill): New function.
2806         (darwin_resume_thread): Use darwin_pthread_kill.
2807
2808 2018-07-05  Tom de Vries  <tdevries@suse.de>
2809
2810         * macroexp.c (macro_buffer) <operator=>: New member function.
2811
2812 2018-07-04  Tom Tromey  <tom@tromey.com>
2813
2814         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
2815
2816 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
2817
2818         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
2819         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
2820         * maint.c: Likewise.
2821         * top.c: Likewise.
2822
2823 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2824
2825         * NEWS: Create a new section for the next release branch.
2826         Rename the section of the current branch, now that it has
2827         been cut.
2828
2829 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2830
2831         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
2832         * version.in: Bump version to 8.2.50.DATE-git.
2833
2834 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
2835             Pedro Alves  <palves@redhat.com>
2836
2837         * linux-nat.c (linux_init_ptrace): Rename to ...
2838         (linux_init_ptrace_procfs): ... this.  Call
2839         linux_proc_init_warnings.
2840         (linux_nat_target::post_attach)
2841         (linux_nat_target::post_startup_inferior): Adjust.
2842         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
2843         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
2844
2845 2018-07-04  Tom de Vries  <tdevries@suse.de>
2846
2847         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2848         check ...
2849         (read_comp_unit_head): ... here.
2850
2851 2018-07-03  Tom Tromey  <tom@tromey.com>
2852
2853         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2854         (stop_tracing, tstatus_command)
2855         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2856         (print_one_static_tracepoint_marker): Update.
2857         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2858         std::vector.
2859         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2860         VEC.
2861         (all_tracepoints, static_tracepoints_here): Return std::vector.
2862
2863 2018-07-03  Tom Tromey  <tom@tromey.com>
2864
2865         * common/ptid.c (ptid_equal): Remove.
2866         * common/ptid.h (ptid_equal): Don't declare.
2867         * ada-tasks.c: Update.
2868         * breakpoint.c: Update.
2869         * common/agent.c: Update.
2870         * corelow.c: Update.
2871         * darwin-nat-info.c: Update.
2872         * darwin-nat.c: Update.
2873         * dcache.c: Update.
2874         * dtrace-probe.c: Update.
2875         * dummy-frame.c: Update.
2876         * fbsd-nat.c: Update.
2877         * frame.c: Update.
2878         * gdbthread.h: Update.
2879         * gnu-nat.c: Update.
2880         * go32-nat.c: Update.
2881         * inf-loop.c: Update.
2882         * inf-ptrace.c: Update.
2883         * infcall.c: Update.
2884         * infcmd.c: Update.
2885         * inflow.c: Update.
2886         * infrun.c: Update.
2887         * linux-fork.c: Update.
2888         * linux-nat.c: Update.
2889         * linux-thread-db.c: Update.
2890         * mi/mi-cmd-var.c: Update.
2891         * mi/mi-interp.c: Update.
2892         * mi/mi-main.c: Update.
2893         * nto-procfs.c: Update.
2894         * ppc-linux-tdep.c: Update.
2895         * procfs.c: Update.
2896         * python/py-inferior.c: Update.
2897         * python/py-record-btrace.c: Update.
2898         * python/py-record.c: Update.
2899         * ravenscar-thread.c: Update.
2900         * regcache.c: Update.
2901         * remote-sim.c: Update.
2902         * remote.c: Update.
2903         * sol-thread.c: Update.
2904         * solib.c: Update.
2905         * target.c: Update.
2906         * tui/tui-stack.c: Update.
2907         * varobj.c: Update.
2908         * windows-nat.c: Update.
2909         * windows-tdep.c: Update.
2910
2911 2018-07-03  Tom Tromey  <tom@tromey.com>
2912
2913         * common/ptid.c (ptid_match): Remove.
2914         * common/ptid.h (ptid_match): Don't declare.
2915         * fbsd-nat.c: Update.
2916         * infcmd.c: Update.
2917         * infrun.c: Update.
2918         * linux-nat.c: Update.
2919         * record-btrace.c: Update.
2920         * regcache.c: Update.
2921         * remote.c: Update.
2922
2923 2018-07-03  Tom Tromey  <tom@tromey.com>
2924
2925         * common/ptid.c (ptid_tid_p): Remove.
2926         * common/ptid.h (ptid_tid_p): Don't declare.
2927         * sol-thread.c: Update.
2928
2929 2018-07-03  Tom Tromey  <tom@tromey.com>
2930
2931         * common/ptid.c (ptid_lwp_p): Remove.
2932         * common/ptid.h (ptid_lwp_p): Don't declare.
2933         * fbsd-nat.c: Update.
2934         * linux-nat.c: Update.
2935         * nat/linux-procfs.c: Update.
2936         * nat/x86-linux-dregs.c: Update.
2937         * sol-thread.c: Update.
2938
2939 2018-07-03  Tom Tromey  <tom@tromey.com>
2940
2941         * common/ptid.c (ptid_is_pid): Remove.
2942         * common/ptid.h (ptid_is_pid): Don't declare.
2943         * infrun.c: Update.
2944         * linux-nat.c: Update.
2945         * mi/mi-interp.c: Update.
2946         * remote.c: Update.
2947         * thread.c: Update.
2948
2949 2018-07-03  Tom Tromey  <tom@tromey.com>
2950
2951         * common/ptid.c (ptid_get_tid): Remove.
2952         * common/ptid.h (ptid_get_tid): Don't declare.
2953         * ada-tasks.c: Update.
2954         * aix-thread.c: Update.
2955         * bsd-uthread.c: Update.
2956         * darwin-nat.c: Update.
2957         * fbsd-nat.c: Update.
2958         * i386-darwin-nat.c: Update.
2959         * infrun.c: Update.
2960         * linux-tdep.c: Update.
2961         * nto-procfs.c: Update.
2962         * ppc-ravenscar-thread.c: Update.
2963         * python/py-infthread.c: Update.
2964         * ravenscar-thread.c: Update.
2965         * sol-thread.c: Update.
2966         * sparc-ravenscar-thread.c: Update.
2967         * windows-nat.c: Update.
2968
2969 2018-07-03  Tom Tromey  <tom@tromey.com>
2970
2971         * common/ptid.c (ptid_get_lwp): Remove.
2972         * common/ptid.h (ptid_get_lwp): Don't declare.
2973         * aarch64-linux-nat.c: Update.
2974         * ada-tasks.c: Update.
2975         * aix-thread.c: Update.
2976         * amd64-linux-nat.c: Update.
2977         * arm-linux-nat.c: Update.
2978         * corelow.c: Update.
2979         * fbsd-nat.c: Update.
2980         * fbsd-tdep.c: Update.
2981         * gnu-nat.c: Update.
2982         * i386-cygwin-tdep.c: Update.
2983         * i386-gnu-nat.c: Update.
2984         * i386-linux-nat.c: Update.
2985         * ia64-linux-nat.c: Update.
2986         * inf-ptrace.c: Update.
2987         * infrun.c: Update.
2988         * linux-fork.c: Update.
2989         * linux-nat.c: Update.
2990         * linux-tdep.c: Update.
2991         * linux-thread-db.c: Update.
2992         * mips-linux-nat.c: Update.
2993         * nat/aarch64-linux-hw-point.c: Update.
2994         * nat/aarch64-linux.c: Update.
2995         * nat/linux-btrace.c: Update.
2996         * nat/linux-osdata.c: Update.
2997         * nat/linux-procfs.c: Update.
2998         * nat/x86-linux-dregs.c: Update.
2999         * obsd-nat.c: Update.
3000         * ppc-fbsd-nat.c: Update.
3001         * ppc-linux-nat.c: Update.
3002         * procfs.c: Update.
3003         * python/py-infthread.c: Update.
3004         * ravenscar-thread.c: Update.
3005         * remote.c: Update.
3006         * s390-linux-nat.c: Update.
3007         * sol-thread.c: Update.
3008         * sol2-tdep.c: Update.
3009         * spu-linux-nat.c: Update.
3010         * x86-linux-nat.c: Update.
3011         * xtensa-linux-nat.c: Update.
3012
3013 2018-07-03  Tom Tromey  <tom@tromey.com>
3014
3015         * common/ptid.c (ptid_get_pid): Remove.
3016         * common/ptid.h (ptid_get_pid): Don't declare.
3017         * aarch64-linux-nat.c: Update.
3018         * ada-lang.c: Update.
3019         * aix-thread.c: Update.
3020         * alpha-bsd-nat.c: Update.
3021         * amd64-fbsd-nat.c: Update.
3022         * amd64-linux-nat.c: Update.
3023         * arm-linux-nat.c: Update.
3024         * arm-nbsd-nat.c: Update.
3025         * auxv.c: Update.
3026         * break-catch-syscall.c: Update.
3027         * breakpoint.c: Update.
3028         * bsd-uthread.c: Update.
3029         * corelow.c: Update.
3030         * ctf.c: Update.
3031         * darwin-nat.c: Update.
3032         * fbsd-nat.c: Update.
3033         * fbsd-tdep.c: Update.
3034         * gcore.c: Update.
3035         * gnu-nat.c: Update.
3036         * hppa-nbsd-nat.c: Update.
3037         * hppa-obsd-nat.c: Update.
3038         * i386-fbsd-nat.c: Update.
3039         * ia64-linux-nat.c: Update.
3040         * inf-ptrace.c: Update.
3041         * infcmd.c: Update.
3042         * inferior.c: Update.
3043         * inferior.h: Update.
3044         * inflow.c: Update.
3045         * infrun.c: Update.
3046         * linux-fork.c: Update.
3047         * linux-nat.c: Update.
3048         * linux-tdep.c: Update.
3049         * linux-thread-db.c: Update.
3050         * m68k-bsd-nat.c: Update.
3051         * mi/mi-interp.c: Update.
3052         * mi/mi-main.c: Update.
3053         * mips-linux-nat.c: Update.
3054         * mips-nbsd-nat.c: Update.
3055         * mips64-obsd-nat.c: Update.
3056         * nat/aarch64-linux-hw-point.c: Update.
3057         * nat/aarch64-linux.c: Update.
3058         * nat/linux-btrace.c: Update.
3059         * nat/linux-osdata.c: Update.
3060         * nat/linux-procfs.c: Update.
3061         * nat/x86-linux-dregs.c: Update.
3062         * nto-procfs.c: Update.
3063         * obsd-nat.c: Update.
3064         * ppc-linux-nat.c: Update.
3065         * ppc-nbsd-nat.c: Update.
3066         * ppc-obsd-nat.c: Update.
3067         * proc-service.c: Update.
3068         * procfs.c: Update.
3069         * python/py-inferior.c: Update.
3070         * python/py-infthread.c: Update.
3071         * ravenscar-thread.c: Update.
3072         * record.c: Update.
3073         * remote-sim.c: Update.
3074         * remote.c: Update.
3075         * rs6000-nat.c: Update.
3076         * s390-linux-nat.c: Update.
3077         * sh-nbsd-nat.c: Update.
3078         * sol-thread.c: Update.
3079         * sparc-nat.c: Update.
3080         * sparc64-tdep.c: Update.
3081         * spu-linux-nat.c: Update.
3082         * spu-tdep.c: Update.
3083         * target-debug.h: Update.
3084         * target.c: Update.
3085         * thread.c: Update.
3086         * tid-parse.c: Update.
3087         * tracefile-tfile.c: Update.
3088         * vax-bsd-nat.c: Update.
3089         * windows-nat.c: Update.
3090         * x86-linux-nat.c: Update.
3091         * x86-nat.c: Update.
3092
3093 2018-07-03  Tom Tromey  <tom@tromey.com>
3094
3095         * common/ptid.c (pid_to_ptid): Remove.
3096         * common/ptid.h (pid_to_ptid): Don't declare.
3097         * aix-thread.c: Update.
3098         * arm-linux-nat.c: Update.
3099         * common/ptid.c: Update.
3100         * common/ptid.h: Update.
3101         * corelow.c: Update.
3102         * ctf.c: Update.
3103         * darwin-nat.c: Update.
3104         * fbsd-nat.c: Update.
3105         * fork-child.c: Update.
3106         * gnu-nat.c: Update.
3107         * go32-nat.c: Update.
3108         * inf-ptrace.c: Update.
3109         * infcmd.c: Update.
3110         * inferior.c: Update.
3111         * infrun.c: Update.
3112         * linux-fork.c: Update.
3113         * linux-nat.c: Update.
3114         * nat/aarch64-linux-hw-point.c: Update.
3115         * nat/fork-inferior.c: Update.
3116         * nat/x86-linux-dregs.c: Update.
3117         * nto-procfs.c: Update.
3118         * obsd-nat.c: Update.
3119         * procfs.c: Update.
3120         * progspace.c: Update.
3121         * remote.c: Update.
3122         * rs6000-nat.c: Update.
3123         * s390-linux-nat.c: Update.
3124         * sol-thread.c: Update.
3125         * spu-linux-nat.c: Update.
3126         * target.c: Update.
3127         * top.c: Update.
3128         * tracefile-tfile.c: Update.
3129         * windows-nat.c: Update.
3130
3131 2018-07-03  Tom Tromey  <tom@tromey.com>
3132
3133         * common/ptid.h (ptid_build): Don't declare.
3134         * common/ptid.c (ptid_build): Remove.
3135         * aix-thread.c: Update.
3136         * bsd-kvm.c: Update.
3137         * bsd-uthread.c: Update.
3138         * common/agent.c: Update.
3139         * common/ptid.c: Update.
3140         * common/ptid.h: Update.
3141         * corelow.c: Update.
3142         * darwin-nat.c: Update.
3143         * fbsd-nat.c: Update.
3144         * gnu-nat.c: Update.
3145         * linux-fork.c: Update.
3146         * linux-nat.c: Update.
3147         * linux-thread-db.c: Update.
3148         * nat/linux-osdata.c: Update.
3149         * nat/linux-procfs.c: Update.
3150         * nto-procfs.c: Update.
3151         * obsd-nat.c: Update.
3152         * proc-service.c: Update.
3153         * procfs.c: Update.
3154         * ravenscar-thread.c: Update.
3155         * remote-sim.c: Update.
3156         * remote.c: Update.
3157         * sol-thread.c: Update.
3158         * target.c: Update.
3159         * windows-nat.c: Update.
3160
3161 2018-07-03  Tom Tromey  <tom@tromey.com>
3162
3163         * infrun.c (follow_exec): Use exit_inferior_silent.
3164         * inferior.c (exit_inferior_num_silent): Remove.
3165         * inferior.h (exit_inferior_num_silent): Don't declare.
3166
3167 2018-07-03  Tom Tromey  <tom@tromey.com>
3168
3169         PR cli/23340:
3170         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3171         inferior_ptid on error.
3172
3173 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3174             Simon Marchi  <simon.marchi@polymtl.ca>
3175
3176         PR tdep/8282
3177         * disasm.h (gdb_disassembler): Add
3178         `m_disassembler_options_holder'. member
3179         * disasm.c (get_all_disassembler_options): New function.
3180         (gdb_disassembler::gdb_disassembler): Use it.
3181         (gdb_buffered_insn_length_init_dis): Likewise.
3182         (gdb_buffered_insn_length): Adjust accordingly.
3183         (set_disassembler_options): Handle options with arguments.
3184         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3185         line if showing options with descriptions.
3186         (disassembler_options_completer): Adapt to using the
3187         `disasm_options_and_args_t' structure.
3188         * mips-tdep.c (mips_disassembler_options): New variable.
3189         (mips_disassembler_options_o32): Likewise.
3190         (mips_disassembler_options_n32): Likewise.
3191         (mips_disassembler_options_n64): Likewise.
3192         (gdb_print_insn_mips): Don't set `disassembler_options'.
3193         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3194         functions.
3195         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3196         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3197         `gdbarch_disassembler_options_implicit' and
3198         `gdbarch_valid_disassembler_options'.
3199         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3200         `disasm_options_and_args_t' structure.
3201         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3202         method.
3203         (valid_disassembler_options): Switch from `disasm_options_t' to
3204         the `disasm_options_and_args_t' structure.
3205         * NEWS: Document `set disassembler-options' support for the MIPS
3206         target.
3207         * gdbarch.h: Regenerate.
3208         * gdbarch.c: Regenerate.
3209
3210 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3211
3212         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3213
3214 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3215
3216         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3217         parameter in call to amd64_target_description.
3218         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3219         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3220         (amd64fbsd_init_abi): Likewise.
3221         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3222         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3223         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3224         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3225
3226 2018-06-29  Pedro Alves  <palves@redhat.com>
3227
3228         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3229         "segments" parameter.
3230         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3231         (_initialize_amd64_tdep): Update call to
3232         amd64_create_target_description.
3233         (amd64_target_description): Add "segments" parameter.  Adjust
3234         the implementation to use it.
3235         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3236         call to amd64_create_target_description.
3237         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3238         * gdb/arch/amd64.h (amd64_create_target_description): Add
3239         "segments" register.
3240         * gdb/arch/amd64.c (amd64_create_target_description): Add
3241         "segments" parameter.  Call create_feature_i386_64bit_segments
3242         only if SEGMENTS is true.
3243         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3244         call to amd64_create_target_description.
3245
3246 2018-06-29  Pedro Alves  <palves@redhat.com>
3247
3248         * thread.c (thread_target_id_str): New, factored out from ...
3249         (print_thread_info_1): ... here.  Use it to compute the max
3250         "Target Id" column width.
3251
3252 2018-06-29  Pedro Alves  <palves@redhat.com>
3253
3254         * remote.c (remote_target::extra_thread_info): Delete
3255         'display_buf' and 'n' locals.  from the cache, regardless of
3256         packet mechanims is in use.  Use cache for qThreadExtra and qP
3257         methods too.
3258
3259 2018-06-29  Pedro Alves  <palves@redhat.com>
3260
3261         * blockframe.c (find_pc_sect_containing_function): New function.
3262         * breakpoint.c (print_breakpoint_location): Don't call
3263         find_pc_sect_function.
3264         * linespec.c (create_sals_line_offset): Record the location's
3265         symbol in the sal.
3266         * linespec.c (convert_address_location_to_sals): Fill in sal's
3267         symbol with find_pc_sect_containing_function.
3268         * symtab.c (find_function_start_sal): Rename to ...
3269         (find_function_start_sal_1): ... this.
3270         (find_function_start_sal): Reimplement as wrapper around
3271         find_function_start_sal_1, and use
3272         find_pc_sect_containing_function to fill in the sal's symbol.
3273         (find_function_start_sal(symbol*, bool)): Adjust.
3274         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3275         comments.
3276         (find_pc_sect_containing_function): Declare.
3277
3278 2018-06-29  Pedro Alves  <palves@redhat.com>
3279
3280         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3281         true if the the location has no symbol.
3282
3283 2018-06-28  Tom Tromey  <tom@tromey.com>
3284
3285         * NEWS: Mention --enable-codesign.
3286         * silent-rules.mk (ECHO_SIGN): New variable.
3287         * configure.ac: Add --enable-codesign.
3288         * configure: Rebuild.
3289         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3290         (gdb$(EXEEXT)): Optionally invoke codesign.
3291
3292 2018-06-28  Pedro Alves  <palves@redhat.com>
3293
3294         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3295         comments.
3296         (switch_to_thread_no_regs): Adjust comment.
3297         * infcmd.c (stop_pc): Delete.
3298         (post_create_inferior, info_program_command): Replace references
3299         to stop_pc with references to thread_info->suspend.stop_pc.
3300         * inferior.h (stop_pc): Delete declaration.
3301         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3302         (handle_inferior_event_1, handle_signal_stop)
3303         (process_event_stop_test, keep_going_stepped_thread)
3304         (handle_step_into_function, handle_step_into_function_backward)
3305         (print_stop_location): Replace references to stop_pc with
3306         references to thread_info->suspend.stop_pc.
3307         (struct infcall_suspend_state) <stop_pc>: Delete field.
3308         (save_infcall_suspend_state, restore_infcall_suspend_state):
3309         Remove references to inf_stat->stop_pc.
3310         * linux-fork.c (fork_load_infrun_state): Likewise.
3311         * record-btrace.c (record_btrace_set_replay): Likewise.
3312         * record-full.c (record_full_goto_entry): Likewise.
3313         * remote.c (print_one_stopped_thread): Likewise.
3314         * target.c (target_resume): Extend comment.
3315         * thread.c (set_executing_thread): New.
3316         (set_executing): Use it.
3317         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3318         Remove references to stop_pc.
3319
3320 2018-06-28  Pedro Alves  <palves@redhat.com>
3321
3322         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3323         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3324
3325 2018-06-28  Tom Tromey  <tom@tromey.com>
3326
3327         * coffread.c (coff_symfile_finish): Update.
3328         * xcoffread.c (xcoff_symfile_finish): Update.
3329         * elfread.c (elf_symfile_finish): Update.
3330         * symfile.h (dwarf2_free_objfile): Don't declare.
3331         * dwarf2read.c (_initialize_dwarf2_read): Use
3332         register_objfile_data_with_cleanup.
3333         (dwarf2_free_objfile): Now static.  Change signature.
3334
3335 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3336
3337         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3338         option "-o" to add-symbol-file-load to add an offset to each
3339         section's load address.
3340         * symfile.c (set_objfile_default_section_offset): New function.
3341
3342 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3343
3344         * symfile.c (add_symbol_file_command): Make sure that sections
3345         with the same name are sorted in the same order.
3346
3347 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3348
3349         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3350         require the second argument.  If omitted, load sections at the
3351         addresses specified in the file.
3352
3353 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3354
3355         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3356         (_initialize_symfile): Add option "-o" to symbol-file to add an
3357         offset to each section of the symbol file.
3358
3359 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3360
3361         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3362
3363 2018-06-27  Tom Tromey  <tom@tromey.com>
3364
3365         * stack.c (_initialize_stack): Update "func" help text.
3366
3367 2018-06-27  Tom Tromey  <tom@tromey.com>
3368
3369         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3370         std::vector.
3371         (unwind_infopy_str, pyuw_create_unwind_info)
3372         (unwind_infopy_add_saved_register, pyuw_sniffer)
3373         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3374         Update.
3375         (struct saved_reg): Add constructor.
3376         <value>: Now a gdbpy_ref<>.
3377
3378 2018-06-27  Tom Tromey  <tom@tromey.com>
3379
3380         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3381
3382 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3383
3384         * gdb-gdb.py.in: Format using autopep8.
3385
3386 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3387
3388         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3389         (type_lookup_function): Recognize CORE_ADDR values.
3390
3391 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3392
3393         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3394         print tag_name.
3395
3396 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3397
3398         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3399         <__lt__>: Add.
3400
3401 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3402
3403         * gdb-gdb.py: Move to...
3404         * gdb-gdb.py.in: ... here.
3405         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3406         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3407         dependencies.
3408         (distclean): Remove gdb-gdb.py when cleaning.
3409         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3410         * configure: Re-generate.
3411
3412 2018-06-27  Pedro Alves  <palves@redhat.com>
3413
3414         * proc-service.c (get_ps_regcache): New.
3415         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3416         (ps_lsetfpregs): Use it.
3417
3418 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3419
3420         PR gdb/21695
3421         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3422         (dwarf_decode_lines_1): Adjust.
3423
3424 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3425
3426         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3427         override.
3428         <info_proc>: Likewise.
3429
3430 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3431
3432         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3433         to windows_fetch_one_register, and only handle the case of
3434         fetching one register.  Move the code that reloads the context
3435         and iterates over all registers if R is negative to...
3436         (windows_nat_target::fetch_registers): ... here.
3437         (do_windows_store_inferior_registers): Rename to
3438         windows_store_one_register, and only handle the case of storing
3439         one register.  Move the code that handles the case where r is
3440         negative to...
3441         (windows_nat_target::store_registers) ... here.
3442
3443 2018-06-26  Tom Tromey  <tom@tromey.com>
3444
3445         PR rust/22574:
3446         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3447         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3448         Update.
3449         (rust_internal_print_type): Add podata parameter.
3450         (rust_print_type): Update.
3451
3452 2018-06-26  Tom Tromey  <tom@tromey.com>
3453
3454         * typeprint.h (struct print_offset_data) <update, finish,
3455         maybe_print_hole>: New methods.
3456         <indentation>: New constant.
3457         * typeprint.c (print_offset_data::indentation): Define.
3458         (print_offset_data::maybe_print_hole, print_offset_data::update)
3459         (print_offset_data::finish): Move from c-typeprint.c and rename.
3460         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3461         (print_spaces_filtered_with_print_options): Update.
3462         (c_print_type_union_field_offset, maybe_print_hole)
3463         (c_print_type_struct_field_offset): Move to typeprint.c and
3464         rename.
3465         (c_type_print_base_struct_union): Update.
3466
3467 2018-06-25  Pedro Alves  <palves@redhat.com>
3468
3469         * gdbthread.h (thread_info_ref, delete_thread)
3470         (delete_thread_silent, first_thread_of_inferior)
3471         (any_thread_of_inferior, switch_to_thread)
3472         (enable_thread_stack_temporaries)
3473         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3474         (get_last_thread_stack_temporary)
3475         (value_in_thread_stack_temporaries, can_access_registers_thread):
3476         Spell out "struct thread_info" instead of just "thread_info".
3477         * inferior.h (notice_new_inferior): Likewise.
3478
3479 2018-06-25  Pedro Alves  <palves@redhat.com>
3480
3481         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3482         pass thread_info pointer to delete_thread.
3483         (windows_nat_target::detach): Pass inferior pointer to
3484         detach_inferior.
3485         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3486         delete_thread.
3487         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3488         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3489         and pass a thread_info pointer to delete_thread.
3490         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3491         pass thread_info pointer to delete_thread.
3492         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3493         delete_thread_silent call.
3494         * procfs.c (procfs_target::detach): Pass inferior pointer to
3495         detach_inferior.
3496         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3497         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3498         delete_thread_silent call.
3499         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3500         pass thread_info pointer to delete_thread.
3501         (windows_nat_target::detach): Pass inferior pointer to
3502         delete_inferior.
3503
3504 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3505
3506         * regcache.c (readable_regcache::read_part): Fix asserts.
3507         (reg_buffer::raw_collect_part): New function.
3508         (regcache::write_part): Fix asserts.
3509         (reg_buffer::raw_supply_part): New function.
3510         (regcache::transfer_regset_register): New helper function.
3511         (regcache::transfer_regset): Call new functions.
3512         (regcache_supply_regset): Use gdb_byte*.
3513         (regcache::supply_regset): Likewise.
3514         (regcache_collect_regset): Likewise.
3515         (regcache::collect_regset): Likewise.
3516         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3517         (reg_buffer::raw_supply_part): Likewise.
3518         (regcache::transfer_regset_register): Likewise.
3519         (regcache::transfer_regset): Use gdb_byte*.
3520
3521 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3522
3523         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3524
3525 2018-06-21  Pedro Alves  <palves@redhat.com>
3526
3527         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3528         instead of a ptid_t.  All callers adjusted.
3529         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3530         adjusted.
3531         (print_ada_task_info, display_current_task_id, task_command_1):
3532         Adjust.
3533         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3534         inferior_thread.
3535         (breakpoint_kind): Adjust.
3536         (remove_breakpoints_pid): Rename to ...
3537         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3538         pointer.  All callers adjusted.
3539         (bpstat_clear_actions): Use inferior_thread.
3540         (get_bpstat_thread): New.
3541         (bpstat_do_actions): Use it.
3542         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3543         to take a thread_info pointer.  All callers adjusted.
3544         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3545         (breakpoint_re_set_thread): Use inferior_thread.
3546         * breakpoint.h (struct inferior): Forward declare.
3547         (bpstat_stop_status): Update.
3548         (remove_breakpoints_pid): Delete.
3549         (remove_breakpoints_inf): New.
3550         * bsd-uthread.c (bsd_uthread_target::wait)
3551         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3552         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3553         (maint_btrace_packet_history_cmd)
3554         (maint_btrace_clear_packet_history_cmd): Adjust.
3555         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3556         inferior_thread.
3557         * cli/cli-interp.c: Include "inferior.h".
3558         * common/refcounted-object.h (struct
3559         refcounted_object_ref_policy): New.
3560         * compile/compile-object-load.c: Include gdbthread.h.
3561         (store_regs): Use inferior_thread.
3562         * corelow.c (core_target::close): Use current_inferior.
3563         (core_target_open): Adjust to use first_thread_of_inferior and use
3564         the current inferior.
3565         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3566         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3567         <thread>: ... this new field.  All references adjusted.
3568         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3569         Take a thread_info pointer instead of a ptid_t.
3570         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3571         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3572         thread_info pointer instead of a ptid_t.
3573         * elfread.c: Include "inferior.h".
3574         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3575         Use inferior_thread.
3576         * eval.c (evaluate_subexp): Likewise.
3577         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3578         inferior_thread.
3579         * gdb_proc_service.h (struct thread_info): Forward declare.
3580         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3581         <thread>: ... this new field.  All references adjusted.
3582         * gdbarch.h, gdbarch.c: Regenerate.
3583         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3584         'thread' parameter.  All implementations and callers adjusted.
3585         * gdbthread.h (thread_info) <set_running>: New method.
3586         (delete_thread, delete_thread_silent): Take a thread_info pointer
3587         instead of a ptid.
3588         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3589         (first_thread_of_process): Delete, replaced by ...
3590         (first_thread_of_inferior): ... this new function.  All callers
3591         adjusted.
3592         (any_live_thread_of_process): Delete, replaced by ...
3593         (any_live_thread_of_inferior): ... this new function.  All callers
3594         adjusted.
3595         (switch_to_thread, switch_to_no_thread): Declare.
3596         (is_executing): Delete.
3597         (enable_thread_stack_temporaries): Update comment.
3598         <enable_thread_stack_temporaries>: Take a thread_info pointer
3599         instead of a ptid_t.  Incref the thread.
3600         <~enable_thread_stack_temporaries>: Decref the thread.
3601         <m_ptid>: Delete
3602         <m_thr>: New.
3603         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3604         (get_last_thread_stack_temporary)
3605         (value_in_thread_stack_temporaries, can_access_registers_thread):
3606         Take a thread_info pointer instead of a ptid_t.  All callers
3607         adjusted.
3608         * infcall.c (get_call_return_value): Use inferior_thread.
3609         (run_inferior_call): Work with thread pointers instead of ptid_t.
3610         (call_function_by_hand_dummy): Work with thread pointers instead
3611         of ptid_t.  Use thread_info_ref.
3612         * infcmd.c (proceed_thread_callback): Access thread's state
3613         directly.
3614         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3615         access thread's state directly.
3616         (continue_command): Use inferior_thread.
3617         (info_program_command): Use find_thread_ptid and access thread
3618         state directly.
3619         (proceed_after_attach_callback): Use thread state directly.
3620         (notice_new_inferior): Take a thread_info pointer instead of a
3621         ptid_t.  All callers adjusted.
3622         (exit_inferior): Take an inferior pointer instead of a pid.  All
3623         callers adjusted.
3624         (exit_inferior_silent): New.
3625         (detach_inferior): Delete.
3626         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3627         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3628         (detach_inferior_command, kill_inferior_command): Use
3629         find_inferior_id instead of valid_gdb_inferior_id and
3630         gdb_inferior_id_to_pid.
3631         (inferior_command): Use inferior and thread pointers.
3632         * inferior.h (struct thread_info): Forward declare.
3633         (notice_new_inferior): Take a thread_info pointer instead of a
3634         ptid_t.  All callers adjusted.
3635         (detach_inferior): Delete declaration.
3636         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3637         instead of a pid.  All callers adjusted.
3638         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3639         (valid_gdb_inferior_id): Delete.
3640         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3641         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3642         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3643         ...
3644         <inf>: ... this new field.
3645         <step_ptid>: Delete, replaced by ...
3646         <step_thread>: ... this new field.
3647         (get_displaced_stepping_state): Take an inferior pointer instead
3648         of a pid.  All callers adjusted.
3649         (displaced_step_in_progress_any_inferior): Adjust.
3650         (displaced_step_in_progress_thread): Take a thread pointer instead
3651         of a ptid_t.  All callers adjusted.
3652         (displaced_step_in_progress, add_displaced_stepping_state): Take
3653         an inferior pointer instead of a pid.  All callers adjusted.
3654         (get_displaced_step_closure_by_addr): Adjust.
3655         (remove_displaced_stepping_state): Take an inferior pointer
3656         instead of a pid.  All callers adjusted.
3657         (displaced_step_prepare_throw, displaced_step_prepare)
3658         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3659         All callers adjusted.
3660         (start_step_over): Adjust.
3661         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3662         displaced step queue.
3663         (do_target_resume): Adjust.
3664         (fetch_inferior_event): Use inferior_thread.
3665         (context_switch, get_inferior_stop_soon): Take an
3666         execution_control_state pointer instead of a ptid_t.  All callers
3667         adjusted.
3668         (switch_to_thread_cleanup): Delete.
3669         (stop_all_threads): Use scoped_restore_current_thread.
3670         * inline-frame.c: Include "gdbthread.h".
3671         (inline_state) <inline_state>: Take a thread pointer instead of a
3672         ptid_t.  All callers adjusted.
3673         <ptid>: Delete, replaced by ...
3674         <thread>: ... this new field.
3675         (find_inline_frame_state): Take a thread pointer instead of a
3676         ptid_t.  All callers adjusted.
3677         (skip_inline_frames, step_into_inline_frame)
3678         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3679         pointer instead of a ptid_t.  All callers adjusted.
3680         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3681         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3682         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3683         pointers directly.
3684         * linux-nat.c (get_detach_signal): Likewise.
3685         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3686         (thread_db_notice_clone): Adjust.
3687         (thread_db_find_new_threads_silently)
3688         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3689         a thread pointer instead of a ptid_t.  All callers adjusted.
3690         * mi/mi-cmd-var.c: Include "inferior.h".
3691         (mi_cmd_var_update_iter): Update to use thread pointers.
3692         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3693         inferior directly.
3694         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3695         out to ...
3696         (mi_output_running): ... this new function.
3697         (mi_on_resume_1): Adjust to use it.
3698         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3699         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3700         directly.
3701         (interrupt_thread_callback): : Adjust to use thread and inferior
3702         pointers.
3703         * proc-service.c: Include "gdbthread.h".
3704         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3705         * progspace-and-thread.c: Include "inferior.h".
3706         * progspace.c: Include "inferior.h".
3707         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3708         hold a reference to an inferior_object.
3709         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3710         inferior_thread.
3711         * python/py-inferior.c (struct inferior_object): Give the type a
3712         tag name instead of a typedef.
3713         (python_on_normal_stop): No need to check if the current thread is
3714         listed.
3715         (inferior_to_inferior_object): Change return type to
3716         inferior_object.  All callers adjusted.
3717         (find_thread_object): Delete, bits factored out to ...
3718         (thread_to_thread_object): ... this new function.
3719         * python/py-infthread.c (create_thread_object): Use
3720         inferior_to_inferior_object.
3721         (thpy_is_stopped): Use thread pointer directly.
3722         (gdbpy_selected_thread): Use inferior_thread.
3723         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3724         field, replaced with ...
3725         <thread>: ... this new field.  All users adjusted.
3726         (btpy_insn_or_gap_new): Drop const.
3727         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3728         callers adjusted.
3729         * python/py-record.c: Include "gdbthread.h".
3730         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3731         a ptid_t.  All callers adjusted.
3732         (gdbpy_current_recording): Use inferior_thread.
3733         * python/py-record.h (recpy_record_object) <ptid>: Delete
3734         field, replaced with ...
3735         <thread>: ... this new field.  All users adjusted.
3736         (recpy_element_object) <ptid>: Delete
3737         field, replaced with ...
3738         <thread>: ... this new field.  All users adjusted.
3739         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3740         a ptid_t.  All callers adjusted.
3741         * python/py-threadevent.c: Include "gdbthread.h".
3742         (get_event_thread): Use thread_to_thread_object.
3743         * python/python-internal.h (struct inferior_object): Forward
3744         declare.
3745         (find_thread_object, find_inferior_object): Delete declarations.
3746         (thread_to_thread_object, inferior_to_inferior_object): New
3747         declarations.
3748         * record-btrace.c: Include "inferior.h".
3749         (require_btrace_thread): Use inferior_thread.
3750         (record_btrace_frame_sniffer)
3751         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3752         (get_thread_current_frame): Use scoped_restore_current_thread and
3753         switch_to_thread.
3754         (get_thread_current_frame): Use thread pointer directly.
3755         (record_btrace_replay_at_breakpoint): Use thread's inferior
3756         pointer directly.
3757         * record-full.c: Include "inferior.h".
3758         * regcache.c: Include "gdbthread.h".
3759         (get_thread_arch_regcache): Use the inferior's address space
3760         directly.
3761         (get_thread_regcache, registers_changed_thread): New.
3762         * regcache.h (get_thread_regcache(thread_info *thread)): New
3763         overload.
3764         (registers_changed_thread): New.
3765         (remote_target) <remote_detach_1>: Swap order of parameters.
3766         (remote_add_thread): <remote_add_thread>: Return the new thread.
3767         (get_remote_thread_info(ptid_t)): New overload.
3768         (remote_target::remote_notice_new_inferior): Use thread pointers
3769         directly.
3770         (remote_target::process_initial_stop_replies): Use
3771         thread_info::set_running.
3772         (remote_target::remote_detach_1, remote_target::detach)
3773         (extended_remote_target::detach): Adjust.
3774         * stack.c (frame_show_address): Use inferior_thread.
3775         * target-debug.h (target_debug_print_thread_info_pp): New.
3776         * target-delegates.c: Regenerate.
3777         * target.c (default_thread_address_space): Delete.
3778         (memory_xfer_partial_1): Use current_inferior.
3779         (target_detach): Use current_inferior.
3780         (target_thread_address_space): Delete.
3781         (generic_mourn_inferior): Use current_inferior.
3782         * target.h (struct target_ops) <thread_address_space>: Delete.
3783         (target_thread_address_space): Delete.
3784         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3785         pointers directly.
3786         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3787         thread pointer instead of a ptid_t.  Adjust all callers.
3788         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3789         (first_thread_of_process): Delete, replaced by ...
3790         (first_thread_of_inferior): ... this new function.  All callers
3791         adjusted.
3792         (any_thread_of_process): Rename to ...
3793         (any_thread_of_inferior): ... this, and take an inferior pointer.
3794         (any_live_thread_of_process): Rename to ...
3795         (any_live_thread_of_inferior): ... this, and take an inferior
3796         pointer.
3797         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3798         (value_in_thread_stack_temporaries)
3799         (get_last_thread_stack_temporary): Take a thread pointer instead
3800         of a ptid_t.  Adjust all callers.
3801         (thread_info::set_running): New.
3802         (validate_registers_access): Use inferior_thread.
3803         (can_access_registers_ptid): Rename to ...
3804         (can_access_registers_thread): ... this, and take a thread
3805         pointer.
3806         (print_thread_info_1): Adjust to compare thread pointers instead
3807         of ptids.
3808         (switch_to_no_thread, switch_to_thread): Make extern.
3809         (scoped_restore_current_thread::~scoped_restore_current_thread):
3810         Use m_thread pointer directly.
3811         (scoped_restore_current_thread::scoped_restore_current_thread):
3812         Use inferior_thread.
3813         (thread_command): Use thread pointer directly.
3814         (thread_num_make_value_helper): Use inferior_thread.
3815         * top.c (execute_command): Use inferior_thread.
3816         * tui/tui-interp.c: Include "inferior.h".
3817         * varobj.c (varobj_create): Use inferior_thread.
3818         (value_of_root_1): Use find_thread_global_id instead of
3819         global_thread_id_to_ptid.
3820
3821 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
3822
3823         * regcache.c (readable_regcache::read_part): Avoid memcpy when
3824         possible.
3825         (regcache::write_part): Likewise.
3826         (readable_regcache::cooked_read_part): Update comment.
3827         (readable_regcache::cooked_write_part): Likewise.
3828         * regcache.h: (readable_regcache::read_part): Likewise.
3829         (regcache::write_part): Likewise.
3830
3831 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
3832             Dirk Schubert  <dirk.schubert@arm.com>
3833
3834         * aarch64-linux-nat.c (post_attach): New.
3835         (aarch64_linux_nat_target::post_attach): Override post_attach to
3836         record the number of hardware debug registers.
3837
3838 2018-06-20  Tom Tromey  <tom@tromey.com>
3839
3840         * python/py-param.c (add_setshow_generic): Make parameters const.
3841         (parmpy_init): Update.
3842
3843 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3844
3845         * regcache.h (regcache_cooked_read_ftype): Rename to...
3846         (register_read_ftype): ...this, change type to function_view.
3847         (class reg_buffer) <save>: Remove src parameter.
3848         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3849         parameter non-const in first overload.  Remove src parameter in
3850         second overload.
3851         * regcache.c (do_cooked_read): Remove.
3852         (readonly_detached_regcache::readonly_detached_regcache): Make
3853         parameter non-const, adjust call to other constructor.
3854         (reg_buffer::save): Remove src parameter.
3855         * frame.c (do_frame_register_read): Remove.
3856         (frame_save_as_regcache): Use lambda function.
3857         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3858         parameter to ppu2spu_data *.
3859         (ppu2spu_sniffer): Use lambda function.
3860
3861 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3862
3863         * record-full.c (record_full_target::insert_breakpoint): Remove
3864         "struct" keyword, add const.
3865
3866 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3867
3868         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3869         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3870         * configure.ac: Remove AC_PREREQ, add missing quoting.
3871         * gnulib/configure.ac: Modernize usage of
3872         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3873         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3874         (AUTOMAKE_VERSION): Bump to 1.15.1.
3875         * configure: Re-generate.
3876         * config.in: Re-generate.
3877         * aclocal.m4: Re-generate.
3878         * gnulib/aclocal.m4: Re-generate.
3879         * gnulib/config.in: Re-generate.
3880         * gnulib/configure: Re-generate.
3881         * gnulib/import/Makefile.in: Re-generate.
3882
3883 2018-06-19  Pedro Alves  <palves@redhat.com>
3884
3885         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3886         (lookup_minimal_symbol_by_pc_section): ... here with
3887         gdb_assert_not_reached added.
3888
3889 2018-06-19  Pedro Alves  <palves@redhat.com>
3890
3891         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3892         parameter with a block parameter.  Compare location's block symbol
3893         with the frame's block instead of addresses.
3894         (skip_inline_frames): Pass the current block instead of the
3895         frame's address.  Break out as soon as we determine the frame
3896         should not be skipped.
3897
3898 2018-06-18  Tom Tromey  <tom@tromey.com>
3899
3900         * solib-aix.c (solib_aix_get_section_offsets): Return
3901         unique_xmalloc_ptr.
3902         (solib_aix_solib_create_inferior_hook): Update.
3903
3904 2018-06-18  Tom Tromey  <tom@tromey.com>
3905
3906         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3907
3908 2018-06-18  Tom Tromey  <tom@tromey.com>
3909
3910         * solib-frv.c (frv_relocate_main_executable): Use
3911         unique_xmalloc_ptr.
3912         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3913         unique_xmalloc_ptr.
3914
3915 2018-06-18  Tom Tromey  <tom@tromey.com>
3916
3917         * objfiles.h (inhibit_section_map_updates): Update.
3918         (resume_section_map_updates, resume_section_map_updates_cleanup):
3919         Remove.
3920         * solib-svr4.c (svr4_handle_solib_event): Update.
3921         * objfiles.c (inhibit_section_map_updates): Return
3922         scoped_restore_tmpl<int>.
3923         (resume_section_map_updates, resume_section_map_updates_cleanup):
3924         Remove.
3925
3926 2018-06-18  Tom Tromey  <tom@tromey.com>
3927
3928         * valprint.h (read_string): Update.
3929         * valprint.c (read_string): Change type of "buffer".
3930         (val_print_string): Update.
3931         * python/py-value.c (valpy_string): Update.
3932         * language.h (struct language_defn) <la_get_string>: Change
3933         type of "buffer".
3934         (default_get_string, c_get_string): Update.
3935         * language.c (default_get_string): Change type of "buffer".
3936         * guile/scm-value.c (gdbscm_value_to_string): Update.
3937         * c-lang.c (c_get_string): Change type of "buffer".
3938
3939 2018-06-18  Tom Tromey  <tom@tromey.com>
3940
3941         * ser-mingw.c (struct pipe_state_destroyer): New.
3942         (pipe_state_up): New typedef.
3943         (cleanup_pipe_state): Remove.
3944         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3945
3946 2018-06-18  Tom Tromey  <tom@tromey.com>
3947
3948         * rust-lang.h (rust_yyerror): Don't declare.
3949         * rust-lang.c (rust_language_defn): Update.
3950         * rust-exp.y (yyerror): Now static.
3951         * parse.c (parse_exp_in_context_1): Update.
3952         * p-lang.h (p_yyerror): Don't declare.
3953         * p-lang.c (p_language_defn): Update.
3954         * p-exp.y (yyerror): Now static.
3955         * opencl-lang.c (opencl_language_defn): Update.
3956         * objc-lang.c (objc_language_defn): Update.
3957         * m2-lang.h (m2_yyerror): Don't declare.
3958         * m2-lang.c (m2_language_defn): Update.
3959         * m2-exp.y (yyerror): Now static.
3960         * language.h (struct language_defn) <la_error>: Remove.
3961         * language.c (unk_lang_error): Remove.
3962         (unknown_language_defn, auto_language_defn): Remove.
3963         * go-lang.h (go_yyerror): Don't declare.
3964         * go-lang.c (go_language_defn): Update.
3965         * go-exp.y (yyerror): Now static.
3966         * f-lang.h (f_yyerror): Don't declare.
3967         * f-lang.c (f_language_defn): Update.
3968         * f-exp.y (yyerror): Now static.
3969         * d-lang.h (d_yyerror): Don't declare.
3970         * d-lang.c (d_language_defn): Update.
3971         * d-exp.y (yyerror): Now static.
3972         * c-lang.h (c_yyerror): Don't declare.
3973         * c-lang.c (c_language_defn, cplus_language_defn)
3974         (asm_language_defn, minimal_language_defn): Update.
3975         * c-exp.y (yyerror): Now static.
3976         * ada-lang.h (ada_yyerror): Don't declare.
3977         * ada-lang.c (ada_language_defn): Update.
3978         * ada-exp.y (yyerror): Now static.
3979
3980 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3981
3982         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3983         (store_sveregs_to_thread): Likewise.
3984         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3985         (aarch64_linux_store_inferior_registers): Likewise.
3986         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3987         function.
3988         (aarch64_sve_regs_copy_to_regcache): Likewise.
3989         (aarch64_sve_regs_copy_from_regcache): Likewise.
3990         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3991         declaration.
3992         (aarch64_sve_regs_copy_to_regcache): Likewise.
3993         (aarch64_sve_regs_copy_from_regcache): Likewise.
3994         (sve_context): Structure from Linux headers.
3995         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3996         (SVE_SIG_ZREG_SIZE): Likewise.
3997         (SVE_SIG_PREG_SIZE): Likewise.
3998         (SVE_SIG_FFR_SIZE): Likewise.
3999         (SVE_SIG_REGS_OFFSET): Likewise.
4000         (SVE_SIG_ZREGS_OFFSET): Likewise.
4001         (SVE_SIG_ZREG_OFFSET): Likewise.
4002         (SVE_SIG_ZREGS_SIZE): Likewise.
4003         (SVE_SIG_PREGS_OFFSET): Likewise.
4004         (SVE_SIG_PREG_OFFSET): Likewise.
4005         (SVE_SIG_PREGS_SIZE): Likewise.
4006         (SVE_SIG_FFR_OFFSET): Likewise.
4007         (SVE_SIG_REGS_SIZE): Likewise.
4008         (SVE_SIG_CONTEXT_SIZE): Likewise.
4009         (SVE_PT_REGS_MASK): Likewise.
4010         (SVE_PT_REGS_FPSIMD): Likewise.
4011         (SVE_PT_REGS_SVE): Likewise.
4012         (SVE_PT_VL_INHERIT): Likewise.
4013         (SVE_PT_VL_ONEXEC): Likewise.
4014         (SVE_PT_REGS_OFFSET): Likewise.
4015         (SVE_PT_FPSIMD_OFFSET): Likewise.
4016         (SVE_PT_FPSIMD_SIZE): Likewise.
4017         (SVE_PT_SVE_ZREG_SIZE): Likewise.
4018         (SVE_PT_SVE_PREG_SIZE): Likewise.
4019         (SVE_PT_SVE_FFR_SIZE): Likewise.
4020         (SVE_PT_SVE_FPSR_SIZE): Likewise.
4021         (SVE_PT_SVE_FPCR_SIZE): Likewise.
4022         (__SVE_SIG_TO_PT): Likewise.
4023         (SVE_PT_SVE_OFFSET): Likewise.
4024         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4025         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4026         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4027         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4028         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4029         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4030         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4031         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4032         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4033         (SVE_PT_SVE_SIZE): Likewise.
4034         (SVE_PT_SIZE): Likewise.
4035         (HAS_SVE_STATE): New define.
4036
4037 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4038
4039         * nat/aarch64-sve-linux-sigcontext.h: New file.
4040         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4041         new files.
4042         (SVE_VQ_MIN): Likewise.
4043         (SVE_VQ_MAX): Likewise.
4044         (SVE_VL_MIN): Likewise.
4045         (SVE_VL_MAX): Likewise.
4046         (SVE_NUM_ZREGS): Likewise.
4047         (SVE_NUM_PREGS): Likewise.
4048         (sve_vl_valid): Likewise.
4049         (struct user_sve_header): Likewise.
4050
4051 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4052             Richard Bunt <Richard.Bunt@arm.com>
4053
4054         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4055         was requested by GDB.
4056
4057 2018-06-15  Tom de Vries  <tdevries@suse.de>
4058
4059         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4060
4061 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4062
4063         * gnulib/update-gnulib.sh: Print expected versions of
4064         autoconf/aclocal.
4065
4066 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4067
4068         * arch-utils.c (default_type_align): Use type_length_units.
4069         * gdbtypes.c (type_align): Use type_length_units.
4070
4071 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4072
4073         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4074         of 'define' command.
4075
4076 2018-06-14  Tom de Vries  <tdevries@suse.de>
4077
4078         PR cli/22573
4079         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4080         get_no_prettyformat_print_options.
4081
4082 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4083
4084         * sparc-nat.h: Include target.h.
4085         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4086         <fetch_registers>: Remove this argument in function call.
4087         <store_registers>: Remove this argument in function call, remove
4088         extra semicolon.
4089         <low_forget_process>: Call sparc64_forget_process instead of
4090         sparc_forget_process.
4091
4092 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4093
4094         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4095         (procfs_target::make_corefile_notes): Adjust to new
4096         target_read_alloc return type.
4097
4098 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4099             Stephen Roberts  <stephen.roberts@arm.com>
4100
4101         PR gdb/22882
4102         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4103         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4104         Move should_notify_stop local into more inner scope.
4105
4106 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4107             Stephen Roberts  <stephen.roberts@arm.com>
4108
4109         PR gdb/22882
4110         * infrun.c (resume_1): Add call to mark_async_event_handler.
4111
4112 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4113
4114         * infrun.c (do_target_wait): Change old version of $pc printed.
4115
4116 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4117
4118         * dwarf2read.c (read_index_from_section): Rename to...
4119         (read_gdb_index_from_section): ... this, update all callers.
4120         (dwarf2_read_index): Rename to...
4121         (dwarf2_read_gdb_index): ... this, update all callers.
4122
4123 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4124
4125         * gdb/hppa-linux-nat.c
4126         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4127         hppa_linux_nat_target::fetch_registers.
4128
4129 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4130
4131         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4132         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4133         (AARCH64_DWARF_SVE_FFR): Likewise.
4134         (AARCH64_DWARF_SVE_P0): Likewise.
4135         (AARCH64_DWARF_SVE_Z0): Likewise.
4136
4137 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4138
4139         * common/common-regcache.h (raw_compare): New function.
4140         * regcache.c (regcache::raw_compare): Likewise.
4141         * regcache.h (regcache::raw_compare): New declaration.
4142
4143 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4144
4145         * common/common-regcache.h (reg_buffer_common): New structure.
4146         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4147         (reg_buffer::raw_supply): Likewise.
4148         (reg_buffer::raw_supply_integer): Likewise.
4149         (reg_buffer::raw_supply_zeroed): Likewise.
4150         (reg_buffer::raw_collect): Likewise.
4151         (reg_buffer::raw_collect_integer): Likewise.
4152         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4153         (reg_buffer::raw_supply): Likewise.
4154         (reg_buffer::raw_supply_integer): Likewise.
4155         (reg_buffer::raw_supply_zeroed): Likewise.
4156         (reg_buffer::raw_collect): Likewise.
4157         (reg_buffer::raw_collect_integer): Likewise.
4158
4159 2018-06-10  Tom Tromey  <tom@tromey.com>
4160
4161         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4162         (class remote_state) <stop_reply_queue>: Now std::vector.
4163         (remote_state::~remote_state)
4164         (remote_target::stop_reply_queue_length): Update.
4165         (struct queue_iter_param, remove_child_of_pending_fork)
4166         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4167         (check_pending_event_prevents_wildcard_vcont_callback)
4168         (remove_stop_reply_for_inferior)
4169         (remove_stop_reply_of_remote_state)
4170         (remote_notif_remove_once_on_match)
4171         (stop_reply_match_ptid_and_ws)
4172         (remote_kill_child_of_pending_fork): Remove.
4173         (remote_target::remove_new_fork_children)
4174         (remote_target::check_pending_events_prevent_wildcard_vcont)
4175         (remote_target::discard_pending_stop_replies)
4176         (remote_target::discard_pending_stop_replies_in_queue)
4177         (remote_target::remote_notif_remove_queued_reply)
4178         (remote_target::queued_stop_reply)
4179         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4180         (remote_target::wait, remote_target::kill_new_fork_children)
4181         (remote_target::async): Update.
4182
4183 2018-06-10  Tom Tromey  <tom@tromey.com>
4184
4185         * record-full.c (record_full_arch_list_cleanups): Remove.
4186         (record_full_message): Use try/catch.
4187         (record_full_wait_cleanups): Remove.
4188         (record_full_wait_1): Use try/catch.
4189         (record_full_restore): Likewise.
4190
4191 2018-06-10  Tom Tromey  <tom@tromey.com>
4192
4193         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4194         declare VEC.  Add constructor.
4195         <in_target_beneath>: Now bool.
4196         (record_full_breakpoints): Now a std::vector, static.
4197         (record_full_sync_record_breakpoints)
4198         (record_full_init_record_breakpoints)
4199         (record_full_target::insert_breakpoint)
4200         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4201
4202 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4203
4204         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4205         * serial.c (serial_interface_lookup): Remove struct keyword.
4206
4207 2018-06-10  Tom Tromey  <tom@tromey.com>
4208
4209         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4210         method.
4211         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4212         a method.
4213         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4214         method.
4215         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4216         "beneath" as a method.
4217         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4218         Use "beneath" as a method.
4219
4220 2018-06-10  Tom Tromey  <tom@tromey.com>
4221
4222         * tracefile.c (struct trace_file_writer_deleter): New.
4223         <operator()>: Rename from trace_file_writer_xfree.
4224         (trace_file_writer_up): New typedef.
4225         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4226
4227 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4228
4229         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4230         <m_registers, m_register_status>: Change type to
4231         std::unique_ptr.
4232         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4233         XCNEWVEC.
4234
4235 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4236
4237         * common/common-regcache.h (enum register_status): Add
4238         underlying type "signed char".
4239         * regcache.h (reg_buffer) <m_register_status>: Change type to
4240         register_status *.
4241         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4242         register_status instead of signed char.
4243         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4244         (reg_buffer::get_register_status): Remove cast.
4245         (readable_regcache::raw_read): Remove cast.
4246         (readable_regcache::cooked_read): Remove cast.
4247
4248 2018-06-09  Tom Tromey  <tom@tromey.com>
4249
4250         * source.c (reverse_search_command, forward_search_command): Use
4251         scoped_fd.
4252
4253 2018-06-09  Tom Tromey  <tom@tromey.com>
4254
4255         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4256         (serial_ops_list): Now static, std::vector.
4257         (serial_interface_lookup, serial_add_interface): Update.
4258
4259 2018-06-09  Tom Tromey  <tom@tromey.com>
4260
4261         * dwarf2read.c (process_cu_includes): Update.
4262         (process_full_comp_unit): Update.
4263         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4264         std::vector.
4265
4266 2018-06-08  Paul Koning  <paul_koning@dell.com>
4267
4268         PR gdb/23252
4269
4270         * python/python.c (do_start_initialization):
4271         Avoid call to internal Python API.
4272         (init__gdb_module): New function.
4273
4274 2018-06-08  Gary Benson <gbenson@redhat.com>
4275
4276         * linux-thread-db.c (valprint.h): New include.
4277         (struct check_thread_db_info): New structure.
4278         (check_thread_db_on_load, tdb_testinfo): New static globals.
4279         (check_thread_db, check_thread_db_callback): New functions.
4280         (try_thread_db_load_1): Run integrity checks if requested.
4281         (maintenance_check_libthread_db): New function.
4282         (_initialize_thread_db): Register "maint check libthread-db"
4283         and "maint set/show check-libthread-db".
4284         * NEWS: Mention the above new commands.
4285
4286 2018-06-08  Tom Tromey  <tom@tromey.com>
4287
4288         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4289         now a method.
4290
4291 2018-06-08  Tom Tromey  <tom@tromey.com>
4292
4293         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4294
4295 2018-06-08  Tom Tromey  <tom@tromey.com>
4296
4297         * common/btrace-common.h (struct btrace_data): Add constructor,
4298         destructor, move assignment operator.
4299         <empty, clear, fini>: New methods.
4300         <format>: Initialize.
4301         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4302         (btrace_data_empty): Don't declare.
4303         * common/btrace-common.c (btrace_data_init): Remove.
4304         (btrace_data::fini): Rename from btrace_data_fini.
4305         (btrace_data::empty): Rename from btrace_data_empty.
4306         (btrace_data::clear): Rename from btrace_data_clear.  Return
4307         bool.
4308         * btrace.h (make_cleanup_btrace_data): Don't declare.
4309         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4310         (parse_xml_btrace): Update.
4311         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4312         (maint_btrace_clear_packet_history_cmd): Update.
4313
4314 2018-06-07  Pedro Alves  <palves@redhat.com>
4315
4316         * target.h (target_ops) <beneath>: Now a method.  All references
4317         updated.
4318         (class target_stack): New.
4319         * target.c (g_target_stack): New.
4320         (g_current_top_target): Delete.
4321         (current_top_target): Get the top target out of g_target_stack.
4322         (target_stack::push, target_stack::unpush): New.
4323         (push_target, unpush_target): Reimplement.
4324         (target_is_pushed): Reimplement in terms of g_target_stack.
4325         (target_ops::beneath, target_stack::find_beneath): New.
4326
4327 2018-06-07  Pedro Alves  <palves@redhat.com>
4328
4329         * target.h (find_target_beneath): Delete declaration.
4330         * target.c (find_target_beneath): Delete definition.
4331         * aix-thread.c: All callers of find_target_beneath adjusted to
4332         call target_ops::beneath instead.
4333         * bsd-uthread.c: Likewise.
4334         * linux-thread-db.c: Likewise.
4335         * ravenscar-thread.c: Likewise.
4336         * sol-thread.c: Likewise.
4337         * spu-multiarch.c: Likewise.
4338
4339 2018-06-07  Pedro Alves  <palves@redhat.com>
4340
4341         * target.h (target_ops) <beneath>: Now a method.  All references
4342         updated.
4343         (target_ops) <m_beneath>: New.
4344         * target.c (target_ops::beneath): New.
4345         * corelow.c: Adjust all references to target_ops::beneath.
4346         * linux-thread-db.c: Likewise.
4347         * make-target-delegates: Likewise.
4348         * record-btrace.c: Likewise.
4349         * record-full.c: Likewise.
4350         * remote.c: Likewise.
4351         * target.c: Likewise.
4352         * target-delegates.c: Regenerate.
4353
4354 2018-06-07  Pedro Alves  <palves@redhat.com>
4355
4356         * target.h (target_stack): Delete.
4357         (current_top_target): Declare function.
4358         * target.c (target_stack): Delete.
4359         (g_current_top_target): New.
4360         (current_top_target): New function.
4361         * auxv.c: Use current_top_target instead of target_stack
4362         throughout.
4363         * avr-tdep.c: Likewise.
4364         * breakpoint.c: Likewise.
4365         * corefile.c: Likewise.
4366         * elfread.c: Likewise.
4367         * eval.c: Likewise.
4368         * exceptions.c: Likewise.
4369         * frame.c: Likewise.
4370         * gdbarch-selftests.c: Likewise.
4371         * gnu-v3-abi.c: Likewise.
4372         * ia64-tdep.c: Likewise.
4373         * ia64-vms-tdep.c: Likewise.
4374         * infcall.c: Likewise.
4375         * infcmd.c: Likewise.
4376         * infrun.c: Likewise.
4377         * linespec.c: Likewise.
4378         * linux-tdep.c: Likewise.
4379         * minsyms.c: Likewise.
4380         * ppc-linux-nat.c: Likewise.
4381         * ppc-linux-tdep.c: Likewise.
4382         * procfs.c: Likewise.
4383         * regcache.c: Likewise.
4384         * remote.c: Likewise.
4385         * rs6000-tdep.c: Likewise.
4386         * s390-linux-nat.c: Likewise.
4387         * s390-tdep.c: Likewise.
4388         * solib-aix.c: Likewise.
4389         * solib-darwin.c: Likewise.
4390         * solib-dsbt.c: Likewise.
4391         * solib-spu.c: Likewise.
4392         * solib-svr4.c: Likewise.
4393         * solib-target.c: Likewise.
4394         * sparc-tdep.c: Likewise.
4395         * sparc64-tdep.c: Likewise.
4396         * spu-tdep.c: Likewise.
4397         * symfile.c: Likewise.
4398         * symtab.c: Likewise.
4399         * target-descriptions.c: Likewise.
4400         * target-memory.c: Likewise.
4401         * target.c: Likewise.
4402         * target.h: Likewise.
4403         * tracefile-tfile.c: Likewise.
4404         * tracepoint.c: Likewise.
4405         * valops.c: Likewise.
4406         * valprint.c: Likewise.
4407         * value.c: Likewise.
4408         * windows-tdep.c: Likewise.
4409         * mi/mi-main.c: Likewise.
4410
4411 2018-06-07  Tom Tromey  <tom@tromey.com>
4412
4413         * valprint.h (build_address_symbolic): Declare.
4414         * printcmd.c (print_address_symbolic): Update.
4415         (build_address_symbolic): Change "name" and "filename" to
4416         std::string.
4417         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4418         Update.
4419         * defs.h (build_address_symbolic): Remove declaration.
4420
4421 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4422
4423         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4424         (aarch64_vnv_type): Add function.
4425         (aarch64_pseudo_register_name): Add V regs for SVE.
4426         (aarch64_pseudo_register_type): Likewise.
4427         (aarch64_pseudo_register_reggroup_p): Likewise.
4428         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4429         (aarch64_pseudo_read_value): Add V regs for SVE.
4430         (aarch64_pseudo_write_2): Use V0 offset for SVE
4431         (aarch64_pseudo_write): Add V regs for SVE.
4432         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4433
4434 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4435
4436         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4437         (sve_vl_from_vq): Likewise.
4438
4439 2018-06-05  Tom Tromey  <tom@tromey.com>
4440
4441         * cli/cli-cmds.c (show_version): Update.
4442         * top.c (print_gdb_version): Add "interactive" parameter.
4443         Update.
4444         * main.c (captured_main_1): Update.
4445         * top.h (print_gdb_version): Add "interactive" parameter and a
4446         comment.
4447
4448 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4449
4450         * common/enum-flags.h: Add trailing semicolon to example in
4451         comment.
4452
4453 2018-06-05  Tom Tromey  <tom@tromey.com>
4454
4455         PR cli/12326:
4456         * NEWS: Add entry about pager.
4457         * utils.c (pagination_disabled_for_command): New global.
4458         (prompt_for_continue): Allow "c" response to prompt.
4459         (reinitialize_more_filter): Clear
4460         pagination_disabled_for_command.
4461         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4462
4463 2018-06-04  Tom Tromey  <tom@tromey.com>
4464
4465         * ada-lang.h (ada_lookup_symbol_list): Update.
4466         * ada-lang.c (resolve_subexp): Update.
4467         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4468         parameter.
4469         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4470         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4471         results parameter to std::vector.
4472         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4473         Update.
4474         * ada-exp.y (block_lookup): Update.
4475         (select_possible_type_sym): Change type of syms.  Remove nsyms
4476         parameter.
4477         (write_var_or_type, write_name_assoc): Update.
4478
4479 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4480
4481         * windows-nat.c (windows_nat_target::xfer_partial): Return
4482         TARGET_XFER_E_IO if we need to delegate to the target beneath
4483         but BENEATH is NULL.
4484
4485 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4486
4487         * Makefile.in (config.status): Add configure.nat as a
4488         dependency.
4489
4490 2018-06-04  Tom Tromey  <tom@tromey.com>
4491
4492         * cp-name-parser.y (cpname_state): Add method declarations.
4493         (HANDLE_QUAL): Update.
4494         (cpname_state::d_grab, cpname_state::fill_comp)
4495         (cpname_state::make_operator, cpname_state::make_dtor)
4496         (cpname_state::make_builtin_type, cpname_state::make_name)
4497         (cpname_state::d_qualify, cpname_state::d_int_type)
4498         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4499         (%union): Move earlier.
4500
4501 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4502
4503         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4504
4505 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4506
4507         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4508         (aarch64_pseudo_write_1): Likewise.
4509         (aarch64_pseudo_read_value): Use helper.
4510         (aarch64_pseudo_write): Likewise.
4511
4512 2018-06-04  Pedro Alves  <palves@redhat.com>
4513
4514         * darwin-nat.c (darwin_ops): Delete.
4515         (darwin_attach_pid): Use get_native_target.
4516
4517 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4518
4519         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4520         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4521
4522 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4523
4524         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4525         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4526         (aarch64_gdbarch_init): Check for SVE.
4527         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4528
4529 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4530
4531         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4532         * aarch64-tdep.h (aarch64_read_description): Likewise.
4533         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4534         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4535         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4536         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4537         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4538
4539 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4540
4541         * value.c (value_fetch_lazy_bitfield): New.
4542         (value_fetch_lazy_memory): New.
4543         (value_fetch_lazy_register): New.
4544         (value_fetch_lazy): Factor out to smaller functions.
4545
4546 2018-06-01  Tom Tromey  <tom@tromey.com>
4547
4548         * cp-name-parser.y (backslashable, represented): Now const.
4549
4550 2018-06-01  Tom Tromey  <tom@tromey.com>
4551
4552         * cp-name-parser.y: Include parser-defs.h.
4553         (parser_fprintf): Remove declaration.
4554
4555 2018-06-01  Tom Tromey  <tom@tromey.com>
4556
4557         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4558         %parse-param.
4559         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4560         (global_result): Remove globals.
4561         (struct cpname_state): New.
4562         (yyparse): Don't declare.
4563         (yylex, yyerror): Move declarations after %union.
4564         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4565         (make_name): Add state parameter.
4566         Update all callers.
4567         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4568         parameter.
4569         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4570         Update.
4571         (yylex): Add lvalp, state parameters.
4572         (yyerror): Add state parameter.
4573         (cp_demangled_name_to_comp): Update.
4574
4575 2018-06-01  Tom Tromey  <tom@tromey.com>
4576
4577         * cp-name-parser.y (parser_fprintf): Declare.
4578         (GDB_YY_REMAP_PREFIX): Define.
4579         Include yy-remap.h.  Don't redefine yy* identifiers.
4580
4581 2018-06-01  Tom Tromey  <tom@tromey.com>
4582
4583         * python/py-type.c (typy_legacy_template_argument): Update.
4584         * cp-support.h (cp_demangled_name_to_comp): Update.
4585         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4586         parameter to be a "std::string *".
4587         (main): Update.
4588
4589 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4590
4591         * ada-lex.l: Include "diagnostics.h" instead of
4592         "common/diagnostics.h".
4593         * unittests/environ-selftests.c: Likewise.
4594         * common/diagnostics.h: Moved to ../include.
4595
4596 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4597
4598         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4599         to language_mode_manual while calling breakpoint_re_set_one.
4600
4601 2018-06-01  Tom Tromey  <tom@tromey.com>
4602
4603         * valops.c (value_cast_structs, destructor_name_p): Update.
4604         * symtab.c (gdb_mangle_name): Update.
4605         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4606         Update.
4607         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4608         (pascal_object_print_value_fields, pascal_object_print_value):
4609         Update.
4610         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4611         * linespec.c (find_methods): Update.
4612         * gdbtypes.h (type_name_no_tag): Remove.
4613         (type_name_or_error): Rename from type_name_no_tag_or_error.
4614         * gdbtypes.c (type_name_no_tag): Remove.
4615         (type_name_or_error): Rename from type_name_no_tag_or_error.
4616         (lookup_struct_elt_type, check_typedef): Update.
4617         * expprint.c (print_subexp_standard): Update.
4618         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4619         * d-namespace.c (d_lookup_nested_symbol): Update.
4620         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4621         (cp_print_class_member): Update.
4622         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4623         * completer.c (add_struct_fields): Update.
4624         * c-typeprint.c (cp_type_print_derivation_info)
4625         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4626         Update.
4627         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4628         (ada_prefer_type, ada_is_exception_sym): Update.
4629
4630 2018-06-01  Tom Tromey  <tom@tromey.com>
4631
4632         * valops.c (enum_constant_from_type, value_namespace_elt)
4633         (value_maybe_namespace_elt): Update.
4634         * valarith.c (find_size_for_pointer_math): Update.
4635         * target-descriptions.c (make_gdb_type): Update.
4636         * symmisc.c (print_symbol): Update.
4637         * stabsread.c (define_symbol, read_type)
4638         (complain_about_struct_wipeout, add_undefined_type)
4639         (cleanup_undefined_types_1): Update.
4640         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4641         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4642         (rust_internal_print_type, rust_composite_type)
4643         (rust_evaluate_funcall, rust_evaluate_subexp)
4644         (rust_inclusive_range_type_p): Update.
4645         * python/py-type.c (typy_get_tag): Update.
4646         * p-typeprint.c (pascal_type_print_base): Update.
4647         * mdebugread.c (parse_symbol, parse_type): Update.
4648         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4649         Update.
4650         * guile/scm-type.c (gdbscm_type_tag): Update.
4651         * go-lang.c (sixg_string_p): Update.
4652         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4653         Update.
4654         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4655         (TYPE_TAG_NAME): Remove.
4656         * gdbtypes.c (type_name_no_tag): Simplify.
4657         (check_typedef, check_types_equal, recursive_dump_type)
4658         (copy_type_recursive, arch_composite_type): Update.
4659         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4660         in summary mode when needed.
4661         * eval.c (evaluate_funcall): Update.
4662         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4663         (process_structure_scope, read_enumeration_type)
4664         (read_namespace_type, read_module_type, determine_prefix): Update.
4665         * cp-support.c (inspect_type): Update.
4666         * coffread.c (process_coff_symbol, decode_base_type): Update.
4667         * c-varobj.c (c_is_path_expr_parent): Update.
4668         * c-typeprint.c (c_type_print_base_struct_union): Update.
4669         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4670         summary when using C language.
4671         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4672         (gen_maybe_namespace_elt): Update.
4673         * ada-lang.c (ada_type_name): Simplify.
4674         (empty_record, ada_template_to_fixed_record_type_1)
4675         (template_to_static_fixed_type)
4676         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4677
4678 2018-06-01  Tom Tromey  <tom@tromey.com>
4679
4680         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4681         c_print_type.
4682         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4683         (c_print_type): Update.
4684         (c_print_type): New overload.
4685         (c_type_print_varspec_prefix, c_type_print_args)
4686         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4687         (c_type_print_base_struct_union, c_type_print_base_1)
4688         (cp_type_print_method_args): Add "language" parameter.
4689         (c_type_print_base): Update.
4690         * c-lang.h (c_print_type): Add new overload.
4691
4692 2018-06-01  Tom Tromey  <tom@tromey.com>
4693
4694         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4695         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4696
4697 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4698
4699         * aarch64-tdep.c (aarch64_sve_register_names): New const
4700         var.
4701         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4702         (AARCH64_SVE_Z_REGS_NUM): New define.
4703         (AARCH64_SVE_P_REGS_NUM): Likewise.
4704         (AARCH64_SVE_NUM_REGS): Likewise.
4705
4706 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4707
4708         * nat/linux-ptrace.h [__alpha__]
4709         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4710         definitions.
4711
4712 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4713
4714         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4715         the endianness selected.
4716         * NEWS: Document `set endian auto' mode operation update.
4717
4718 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4719
4720         * Makefile.in: Add new header.
4721         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4722         (sve_vl_from_vg): Likewise.
4723         (sve_vq_from_vl): Likewise.
4724         (sve_vl_from_vq): Likewise.
4725         (sve_vq_from_vg): Likewise.
4726         (sve_vg_from_vq): Likewise.
4727         * configure.nat: Add new c file.
4728         * nat/aarch64-sve-linux-ptrace.c: New file.
4729         * nat/aarch64-sve-linux-ptrace.h: New file.
4730
4731 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4732
4733         * aarch64-linux-nat.c (aarch64_linux_read_description):
4734         Add parmeter zero.
4735         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4736         Likewise.
4737         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4738         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4739         (aarch64_gdbarch_init): Add parmeter zero.
4740         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4741         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4742         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4743         parmeter.
4744         * doc/gdb.texinfo: Describe SVE feature
4745         * features/aarch64-sve.c: New file.
4746
4747 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4748
4749         PR gdb/23210
4750         * gdbarch.sh (significant_addr_bit): Default to zero when
4751         not set by target architecture.
4752         * gdbarch.c: Re-generated.
4753         * utils.c (address_significant): Update.
4754
4755 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4756
4757         * stack.c (func_command): Remove trailing newline in call to error.
4758
4759 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4760
4761         * regcache.h (regcache_raw_collect): Remove, update callers to
4762         use regcache::raw_collect.
4763         * regcache.c (regcache_raw_collect): Remove.
4764
4765 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4766
4767         * regcache.h (regcache_raw_supply): Remove, update callers to
4768         use detached_regcache::raw_supply.
4769         * regcache.c (regcache_raw_supply): Remove.
4770
4771 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4772
4773         * regcache.h (regcache_cooked_write_part): Remove, update
4774         callers to use regcache::cooked_write_part.
4775         * regcache.c (regcache_cooked_write_part): Remove.
4776
4777 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4778
4779         * regcache.h (regcache_cooked_read_part): Remove, update callers
4780         to use readable_regcache::cooked_read_part.
4781         * regcache.c (regcache_cooked_read_part): Remove.
4782
4783 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4784
4785         * regcache.h (regcache_cooked_read_value): Remove, update
4786         callers to use readable_regcache::cooked_read_value.
4787         * regcache.c (regcache_cooked_read_value): Remove.
4788
4789 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4790
4791         * regcache.h (regcache_cooked_write): Remove, update callers to
4792         use regcache::cooked_write.
4793         * regcache.c (regcache_cooked_write): Remove.
4794
4795 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4796
4797         * regcache.h (regcache_invalidate): Remove, update callers to
4798         use detached_regcache::invalidate instead.
4799         * regcache.c (regcache_invalidate): Remove.
4800
4801 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4802
4803         * regcache.h (regcache_raw_write_part): Remove, update callers
4804         to use regcache::raw_write_part instead.
4805         * regcache.c (regcache_raw_write_part): Remove.
4806
4807 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4808
4809         * regcache.h (regcache_raw_read_part): Remove, update callers to
4810         use readable_regcache::raw_read_part instead.
4811         * regcache.c (regcache_raw_read_part): Remove.
4812
4813 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4814
4815         * regcache.h (regcache_cooked_read): Remove, update callers to
4816         use readable_regcache::cooked_read instead.
4817         * regcache.c (regcache_cooked_read): Remove.
4818
4819 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4820
4821         * regcache.h (regcache_raw_write): Remove, update callers to use
4822         regcache::raw_write instead.
4823         * regcache.c (regcache_raw_write): Remove.
4824
4825 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4826
4827         * regcache.h (regcache_raw_read): Remove, update callers to use
4828         readable_regcache::raw_read instead.
4829         * regcache.c (regcache_raw_read): Remove.
4830
4831 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4832
4833         * regcache.h (regcache_raw_update): Remove, update callers to
4834         use readable_regcache::raw_update instead.
4835         * regcache.c (regcache_raw_update): Remove.
4836
4837 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4838
4839         * regcache.h (regcache_register_status): Remove, update callers
4840         to use reg_buffer::get_register_status directly instead.
4841         * regcache.c (regcache_register_status): Remove.
4842
4843 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4844
4845         * regcache.h (regcache_get_ptid): Remove, update all callers to
4846         call regcache::ptid instead.
4847         * regcache.c (regcache_get_ptid): Remove.
4848
4849 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4850
4851         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4852
4853 2018-05-30  Pedro Alves  <palves@redhat.com>
4854
4855         * common/common-exceptions.h (exception_rethrow): Use
4856         ATTRIBUTE_NORETURN.
4857
4858 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4859
4860         * breakpoint.c (print_solib_event, check_status_catch_solib):
4861         Remove struct keyword in range-based for loops.
4862         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4863         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4864         Likewise.
4865         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4866         Likewise.
4867         * symfile.c (addr_info_make_relative): Likewise.
4868         * thread.c (value_in_thread_stack_temporaries): Likewise.
4869
4870 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4871
4872         PR gdb/16841
4873         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4874         aggregate type to get its real type before accessing it.
4875
4876 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4877
4878         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4879         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4880         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4881         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4882         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4883         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4884         * printcmd.c (info_address_command): Likewise.
4885
4886 2018-05-29  Tom Tromey  <tom@tromey.com>
4887
4888         * windows-nat.c (handle_exception): Update fall-through comment.
4889
4890 2018-05-29  Tom Tromey  <tom@tromey.com>
4891
4892         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4893         (struct program_space) <added_solibs>: Now a std::vector.
4894         * breakpoint.c (print_solib_event): Update.
4895         (check_status_catch_solib): Update.
4896         * progspace.c (clear_program_space_solib_cache): Update.
4897         * solib.c (update_solib_list): Update.
4898
4899 2018-05-29  Tom Tromey  <tom@tromey.com>
4900
4901         * python/py-type.c (typy_richcompare): Update.
4902         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4903         * gdbtypes.h (types_deeply_equal): Return bool.
4904         (types_equal): Likewise.
4905         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4906         declare VEC.
4907         (check_types_equal): Change worklist to std::vector.  Return
4908         bool.
4909         (struct type_equality_entry): Add constructor.
4910         (compare_maybe_null_strings): Return bool.
4911         (check_types_worklist): Return bool.  Change worklist to
4912         std::vector.
4913         (types_deeply_equal): Use std::vector.
4914         (types_equal): Return bool.
4915         (compare_maybe_null_strings): Simplify.
4916
4917 2018-05-29  Tom Tromey  <tom@tromey.com>
4918
4919         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4920
4921 2018-05-29  Tom Tromey  <tom@tromey.com>
4922
4923         * objc-lang.h: Don't include cp-support.h.
4924         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4925         declare VEC.
4926
4927 2018-05-27  Tom Tromey  <tom@tromey.com>
4928
4929         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4930
4931 2018-05-25  Tom Tromey  <tom@tromey.com>
4932
4933         * value.c (value::location): Initialize.
4934
4935 2018-05-25  Tom Tromey  <tom@tromey.com>
4936
4937         * dbxread.c (init_bincl_list): Remove.
4938         (bincl_list): Now a std::vector.
4939         (bincls_allocated, next_bincl): Remove.
4940         (free_bincl_list, do_free_bincl_list_cleanup)
4941         (make_cleanup_free_bincl_list): Remove.
4942         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4943         unique_xmalloc_ptr.
4944         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4945         (struct header_file_location): Add constructor.
4946         (add_bincl_to_list): Remove.
4947
4948 2018-05-25  Tom Tromey  <tom@tromey.com>
4949
4950         * tui/tui.c (tui_enable): Update.
4951         * mi/mi-interp.c (mi_interp::init): Update.
4952         * interps.h (class interp) <name>: New method.
4953         <m_name>: Rename from name.
4954         (~scoped_restore_interp): Update.
4955         * interps.c (interp::interp): Update.
4956         (interp_add, interp_set, interp_lookup_existing)
4957         (current_interp_named_p): Update.
4958
4959 2018-05-25  Tom Tromey  <tom@tromey.com>
4960
4961         * interps.c (interp_name): Remove.
4962         * mi/mi-interp.c (mi_interp::init): Update.
4963         * interps.h (interp_name): Remove.
4964         (~scoped_restore_interp): Update.
4965         * tui/tui.c (tui_enable): Update.
4966
4967 2018-05-25  Tom Tromey  <tom@tromey.com>
4968
4969         * utils.c (fputs_maybe_filtered): Update.
4970         * linespec.c (decode_line_full): Update.
4971         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4972         (mi_print_breakpoint_for_event, mi_solib_loaded)
4973         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4974         (mi_user_selected_context_changed): Update.
4975         * mi/mi-main.c (mi_execute_command): Update.
4976         * cli/cli-script.c (execute_control_command): Update.
4977         * python/python.c (execute_gdb_command): Update.
4978         * solib.c (info_sharedlibrary_command): Update.
4979         * interps.c (interp_ui_out): Remove.
4980         * interps.h (interp_ui_out): Remove.
4981
4982 2018-05-25  Tom Tromey  <tom@tromey.com>
4983
4984         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4985         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4986         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4987
4988 2018-05-25  Tom Tromey  <tom@tromey.com>
4989
4990         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4991         * interps.c (interp_exec): Use scoped_restore.
4992
4993 2018-05-25  Tom Tromey  <tom@tromey.com>
4994
4995         * remote.c (remote_target::remote_file_get): Use
4996         gdb::byte_vector.
4997         (remote_target::remote_file_put): Likewise.
4998
4999 2018-05-25  Tom Tromey  <tom@tromey.com>
5000
5001         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5002         a std::string.
5003         (get_pe_section_index, add_pe_exported_sym): Update.
5004         (read_pe_exported_syms): Use gdb::def_vector.
5005
5006 2018-05-25  Tom Tromey  <tom@tromey.com>
5007
5008         * frame.c (remove_prev_frame): Remove.
5009         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
5010
5011 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
5012
5013         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
5014         Remove prototypes.
5015         * mips-linux-nat.c (supply_fpregset): Always call
5016         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
5017         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
5018         `mips_fill_fpregset'.
5019         * mips-linux-tdep.c (mips_supply_fpregset)
5020         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
5021         (mips_fill_fpregset_wrapper): Remove functions.
5022         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5023         (mips_linux_fpregset): Remove variable.
5024         (mips_linux_iterate_over_regset_sections): Use
5025         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5026         (mips_linux_o32_sigframe_init): Remove comment.
5027
5028 2018-05-25  Pedro Alves  <palves@redhat.com>
5029
5030         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5031         (struct readahead_cache, struct packet_reg, struct
5032         remote_arch_state, class remote_state): Move higher up in the
5033         file.
5034         (remote_target::m_remote_state): Now an object instead of a pointer.
5035         (remote_target::get_remote_state): Adjust.
5036
5037 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5038
5039         * stack.c (select_and_print_frame): Delete.
5040         (struct function_bounds): Move struct within function.
5041         (func_command): Most content moved into new function
5042         find_frame_for_function, use new function, print result, add
5043         function comment.
5044         (find_frame_for_function): New function, now returns a result.
5045
5046 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5047
5048         * stack.c (iterate_over_block_arg_vars): Fix comment.
5049         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5050
5051 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5052
5053         PR gdb/23203
5054         * frame.c
5055         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5056         Define.
5057         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5058         Define.
5059         * frame.h (class scoped_restore_selected_frame): New class.
5060         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5061         of any exception, use scoped_restore_selected_frame to restore the
5062         frame instead.
5063
5064 2018-05-24  Pedro Alves  <palves@redhat.com>
5065
5066         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5067         override.
5068
5069 2018-05-23  Tom Tromey  <tom@tromey.com>
5070
5071         * complaints.c (struct complaints): Remove.
5072         (symfile_complaint_book): Remove.
5073         (series): New global.
5074         (complaint_internal): Update.
5075         (clear_complaints): Update.
5076
5077 2018-05-23  Tom Tromey  <tom@tromey.com>
5078
5079         * complaints.c (counters): New global.
5080         (struct complain): Remove.
5081         (struct complaints) <root>: Remove.
5082         (complaint_sentinel): Remove.
5083         (symfile_complaint_book): Update.
5084         (find_complaint) Remove.
5085         (complaint_internal, clear_complaints): Update.
5086
5087 2018-05-23  Tom Tromey  <tom@tromey.com>
5088
5089         * complaints.c (struct complain) <file, line>: Remove.
5090         (find_complaint): Remove file, line parameters.
5091         (complaint_internal): Update.
5092
5093 2018-05-23  Tom Tromey  <tom@tromey.com>
5094
5095         * complaints.c (vcomplaint): Remove.
5096         (complaint_internal) Merge in contents of vcomplaint.
5097
5098 2018-05-23  Tom Tromey  <tom@tromey.com>
5099
5100         * complaints.c (struct complaints) <explanation>: Remove.
5101         (symfile_explanations): Remove.
5102         (symfile_complaint_book): Update.
5103         (vcomplaint): Update.
5104         (struct explanation): Remove.
5105
5106 2018-05-23  Tom Tromey  <tom@tromey.com>
5107
5108         * complaints.c (symfile_complaints): Remove.
5109         (complaint_internal): Remove "complaints" parameter.
5110         (clear_complaints, vcomplaint): Remove "c" parameter.
5111         (get_complaints): Remove.
5112         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5113         (dwarf2_debug_line_missing_file_complaint)
5114         (dwarf2_debug_line_missing_end_sequence_complaint)
5115         (dwarf2_complex_location_expr_complaint)
5116         (dwarf2_const_value_length_mismatch_complaint)
5117         (dwarf2_section_buffer_overflow_complaint)
5118         (dwarf2_macro_malformed_definition_complaint)
5119         (dwarf2_invalid_attrib_class_complaint)
5120         (create_addrmap_from_index, dw2_symtab_iter_next)
5121         (dw2_expand_marked_cus)
5122         (dw2_debug_names_iterator::find_vec_in_debug_names)
5123         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5124         (create_debug_type_hash_table, init_cutu_and_read_dies)
5125         (partial_die_parent_scope, add_partial_enumeration)
5126         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5127         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5128         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5129         (create_cus_hash_table, create_dwp_hash_table)
5130         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5131         (dwarf2_rnglists_process, dwarf2_ranges_process)
5132         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5133         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5134         (handle_struct_member_die, process_structure_scope)
5135         (read_array_type, read_common_block, read_module_type)
5136         (read_tag_pointer_type, read_typedef, read_base_type)
5137         (read_subrange_type, load_partial_dies, partial_die_info::read)
5138         (partial_die_info::read, partial_die_info::read)
5139         (partial_die_info::read, read_checked_initial_length_and_offset)
5140         (dwarf2_string_attr, read_formatted_entries)
5141         (dwarf_decode_line_header)
5142         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5143         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5144         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5145         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5146         (get_signatured_type, get_DW_AT_signature_type)
5147         (decode_locdesc, file_file_name, consume_improper_spaces)
5148         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5149         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5150         (dwarf2_symbol_mark_computed, set_die_type)
5151         (read_attribute_value): Update.
5152         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5153         Update.
5154         * dbxread.c (unknown_symtype_complaint)
5155         (lbrac_mismatch_complaint, repeated_header_complaint)
5156         (set_namestring, function_outside_compilation_unit_complaint)
5157         (read_dbx_symtab, process_one_symbol): Update.
5158         * gdbtypes.c (stub_noname_complaint): Update.
5159         * windows-nat.c (handle_unload_dll): Update.
5160         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5161         (decode_base_type): Update.
5162         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5163         (eb_complaint, record_include_begin, record_include_end)
5164         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5165         (process_xcoff_symbol, read_symbol)
5166         (function_outside_compilation_unit_complaint)
5167         (scan_xcoff_symtab): Update.
5168         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5169         * buildsym.c (finish_block_internal, make_blockvector)
5170         (end_symtab_get_static_block, augment_type_symtab): Update.
5171         * dtrace-probe.c (dtrace_process_dof)
5172         (dtrace_static_probe_ops::get_probes): Update.
5173         * complaints.h (struct complaint): Don't declare.
5174         (symfile_complaints): Remove.
5175         (complaint_internal): Remove "complaints" parameter.
5176         (complaint): Likewise.
5177         (clear_complaints): Likewise.
5178         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5179         (reread_symbols): Update.
5180         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5181         (dwarf2_frame_cache, decode_frame_entry): Update.
5182         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5183         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5184         (info_selectors_command): Update.
5185         * macrotab.c (macro_include, check_for_redefinition)
5186         (macro_undef): Update.
5187         * objfiles.c (filter_overlapping_sections): Update.
5188         * stabsread.c (invalid_cpp_abbrev_complaint)
5189         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5190         (define_symbol, error_type, read_type, rs6000_builtin_type)
5191         (stabs_method_name_from_physname, read_member_functions)
5192         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5193         (attach_fields_to_type, complain_about_struct_wipeout)
5194         (read_range_type, read_args, common_block_start)
5195         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5196         Update.
5197         * mdebugread.c (index_complaint, unknown_ext_complaint)
5198         (basic_type_complaint, bad_tag_guess_complaint)
5199         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5200         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5201         (parse_procedure, parse_lines)
5202         (function_outside_compilation_unit_complaint)
5203         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5204         (bad_tag_guess_complaint, reg_value_complaint): Update.
5205         * cp-support.c (demangled_name_complaint): Update.
5206         * macroscope.c (sal_macro_scope): Update.
5207         * dwarf-index-write.c (class debug_names): Update.
5208
5209 2018-05-23  Tom Tromey  <tom@tromey.com>
5210
5211         * complaints.c (clear_complaints): Remove "noisy" parameter.
5212         * complaints.h (clear_complaints): Update.
5213         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5214         (reread_symbols): Update.
5215
5216 2018-05-23  Tom Tromey  <tom@tromey.com>
5217
5218         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5219         SUBSEQUENT_MESSAGE.
5220         (vcomplaint, clear_complaints): Update.
5221         (symfile_explanations): Remove some messages.
5222
5223 2018-05-23  Tom Tromey  <tom@tromey.com>
5224
5225         * complaints.c (internal_complaint): Remove.
5226         * complaints.h (internal_complaint): Remove.
5227
5228 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5229
5230         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5231
5232 2018-05-22  Pedro Alves  <palves@redhat.com>
5233
5234         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5235         (remote_fileio_badfd, remote_fileio_return_errno)
5236         (remote_fileio_return_success, remote_fileio_func_open)
5237         (remote_fileio_func_open, remote_fileio_func_close)
5238         (remote_fileio_func_read, remote_fileio_func_write)
5239         (remote_fileio_func_lseek, remote_fileio_func_rename)
5240         (remote_fileio_func_unlink, remote_fileio_func_stat)
5241         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5242         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5243         remote_target parameter.
5244         (remote_fio_func_map) <func>: Add remote_target parameter.
5245         (do_remote_fileio_request, remote_fileio_request):
5246         * remote-fileio.h (remote_fileio_request):
5247         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5248         remote_target parameter.
5249         (remote_notif_process, handle_notification): Adjust to pass down
5250         the remote.
5251         (remote_notif_state_allocate): Add remote_target parameter.  Save
5252         it.
5253         * remote-notif.h (struct remote_target): Forward declare.
5254         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5255         remote_target parameter.
5256         (struct remote_notif_state) <remote>: New field.
5257         (remote_notif_ack, remote_notif_parse): Add remote_target
5258         parameter.
5259         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5260         remote_target parameter.
5261         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5262         (threads_listing_context, rmt_thread_action, protocol_feature)
5263         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5264         (packet_result, struct threads_listing_context, remote_state):
5265         Move definitions and declarations higher up.
5266         (remote_target) <~remote_target>: Declare.
5267         (remote_download_command_source, remote_file_put, remote_file_get)
5268         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5269         (remote_hostio_pread_vFile, remote_hostio_send_command)
5270         (remote_hostio_set_filesystem, remote_hostio_open)
5271         (remote_hostio_close, remote_hostio_unlink, remote_state)
5272         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5273         (get_memory_write_packet_size, get_memory_read_packet_size)
5274         (append_pending_thread_resumptions, remote_detach_1)
5275         (append_resumption, remote_resume_with_vcont)
5276         (add_current_inferior_and_thread, wait_ns, wait_as)
5277         (process_stop_reply, remote_notice_new_inferior)
5278         (process_initial_stop_replies, remote_add_thread)
5279         (btrace_sync_conf, remote_btrace_maybe_reopen)
5280         (remove_new_fork_children, kill_new_fork_children)
5281         (discard_pending_stop_replies, stop_reply_queue_length)
5282         (check_pending_events_prevent_wildcard_vcont)
5283         (discard_pending_stop_replies_in_queue, stop_reply)
5284         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5285         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5286         (remote_interrupt_as, remote_interrupt_ns)
5287         (remote_get_noisy_reply, remote_query_attached)
5288         (remote_add_inferior, remote_current_thread, get_current_thread)
5289         (set_thread, set_general_thread, set_continue_thread)
5290         (set_general_process, write_ptid)
5291         (remote_unpack_thread_info_response, remote_get_threadinfo)
5292         (parse_threadlist_response, remote_get_threadlist)
5293         (remote_threadlist_iterator, remote_get_threads_with_ql)
5294         (remote_get_threads_with_qxfer)
5295         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5296         (get_offsets, remote_check_symbols, remote_supported_packet)
5297         (remote_query_supported, remote_packet_size)
5298         (remote_serial_quit_handler, remote_detach_pid)
5299         (remote_vcont_probe, remote_resume_with_hc)
5300         (send_interrupt_sequence, interrupt_query)
5301         (remote_notif_get_pending_events, fetch_register_using_p)
5302         (send_g_packet, process_g_packet, fetch_registers_using_g)
5303         (store_register_using_P, store_registers_using_G)
5304         (set_remote_traceframe, check_binary_download)
5305         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5306         (remote_xfer_live_readonly_partial, remote_read_bytes)
5307         (remote_send_printf, remote_flash_write, readchar)
5308         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5309         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5310         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5311         (extended_remote_disable_randomization, extended_remote_run)
5312         (send_environment_packet, extended_remote_environment_support)
5313         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5314         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5315         (packet_command): Now methods of ...
5316         (remote_target): ... this class.
5317         (m_remote_state) <remote_target>: New field.
5318         (struct remote_state) <stop_reply_queue,
5319         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5320         fields.
5321         (remote_state::remote_state): Allocate stop_reply_queue.
5322         (remote_state): Delete global.
5323         (get_remote_state_raw): Delete.
5324         (remote_target::get_remote_state): Allocate m_remote_state on
5325         demand.
5326         (get_current_remote_target): New.
5327         (remote_ops, extended_remote_ops): Delete.
5328         (wait_forever_enabled_p, remote_async_inferior_event_token):
5329         Delete, moved to struct remote_state.
5330         (remote_target::close): Delete self.  Destruction bits split to
5331         ...
5332         (remote_target::~remote_target): ... this.
5333         (show_memory_packet_size): Adjust to use
5334         get_current_remote_target.
5335         (struct protocol_feature) <func>: Add remote_target parameter.
5336         All callers adjusted.
5337         (curr_quit_handler_target): New.
5338         (remote_serial_quit_handler): Reimplement.
5339         (remote_target::open_1): Adjust to use get_current_remote_target.
5340         Heap-allocate remote_target/extended_remote_target instances.
5341         (vcont_builder::vcont_builder): Add remote_target parameter, and
5342         save it in m_remote.  All callers adjusted.
5343         (vcont_builder::m_remote): New field.
5344         (vcont_builder::restart, vcont_builder::flush)
5345         (vcont_builder::push_action): Use it.
5346         (remote_target::commit_resume): Use it.
5347         (struct queue_iter_param) <remote>: New field.
5348         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5349         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5350         (check_pending_event_prevents_wildcard_vcont_callback)
5351         (remote_target::check_pending_events_prevent_wildcard_vcont)
5352         (remote_target::discard_pending_stop_replies)
5353         (remote_target::discard_pending_stop_replies_in_queue)
5354         (remote_target::remote_notif_remove_queued_reply): Fill in
5355         'remote' field.
5356         (remote_notif_get_pending_events): New.
5357         (remote_target::readchar, remote_target::remote_serial_write):
5358         Save/restore curr_quit_handler_target.
5359         (putpkt): New.
5360         (kill_new_fork_children): Fill in 'remote' field.
5361         (packet_command): Use get_current_remote_target, defer to
5362         remote_target method of same name.
5363         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5364         parameter, and save it in m_remote.  All callers adjusted.
5365         (scoped_remote_fd::release): Use m_remote.
5366         (scoped_remote_fd::m_remote): New field.
5367         (remote_file_put, remote_file_get, remote_file_delete): Use
5368         get_current_remote_target, defer to remote_target method of same
5369         name.
5370         (remote_btrace_reset): Add remote_state paremeter.  Update all
5371         callers.
5372         (remote_async_inferior_event_handler). Pass down 'data'.
5373         (remote_new_objfile): Use get_current_remote_target.
5374         (remote_target::vcont_r_supported): New.
5375         (set_range_stepping): Use get_current_remote_target and
5376         remote_target::vcont_r_supported.
5377         (_initialize_remote): Don't allocate 'remote_state' and
5378         'stop_reply_queue' globals.
5379         * remote.h (struct remote_target): Forward declare.
5380         (getpkt, putpkt, remote_notif_get_pending_events): Add
5381         'remote_target' parameter.
5382
5383 2018-05-22  Pedro Alves  <palves@redhat.com>
5384
5385         * remote.c (vcont_builder): Now a class.  Make all data members
5386         private.
5387         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5388         Declare methods.
5389         (vcont_builder_restart): Rename to ...
5390         (vcont_builder::restart): ... this.
5391         (vcont_builder_flush): Rename to ...
5392         (vcont_builder::flush): ... this.
5393         (vcont_builder_push_action): Rename to ...
5394         (vcont_builder::push_action): ... this.
5395         (remote_target::commit_resume): Adjust.
5396
5397 2018-05-22  Pedro Alves  <palves@redhat.com>
5398
5399         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5400         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5401         (get_fixed_memory_packet_size): New.
5402         (get_memory_packet_size): Use it.
5403         (set_memory_packet_size): Don't override the config size with
5404         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5405         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5406         Don't refer to get_memory_packet_size if not connected to a remote
5407         target.  Show "(default)" if configured size is 0.
5408
5409 2018-05-22  Pedro Alves  <palves@redhat.com>
5410
5411         * remote.c (remote_target::mourn_inferior): Move
5412         discard_pending_stop_replies call here from ...
5413         (_initialize_remote): ... here.
5414
5415 2018-05-22  Pedro Alves  <palves@redhat.com>
5416
5417         * remote.c (compare_section_command): Remove set_general_process
5418         call.
5419
5420 2018-05-22  Pedro Alves  <palves@redhat.com>
5421
5422         * remote.c (struct packet_reg, struct remote_arch_state):
5423         Move higher up in the file.
5424         (remote_state) <m_arch_states>: Store remote_arch_state values
5425         instead of remote_arch_state pointers.
5426         (remote_state::get_remote_arch_state): Adjust.
5427
5428 2018-05-22  Pedro Alves  <palves@redhat.com>
5429
5430         * remote.c: Include <unordered_map>.
5431         (remote_state): Now a class.
5432         (remote_state) <get_remote_arch_state>: Declare method.
5433         <get_remote_arch_state>: New field.
5434         (remote_arch_state) <remote_arch_state>: Declare ctor.
5435         <regs>: Now a unique_ptr.
5436         (remote_gdbarch_data_handle): Delete.
5437         (get_remote_arch_state): Delete.
5438         (remote_state::get_remote_arch_state): New.
5439         (get_remote_state): Adjust to call remote_state's
5440         get_remote_arch_state method.
5441         (init_remote_state): Delete, bits factored out to ...
5442         (remote_arch_state::remote_arch_state): ... this new method.
5443         (get_remote_packet_size, get_memory_packet_size)
5444         (process_g_packet, remote_target::fetch_registers)
5445         (remote_target::prepare_to_store, store_registers_using_G)
5446         (remote_target::store_registers, remote_target::get_trace_status):
5447         Adjust to call remote_state's method.
5448         (_initialize_remote): Remove reference to
5449         remote_gdbarch_data_handle.
5450
5451 2018-05-22  Pedro Alves  <palves@redhat.com>
5452
5453         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5454         pread>: New method declarations.
5455         (remote_target::open_1): Adjust.
5456         (readahead_cache_invalidate): Rename to ...
5457         (readahead_cache::invalidate): ... this, and adjust to be a class
5458         method.
5459         (readahead_cache_invalidate_fd): Rename to ...
5460         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5461         class method.
5462         (remote_hostio_pwrite): Adjust.
5463         (remote_hostio_pread_from_cache): Rename to ...
5464         (readahead_cache::pread): ... this, and adjust to be a class
5465         method.
5466         (remote_hostio_close): Adjust.
5467
5468 2018-05-22  Pedro Alves  <palves@redhat.com>
5469
5470         * remote.c (remote_hostio_close_cleanup): Delete.
5471         (class scoped_remote_fd): New.
5472         (remote_file_put, remote_file_get): Use it.
5473
5474 2018-05-22  Pedro Alves  <palves@redhat.com>
5475
5476         (struct vCont_action_support): Use bool and initialize all fields.
5477         (struct readahead_cache): Initialize all fields.
5478         (remote_state): Use bool and initialize all fields.
5479         (remote_state::remote_state, remote_state::~remote_state): New.
5480         (new_remote_state): Delete.
5481         (_initialize_remote): Use new to allocate remote_state.
5482
5483 2018-05-22  Pedro Alves  <palves@redhat.com>
5484             張俊芝  <zjz@zjz.name>
5485
5486         PR gdb/22973
5487         * c-exp.y: Include "c-support.h".
5488         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5489         of tolower.  Use c_ident_is_alpha to scan names.
5490         * c-lang.c: Include "c-support.h".
5491         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5492         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5493         * c-support.h: New file, with bits factored out from ...
5494         * cp-name-parser.y: ... this file.
5495         Include "c-support.h".
5496         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5497         c-support.h and renamed.
5498         (symbol_end, yylex): Adjust.
5499
5500 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5501
5502         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5503         parameter type to CORE_ADDR.
5504         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5505         parameter type in declaration to CORE_ADDR.
5506         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5507         target_auxv_search to get AT_HWCAP and use the result to get the
5508         target description.
5509         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5510         to CORE_ADDR. Remove the cast of the return value to unsigned
5511         long. Fix error predicate of target_auxv_search.
5512         (ppc_linux_nat_target::read_description): Change the type of the
5513         hwcap variable to CORE_ADDR.
5514
5515 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5516
5517         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5518         if the size of fpscr is larger than 32 bits.
5519
5520 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5521
5522         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5523         (ppc32_linux_vsxregmap): New global.
5524         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5525         regcache_supply_regset, and regcache_collect_regset.
5526         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5527         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5528         (fetch_vsx_register, store_vsx_register): Remove.
5529         (fetch_vsx_registers): Add regno parameter. Get regset using
5530         ppc_linux_vsxregset. Use regset to supply registers.
5531         (store_vsx_registers): Add regno parameter. Get regset using
5532         ppc_linux_vsxregset. Use regset to collect registers.
5533         (fetch_register): Call fetch_vsx_registers instead of
5534         fetch_vsx_register.
5535         (store_register): Call store_vsx_registers instead of
5536         store_vsx_register.
5537         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5538         new regno parameter.
5539         (store_ppc_registers): Call store_vsx_registers with -1 for the
5540         new regno parameter.
5541         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5542         (ppc_collect_vsxregset): Remove.
5543
5544 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5545
5546         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5547         offset fields.
5548         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5549         for vector register offset fields.
5550         (ppc64_fbsd_reg_offsets): Likewise.
5551         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5552         to vector register offset fields.
5553         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5554         to vector register offset fields.
5555         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5556         vector register offset fields.
5557         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5558         initializers for vector register offset fields.
5559         (rs6000_aix64_reg_offsets): Likewise.
5560         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5561         (ppc_supply_vrregset): Remove.
5562         (ppc_collect_vrregset): Remove.
5563         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5564         (ppc_linux_vrregset) : New function.
5565         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5566         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5567         (ppc32_linux_vrregset): Remove.
5568         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5569         and use result instead of ppc32_linux_vrregset.
5570         (ppc32_linux_reg_offsets): Remove initializers for vector register
5571         offset fields.
5572         (ppc64_linux_reg_offsets): Likewise.
5573         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5574         * ppc-linux-nat.c: Include regset.h.
5575         (gdb_vrregset_t): Adjust comment to account for little-endian
5576         mode.
5577         (supply_vrregset, fill_vrregset): Remove.
5578         (fetch_altivec_register, store_altivec_register): Remove.
5579         (fetch_altivec_registers): Add regno parameter. Get regset using
5580         ppc_linux_vrregset. Use regset to supply registers.
5581         (store_altivec_registers): Add regno parameter. Get regset using
5582         ppc_linux_vrregset. Use regset to collect registers.
5583         (fetch_register): Call fetch_altivec_registers instead of
5584         fetch_altivec_register.
5585         (store_register): Call store_altivec_registers instead of
5586         store_altivec_register.
5587         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5588         the new regno parameter.
5589         (store_ppc_registers): Call store_altivec_registers with -1 for
5590         the new regno parameter.
5591
5592 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5593
5594         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5595         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5596         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5597         (gdb_vrregset_t): Change array type size to
5598         PPC_LINUX_SIZEOF_VRREGSET.
5599         (gdb_vsxregset_t): Change array type size to
5600         PPC_LINUX_SIZEOF_VSXREGSET.
5601         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5602         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5603         PPC_LINUX_SIZEOF_VSXREGSET.
5604
5605 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5606
5607         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5608         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5609         nat/ppc-linux.c.
5610         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5611         ppc_linux_target_wordsize with tid.
5612         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5613         wordsize with tid.
5614         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5615         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5616         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5617         tid parameter. Remove static specifier.
5618         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5619         (ppc_linux_target_wordsize): New declaration.
5620
5621 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5622
5623         * arch/ppc-linux-common.c: New file.
5624         * arch/ppc-linux-common.h: New file.
5625         * arch/ppc-linux-tdesc.h: New file.
5626         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5627         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5628         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5629         arch/ppc-linux-tdesc.h.
5630         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5631         arch/ppc-linux-tdesc.h.
5632         (ppc_linux_nat_target::read_description): Remove target
5633         description matching code. Fill a ppc_linux_features struct and
5634         call ppc_linux_match_description with it. Move comment about ISA
5635         2.05 to ppc-linux-common.c.
5636         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5637         arch/ppc-linux-tdesc.h.
5638         (ppc_linux_core_read_description): Remove target description
5639         matching code. Fill a ppc_linux_features struct and call
5640         ppc_linux_match_description with it.
5641         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5642         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5643         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5644         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5645         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5646         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5647         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5648         (tdesc_powerpc_e500l): Remove.
5649
5650 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5651
5652         * ada-lang.c (catch_assert_command): Pass empty string instead
5653         of NULL for excep_string argument.
5654
5655 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5656
5657         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5658         the width of the requested register exceeds the width of the
5659         `ptrace' data type.
5660
5661 2018-05-21  Tom Tromey  <tom@tromey.com>
5662
5663         * printcmd.c (output_command): Remove.
5664         (output_command_const): Rename to output_command.
5665         * valprint.h (output_command): Rename from output_command_const.
5666         * tracepoint.c (trace_dump_actions): Call output_command.
5667
5668 2018-05-21  Tom Tromey  <tom@tromey.com>
5669
5670         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5671         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5672         * ada-lang.h (create_ada_exception_catchpoint): Update.
5673         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5674         std::string.
5675         (create_excep_cond_exprs, ~ada_catchpoint)
5676         (should_stop_exception, print_one_exception)
5677         (print_mention_exception, print_recreate_exception): Update.
5678         (ada_get_next_arg): Remove.
5679         (catch_ada_exception_command_split): Use std::string.  Change type
5680         of "excep_string", "cond_string".
5681         (catch_ada_exception_command): Update.
5682         (create_ada_exception_catchpoint): Change type of excep_string.
5683         (ada_exception_sal): Remove excep_string parameter.
5684         (~ada_catchpoint): Remove.
5685
5686 2018-05-21  Tom Tromey  <tom@tromey.com>
5687
5688         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5689         cleanup.
5690
5691 2018-05-21  Tom Tromey  <tom@tromey.com>
5692
5693         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5694         Return unique_xmalloc_ptr.
5695         (print_it_exception): Update.
5696
5697 2018-05-21  Tom Tromey  <tom@tromey.com>
5698
5699         * tracepoint.c (trace_dump_actions): Use std::string.
5700
5701 2018-05-21  Tom Tromey  <tom@tromey.com>
5702
5703         * symfile.c (reread_symbols): Use std::string for original_name.
5704
5705 2018-05-21  Tom Tromey  <tom@tromey.com>
5706
5707         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5708         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5709         constructor.
5710
5711 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5712
5713         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5714         instance to...
5715         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5716         * objfiles.c (get_objfile_bfd_data): Allocate
5717         objfile_per_bfd_storage with obstack_new when allocating on
5718         obstack.
5719
5720 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5721
5722         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5723         OBSTACK_ZALLOC.
5724         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5725         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5726         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5727         (add_pending): Likewise.
5728         (parse_symbol): Likewise.
5729         (parse_partial_symbols): Likewise.
5730         (psymtab_to_symtab_1): Likewise.
5731         (new_psymtab): Likewise.
5732         (elfmdebug_build_psymtabs): Likewise.
5733         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5734         * objfiles.c (get_objfile_bfd_data): Likewise.
5735         (objfile_register_static_link): Likewise.
5736         * psymtab.c (allocate_psymtab): Likewise.
5737         * stabsread.c (read_member_functions): Likewise.
5738         * xcoffread.c (xcoff_end_psymtab): Likewise.
5739
5740 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5741
5742         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5743         compiler supports std::is_trivially_constructible.
5744         * common/poison.h: Include obstack.h.
5745         (IsMallocable): Define to is_trivially_constructible if the
5746         compiler supports it, define to true_type otherwise.
5747         (xobnew): New.
5748         (XOBNEW): Redefine.
5749         (xobnewvec): New.
5750         (XOBNEWVEC): Redefine.
5751         * gdb_obstack.h (obstack_zalloc): New.
5752         (OBSTACK_ZALLOC): Redefine.
5753         (obstack_calloc): New.
5754         (OBSTACK_CALLOC): Redefine.
5755         (obstack_new): New.
5756         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5757         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5758         gdbarch.c.
5759         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5760         obstack_calloc/obstack_zalloc.
5761         (gdbarch_obstack_zalloc): Remove.
5762         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5763
5764 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5765
5766         * stack.c (backtrace_command_1): Remove useless variable int i.
5767
5768 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5769
5770         * stack.c (print_frame_info): Fix comment.
5771
5772 2018-05-18  Tom Tromey  <tom@tromey.com>
5773
5774         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5775         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5776         (~dwarf2_per_objfile): Update
5777         (dwarf2_get_dwz_file): Use new.
5778         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5779         unique_ptr.
5780
5781 2018-05-18  Tom Tromey  <tom@tromey.com>
5782
5783         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5784         unique_ptr.
5785         * dwarf2read.c (struct dwp_file): Add constructor and
5786         initializers.
5787         (open_and_init_dwp_file): Return a unique_ptr.
5788         (dwarf2_per_objfile, create_dwp_hash_table)
5789         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5790         (lookup_dwo_unit_in_dwp): Update.
5791         (open_and_init_dwp_file, get_dwp_file): Update.
5792
5793 2018-05-18  Tom Tromey  <tom@tromey.com>
5794
5795         * dwarf2read.c (dwarf2_per_objfile): Update.
5796         (struct mapped_index): Add initializers.
5797         (dwarf2_read_index): Use new.
5798         (dw2_symtab_iter_init): Update.
5799         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5800         unique_ptr.
5801
5802 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5803
5804         * dwarf2read.c (mapped_index) <total_size>: Remove.
5805
5806 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5807
5808         * unittests/format_pieces-selftests.c (test_format_specifier):
5809         Add ARI comments.
5810
5811 2018-05-18  Tom Tromey  <tom@tromey.com>
5812
5813         * c-typeprint.c (maybe_print_hole): New function.
5814         (c_print_type_struct_field_offset): Update.
5815         (c_type_print_base_struct_union): Call maybe_print_hole.
5816
5817 2018-05-17  Keith Seitz  <keiths@redhat.com>
5818
5819         * breakpoint.c (build_bpstat_chain): New function, moved from
5820         bpstat_stop_status.
5821         (bpstat_stop_status): Add optional parameter, `stop_chain'.
5822         If no stop chain is passed, call build_bpstat_chain to build it.
5823         * breakpoint.h (build_bpstat_chain): Declare.
5824         (bpstat_stop_status): Move documentation here from breakpoint.c.
5825         * infrun.c (handle_signal_stop): Before eliding inlined frames,
5826         build the stop chain and pass it to skip_inline_frames.
5827         Pass this stop chain to bpstat_stop_status.
5828         * inline-frame.c: Include breakpoint.h.
5829         (stopped_by_user_bp_inline_frame): New function.
5830         (skip_inline_frames): Add parameter `stop_chain'.
5831         Move documention to inline-frame.h.
5832         If non-NULL, use stopped_by_user_bp_inline_frame to determine
5833         whether the frame should be elided.
5834         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
5835         Add moved documentation and update for new parameter.
5836
5837 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5838
5839         PR cli/14975
5840         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5841         unittests/format_pieces-selftests.c.
5842         * common/format.h (format_piece) <operator==>: New.
5843         (format_pieces) <operator[]>: Remove.
5844         * common/format.c (format_pieces::format_pieces): Handle \e.
5845         * unittests/format_pieces-selftests.c: New.
5846
5847 2018-05-17  Tom Tromey  <tom@tromey.com>
5848
5849         PR symtab/23010:
5850         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5851         (dw2_instantiate_symtab): Add skip_partial parameter.
5852         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5853         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5854         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5855         (dw2_expand_symtabs_matching_one)
5856         (dw2_find_pc_sect_compunit_symtab)
5857         (dw2_debug_names_lookup_symbol)
5858         (dw2_debug_names_expand_symtabs_for_function): Update.
5859         (init_cutu_and_read_dies): Add skip_partial parameter.
5860         (process_psymtab_comp_unit, build_type_psymtabs_1)
5861         (process_skeletonless_type_unit, load_partial_comp_unit)
5862         (psymtab_to_symtab_1): Update.
5863         (load_full_comp_unit): Add skip_partial parameter.
5864         (process_imported_unit_die, dwarf2_read_addr_index)
5865         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5866         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5867         (read_signatured_type): Update.
5868
5869 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5870
5871         * value.c (release_value): Remove unused variable.
5872         (record_latest_value): Likewise.
5873         (access_value_history): Likewise.
5874         (preserve_values): Likewise.
5875
5876 2018-05-17  Tom Tromey  <tom@tromey.com>
5877
5878         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5879         Initialize.
5880
5881 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5882
5883         PR gdb/22286
5884         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5885         Also handle registers whose width is not a multiple of
5886         PTRACE_TYPE_RET.
5887         (linux_nat_trad_target::store_register): Likewise.
5888
5889 2018-05-16  Tom Tromey  <tom@tromey.com>
5890
5891         * gdbcore.h (core_bfd): Redefine.
5892         * corelow.c (core_target::close): Update.
5893         (core_target_open): Update.
5894         * progspace.h (struct program_space) <cbfd>: Now a
5895         gdb_bfd_ref_ptr.
5896
5897 2018-05-16  Tom Tromey  <tom@tromey.com>
5898
5899         PR cli/19551:
5900         * symfile-add-flags.h (enum symfile_add_flags)
5901         <SYMFILE_NOT_FILENAME>: New constant.
5902         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5903         objfile name from BFD.
5904         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5905         * minidebug.c (find_separate_debug_file_in_section): Put
5906         ".gnu_debugdata" into BFD's file name.
5907
5908 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5909
5910         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5911         Remove.
5912
5913 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5914
5915         PR binutils/21446
5916         * aarch64-tdep.c (aarch64_analyze_prologue,
5917         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5918         Indicate not interested in errors.
5919
5920 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5921
5922         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5923         Supply the MIPS_ZERO_REGNUM register.
5924
5925 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5926
5927         * mips-tdep.c (mask_address_var): Make variable static.
5928
5929 2018-05-14  Tom Tromey  <tom@tromey.com>
5930
5931         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5932
5933 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5934
5935         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5936         FXSAVE_ADDR for the mxcsr register.
5937
5938 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5939
5940         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5941
5942 2018-05-11  Pedro Alves  <palves@redhat.com>
5943
5944         * corelow.c (core_target) <core_target>: No longer inline.
5945         Initialize m_core_gdbarch, m_core_vec and build the section table
5946         here.
5947         <~core_target>: New.
5948         <core_gdbarch, get_core_register_section>: New methods.
5949         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5950         factored out from ...
5951         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5952         (core_ops): Delete.
5953         (sniff_core_bfd): Add gdbarch parameter.
5954         (core_close): Delete, merged into ...
5955         (core_target::close): ... here.  Delete self.
5956         (core_close_cleanup): Delete.
5957         (core_target_open): Allocate a core_target on the heap.  Use a
5958         unique_ptr instead of a cleanup.  Bits moved into the core_target
5959         ctor.  Adjust to use core_target methods instead of globals.
5960         (get_core_register_section): Rename to ...
5961         (core_target::get_core_register_section): ... this and adjust.
5962         (struct get_core_registers_cb_data): New.
5963         (get_core_registers_cb): Use it.  Use bool.
5964         (core_target::fetch_registers, core_target::files_info)
5965         (core_target::xfer_partial, core_target::read_description)
5966         (core_target::pid_to, core_target::thread_name): Adjust to
5967         reference class fields instead of globals.
5968         * target.h (struct target_ops_deleter, target_ops_up): New.
5969
5970 2018-05-11  Pedro Alves  <palves@redhat.com>
5971
5972         * corefile.c (core_file_command): Move to corelow.c.
5973         * corelow.c (the_core_target): Delete.
5974         (core_file_command): Moved from corefile.c.  Check exec_bfd
5975         instead of the_core_target.  Use target_detach instead of calling
5976         into the_core_target directly.
5977         (maybe_say_no_core_file_now): New.
5978         (core_target::detach): Use it.
5979         (_initialize_corelow): Remove references to the_core_target.
5980         * gdbcore.h (the_core_target): Delete.
5981
5982 2018-05-11  Tom Tromey  <tromey@redhat.com>
5983             Pedro Alves  <palves@redhat.com>
5984
5985         * corefile.c (core_bfd): Remove.
5986         * gdbcore.h (core_bfd): Now a macro.
5987         * progspace.h (struct program_space) <cbfd>: New field.
5988
5989 2018-05-11  Tom Tromey  <tom@tromey.com>
5990
5991         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5992         gdb::def_vector.
5993
5994 2018-05-10  Tom Tromey  <tom@tromey.com>
5995
5996         * configure: Rebuild.
5997         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5998
5999 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6000
6001         PR server/23158:
6002         * regformats/regdat.sh: Adjust script, following the addition
6003         of the new expedite_regs parameter to init_target_desc.
6004
6005 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6006     
6007         PR gdb/23127
6008         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
6009         set_gdbarch_significant_addr_bit.
6010         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
6011         set_gdbarch_significant_addr_bit.
6012         * utils.c (address_significant): Update to sign extend addr.
6013
6014 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
6015
6016         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
6017         (xtensa_linux_init_abi): Limit tdep->num_regs by
6018         tdep->num_nopriv_regs.
6019         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
6020         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
6021         not initialized.
6022
6023 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6024
6025         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6026
6027 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6028
6029         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6030         (I387_MXCSR_INIT_VAL): New constant.
6031         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6032         buffer if it was supplied by the inferior.
6033         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6034         (i387_xsave_get_clear_bv): New function.
6035         (i387_supply_xsave): Only read x87 control registers from the
6036         xsave buffer if the feature is enabled, and the state will have
6037         been written, otherwise, provide a suitable default.
6038         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6039         including x87 control registers.  Update control registers if they
6040         have changed from the default value, and mark features as enabled
6041         as required.
6042         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6043
6044 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6045
6046         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6047
6048 2018-05-07  Tom Tromey  <tom@tromey.com>
6049
6050         * configure: Rebuild.
6051         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6052
6053 2018-05-07  Tom Tromey  <tom@tromey.com>
6054
6055         PR tdep/20362:
6056         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6057         bit.  Use correct value for VDIV.
6058
6059 2018-05-04  Tom Tromey  <tom@tromey.com>
6060
6061         * configure: Rebuild.
6062         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6063
6064 2018-05-04  Tom Tromey  <tom@tromey.com>
6065
6066         * linux-record.c (record_linux_system_call) <case
6067         RECORD_SYS_RECVFROM>: Add "break".
6068
6069 2018-05-04  Tom Tromey  <tom@tromey.com>
6070
6071         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6072         Add missing "break".
6073         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6074         Add missing "break".
6075
6076 2018-05-04  Tom Tromey  <tom@tromey.com>
6077
6078         * rs6000-tdep.c (ppc_process_record_op4)
6079         (ppc_process_record_op63): Add fall-through comment.
6080
6081 2018-05-04  Tom Tromey  <tom@tromey.com>
6082
6083         * i386-tdep.c (i386_process_record): Add fall-through comment.
6084
6085 2018-05-04  Tom Tromey  <tom@tromey.com>
6086
6087         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6088         comment.
6089
6090 2018-05-04  Tom Tromey  <tom@tromey.com>
6091
6092         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6093         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6094         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6095         comment.
6096         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6097         comment.
6098         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6099         comment.
6100
6101 2018-05-04  Tom Tromey  <tom@tromey.com>
6102
6103         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6104
6105 2018-05-04  Tom Tromey  <tom@tromey.com>
6106
6107         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6108         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6109         * symfile.c (section_is_mapped): Fix fall-through comment.
6110         * stabsread.c (define_symbol, read_member_functions): Fix
6111         fall-through comment.
6112         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6113         comment.
6114         * remote.c (remote_wait_as): Fix fall-through comment.
6115         * p-exp.y (yylex): Fix fall-through comment.
6116         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6117         comment.
6118         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6119         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6120         * jv-exp.y (yylex): Fix fall-through comment.
6121         * go-exp.y (lex_one_token): Fix fall-through comment.
6122         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6123         fall-through comment.
6124         * f-exp.y (yylex): Fix fall-through comment.
6125         * dwarf2read.c (process_die): Fix fall-through comments.
6126         * dbxread.c (process_one_symbol): Fix fall-through comment.
6127         * d-exp.y (lex_one_token): Fix fall-through comment.
6128         * cp-name-parser.y (yylex): Fix fall-through comment.
6129         * coffread.c (coff_symtab_read): Fix fall-through comment.
6130         * c-exp.y (lex_one_token): Fix fall-through comment.
6131         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6132         comment.
6133         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6134         comment.
6135
6136 2018-05-04  Tom Tromey  <tom@tromey.com>
6137
6138         PR python/22730:
6139         * NEWS: Mention gdb.execute change.
6140         * gdbcmd.h (execute_control_command): Don't declare.
6141         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6142         execute_control_commands, execute_control_commands_to_string.
6143         * cli/cli-script.h (execute_control_commands)
6144         (execute_control_commands_to_string): Declare.
6145         (execute_control_command): Add from_tty parameter.
6146         * cli/cli-script.c (execute_control_commands)
6147         (execute_control_commands_to_string): New functions.
6148         (execute_user_command): Use execute_control_commands.
6149         (execute_control_command_1): Add "from_tty" parameter.  Update.
6150         (execute_control_command): Likewise.
6151
6152 2018-05-04  Tom Tromey  <tom@tromey.com>
6153
6154         PR python/22731:
6155         * NEWS: Mention that breakpoint commands are writable.
6156         * python/py-breakpoint.c (bppy_set_commands): New function.
6157         (breakpoint_object_getset) <"commands">: Use it.
6158
6159 2018-05-04  Tom Tromey  <tom@tromey.com>
6160
6161         * tracepoint.c (actions_command): Update.
6162         * mi/mi-cmd-break.c (mi_command_line_array)
6163         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6164         (mi_read_next_line): Remove.
6165         (mi_cmd_break_commands): Update.
6166         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6167         function_view.
6168         * cli/cli-script.c (get_command_line): Update.
6169         (process_next_line): Use function_view.  Constify.
6170         (recurse_read_control_structure, read_command_lines)
6171         (read_command_lines_1): Change argument types to function_view.
6172         (do_define_command, document_command): Update.
6173         * breakpoint.h (check_tracepoint_command): Don't declare.
6174         * breakpoint.c (check_tracepoint_command): Remove.
6175         (commands_command_1, create_tracepoint_from_upload): Update.
6176
6177 2018-05-04  Tom Tromey  <tom@tromey.com>
6178
6179         PR gdb/11750:
6180         * cli/cli-script.h (enum command_control_type) <define_control>:
6181         New constant.
6182         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6183         (build_command_line, execute_control_command_1)
6184         (process_next_line): Likewise.
6185         (do_define_command): New function, extracted from define_command.
6186         (define_command): Use it.
6187
6188 2018-05-04  Tom Tromey  <tom@tromey.com>
6189
6190         * tracepoint.c (actions_command): Update.
6191         * cli/cli-script.h (read_command_lines): Update.
6192         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6193         (MAX_TMPBUF): Remove define.
6194         (define_command): Use string_printf.
6195         (document_command): Likewise.
6196         * breakpoint.c (commands_command_1): Update.
6197
6198 2018-05-04  Tom Tromey  <tom@tromey.com>
6199
6200         * top.c (execute_command): Update.
6201         * cli/cli-script.h (print_command_lines): Now varargs.
6202         * cli/cli-script.c (print_command_lines): Now varargs.
6203         (execute_control_command_1) <case while_control, case if_control>:
6204         Update.
6205
6206 2018-05-04  Tom Tromey  <tom@tromey.com>
6207
6208         * tracepoint.c (all_tracepoint_actions): Rename from
6209         all_tracepoint_actions_and_cleanup.  Change return type.
6210         (actions_command, encode_actions_1, encode_actions)
6211         (trace_dump_actions, tdump_command): Update.
6212         * remote.c (remote_download_command_source): Update.
6213         * python/python.c (gdbpy_eval_from_control_command)
6214         (python_command, python_interactive_command): Update.
6215         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6216         * guile/guile.c (guile_command)
6217         (gdbscm_eval_from_control_command, guile_command): Update.
6218         * compile/compile.c (compile_code_command)
6219         (compile_print_command, compile_to_object): Update.
6220         * cli/cli-script.h (struct command_lines_deleter): New.
6221         (counted_command_line): New typedef.
6222         (struct command_line): Add constructor, destructor.
6223         <body_list>: Remove.
6224         <body_list_0, body_list_1>: New members.
6225         (command_line_up): Remove typedef.
6226         (read_command_lines, read_command_lines_1, get_command_line):
6227         Update.
6228         (copy_command_lines): Don't declare.
6229         * cli/cli-script.c (build_command_line): Use "new".
6230         (get_command_line): Return counted_command_line.
6231         (print_command_lines, execute_user_command)
6232         (execute_control_command_1, while_command, if_command): Update.
6233         (realloc_body_list): Remove.
6234         (process_next_line, recurse_read_control_structure): Update.
6235         (read_command_lines, read_command_lines_1): Return counted_command_line.
6236         (free_command_lines): Use "delete".
6237         (copy_command_lines): Remove.
6238         (define_command, document_command, show_user_1): Update.
6239         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6240         a counted_command_line.
6241         * breakpoint.h (counted_command_line): Remove typedef.
6242         (breakpoint_set_commands): Update.
6243         * breakpoint.c (check_no_tracepoint_commands)
6244         (validate_commands_for_breakpoint): Update.
6245         (breakpoint_set_commands): Change commands to be a
6246         counted_command_line.
6247         (commands_command_1, update_dprintf_command_list)
6248         (create_tracepoint_from_upload): Update.
6249
6250 2018-05-04  Tom Tromey  <tom@tromey.com>
6251
6252         * cli/cli-decode.h (cmd_list_element): New constructor.
6253         (~cmd_list_element): New destructor.
6254         (struct cmd_list_element): Add initializers.
6255         * cli/cli-decode.c (do_add_cmd): Use "new".
6256         (delete_cmd): Use "delete".
6257
6258 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6259             Pedro Alves <palves@redhat.com>
6260
6261         PR breakpoints/19806 and support for PR external/20207.
6262         * NEWS: Mention Aarch64 watchpoint improvements.
6263         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6264         watchpoints and PR external/20207 watchpoints.
6265         * nat/aarch64-linux-hw-point.c
6266         (kernel_supports_any_contiguous_range): New.
6267         (aarch64_watchpoint_offset): New.
6268         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6269         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6270         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6271         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6272         next_addr_orig_p.  Support PR external/20207 watchpoints.
6273         (aarch64_downgrade_regs): New.
6274         (aarch64_dr_state_insert_one_point): New parameters offset and
6275         addr_orig.
6276         (aarch64_dr_state_remove_one_point): Likewise.
6277         (aarch64_handle_breakpoint): Update caller.
6278         (aarch64_handle_aligned_watchpoint): Likewise.
6279         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6280         aligned_offset.
6281         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6282         aarch64_downgrade_regs.
6283         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6284         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6285         (DR_CONTROL_MASK): ... this.
6286         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6287         (unsigned int aarch64_watchpoint_offset): New prototype.
6288         (aarch64_linux_set_debug_regs): Remove const from state.
6289         * utils.c (align_up, align_down): Move to ...
6290         * common/common-utils.c (align_up, align_down): ... here.
6291         * utils.h (align_up, align_down): Move to ...
6292         * common/common-utils.h (align_up, align_down): ... here.
6293
6294 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6295
6296         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6297         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6298         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6299         Re-implement to match the ABI as summarized in GCC's
6300         gcc/config/sparc/sparc.c.  All callers updated.
6301         (sparc32_store_arguments): Remove assertion.
6302
6303 2018-05-04  Tom Tromey  <tom@tromey.com>
6304
6305         * printcmd.c: Don't include tui.h.
6306         (decode_format): Use skip_spaces.
6307
6308 2018-05-04  Tom Tromey  <tom@tromey.com>
6309
6310         PR gdb/22619:
6311         * printcmd.c (last_count): New global.
6312         (x_command): Use saved count when repeating.
6313
6314 2018-05-04  Tom Tromey  <tom@tromey.com>
6315
6316         * nto-procfs.c (do_closedir_cleanup): Remove.
6317         (procfs_pidlist): Use gdb_dir_up.
6318         * procfs.c (do_closedir_cleanup): Remove.
6319         (proc_update_threads): Use gdb_dir_up.
6320         * common/filestuff.h (struct gdb_dir_deleter): New.
6321         (gdb_dir_up): New typedef.
6322
6323 2018-05-04  Tom Tromey  <tom@tromey.com>
6324
6325         * ada-lang.c (print_mention_exception): Use std::string.
6326
6327 2018-05-04  Tom Tromey  <tom@tromey.com>
6328
6329         * ada-lang.c (create_excep_cond_exprs): Update.
6330         (ada_exception_catchpoint_cond_string): Use std::string.
6331
6332 2018-05-04  Tom Tromey  <tom@tromey.com>
6333
6334         * ada-lang.c (xget_renaming_scope): Return std::string.
6335         (old_renaming_is_invisible): Update.
6336
6337 2018-05-04  Tom Tromey  <tom@tromey.com>
6338
6339         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6340         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6341
6342 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6343
6344         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6345
6346 2018-05-04  Tom Tromey  <tom@tromey.com>
6347
6348         * remote.c (remote_query_supported_append): Change type.
6349         (remote_check_symbols): Update.
6350
6351 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6352
6353         PR gdb/11420
6354         * configure.ac: Prepend libpython.
6355         * python/python-config.py: Likewise.
6356         * configure: Regenerate.
6357
6358 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6359
6360         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6361
6362 2018-05-03  Pedro Alves  <palves@redhat.com>
6363
6364         * s390-linux-nat.c
6365         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6366         override.  Write 'true' instead of '1'.
6367         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6368         declaration.
6369
6370 2018-05-02  Pedro Alves  <palves@redhat.com>
6371
6372         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6373         add_inf_child_target.
6374         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6375         add_inf_child_target.
6376         * aix-thread.c (aix_thread_target_info): New.
6377         (aix_thread_target) <shortname, longname, doc>: Delete.
6378         <info>: New.
6379         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6380         add_inf_child_target.
6381         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6382         add_inf_child_target.
6383         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6384         add_inf_child_target.
6385         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6386         add_inf_child_target.
6387         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6388         add_inf_child_target.
6389         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6390         add_inf_child_target.
6391         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6392         add_inf_child_target.
6393         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6394         add_inf_child_target.
6395         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6396         add_inf_child_target.
6397         * bfd-target.c (target_bfd_target_info): New.
6398         (target_bfd) <shortname, longname, doc>: Delete.
6399         <info>: New.
6400         * bsd-kvm.c (bsd_kvm_target_info): New.
6401         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6402         <info>: New.
6403         (bsd_kvm_target::open): Rename to ...
6404         (bsd_kvm_target_open): ... this.  Adjust.
6405         * bsd-uthread.c (bsd_uthread_target_info): New.
6406         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6407         <info>: New.
6408         * corefile.c (core_file_command): Adjust.
6409         * corelow.c (core_target_info): New.
6410         (core_target) <shortname, longname, doc>: Delete.
6411         <info>: New.
6412         (core_target::open): Rename to ...
6413         (core_target_open): ... this.  Adjust.
6414         * ctf.c (ctf_target_info): New.
6415         (ctf_target) <shortname, longname, doc>: Delete.
6416         <info>: New.
6417         (ctf_target::open): Rename to ...
6418         (ctf_target_open): ... this.
6419         (_initialize_ctf): Adjust.
6420         * exec.c (exec_target_info): New.
6421         (exec_target) <shortname, longname, doc>: Delete.
6422         <info>: New.
6423         (exec_target::open): Rename to ...
6424         (exec_target_open): ... this.
6425         * gdbcore.h (core_target_open): Declare.
6426         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6427         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6428         add_inf_child_target.
6429         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6430         add_inf_child_target.
6431         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6432         add_inf_child_target.
6433         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6434         add_inf_child_target.
6435         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6436         add_inf_child_target.
6437         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6438         add_inf_child_target.
6439         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6440         add_inf_child_target.
6441         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6442         add_inf_child_target.
6443         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6444         add_inf_child_target.
6445         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6446         add_inf_child_target.
6447         * inf-child.c (inf_child_target_info): New.
6448         (inf_child_target::info): New.
6449         (inf_child_open_target): Remove 'target' parameter.  Use
6450         get_native_target instead.
6451         (inf_child_target::open): Delete.
6452         (add_inf_child_target): New.
6453         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6454         Delete.
6455         <info>: New.
6456         (add_inf_child_target): Declare.
6457         (inf_child_open_target): Declare.
6458         * linux-thread-db.c (thread_db_target_info): New.
6459         (thread_db_target) <shortname, longname, doc>: Delete.
6460         <info>: New.
6461         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6462         add_inf_child_target.
6463         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6464         add_inf_child_target.
6465         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6466         add_inf_child_target.
6467         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6468         add_inf_child_target.
6469         * make-target-delegates (print_class): Adjust.
6470         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6471         add_inf_child_target.
6472         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6473         add_inf_child_target.
6474         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6475         add_inf_child_target.
6476         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6477         add_inf_child_target.
6478         * nto-procfs.c (nto_native_target_info): New.
6479         (nto_procfs_target_native) <shortname, longname, doc>:
6480         Delete.
6481         <info>: New.
6482         (nto_procfs_target_info): New.
6483         (nto_procfs_target_procfs) <shortname, longname, doc>:
6484         Delete.
6485         <info>: New.
6486         (init_procfs_targets): Adjust.
6487         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6488         add_inf_child_target.
6489         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6490         add_inf_child_target.
6491         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6492         add_inf_child_target.
6493         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6494         add_inf_child_target.
6495         * ravenscar-thread.c (ravenscar_target_info): New.
6496         (ravenscar_thread_target) <shortname, longname, doc>:
6497         Delete.
6498         <info>: New.
6499         * record-btrace.c (record_btrace_target_info):
6500         (record_btrace_target) <shortname, longname, doc>: Delete.
6501         <info>: New.
6502         (record_btrace_target::open): Rename to ...
6503         (record_btrace_target_open): ... this.  Adjust.
6504         * record-full.c (record_longname, record_doc): New.
6505         (record_full_base_target) <shortname, longname, doc>: Delete.
6506         <info>: New.
6507         (record_full_target_info): New.
6508         (record_full_target): <shortname>: Delete.
6509         <info>: New.
6510         (record_full_core_open_1, record_full_open_1): Update comments.
6511         (record_full_base_target::open): Rename to ...
6512         (record_full_open): ... this.
6513         (cmd_record_full_restore): Update.
6514         (_initialize_record_full): Update.
6515         * remote-sim.c (remote_sim_target_info): New.
6516         (gdbsim_target) <shortname, longname, doc>: Delete.
6517         <info>: New.
6518         (gdbsim_target::open): Rename to ...
6519         (gdbsim_target_open): ... this.
6520         (_initialize_remote_sim): Adjust.
6521         * remote.c (remote_doc): New.
6522         (remote_target_info): New.
6523         (remote_target) <shortname, longname, doc>: Delete.
6524         <info>: New.
6525         (extended_remote_target_info): New.
6526         (extended_remote_target) <shortname, longname, doc>: Delete.
6527         <info>: New.
6528         (remote_target::open_1): Make static.  Adjust.
6529         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6530         * s390-linux-nat.c (_initialize_s390_nat): Use
6531         add_inf_child_target.
6532         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6533         add_inf_child_target.
6534         * sol-thread.c (thread_db_target_info): New.
6535         (sol_thread_target) <shortname, longname, doc>: Delete.
6536         <info>: New.
6537         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6538         add_inf_child_target.
6539         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6540         add_inf_child_target.
6541         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6542         add_inf_child_target.
6543         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6544         add_inf_child_target.
6545         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6546         add_inf_child_target.
6547         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6548         add_inf_child_target.
6549         * spu-linux-nat.c (_initialize_spu_nat): Use
6550         add_inf_child_target.
6551         * spu-multiarch.c (spu_multiarch_target_info): New.
6552         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6553         <info>: New.
6554         * target-delegates.c: Regenerate.
6555         * target.c: Include <unordered_map>.
6556         (target_ops_p): Delete.
6557         (DEF_VEC_P(target_ops_p)): Delete.
6558         (target_factories): New.
6559         (test_target_info): New.
6560         (test_target_ops::info): New.
6561         (open_target): Adjust to use target_factories.
6562         (add_target_with_completer): Rename to ...
6563         (add_target): ... this.  Change prototype.  Register target_info
6564         and open callback in target_factories.  Register target_info in
6565         command context instead of target_ops.
6566         (add_target): Delete old implementation.
6567         (add_deprecated_target_alias): Change prototype.  Adjust.
6568         (the_native_target): New.
6569         (set_native_target, get_native_target): New.
6570         (find_default_run_target): Use the_native_target.
6571         (find_attach_target, find_run_target): Simplify.
6572         (target_ops::open): Delete.
6573         (dummy_target_info): New.
6574         (dummy_target::shortname, dummy_target::longname)
6575         (dummy_target::doc): Delete.
6576         (dummy_target::info): New.
6577         (debug_target::shortname, debug_target::longname)
6578         (debug_target::doc): Delete.
6579         (debug_target::info): New.
6580         * target.h (struct target_info): New.
6581         (target_ops::~target_ops): Add comment.
6582         (target_ops::info): New.
6583         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6584         longer virtual.  Implement in terms of target_info.
6585         (set_native_target, get_native_target): Declare.
6586         (target_open_ftype): New.
6587         (add_target, add_target_with_completer)
6588         (add_deprecated_target_alias): Change prototype.
6589         (test_target) <shortname, longname, doc>: Delete.
6590         <info>: New.
6591         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6592         add_inf_child_target.
6593         * tracefile-tfile.c (tfile_target_info): New.
6594         (tfile_target) <shortname, longname, doc>: Delete.
6595         <info>: New.
6596         (tfile_target::open): Rename to ...
6597         (tfile_target_open): ... this.
6598         (_initialize_tracefile_tfile): Adjust.
6599         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6600         add_inf_child_target.
6601         * windows-nat.c (_initialize_windows_nat): Use
6602         add_inf_child_target.
6603         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6604         add_inf_child_target.
6605
6606 2018-05-02  Pedro Alves  <palves@redhat.com>
6607
6608         * linux-nat.h (linux_nat_target) <low_new_thread,
6609         low_delete_thread, low_new_fork, low_forget_process,
6610         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6611         New virtual methods.
6612         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6613         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6614         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6615         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6616         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6617         Delete.
6618         * linux-fork.c (delete_fork): Adjust to call low method.
6619         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6620         (linux_nat_new_fork, linux_nat_forget_process_hook)
6621         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6622         (linux_nat_status_is_event):
6623         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6624         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6625         to call low method.
6626         (sigtrap_is_event): Rename to ...
6627         (linux_nat_target::low_status_is_event): ... this.
6628         (linux_nat_set_status_is_event): Delete.
6629         (save_stop_reason, linux_nat_wait_1)
6630         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6631         low methods.
6632         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6633         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6634         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6635         (linux_nat_set_prepare_to_resume): Delete.
6636         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6637         low virtual methods.
6638         * amd64-linux-nat.c: Likewise.
6639         * arm-linux-nat.c: Likewise.
6640         * i386-linux-nat.c: Likewise.
6641         * ia64-linux-nat.c: Likewise.
6642         * mips-linux-nat.c: Likewise.
6643         * ppc-linux-nat.c: Likewise.
6644         * s390-linux-nat.c: Likewise.
6645         * sparc64-linux-nat.c: Likewise.
6646         * x86-linux-nat.c: Likewise.
6647         * x86-linux-nat.h: Include "nat/x86-linux.h".
6648         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6649         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6650         Override methods.
6651
6652 2018-05-02  Pedro Alves  <palves@redhat.com>
6653
6654         * target.h (target_ops)
6655         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6656         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6657         stopped_by_watchpoint, have_continuable_watchpoint,
6658         stopped_data_address, watchpoint_addr_within_range,
6659         can_accel_watchpoint_condition, can_run, thread_alive,
6660         has_all_memory, has_memory, has_stack, has_registers,
6661         has_execution, can_async_p, is_async_p, supports_non_stop,
6662         always_non_stop_p, can_execute_reverse, supports_multi_process,
6663         supports_enable_disable_tracepoint,
6664         supports_disable_randomization, supports_string_tracing,
6665         supports_evaluation_of_breakpoint_conditions,
6666         can_run_breakpoint_commands, filesystem_is_local,
6667         can_download_tracepoint, get_trace_state_variable_value,
6668         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6669         record_is_replaying, record_will_replay,
6670         augmented_libraries_svr4_read>: Adjust to return bool.
6671         * aarch64-linux-nat.c: All implementations adjusted.
6672         * aix-thread.c: All implementations adjusted.
6673         * arm-linux-nat.c: All implementations adjusted.
6674         * breakpoint.c: All implementations adjusted.
6675         * bsd-kvm.c: All implementations adjusted.
6676         * bsd-uthread.c: All implementations adjusted.
6677         * corelow.c: All implementations adjusted.
6678         * ctf.c: All implementations adjusted.
6679         * darwin-nat.c: All implementations adjusted.
6680         * darwin-nat.h: All implementations adjusted.
6681         * exec.c: All implementations adjusted.
6682         * fbsd-nat.c: All implementations adjusted.
6683         * fbsd-nat.h: All implementations adjusted.
6684         * gnu-nat.c: All implementations adjusted.
6685         * gnu-nat.h: All implementations adjusted.
6686         * go32-nat.c: All implementations adjusted.
6687         * ia64-linux-nat.c: All implementations adjusted.
6688         * inf-child.c: All implementations adjusted.
6689         * inf-child.h: All implementations adjusted.
6690         * inf-ptrace.c: All implementations adjusted.
6691         * inf-ptrace.h: All implementations adjusted.
6692         * linux-nat.c: All implementations adjusted.
6693         * linux-nat.h: All implementations adjusted.
6694         * mips-linux-nat.c: All implementations adjusted.
6695         * nto-procfs.c: All implementations adjusted.
6696         * ppc-linux-nat.c: All implementations adjusted.
6697         * procfs.c: All implementations adjusted.
6698         * ravenscar-thread.c: All implementations adjusted.
6699         * record-btrace.c: All implementations adjusted.
6700         * record-full.c: All implementations adjusted.
6701         * remote-sim.c: All implementations adjusted.
6702         * remote.c: All implementations adjusted.
6703         * s390-linux-nat.c: All implementations adjusted.
6704         * sol-thread.c: All implementations adjusted.
6705         * spu-multiarch.c: All implementations adjusted.
6706         * target-delegates.c: All implementations adjusted.
6707         * target.c: All implementations adjusted.
6708         * target.h: All implementations adjusted.
6709         * tracefile-tfile.c: All implementations adjusted.
6710         * tracefile.c: All implementations adjusted.
6711         * tracefile.h: All implementations adjusted.
6712         * windows-nat.c: All implementations adjusted.
6713         * x86-linux-nat.h: All implementations adjusted.
6714         * x86-nat.h: All implementations adjusted.
6715
6716 2018-05-02  Pedro Alves  <palves@redhat.com>
6717
6718         * make-target-delegates (scan_target_h): Don't trim lines here.
6719         Replace sequences of tabs and/or whitespace with a single
6720         whitespace.
6721         (top level, parsing methods): Trim each line before processing it
6722         here.
6723
6724 2018-05-02  Pedro Alves  <palves@redhat.com>
6725             John Baldwin  <jhb@freebsd.org>
6726
6727         * target.h (enum strata) <debug_stratum>: New.
6728         (struct target_ops) <all delegation methods>: Replace by C++
6729         virtual methods, and drop "to_" prefix.  All references updated
6730         throughout.
6731         <to_shortname, to_longname, to_doc, to_data,
6732         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6733         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6734         virtual methods.  All references updated throughout.
6735         <can_attach, supports_terminal_ours, can_create_inferior,
6736         get_thread_control_capabilities, attach_no_wait>: New
6737         virtual methods.
6738         <insert_breakpoint, remove_breakpoint>: Now
6739         TARGET_DEFAULT_NORETURN methods.
6740         <info_proc>: Now returns bool.
6741         <to_magic>: Delete.
6742         (OPS_MAGIC): Delete.
6743         (current_target): Delete.  All references replaced by references
6744         to ...
6745         (target_stack): ... this.  New.
6746         (target_shortname, target_longname): Adjust.
6747         (target_can_run): Now a function declaration.
6748         (default_child_has_all_memory, default_child_has_memory)
6749         (default_child_has_stack, default_child_has_registers)
6750         (default_child_has_execution): Remove target_ops parameter.
6751         (complete_target_initialization): Delete.
6752         (memory_breakpoint_target): New template class.
6753         (test_target_ops): Refactor as a C++ class with virtual methods.
6754         * make-target-delegates (NAME_PART): Tighten.
6755         (POINTER_PART, CP_SYMBOL): New.
6756         (SIMPLE_RETURN_PART): Reimplement.
6757         (VEC_RETURN_PART): Expect less.
6758         (RETURN_PART, VIRTUAL_PART): New.
6759         (METHOD): Adjust to C++ virtual methods.
6760         (scan_target_h): Remove reference to C99.
6761         (dname): Output "target_ops::" prefix.
6762         (write_function_header): Adjust to output a C++ class method.
6763         (write_declaration): New.
6764         (write_delegator): Adjust to output a C++ class method.
6765         (tdname): Output "dummy_target::" prefix.
6766         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6767         method.
6768         (tdefault_names, debug_names): Delete.
6769         (return_types, tdefaults, styles, argtypes_array): New.
6770         (top level): All methods are delegators.
6771         (print_class): New.
6772         (top level): Print dummy_target and debug_target classes.
6773         * target-delegates.c: Regenerate.
6774         * target-debug.h (target_debug_print_enum_info_proc_what)
6775         (target_debug_print_thread_control_capabilities)
6776         (target_debug_print_thread_info_p): New.
6777         * target.c (dummy_target): Delete.
6778         (the_dummy_target, the_debug_target): New.
6779         (target_stack): Now extern.
6780         (set_targetdebug): Push/unpush debug target.
6781         (default_child_has_all_memory, default_child_has_memory)
6782         (default_child_has_stack, default_child_has_registers)
6783         (default_child_has_execution): Remove target_ops parameter.
6784         (complete_target_initialization): Delete.
6785         (add_target_with_completer): No longer call
6786         complete_target_initialization.
6787         (target_supports_terminal_ours): Use regular delegation.
6788         (update_current_target): Delete.
6789         (push_target): No longer check magic number.  Don't call
6790         update_current_target.
6791         (unpush_target): Don't call update_current_target.
6792         (target_is_pushed): No longer check magic number.
6793         (target_require_runnable): Skip for all stratums over
6794         process_stratum.
6795         (target_ops::info_proc): New.
6796         (target_info_proc): Use find_target_at and
6797         find_default_run_target.
6798         (target_supports_disable_randomization): Use regular delegation.
6799         (target_get_osdata): Use find_target_at.
6800         (target_ops::open, target_ops::close, target_ops::can_attach)
6801         (target_ops::attach, target_ops::can_create_inferior)
6802         (target_ops::create_inferior, target_ops::can_run)
6803         (target_can_run): New.
6804         (default_fileio_target): Use regular delegation.
6805         (target_ops::fileio_open, target_ops::fileio_pwrite)
6806         (target_ops::fileio_pread, target_ops::fileio_fstat)
6807         (target_ops::fileio_close, target_ops::fileio_unlink)
6808         (target_ops::fileio_readlink): New.
6809         (target_fileio_open_1, target_fileio_unlink)
6810         (target_fileio_readlink): Always call the target method.  Handle
6811         FILEIO_ENOSYS.
6812         (return_zero, return_zero_has_execution): Delete.
6813         (init_dummy_target): Delete.
6814         (dummy_target::dummy_target, dummy_target::shortname)
6815         (dummy_target::longname, dummy_target::doc)
6816         (debug_target::debug_target, debug_target::shortname)
6817         (debug_target::longname, debug_target::doc): New.
6818         (target_supports_delete_record): Use regular delegation.
6819         (setup_target_debug): Delete.
6820         (maintenance_print_target_stack): Skip debug_stratum.
6821         (initialize_targets): Instantiate the_dummy_target and
6822         the_debug_target.
6823         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
6824         use target_stack.
6825         (target_auxv_search, fprint_target_auxv): Adjust.
6826         (info_auxv_command): Adjust to use target_stack.
6827         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
6828         * exceptions.c (print_flush): Handle a NULL target_stack.
6829         * regcache.c (target_ops_no_register): Refactor as class with
6830         virtual methods.
6831
6832         * exec.c (exec_target): New class.
6833         (exec_ops): Now an exec_target.
6834         (exec_open, exec_close_1, exec_get_section_table)
6835         (exec_xfer_partial, exec_files_info, exec_has_memory)
6836         (exec_make_note_section): Refactor as exec_target methods.
6837         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
6838         Delete.
6839         (exec_target::find_memory_regions): New.
6840         (_initialize_exec): Don't call init_exec_ops.
6841         * gdbcore.h (exec_file_clear): Delete.
6842
6843         * corefile.c (core_target): Delete.
6844         (core_file_command): Adjust.
6845         * corelow.c (core_target): New class.
6846         (the_core_target): New.
6847         (core_close): Remove target_ops parameter.
6848         (core_close_cleanup): Adjust.
6849         (core_target::close): New.
6850         (core_open, core_detach, get_core_registers, core_files_info)
6851         (core_xfer_partial, core_thread_alive, core_read_description)
6852         (core_pid_to_str, core_thread_name, core_has_memory)
6853         (core_has_stack, core_has_registers, core_info_proc): Rework as
6854         core_target methods.
6855         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6856         (_initialize_corelow): Initialize the_core_target.
6857         * gdbcore.h (core_target): Delete.
6858         (the_core_target): New.
6859
6860         * ctf.c: (ctf_target): New class.
6861         (ctf_ops): Now a ctf_target.
6862         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6863         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6864         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6865         methods.
6866         (init_ctf_ops): Delete.
6867         (_initialize_ctf): Don't call it.
6868         * tracefile-tfile.c (tfile_target): New class.
6869         (tfile_ops): Now a tfile_target.
6870         (tfile_open, tfile_close, tfile_files_info)
6871         (tfile_get_tracepoint_status, tfile_trace_find)
6872         (tfile_fetch_registers, tfile_xfer_partial)
6873         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6874         Refactor as tfile_target methods.
6875         (tfile_xfer_partial_features): Remove target_ops parameter.
6876         (init_tfile_ops): Delete.
6877         (_initialize_tracefile_tfile): Don't call it.
6878         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6879         (tracefile_has_stack, tracefile_has_registers)
6880         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6881         tracefile_target methods.
6882         (init_tracefile_ops): Delete.
6883         (tracefile_target::tracefile_target): New.
6884         * tracefile.h: Include "target.h".
6885         (tracefile_target): New class.
6886         (init_tracefile_ops): Delete.
6887
6888         * spu-multiarch.c (spu_multiarch_target): New class.
6889         (spu_ops): Now a spu_multiarch_target.
6890         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6891         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6892         (spu_search_memory, spu_mourn_inferior): Refactor as
6893         spu_multiarch_target methods.
6894         (init_spu_ops): Delete.
6895         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6896         complete_target_initialization.
6897
6898         * ravenscar-thread.c (ravenscar_thread_target): New class.
6899         (ravenscar_ops): Now a ravenscar_thread_target.
6900         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6901         (ravenscar_thread_alive, ravenscar_pid_to_str)
6902         (ravenscar_fetch_registers, ravenscar_store_registers)
6903         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6904         (ravenscar_stopped_by_hw_breakpoint)
6905         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6906         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6907         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6908         methods.
6909         (init_ravenscar_thread_ops): Delete.
6910         (_initialize_ravenscar): Remove references to
6911         init_ravenscar_thread_ops and complete_target_initialization.
6912
6913         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6914         (bsd_uthread_target): New class.
6915         (bsd_uthread_ops): Now a bsd_uthread_target.
6916         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6917         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6918         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6919         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6920         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6921         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6922         (bsd_uthread_target): Delete function.
6923         (_initialize_bsd_uthread): Remove reference to
6924         complete_target_initialization.
6925
6926         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6927         (target_bfd): ... this new class.
6928         (target_bfd_xfer_partial, target_bfd_get_section_table)
6929         (target_bfd_close): Refactor as target_bfd methods.
6930         (target_bfd::~target_bfd): New.
6931         (target_bfd_reopen): Adjust.
6932         (target_bfd::close): New.
6933
6934         * record-btrace.c (record_btrace_target): New class.
6935         (record_btrace_ops): Now a record_btrace_target.
6936         (record_btrace_open, record_btrace_stop_recording)
6937         (record_btrace_disconnect, record_btrace_close)
6938         (record_btrace_async, record_btrace_info)
6939         (record_btrace_insn_history, record_btrace_insn_history_range)
6940         (record_btrace_insn_history_from, record_btrace_call_history)
6941         (record_btrace_call_history_range)
6942         (record_btrace_call_history_from, record_btrace_record_method)
6943         (record_btrace_is_replaying, record_btrace_will_replay)
6944         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6945         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6946         (record_btrace_store_registers, record_btrace_prepare_to_store)
6947         (record_btrace_to_get_unwinder)
6948         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6949         (record_btrace_commit_resume, record_btrace_wait)
6950         (record_btrace_stop, record_btrace_can_execute_reverse)
6951         (record_btrace_stopped_by_sw_breakpoint)
6952         (record_btrace_supports_stopped_by_sw_breakpoint)
6953         (record_btrace_stopped_by_hw_breakpoint)
6954         (record_btrace_supports_stopped_by_hw_breakpoint)
6955         (record_btrace_update_thread_list, record_btrace_thread_alive)
6956         (record_btrace_goto_begin, record_btrace_goto_end)
6957         (record_btrace_goto, record_btrace_stop_replaying_all)
6958         (record_btrace_execution_direction)
6959         (record_btrace_prepare_to_generate_core)
6960         (record_btrace_done_generating_core): Refactor as
6961         record_btrace_target methods.
6962         (init_record_btrace_ops): Delete.
6963         (_initialize_record_btrace): Remove reference to
6964         init_record_btrace_ops.
6965         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6966         the execution_direction global.
6967         (record_full_base_target, record_full_target)
6968         (record_full_core_target): New classes.
6969         (record_full_ops): Now a record_full_target.
6970         (record_full_core_ops): Now a record_full_core_target.
6971         (record_full_target::detach, record_full_target::disconnect)
6972         (record_full_core_target::disconnect)
6973         (record_full_target::mourn_inferior, record_full_target::kill):
6974         New.
6975         (record_full_open, record_full_close, record_full_async): Refactor
6976         as methods of the record_full_base_target class.
6977         (record_full_resume, record_full_commit_resume): Refactor
6978         as methods of the record_full_target class.
6979         (record_full_wait, record_full_stopped_by_watchpoint)
6980         (record_full_stopped_data_address)
6981         (record_full_stopped_by_sw_breakpoint)
6982         (record_full_supports_stopped_by_sw_breakpoint)
6983         (record_full_stopped_by_hw_breakpoint)
6984         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6985         methods of the record_full_base_target class.
6986         (record_full_store_registers, record_full_xfer_partial)
6987         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6988         Refactor as methods of the record_full_target class.
6989         (record_full_can_execute_reverse, record_full_get_bookmark)
6990         (record_full_goto_bookmark, record_full_execution_direction)
6991         (record_full_record_method, record_full_info, record_full_delete)
6992         (record_full_is_replaying, record_full_will_replay)
6993         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6994         (record_full_stop_replaying): Refactor as methods of the
6995         record_full_base_target class.
6996         (record_full_core_resume, record_full_core_kill)
6997         (record_full_core_fetch_registers)
6998         (record_full_core_prepare_to_store)
6999         (record_full_core_store_registers, record_full_core_xfer_partial)
7000         (record_full_core_insert_breakpoint)
7001         (record_full_core_remove_breakpoint)
7002         (record_full_core_has_execution): Refactor
7003         as methods of the record_full_core_target class.
7004         (record_full_base_target::supports_delete_record): New.
7005         (init_record_full_ops): Delete.
7006         (init_record_full_core_ops): Delete.
7007         (record_full_save): Refactor as method of the
7008         record_full_base_target class.
7009         (_initialize_record_full): Remove references to
7010         init_record_full_ops and init_record_full_core_ops.
7011
7012         * remote.c (remote_target, extended_remote_target): New classes.
7013         (remote_ops): Now a remote_target.
7014         (extended_remote_ops): Now an extended_remote_target.
7015         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
7016         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
7017         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
7018         (remote_pass_signals, remote_set_syscall_catchpoint)
7019         (remote_program_signals, )
7020         (remote_thread_always_alive): Remove target_ops parameter.
7021         (remote_thread_alive, remote_thread_name)
7022         (remote_update_thread_list, remote_threads_extra_info)
7023         (remote_static_tracepoint_marker_at)
7024         (remote_static_tracepoint_markers_by_strid)
7025         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7026         (remote_open): Refactor as methods of remote_target.
7027         (extended_remote_open, extended_remote_detach)
7028         (extended_remote_attach, extended_remote_post_attach):
7029         (extended_remote_supports_disable_randomization)
7030         (extended_remote_create_inferior): : Refactor as method of
7031         extended_remote_target.
7032         (remote_set_permissions, remote_open_1, remote_detach)
7033         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7034         (remote_resume, remote_commit_resume, remote_stop)
7035         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7036         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7037         (remote_prepare_to_store, remote_store_registers)
7038         (remote_flash_erase, remote_flash_done, remote_files_info)
7039         (remote_kill, remote_mourn, remote_insert_breakpoint)
7040         (remote_remove_breakpoint, remote_insert_watchpoint)
7041         (remote_watchpoint_addr_within_range)
7042         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7043         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7044         (remote_supports_stopped_by_sw_breakpoint)
7045         (remote_stopped_by_hw_breakpoint)
7046         (remote_supports_stopped_by_hw_breakpoint)
7047         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7048         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7049         (remote_verify_memory): Refactor as methods of remote_target.
7050         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7051         parameter.
7052         (remote_xfer_partial, remote_get_memory_xfer_limit)
7053         (remote_search_memory, remote_rcmd, remote_memory_map)
7054         (remote_pid_to_str, remote_get_thread_local_address)
7055         (remote_get_tib_address, remote_read_description): Refactor as
7056         methods of remote_target.
7057         (remote_target::fileio_open, remote_target::fileio_pwrite)
7058         (remote_target::fileio_pread, remote_target::fileio_close): New.
7059         (remote_hostio_readlink, remote_hostio_fstat)
7060         (remote_filesystem_is_local, remote_can_execute_reverse)
7061         (remote_supports_non_stop, remote_supports_disable_randomization)
7062         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7063         (remote_supports_enable_disable_tracepoint)
7064         (remote_supports_string_tracing)
7065         (remote_can_run_breakpoint_commands, remote_trace_init)
7066         (remote_download_tracepoint, remote_can_download_tracepoint)
7067         (remote_download_trace_state_variable, remote_enable_tracepoint)
7068         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7069         (remote_trace_start, remote_get_trace_status)
7070         (remote_get_tracepoint_status, remote_trace_stop)
7071         (remote_trace_find, remote_get_trace_state_variable_value)
7072         (remote_save_trace_data, remote_get_raw_trace_data)
7073         (remote_set_disconnected_tracing, remote_core_of_thread)
7074         (remote_set_circular_trace_buffer, remote_traceframe_info)
7075         (remote_get_min_fast_tracepoint_insn_len)
7076         (remote_set_trace_buffer_size, remote_set_trace_notes)
7077         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7078         (remote_disable_btrace, remote_teardown_btrace)
7079         (remote_read_btrace, remote_btrace_conf)
7080         (remote_augmented_libraries_svr4_read, remote_load)
7081         (remote_pid_to_exec_file, remote_can_do_single_step)
7082         (remote_execution_direction, remote_thread_handle_to_thread_info):
7083         Refactor as methods of remote_target.
7084         (init_remote_ops, init_extended_remote_ops): Delete.
7085         (remote_can_async_p, remote_is_async_p, remote_async)
7086         (remote_thread_events, remote_upload_tracepoints)
7087         (remote_upload_trace_state_variables): Refactor as methods of
7088         remote_target.
7089         (_initialize_remote): Remove references to init_remote_ops and
7090         init_extended_remote_ops.
7091
7092         * remote-sim.c (gdbsim_target): New class.
7093         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7094         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7095         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7096         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7097         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7098         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7099         Refactor as methods of gdbsim_target.
7100         (gdbsim_ops): Now a gdbsim_target.
7101         (init_gdbsim_ops): Delete.
7102         (gdbsim_cntrl_c): Adjust.
7103         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7104
7105         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7106         (the_amd64_linux_nat_target): New.
7107         (amd64_linux_fetch_inferior_registers)
7108         (amd64_linux_store_inferior_registers): Refactor as methods of
7109         amd64_linux_nat_target.
7110         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7111         * i386-linux-nat.c: Don't include "linux-nat.h".
7112         (i386_linux_nat_target): New class.
7113         (the_i386_linux_nat_target): New.
7114         (i386_linux_fetch_inferior_registers)
7115         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7116         as methods of i386_linux_nat_target.
7117         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7118         * inf-child.c (inf_child_ops): Delete.
7119         (inf_child_fetch_inferior_registers)
7120         (inf_child_store_inferior_registers): Delete.
7121         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7122         methods of inf_child_target.
7123         (inf_child_target::supports_terminal_ours)
7124         (inf_child_target::terminal_init)
7125         (inf_child_target::terminal_inferior)
7126         (inf_child_target::terminal_ours_for_output)
7127         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7128         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7129         New.
7130         (inf_child_open, inf_child_disconnect, inf_child_close)
7131         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7132         (inf_child_post_startup_inferior, inf_child_can_run)
7133         (inf_child_pid_to_exec_file): Refactor as methods of
7134         inf_child_target.
7135         (inf_child_follow_fork): Delete.
7136         (inf_child_target::can_create_inferior)
7137         (inf_child_target::can_attach): New.
7138         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7139         (inf_child_target::has_stack, inf_child_target::has_registers)
7140         (inf_child_target::has_execution): New.
7141         (inf_child_fileio_open, inf_child_fileio_pwrite)
7142         (inf_child_fileio_pread, inf_child_fileio_fstat)
7143         (inf_child_fileio_close, inf_child_fileio_unlink)
7144         (inf_child_fileio_readlink, inf_child_use_agent)
7145         (inf_child_can_use_agent): Refactor as methods of
7146         inf_child_target.
7147         (return_zero, inf_child_target): Delete.
7148         (inf_child_target::inf_child_target): New.
7149         * inf-child.h: Include "target.h".
7150         (inf_child_target): Delete function prototype.
7151         (inf_child_target): New class.
7152         (inf_child_open_target, inf_child_mourn_inferior)
7153         (inf_child_maybe_unpush_target): Delete.
7154         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7155         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7156         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7157         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7158         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7159         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7160         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7161         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7162         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7163         methods of inf_ptrace_target.
7164         (inf_ptrace_target): Delete function.
7165         * inf-ptrace.h: Include "inf-child.h".
7166         (inf_ptrace_target): Delete function declaration.
7167         (inf_ptrace_target): New class.
7168         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7169         * linux-nat.c (linux_target): New.
7170         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7171         (linux_nat_target::~linux_nat_target): New.
7172         (linux_child_post_attach, linux_child_post_startup_inferior)
7173         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7174         (linux_child_remove_fork_catchpoint)
7175         (linux_child_insert_vfork_catchpoint)
7176         (linux_child_remove_vfork_catchpoint)
7177         (linux_child_insert_exec_catchpoint)
7178         (linux_child_remove_exec_catchpoint)
7179         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7180         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7181         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7182         (linux_nat_stopped_data_address)
7183         (linux_nat_stopped_by_sw_breakpoint)
7184         (linux_nat_supports_stopped_by_sw_breakpoint)
7185         (linux_nat_stopped_by_hw_breakpoint)
7186         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7187         (linux_nat_kill, linux_nat_mourn_inferior)
7188         (linux_nat_xfer_partial, linux_nat_thread_alive)
7189         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7190         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7191         (linux_child_static_tracepoint_markers_by_strid)
7192         (linux_nat_is_async_p, linux_nat_can_async_p)
7193         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7194         (linux_nat_supports_multi_process)
7195         (linux_nat_supports_disable_randomization, linux_nat_async)
7196         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7197         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7198         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7199         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7200         methods of linux_nat_target.
7201         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7202         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7203         parameter.
7204         (check_stopped_by_watchpoint): Adjust.
7205         (linux_xfer_partial): Delete.
7206         (linux_target_install_ops, linux_target, linux_nat_add_target):
7207         Delete.
7208         (linux_nat_target::linux_nat_target): New.
7209         * linux-nat.h: Include "inf-ptrace.h".
7210         (linux_nat_target): New.
7211         (linux_target, linux_target_install_ops, linux_nat_add_target):
7212         Delete function declarations.
7213         (linux_target): Declare global.
7214         * linux-thread-db.c (thread_db_target): New.
7215         (thread_db_target::thread_db_target): New.
7216         (thread_db_ops): Delete.
7217         (the_thread_db_target): New.
7218         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7219         (thread_db_update_thread_list, thread_db_pid_to_str)
7220         (thread_db_extra_thread_info)
7221         (thread_db_thread_handle_to_thread_info)
7222         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7223         (thread_db_resume): Refactor as methods of thread_db_target.
7224         (init_thread_db_ops): Delete.
7225         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7226         * x86-linux-nat.c: Don't include "linux-nat.h".
7227         (super_post_startup_inferior): Delete.
7228         (x86_linux_nat_target::~x86_linux_nat_target): New.
7229         (x86_linux_child_post_startup_inferior)
7230         (x86_linux_read_description, x86_linux_enable_btrace)
7231         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7232         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7233         methods of x86_linux_nat_target.
7234         (x86_linux_create_target): Delete.  Bits folded ...
7235         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7236         pointer.
7237         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7238         (x86_linux_nat_target): New class.
7239         (x86_linux_create_target): Delete.
7240         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7241         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7242         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7243         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7244         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7245         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7246         make extern.
7247         (x86_use_watchpoints): Delete.
7248         * x86-nat.h: Include "breakpoint.h" and "target.h".
7249         (x86_use_watchpoints): Delete.
7250         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7251         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7252         (x86_insert_watchpoint, x86_remove_watchpoint)
7253         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7254         (x86_stopped_by_hw_breakpoint): New declarations.
7255         (x86_nat_target): New template class.
7256
7257         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7258         (the_ppc_linux_nat_target): New.
7259         (ppc_linux_fetch_inferior_registers)
7260         (ppc_linux_can_use_hw_breakpoint)
7261         (ppc_linux_region_ok_for_hw_watchpoint)
7262         (ppc_linux_ranged_break_num_registers)
7263         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7264         (ppc_linux_insert_mask_watchpoint)
7265         (ppc_linux_remove_mask_watchpoint)
7266         (ppc_linux_can_accel_watchpoint_condition)
7267         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7268         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7269         (ppc_linux_watchpoint_addr_within_range)
7270         (ppc_linux_masked_watch_num_registers)
7271         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7272         (ppc_linux_read_description): Refactor as methods of
7273         ppc_linux_nat_target.
7274         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7275
7276         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7277         (procfs_target): New class.
7278         (the_procfs_target): New.
7279         (procfs_target): Delete function.
7280         (procfs_auxv_parse, procfs_attach, procfs_detach)
7281         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7282         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7283         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7284         (procfs_create_inferior, procfs_update_thread_list)
7285         (procfs_thread_alive, procfs_pid_to_str)
7286         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7287         (procfs_stopped_data_address, procfs_insert_watchpoint)
7288         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7289         (proc_find_memory_regions, procfs_info_proc)
7290         (procfs_make_note_section): Refactor as methods of procfs_target.
7291         (_initialize_procfs): Adjust.
7292         * sol-thread.c (sol_thread_target): New class.
7293         (sol_thread_ops): Now a sol_thread_target.
7294         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7295         (sol_thread_fetch_registers, sol_thread_store_registers)
7296         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7297         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7298         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7299         (init_sol_thread_ops): Delete.
7300         (_initialize_sol_thread): Adjust.  Remove references to
7301         init_sol_thread_ops and complete_target_initialization.
7302
7303         * windows-nat.c (windows_nat_target): New class.
7304         (windows_fetch_inferior_registers)
7305         (windows_store_inferior_registers, windows_resume, windows_wait)
7306         (windows_attach, windows_detach, windows_pid_to_exec_file)
7307         (windows_files_info, windows_create_inferior)
7308         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7309         (windows_close, windows_pid_to_str, windows_xfer_partial)
7310         (windows_get_tib_address, windows_get_ada_task_ptid)
7311         (windows_thread_name, windows_thread_alive): Refactor as
7312         windows_nat_target methods.
7313         (do_initial_windows_stuff): Adjust.
7314         (windows_target): Delete function.
7315         (_initialize_windows_nat): Adjust.
7316
7317         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7318         (darwin_mourn_inferior, darwin_kill_inferior)
7319         (darwin_create_inferior, darwin_attach, darwin_detach)
7320         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7321         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7322         (darwin_supports_multi_process): Refactor as darwin_nat_target
7323         methods.
7324         (darwin_resume_to, darwin_files_info): Delete.
7325         (_initialize_darwin_inferior): Rename to ...
7326         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7327         * darwin-nat.h: Include "inf-child.h".
7328         (darwin_nat_target): New class.
7329         (darwin_complete_target): Delete.
7330         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7331         (darwin_target): New.
7332         (i386_darwin_fetch_inferior_registers)
7333         (i386_darwin_store_inferior_registers): Refactor as methods of
7334         darwin_nat_target.
7335         (darwin_complete_target): Delete, with ...
7336         (_initialize_i386_darwin_nat): ... bits factored out here.
7337
7338         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7339         (the_alpha_linux_nat_target): New.
7340         (alpha_linux_register_u_offset): Refactor as
7341         alpha_linux_nat_target method.
7342         (_initialize_alpha_linux_nat): Adjust.
7343         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7344         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7345         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7346         methods of linux_nat_trad_target.
7347         (linux_trad_target): Delete.
7348         * linux-nat-trad.h (linux_trad_target): Delete function.
7349         (linux_nat_trad_target): New class.
7350         * mips-linux-nat.c (mips_linux_nat_target): New class.
7351         (super_fetch_registers, super_store_registers, super_close):
7352         Delete.
7353         (the_mips_linux_nat_target): New.
7354         (mips64_linux_regsets_fetch_registers)
7355         (mips64_linux_regsets_store_registers)
7356         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7357         (mips_linux_register_u_offset, mips_linux_read_description)
7358         (mips_linux_can_use_hw_breakpoint)
7359         (mips_linux_stopped_by_watchpoint)
7360         (mips_linux_stopped_data_address)
7361         (mips_linux_region_ok_for_hw_watchpoint)
7362         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7363         (mips_linux_close): Refactor as methods of mips_linux_nat.
7364         (_initialize_mips_linux_nat): Adjust to C++ification.
7365
7366         * aix-thread.c (aix_thread_target): New class.
7367         (aix_thread_ops): Now an aix_thread_target.
7368         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7369         (aix_thread_fetch_registers, aix_thread_store_registers)
7370         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7371         (aix_thread_thread_alive, aix_thread_pid_to_str)
7372         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7373         Refactor as methods of aix_thread_target.
7374         (init_aix_thread_ops): Delete.
7375         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7376         and complete_target_initialization.
7377         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7378         (rs6000_nat_target): New class.
7379         (the_rs6000_nat_target): New.
7380         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7381         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7382         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7383         (super_create_inferior): Delete.
7384         (_initialize_rs6000_nat): Adjust to C++ification.
7385
7386         * arm-linux-nat.c (arm_linux_nat_target): New class.
7387         (the_arm_linux_nat_target): New.
7388         (arm_linux_fetch_inferior_registers)
7389         (arm_linux_store_inferior_registers, arm_linux_read_description)
7390         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7391         (arm_linux_remove_hw_breakpoint)
7392         (arm_linux_region_ok_for_hw_watchpoint)
7393         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7394         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7395         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7396         arm_linux_nat_target.
7397         (_initialize_arm_linux_nat): Adjust to C++ification.
7398
7399         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7400         (the_aarch64_linux_nat_target): New.
7401         (aarch64_linux_fetch_inferior_registers)
7402         (aarch64_linux_store_inferior_registers)
7403         (aarch64_linux_child_post_startup_inferior)
7404         (aarch64_linux_read_description)
7405         (aarch64_linux_can_use_hw_breakpoint)
7406         (aarch64_linux_insert_hw_breakpoint)
7407         (aarch64_linux_remove_hw_breakpoint)
7408         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7409         (aarch64_linux_region_ok_for_hw_watchpoint)
7410         (aarch64_linux_stopped_data_address)
7411         (aarch64_linux_stopped_by_watchpoint)
7412         (aarch64_linux_watchpoint_addr_within_range)
7413         (aarch64_linux_can_do_single_step): Refactor as methods of
7414         aarch64_linux_nat_target.
7415         (super_post_startup_inferior): Delete.
7416         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7417
7418         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7419         (the_hppa_linux_nat_target): New.
7420         (hppa_linux_fetch_inferior_registers)
7421         (hppa_linux_store_inferior_registers): Refactor as methods of
7422         hppa_linux_nat_target.
7423         (_initialize_hppa_linux_nat): Adjust to C++ification.
7424
7425         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7426         (the_ia64_linux_nat_target): New.
7427         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7428         (ia64_linux_stopped_data_address)
7429         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7430         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7431         ia64_linux_nat_target methods.
7432         (super_xfer_partial): Delete.
7433         (_initialize_ia64_linux_nat): Adjust to C++ification.
7434
7435         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7436         (the_m32r_linux_nat_target): New.
7437         (m32r_linux_fetch_inferior_registers)
7438         (m32r_linux_store_inferior_registers): Refactor as
7439         m32r_linux_nat_target methods.
7440         (_initialize_m32r_linux_nat): Adjust to C++ification.
7441
7442         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7443         (the_m68k_linux_nat_target): New.
7444         (m68k_linux_fetch_inferior_registers)
7445         (m68k_linux_store_inferior_registers): Refactor as
7446         m68k_linux_nat_target methods.
7447         (_initialize_m68k_linux_nat): Adjust to C++ification.
7448
7449         * s390-linux-nat.c (s390_linux_nat_target): New class.
7450         (the_s390_linux_nat_target): New.
7451         (s390_linux_fetch_inferior_registers)
7452         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7453         (s390_insert_watchpoint, s390_remove_watchpoint)
7454         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7455         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7456         (s390_auxv_parse, s390_read_description): Refactor as methods of
7457         s390_linux_nat_target.
7458         (_initialize_s390_nat): Adjust to C++ification.
7459
7460         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7461         (the_sparc_linux_nat_target): New.
7462         (_initialize_sparc_linux_nat): Adjust to C++ification.
7463         * sparc-nat.c (sparc_fetch_inferior_registers)
7464         (sparc_store_inferior_registers): Remove target_ops parameter.
7465         * sparc-nat.h (sparc_fetch_inferior_registers)
7466         (sparc_store_inferior_registers): Remove target_ops parameter.
7467         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7468         (the_sparc64_linux_nat_target): New.
7469         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7470
7471         * spu-linux-nat.c (spu_linux_nat_target): New class.
7472         (the_spu_linux_nat_target): New.
7473         (spu_child_post_startup_inferior, spu_child_post_attach)
7474         (spu_child_wait, spu_fetch_inferior_registers)
7475         (spu_store_inferior_registers, spu_xfer_partial)
7476         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7477         methods.
7478         (_initialize_spu_nat): Adjust to C++ification.
7479
7480         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7481         (the_tilegx_linux_nat_target): New.
7482         (fetch_inferior_registers, store_inferior_registers):
7483         Refactor as methods.
7484         (_initialize_tile_linux_nat): Adjust to C++ification.
7485
7486         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7487         (the_xtensa_linux_nat_target): New.
7488         (xtensa_linux_fetch_inferior_registers)
7489         (xtensa_linux_store_inferior_registers): Refactor as
7490         xtensa_linux_nat_target methods.
7491         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7492
7493         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7494         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7495         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7496         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7497         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7498         (fbsd_stopped_by_sw_breakpoint)
7499         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7500         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7501         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7502         (fbsd_post_startup_inferior, fbsd_post_attach)
7503         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7504         (fbsd_set_syscall_catchpoint)
7505         (super_xfer_partial, super_resume, super_wait)
7506         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7507         (fbsd_handle_debug_trap): Remove target_ops parameter.
7508         (fbsd_nat_add_target): Delete.
7509         * fbsd-nat.h: Include "inf-ptrace.h".
7510         (fbsd_nat_add_target): Delete.
7511         (USE_SIGTRAP_SIGINFO): Define.
7512         (fbsd_nat_target): New class.
7513
7514         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7515         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7516         (amd64bsd_target): Delete.
7517         * amd64-bsd-nat.h: New file.
7518         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7519         "x86-bsd-nat.h".
7520         (amd64_fbsd_nat_target): New class.
7521         (the_amd64_fbsd_nat_target): New.
7522         (amd64fbsd_read_description): Refactor as method of
7523         amd64_fbsd_nat_target.
7524         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7525         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7526         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7527         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7528         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7529         (i386bsd_target): Delete.
7530         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7531         (i386bsd_fetch_inferior_registers)
7532         (i386bsd_store_inferior_registers): Declare.
7533         (i386_bsd_nat_target): New class.
7534         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7535         (the_i386_fbsd_nat_target): New.
7536         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7537         i386_fbsd_nat_target methods.
7538         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7539         (_initialize_i386fbsd_nat): Adjust to C++ification.
7540         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7541         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7542         (_initialize_x86_bsd_nat): Adjust to C++ification.
7543         * x86-bsd-nat.h: Include "x86-nat.h".
7544         (x86bsd_target): Delete declaration.
7545         (x86bsd_nat_target): New class.
7546
7547         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7548         (the_aarch64_fbsd_nat_target): New.
7549         (aarch64_fbsd_fetch_inferior_registers)
7550         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7551         aarch64_fbsd_nat_target.
7552         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7553         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7554         (the_alpha_bsd_nat_target): New.
7555         (alphabsd_fetch_inferior_registers)
7556         (alphabsd_store_inferior_registers): Refactor as
7557         alpha_bsd_nat_target methods.
7558         (_initialize_alphabsd_nat): Refactor as methods of
7559         alpha_bsd_nat_target.
7560         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7561         (the_amd64_nbsd_nat_target): New.
7562         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7563         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7564         (the_amd64_obsd_nat_target): New.
7565         (_initialize_amd64obsd_nat): Adjust to C++ification.
7566         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7567         (the_arm_fbsd_nat_target): New.
7568         (arm_fbsd_fetch_inferior_registers)
7569         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7570         (_initialize_arm_fbsd_nat): Refactor as methods of
7571         arm_fbsd_nat_target.
7572         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7573         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7574         (the_arm_netbsd_nat_target): New.
7575         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7576         arm_netbsd_nat_target.
7577         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7578         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7579         (the_hppa_nbsd_nat_target): New.
7580         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7581         hppa_nbsd_nat_target methods.
7582         (_initialize_hppanbsd_nat): Adjust to C++ification.
7583         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7584         (the_hppa_obsd_nat_target): New.
7585         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7586         methods of hppa_obsd_nat_target.
7587         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7588         add_target.
7589         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7590         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7591         add_target.
7592         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7593         (_initialize_i386obsd_nat): Use add_target.
7594         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7595         (the_m68k_bsd_nat_target): New.
7596         (m68kbsd_fetch_inferior_registers)
7597         (m68kbsd_store_inferior_registers): Refactor as methods of
7598         m68k_bsd_nat_target.
7599         (_initialize_m68kbsd_nat): Adjust to C++ification.
7600         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7601         (the_mips_fbsd_nat_target): New.
7602         (mips_fbsd_fetch_inferior_registers)
7603         (mips_fbsd_store_inferior_registers): Refactor as methods of
7604         mips_fbsd_nat_target.
7605         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7606         add_target.
7607         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7608         (the_mips_nbsd_nat_target): New.
7609         (mipsnbsd_fetch_inferior_registers)
7610         (mipsnbsd_store_inferior_registers): Refactor as methods of
7611         mips_nbsd_nat_target.
7612         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7613         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7614         (the_mips64_obsd_nat_target): New.
7615         (mips64obsd_fetch_inferior_registers)
7616         (mips64obsd_store_inferior_registers): Refactor as methods of
7617         mips64_obsd_nat_target.
7618         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7619         add_target.
7620         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7621         nbsd_nat_target.
7622         * nbsd-nat.h: Include "inf-ptrace.h".
7623         (nbsd_nat_target): New class.
7624         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7625         (obsd_wait): Refactor as methods of obsd_nat_target.
7626         (obsd_add_target): Delete.
7627         * obsd-nat.h: Include "inf-ptrace.h".
7628         (obsd_nat_target): New class.
7629         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7630         (the_ppc_fbsd_nat_target): New.
7631         (ppcfbsd_fetch_inferior_registers)
7632         (ppcfbsd_store_inferior_registers): Refactor as methods of
7633         ppc_fbsd_nat_target.
7634         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7635         add_target.
7636         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7637         (the_ppc_nbsd_nat_target): New.
7638         (ppcnbsd_fetch_inferior_registers)
7639         (ppcnbsd_store_inferior_registers): Refactor as methods of
7640         ppc_nbsd_nat_target.
7641         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7642         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7643         (the_ppc_obsd_nat_target): New.
7644         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7645         methods of ppc_obsd_nat_target.
7646         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7647         add_target.
7648         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7649         (the_sh_nbsd_nat_target): New.
7650         (shnbsd_fetch_inferior_registers)
7651         (shnbsd_store_inferior_registers): Refactor as methods of
7652         sh_nbsd_nat_target.
7653         (_initialize_shnbsd_nat): Adjust to C++ification.
7654         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7655         (inf_ptrace_xfer_partial): Delete.
7656         (sparc_xfer_partial, sparc_target): Delete.
7657         * sparc-nat.h (sparc_fetch_inferior_registers)
7658         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7659         (sparc_target): Delete function declaration.
7660         (sparc_target): New template class.
7661         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7662         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7663         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7664         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7665         add_target.
7666         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7667         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7668         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7669         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7670         add_target.
7671         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7672         (the_vax_bsd_nat_target): New.
7673         (vaxbsd_fetch_inferior_registers)
7674         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7675         methods.
7676         (_initialize_vaxbsd_nat): Adjust to C++ification.
7677
7678         * bsd-kvm.c (bsd_kvm_target): New class.
7679         (bsd_kvm_ops): Now a bsd_kvm_target.
7680         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7681         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7682         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7683         bsd_kvm_target.
7684         (bsd_kvm_return_one): Delete.
7685         (bsd_kvm_add_target): Adjust to C++ification.
7686
7687         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7688         (nto_procfs_target_procfs): New classes.
7689         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7690         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7691         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7692         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7693         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7694         (procfs_remove_hw_breakpoint, procfs_resume)
7695         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7696         (procfs_kill_inferior, procfs_store_registers)
7697         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7698         as methods of nto_procfs_target.
7699         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7700         (nto_native_ops): Delete.
7701         (procfs_open, procfs_native_open): Delete.
7702         (nto_native_ops): Now an nto_procfs_target_native.
7703         (init_procfs_targets): Adjust to C++ification.
7704         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7705         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7706         Refactor as methods of nto_procfs_target.
7707
7708         * go32-nat.c (go32_nat_target): New class.
7709         (the_go32_nat_target): New.
7710         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7711         (go32_store_registers, go32_xfer_partial, go32_files_info)
7712         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7713         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7714         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7715         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7716         (go32_target): Delete.
7717         (_initialize_go32_nat): Adjust to C++ification.
7718
7719         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7720         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7721         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7722         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7723         gnu_nat_target.
7724         (gnu_target): Delete.
7725         * gnu-nat.h (gnu_target): Delete.
7726         (gnu_nat_target): New class.
7727         * i386-gnu-nat.c (gnu_base_target): New.
7728         (i386_gnu_nat_target): New class.
7729         (the_i386_gnu_nat_target): New.
7730         (_initialize_i386gnu_nat): Adjust to C++ification.
7731
7732 2018-05-02  Pedro Alves  <palves@redhat.com>
7733
7734         * bfd-target.c (target_bfd_xclose): Rename to ...
7735         (target_bfd_close): ... this.
7736         (target_bfd_reopen): Adjust.
7737         * target.c (target_close): Remove references to to_xclose.
7738         * target.h (target_ops::to_xclose): Delete.
7739         (target_ops::to_close): Update comments.
7740
7741 2018-05-02  Pedro Alves  <palves@redhat.com>
7742
7743         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7744         "linux-nat.h".
7745         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7746         * inf-ptrace.c (inf_ptrace_register_u_offset)
7747         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7748         (inf_ptrace_store_register, inf_ptrace_store_registers)
7749         (inf_ptrace_trad_target): Move to ...
7750         * linux-nat-trad.c: ... this new file.
7751         * linux-nat-trad.h: New file.
7752         * linux-nat.c (linux_target_install_ops): Make extern.
7753         (linux_trad_target): Delete.
7754         * linux-nat.h (linux_trad_target): Delete declaration.
7755         (linux_target_install_ops): Declare.
7756         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7757         "linux-nat.h".
7758
7759 2018-05-02  Pedro Alves  <palves@redhat.com>
7760
7761         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7762         procfs_target/add_target here.
7763         * procfs.c (procfs_target): Make static.
7764         (_initialize_procfs): Call add_target here.
7765         * procfs.h (struct target_ops): Remove forward declaration.
7766         (procfs_target): Remove declaration.
7767         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7768
7769 2018-05-02  Pedro Alves  <palves@redhat.com>
7770
7771         * procfs.c (procfs_stopped_by_watchpoint)
7772         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7773         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7774         Forward declare.
7775         (procfs_use_watchpoints): Delete, move contents...
7776         (procfs_target): ... here.
7777         * procfs.h (procfs_use_watchpoints): Delete declaration.
7778         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7779         procfs_use_watchpoints.
7780         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7781         procfs_use_watchpoints.
7782
7783 2018-05-02  Tom Tromey  <tom@tromey.com>
7784
7785         PR python/20084:
7786         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7787         and var_zuinteger_unlimited.
7788         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7789         and PARAM_ZUINTEGER_UNLIMITED.
7790         (set_parameter_value): Handle var_zuinteger and
7791         var_zuinteger_unlimited.
7792         (add_setshow_generic): Likewise.
7793         (parmpy_init): Likewise.
7794
7795 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7796
7797         PR rust/23124
7798         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7799         pointer is not null before dereferencing it.
7800
7801 2018-04-30  Tom Tromey  <tom@tromey.com>
7802
7803         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7804         is_mi_like_p.
7805
7806 2018-04-30  Tom Tromey  <tom@tromey.com>
7807
7808         * breakpoint.c (mention): Remove use of is_mi_like_p.
7809         (print_mention_ranged_breakpoint): Likewise.
7810         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
7811         of is_mi_like_p.
7812
7813 2018-04-30  Tom Tromey  <tom@tromey.com>
7814
7815         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
7816
7817 2018-04-30  Tom Tromey  <tom@tromey.com>
7818
7819         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
7820         (info_spu_event_command): Remove some uses of is_mi_like_p.
7821
7822 2018-04-30  Tom Tromey  <tom@tromey.com>
7823
7824         * python/py-framefilter.c (py_print_single_arg)
7825         (enumerate_locals, py_print_args, py_print_frame): Remove some
7826         uses of is_mi_like_p.
7827
7828 2018-04-30  Tom Tromey  <tom@tromey.com>
7829
7830         * ui-out.c: Update.
7831         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
7832         * ui-out.h (ui_out::is_mi_like_p): Now const.
7833         (ui_out::do_is_mi_like_p): Now const.
7834         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
7835
7836 2018-04-30  Tom Tromey  <tom@tromey.com>
7837
7838         * varobj.c (varobj_set_visualizer): Use new_reference.
7839         * python/python.c (gdbpy_decode_line): Use new_reference.
7840         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
7841         new_reference.
7842
7843 2018-04-30  Tom Tromey  <tom@tromey.com>
7844
7845         * varobj.c (install_new_value): Use new_reference.
7846         * value.h (value_incref): Return void.  Swap intro comment with
7847         value_decref.
7848         * value.c (set_value_parent): Use new_reference.
7849         (value_incref): Return void.  Update intro comment.
7850         (release_value): Use new_reference.
7851         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7852
7853 2018-04-30  Tom Tromey  <tom@tromey.com>
7854
7855         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7856         * gdb_bfd.h (new_bfd_ref): Remove.
7857         (gdb_bfd_open): Update comment.
7858         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7859         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7860         (gdb_bfd_fdopenr): Use new_reference.
7861         * exec.c (exec_file_attach): Use new_reference.
7862
7863 2018-04-30  Tom Tromey  <tom@tromey.com>
7864
7865         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7866         method.
7867
7868 2018-04-30  Tom Tromey  <tom@tromey.com>
7869
7870         * jit.c (jit_read_code_entry): Use type_align.
7871         * i386-tdep.c (i386_gdbarch_init): Don't call
7872         set_gdbarch_long_long_align_bit.
7873         * gdbarch.sh: Remove long_long_align_bit.
7874         * gdbarch.c, gdbarch.h: Rebuild.
7875         * arc-tdep.c (arc_type_align): New function.
7876         (arc_gdbarch_init): Use arc_type_align.  Don't call
7877         set_gdbarch_long_long_align_bit.
7878
7879 2018-04-30  Tom Tromey  <tom@tromey.com>
7880
7881         * rust-lang.c (rust_type_alignment): Remove.
7882         (rust_composite_type): Use type_align.
7883
7884 2018-04-30  Tom Tromey  <tom@tromey.com>
7885
7886         * NEWS: Mention Type.align.
7887         * python/py-type.c (typy_get_alignof): New function.
7888         (type_object_getset): Add "alignof".
7889
7890 2018-04-30  Tom Tromey  <tom@tromey.com>
7891
7892         PR exp/17095:
7893         * NEWS: Update.
7894         * std-operator.def (UNOP_ALIGNOF): New operator.
7895         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7896         New.
7897         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7898         * c-lang.c (c_op_print_tab): Add alignof.
7899         * c-exp.y (ALIGNOF): New token.
7900         (exp): Add "ALIGNOF" production.
7901         (ident_tokens): Add _Alignof and alignof.
7902
7903 2018-04-30  Tom Tromey  <tom@tromey.com>
7904
7905         * i386-tdep.c (i386_type_align): New function.
7906         (i386_gdbarch_init): Update.
7907         * gdbarch.sh (type_align): New method.
7908         * gdbarch.c, gdbarch.h: Rebuild.
7909         * arch-utils.h (default_type_align): Declare.
7910         * arch-utils.c (default_type_align): New function.
7911         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7912         (struct type) <align_log2>: New field.
7913         <instance_flags>: Now a bitfield.
7914         (TYPE_RAW_ALIGN): New macro.
7915         (type_align, type_raw_align, set_type_align): Declare.
7916         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7917         functions.
7918         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7919         (get_alignment, maybe_set_alignment): New functions.
7920         (read_structure_type, read_enumeration_type, read_array_type)
7921         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7922         (read_subrange_type, read_base_type): Set type alignment.
7923
7924 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7925
7926         * dwarf2read.c (read_index_from_section): Use bool.
7927
7928 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7929
7930         PR gdb/22950
7931         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7932         with #ifdef.
7933
7934 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7935
7936         PR build/22873
7937         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7938         last step, and do it atomically.
7939
7940 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7941
7942         * compile/compile-c-types.c (convert_int, convert_float):
7943         Update for C FE v1.
7944
7945 2018-04-27  Tom Tromey  <tom@tromey.com>
7946
7947         PR rust/22545:
7948         * rust-lang.c (rust_inclusive_range_type_p): New function.
7949         (rust_range): Handle inclusive ranges.
7950         (rust_compute_range): Likewise.
7951         * rust-exp.y (struct rust_op) <inclusive>: New field.
7952         (DOTDOTEQ): New constant.
7953         (range_expr): Add "..=" productions.
7954         (operator_tokens): Add "..=" token.
7955         (ast_range): Add "inclusive" parameter.
7956         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7957         ranges.
7958         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7959         bounds values.
7960         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7961         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7962         Update comments.
7963         * expprint.c (print_subexp_standard): Handle new bounds values.
7964         (dump_subexp_body_standard): Likewise.
7965
7966 2018-04-27  Tom Tromey  <tom@tromey.com>
7967
7968         * configure: Rebuild.
7969         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7970         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7971         "OVERRIDE".
7972         (class symbol_needs_eval_context): Likewise.
7973         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7974         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7975         "virtual".
7976         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7977         "override".
7978         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7979         * aarch64-tdep.c (instruction_reader::read): Use "override".
7980         (instruction_reader_test::read): Likewise.
7981         * arm-tdep.c (instruction_reader::read): Use "override".
7982         (instruction_reader_thumb::read): Likewise.
7983
7984 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7985
7986         PR remote/9665
7987         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7988         instead of remote_send.
7989         (remote_send): Remove.
7990
7991 2018-04-26  Pedro Alves  <palves@redhat.com>
7992
7993         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7994         find_function_start_sal instead of find_pc_line.
7995
7996 2018-04-26  Pedro Alves  <palves@redhat.com>
7997
7998         * breakpoint.c (set_breakpoint_location_function): Handle
7999         mst_data_gnu_ifunc.
8000         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8001         * elfread.c (elf_symtab_read): Give data symbols with
8002         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8003         (elf_rel_plt_read): Update comment.
8004         * linespec.c (convert_linespec_to_sals): Handle
8005         mst_data_gnu_ifunc.
8006         (minsym_found): Handle mst_data_gnu_ifunc.
8007         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
8008         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
8009         * parse.c (find_minsym_type_and_address): Handle
8010         mst_data_gnu_ifunc.
8011         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
8012         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
8013         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
8014         comment.
8015         <mst_data_gnu_ifunc>: New enumerator.
8016
8017 2018-04-26  Pedro Alves  <palves@redhat.com>
8018
8019         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
8020         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
8021         'want_trampoline' parameter by a lookup_msym_prefer parameter.
8022         Handle it.
8023         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8024         (lookup_minimal_symbol_by_pc): Adjust.
8025         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8026         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8027         * minsyms.h (lookup_msym_prefer): New enum.
8028         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8029         parameter by a lookup_msym_prefer parameter.
8030
8031 2018-04-26  Pedro Alves  <palves@redhat.com>
8032
8033         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8034         ends in "@plt" instead of looking at the symbol's section.
8035
8036 2018-04-26  Pedro Alves  <palves@redhat.com>
8037
8038         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8039         all references.
8040         (find_pc_partial_function_gnu_ifunc): Rename to ...
8041         (find_pc_partial_function): ... this, and remove references to
8042         'is_gnu_ifunc_p'.
8043         (find_pc_partial_function): Delete old implementation.
8044         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8045
8046 2018-04-26  Pedro Alves  <palves@redhat.com>
8047
8048         * linespec.c (struct bound_minimal_symbol_search_key): New.
8049         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8050         skip first line if we found a GNU ifunc minimal symbol by name.
8051         (compare_msymbols): Change parameters to work with a destructured
8052         lhs minsym.
8053         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8054         functions.
8055
8056 2018-04-26  Pedro Alves  <palves@redhat.com>
8057
8058         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8059         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8060         address/name.
8061         (add_location_to_breakpoint): Store the minsym and the objfile in
8062         the breakpoint location.
8063         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8064         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8065         Record the minsym in the sal.
8066         * symtab.h (symtab_and_line) <msymbol>: New field.
8067
8068 2018-04-26  Pedro Alves  <palves@redhat.com>
8069
8070         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8071         unless we actually resolved the ifunc.
8072
8073 2018-04-26  Pedro Alves  <palves@redhat.com>
8074
8075         * c-exp.y (variable production): Prefer ifunc minsyms over
8076         regular function symbols.
8077         * symtab.c (find_gnu_ifunc): New function.
8078         * minsyms.h (lookup_msym_prefer): New enum.
8079         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8080         parameter by a lookup_msym_prefer parameter.
8081         * symtab.h (find_gnu_ifunc): New declaration.
8082
8083 2018-04-26  Pedro Alves  <palves@redhat.com>
8084
8085         * blockframe.c (find_gnu_ifunc_target_type): New function.
8086         (find_function_type): New.
8087         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8088         return a value with a memory address.
8089         (eval_call): For calls to GNU ifunc functions, try to find the
8090         type of the target function from the type that the resolver
8091         returns.
8092         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8093         symbols.
8094         * infcall.c (find_function_return_type): Delete.
8095         (find_function_addr): Add 'function_type' parameter.  For calls to
8096         GNU ifunc functions, try to find the type of the target function
8097         from the type that the resolver returns, and return it via
8098         FUNCTION_TYPE.
8099         (call_function_by_hand_dummy): Adjust to use the function type
8100         returned by find_function_addr.
8101         (find_function_addr): Add 'function_type' parameter and move
8102         description here.
8103         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8104         declarations.
8105
8106 2018-04-26  Pedro Alves  <palves@redhat.com>
8107
8108         * c-exp.y (variable production): Skip finding an alias for ifunc
8109         symbols.
8110
8111 2018-04-26  Pedro Alves  <palves@redhat.com>
8112
8113         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8114
8115 2018-04-25  Pedro Alves  <palves@redhat.com>
8116
8117         * infcmd.c (kill_command): Print the pid as string, not the whole
8118         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8119         message.
8120         * remote.c (remote_detach_1): Print the pid as string, not the
8121         whole thread's ptid.
8122
8123 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8124             Sergio Durigan Junior  <sergiodj@redhat.com>
8125             Pedro Alves  <palves@redhat.com>
8126
8127         * infcmd.c (kill_command): Print message when inferior has
8128         been killed.
8129         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8130         '1'.
8131         (add_inferior): Improve message printed when
8132         'print_inferior_events' is on.
8133         (exit_inferior): Remove message printed when
8134         'print_inferior_events' is on.
8135         (detach_inferior): Improve message printed when
8136         'print_inferior_events' is on.
8137         (initialize_inferiors): Use 'add_inferior_silent' to set
8138         'current_inferior_'.
8139         * inferior.h (print_inferior_events): Declare here as
8140         'extern'.
8141         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8142         '[Detaching...]' messages when 'print_inferior_events' is on.
8143         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8144         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8145         'Detaching after fork from child...', replace it by '... from
8146         parent...'.
8147         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8148         prefix/suffix when printing 'Detaching...' messages.  Print
8149         them when 'print_inferior_events' is on.
8150         * remote.c (remote_detach_1): Print message when detaching
8151         from inferior and '!is_fork_parent'.
8152
8153 2018-04-24  Tom Tromey  <tom@tromey.com>
8154
8155         * cli-out.h: Reindent.
8156
8157 2018-04-24  Tom Tromey  <tom@tromey.com>
8158
8159         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8160         (cli_ui_out::do_field_string): Use fputs_filtered.
8161         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8162
8163 2018-04-23  Tom Tromey  <tom@tromey.com>
8164
8165         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8166         gdb::unique_xmalloc_ptr.
8167
8168 2018-04-23  Tom Tromey  <tom@tromey.com>
8169
8170         * configure: Rebuild.
8171
8172 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8173
8174         PR gdb/23095
8175         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8176         prepare_for_testing.  Set normal_bp to r_debug_state if target
8177         is bsd.
8178
8179 2018-04-21  Pedro Alves  <palves@redhat.com>
8180             Rajendra SY  <rajendra.sy@gmail.com>
8181
8182         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8183         * remote.c (extended_remote_attach): In all-stop mode, mark the
8184         thread as executing.
8185
8186 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8187
8188         * thread.c (thread_apply_all_command): Fix comment.
8189         (thread_command): Fix comment.
8190
8191 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8192
8193         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8194         parameter.
8195         * features/aarch64-core.c (create_feature_aarch64_core):
8196         Regenerate.
8197         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8198         Likewise.
8199         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8200         Likewise.
8201         * features/i386/32bit-avx512.c
8202         (create_feature_i386_32bit_avx512): Likewise.
8203         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8204         Likewise.
8205         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8206         Likewise.
8207         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8208         Likewise.
8209         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8210         Likewise.
8211         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8212         Likewise.
8213         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8214         Likewise.
8215         * features/i386/64bit-avx512.c
8216         (create_feature_i386_64bit_avx512): Likewise.
8217         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8218         Likewise.
8219         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8220         Likewise.
8221         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8222         Likewise.
8223         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8224         Likewise.
8225         * features/i386/64bit-segments.c
8226         (create_feature_i386_64bit_segments): Likewise.
8227         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8228         Likewise.
8229         * features/i386/x32-core.c
8230         (create_feature_i386_x32_core): Likewise.
8231         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8232         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8233         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8234         * target-descriptions.c: In generated code, don't pass xml
8235         filename.
8236
8237 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8238
8239         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8240         (print_xml_feature::visit_post): Likewise.
8241         (print_xml_feature::visit): Likewise.
8242         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8243         (print_xml_feature): Add new class.
8244         * regformats/regdat.sh: Null xmltarget on feature targets.
8245         * target-descriptions.c (struct target_desc): Add xmltarget.
8246         (maintenance_check_tdesc_xml_convert): Add unittest function.
8247         (tdesc_get_features_xml): Add function to get xml.
8248         (maintenance_check_xml_descriptions): Test xml generation.
8249         * xml-tdesc.c (string_read_description_xml): Add function.
8250         * xml-tdesc.h (string_read_description_xml): Add declaration.
8251
8252 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8253
8254         * features/Makefile: Add feature marker to targets with new style
8255         target descriptions.
8256         * regformats/aarch64.dat: Regenerate.
8257         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8258         * regformats/i386/amd64-avx-linux.dat: Likewise.
8259         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8260         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8261         * regformats/i386/amd64-linux.dat: Likewise.
8262         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8263         * regformats/i386/amd64.dat: Likewise.
8264         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8265         * regformats/i386/i386-avx-linux.dat: Likewise.
8266         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8267         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8268         * regformats/i386/i386-linux.dat: Likewise.
8269         * regformats/i386/i386-mmx-linux.dat: Likewise.
8270         * regformats/i386/i386-mpx-linux.dat: Likewise.
8271         * regformats/i386/i386.dat: Likewise.
8272         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8273         * regformats/i386/x32-avx-linux.dat: Likewise.
8274         * regformats/i386/x32-linux.dat: Likewise.
8275         * regformats/tic6x-c62x-linux.dat: Likewise.
8276         * regformats/tic6x-c64x-linux.dat: Likewise.
8277         * regformats/tic6x-c64xp-linux.dat: Likewise.
8278         * regformats/regdat.sh: Parse feature marker.
8279
8280 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8281
8282         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8283         (tdesc_osabi_name): Likewise.
8284         * target-descriptions.c (tdesc_architecture_name): Add new
8285         function.
8286         (tdesc_osabi_name): Likewise.
8287
8288 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8289
8290         * common/tdesc.c (tdesc_predefined_type): Move to here.
8291         (tdesc_named_type): Likewise.
8292         (tdesc_create_vector): Likewise.
8293         (tdesc_create_struct): Likewise.
8294         (tdesc_set_struct_size): Likewise.
8295         (tdesc_create_union): Likewise.
8296         (tdesc_create_flags): Likewise.
8297         (tdesc_create_enum): Likewise.
8298         (tdesc_add_field): Likewise.
8299         (tdesc_add_typed_bitfield): Likewise.
8300         (tdesc_add_bitfield): Likewise.
8301         (tdesc_add_flag): Likewise.
8302         (tdesc_add_enum_value): Likewise.
8303         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8304         (struct tdesc_type_vector): Likewise.
8305         (struct tdesc_type_field): Likewise.
8306         (struct tdesc_type_with_fields): Likewise.
8307         (tdesc_create_enum): Add declaration.
8308         (tdesc_add_typed_bitfield): Likewise.
8309         (tdesc_add_enum_value): Likewise.
8310         * target-descriptions.c (tdesc_type_field): Move from here.
8311         (tdesc_type_builtin): Likewise.
8312         (tdesc_type_vector): Likewise.
8313         (tdesc_type_with_fields): Likewise.
8314         (tdesc_predefined_types): Likewise.
8315         (tdesc_named_type): Likewise.
8316         (tdesc_create_vector): Likewise.
8317         (tdesc_create_struct): Likewise.
8318         (tdesc_set_struct_size): Likewise.
8319         (tdesc_create_union): Likewise.
8320         (tdesc_create_flags): Likewise.
8321         (tdesc_create_enum): Likewise.
8322         (tdesc_add_field): Likewise.
8323         (tdesc_add_typed_bitfield): Likewise.
8324         (tdesc_add_bitfield): Likewise.
8325         (tdesc_add_flag): Likewise.
8326         (tdesc_add_enum_value): Likewise.
8327         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8328         (tdesc_add_typed_bitfield): Likewise.
8329         (tdesc_add_enum_value): Likewise.
8330
8331 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8332
8333         * common/tdesc.c (tdesc_feature::accept): Move to here.
8334         (tdesc_feature::operator==): Likewise.
8335         (tdesc_create_reg): Likewise.
8336         * common/tdesc.h (tdesc_type_kind): Likewise.
8337         (struct tdesc_type): Likewise.
8338         (struct tdesc_feature): Likewise.
8339         * regformats/regdat.sh: Create a feature.
8340         * target-descriptions.c (tdesc_type_kind): Move from here.
8341         (tdesc_type): Likewise.
8342         (tdesc_type_up): Likewise.
8343         (tdesc_feature): Likewise.
8344         (tdesc_create_reg): Likewise.
8345
8346 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8347
8348         * Makefile.in: Add arch/tdesc.c
8349         * common/tdesc.c: New file.
8350         * common/tdesc.h (tdesc_element_visitor): Move to here.
8351         (tdesc_element): Likewise.
8352         (tdesc_reg): Likewise.
8353         (tdesc_reg_up): Likewise.
8354         * regformats/regdef.h (reg): Add offset to constructors.
8355         * target-descriptions.c (tdesc_element_visitor): Move from here.
8356         (tdesc_element): Likewise.
8357         (tdesc_reg): Likewise.
8358         (tdesc_reg_up): Likewise.
8359
8360 2018-04-17  Tom Tromey  <tom@tromey.com>
8361
8362         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8363         discriminant field.
8364
8365 2018-04-17  Tom Tromey  <tom@tromey.com>
8366
8367         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8368
8369 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8370
8371         * symtab.c (print_symbol_info): Skip printing filename and line
8372         number when `last' is NULL.
8373         (symtab_symbol_info): Use empty string instead of NULL for first
8374         invocation of print_symbol_info.
8375         (rbreak_command): Pass NULL to `last' parameter of
8376         print_symbol_info.
8377
8378 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8379
8380         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8381         instead of nullptr.
8382
8383 2018-04-16  Pedro Alves  <palves@redhat.com>
8384
8385         * MAINTAINERS (sh): Remove.
8386         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8387         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8388         (ALLDEPFILES): Remove sh64-tdep.c.
8389         * NEWS: Mentions that support for SH-5/SH64 is removed.
8390         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8391         (sh*-*-openbsd*): Ditto.
8392         (sh64-*-elf*): Remove.
8393         (sh*): Remove.
8394         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8395         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8396         * sh-tdep.c: No longer include "sh64-tdep.h".
8397         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8398         * sh64-tdep.c, sh64-tdep.h: Remove files.
8399
8400 2018-04-16  Pedro Alves  <palves@redhat.com>
8401
8402         * MAINTAINERS: Remove m88k.
8403         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8404         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8405         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8406         * NEWS: Mention that support for m88k was removed.
8407         * configure.host (m88*-*-*): Remove support.
8408         * configure.nat (m88k-*-*): Remove support.
8409         * configure.tgt (m88*-*-openbsd*): Remove.
8410         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8411
8412 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8413
8414         * configure.tgt (x86_tobjs): New variable.
8415         (amd64_tobjs, i386_tobjs): Use it.
8416
8417 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8418
8419         * symtab.c (print_symbol_info): Precede the symbol definition by
8420         the line number when available.
8421         * NEWS: Advertise this enhancement.
8422
8423 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8424
8425         * NEWS (New options): announce set/show record btrace cpu.
8426         * btrace.c: Include record-btrace.h.
8427         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8428         the vendor is unknown.
8429         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8430         Maybe overwrite the btrace configuration's cpu.
8431         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8432         (btrace_fetch): Add cpu parameter.  Update callers.
8433         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8434         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8435         errata workarounds if the vendor is unknown.
8436         * python/py-record-btrace.c: Include record-btrace.h.
8437         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8438         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8439         * record-btrace.c (record_btrace_cpu_state_kind): New.
8440         (record_btrace_cpu): New.
8441         (set_record_btrace_cpu_cmdlist): New.
8442         (record_btrace_get_cpu): New.
8443         (require_btrace_thread, record_btrace_info)
8444         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8445         (cmd_set_record_btrace_cpu_none): New.
8446         (cmd_set_record_btrace_cpu_auto): New.
8447         (cmd_set_record_btrace_cpu): New.
8448         (cmd_show_record_btrace_cpu): New.
8449         (_initialize_record_btrace): Initialize set/show record btrace cpu
8450         commands.
8451         * record-btrace.h (record_btrace_get_cpu): New.
8452
8453 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8454
8455         * record.c (set_record_command): Fix typo in message.
8456
8457 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8458
8459         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8460
8461 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8462
8463         * infrun.c (process_event_stop_test): Call
8464         gdbarch_in_indirect_branch_thunk.
8465         * gdbarch.sh (in_indirect_branch_thunk): New.
8466         * gdbarch.c: Regenerated.
8467         * gdbarch.h: Regenerated.
8468         * x86-tdep.h: New.
8469         * x86-tdep.c: New.
8470         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8471         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8472         (ALLDEPFILES): Add x86-tdep.c.
8473         * arch-utils.h (default_in_indirect_branch_thunk): New.
8474         * arch-utils.c (default_in_indirect_branch_thunk): New.
8475         * i386-tdep: Include x86-tdep.h.
8476         (i386_in_indirect_branch_thunk): New.
8477         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8478         function.
8479         * amd64-tdep: Include x86-tdep.h.
8480         (amd64_in_indirect_branch_thunk): New.
8481         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8482
8483 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8484
8485         PR gdb/23053
8486         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8487         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8488         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8489         regression.
8490
8491 2018-04-12  Tom Tromey  <tom@tromey.com>
8492
8493         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8494         (rust_evaluate_subexp): Likewise.
8495
8496 2018-04-12  Pedro Alves  <palves@redhat.com>
8497
8498         * procfs.c (procfs_detach): Make forward declaration's prototype
8499         match definition's protototype.
8500         (proc_get_LDT_entry): Remove stale do_cleanups call.
8501
8502 2018-04-12  Pedro Alves  <palves@redhat.com>
8503
8504         * target.h (target_ops::to_has_exited): Delete.
8505         (target_has_exited): Delete.
8506         * target-delegates.c: Regenerate.
8507
8508 2018-04-11  Pedro Alves  <palves@redhat.com>
8509
8510         * target.c (fileio_fh_t::t): Add comment.
8511         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8512         (target_fileio_close): Handle a NULL target.
8513         (invalidate_fileio_fh): New.
8514         (target_close): Call it.
8515         * remote.c (remote_hostio_send_command): No longer check whether
8516         remote_desc is open.
8517
8518 2018-04-11  Pedro Alves  <palves@redhat.com>
8519
8520         * target.c (fileio_fh_t): Make it a named struct instead of a
8521         typedef.
8522         (fileio_fh_t::is_closed): New method.
8523         (DEF_VEC_O (fileio_fh_t)): Remove.
8524         (fileio_fhandles): Now a std::vector.
8525         (is_closed_fileio_fh): Delete.
8526         (acquire_fileio_fd): Adjust.  Rename parameters.
8527         (release_fileio_fd): Adjust.
8528         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8529         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8530         (target_fileio_close): Adjust.
8531
8532 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8533
8534         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8535         index.
8536
8537 2018-04-10  Pedro Alves  <palves@redhat.com>
8538
8539         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8540         (scoped_finish_thread_state): New class.
8541         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8542         cleanup.
8543         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8544         (fetch_inferior_event, normal_stop): Likewise.
8545         * thread.c (finish_thread_state_cleanup): Delete.
8546
8547 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8548             Pedro Alves  <palves@redhat.com>
8549
8550         * value.c: Include "selftest.h" and "common/array-view.h".
8551         (struct range) <operator ==>: New.
8552         (test_ranges_contain): New.
8553         (check_ranges_vector): New.
8554         (test_insert_into_bit_range_vector): New.
8555         (_initialize_values): Register selftests.
8556         * common/array-view.h (operator==, operator!=): New.
8557
8558 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8559
8560         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8561         an iterator.
8562         * inline-frame.c: Include <algorithm>.
8563         (struct inline_state): Add constructor.
8564         (inline_state_s): Remove.
8565         (DEF_VEC_O(inline_state_s)): Remove.
8566         (inline_states): Change type to std::vector.
8567         (find_inline_frame_state): Adjust to std::vector.
8568         (allocate_inline_frame_state): Remove.
8569         (clear_inline_frame_state): Adjust to std::vector.
8570         (skip_inline_frames): Adjust to std::vector.
8571
8572 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8573
8574         * tracepoint.h (struct trace_state_variable): Add constructor.
8575         <name>: Change type to std::string.
8576         * tracepoint.c (tsv_s): Remove.
8577         (DEF_VEC_O(tsv_s)): Remove.
8578         (tvariables): Change to std::vector.
8579         (create_trace_state_variable): Adjust to std::vector.
8580         (find_trace_state_variable): Likewise.
8581         (find_trace_state_variable_by_number): Likewise.
8582         (delete_trace_state_variable): Likewise.
8583         (trace_variable_command): Adjust to std::string.
8584         (delete_trace_variable_command): Likewise.
8585         (tvariables_info_1): Adjust to std::vector.
8586         (save_trace_state_variables): Likewise.
8587         (start_tracing): Likewise.
8588         (merge_uploaded_trace_state_variables): Adjust to std::vector
8589         and std::string.
8590         * target.h (struct target_ops)
8591         <to_download_trace_state_variable>: Pass reference to
8592         trace_state_variable.
8593         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8594         * target-delegates.c: Re-generate.
8595         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8596         (mi_tsv_deleted): Likewise.
8597         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8598         * remote.c (remote_download_trace_state_variable): Change
8599         pointer to reference and adjust.
8600         * make-target-delegates (parse_argtypes): Handle references.
8601         (write_function_header): Likewise.
8602         (munge_type): Likewise.
8603
8604 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8605
8606         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8607         string_view-selftests.c.
8608         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8609         testsuite.
8610         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8611         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8612         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8613         * unittests/basic_string_view/element_access/char/1.cc:
8614         Likewise.
8615         * unittests/basic_string_view/element_access/char/empty.cc:
8616         Likewise.
8617         * unittests/basic_string_view/element_access/char/front_back.cc:
8618         Likewise.
8619         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8620         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8621         Likewise.
8622         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8623         Likewise.
8624         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8625         Likewise.
8626         * unittests/basic_string_view/operations/compare/char/1.cc:
8627         Likewise.
8628         * unittests/basic_string_view/operations/compare/char/13650.cc:
8629         Likewise.
8630         * unittests/basic_string_view/operations/copy/char/1.cc:
8631         Likewise.
8632         * unittests/basic_string_view/operations/data/char/1.cc:
8633         Likewise.
8634         * unittests/basic_string_view/operations/find/char/1.cc:
8635         Likewise.
8636         * unittests/basic_string_view/operations/find/char/2.cc:
8637         Likewise.
8638         * unittests/basic_string_view/operations/find/char/3.cc:
8639         Likewise.
8640         * unittests/basic_string_view/operations/find/char/4.cc:
8641         Likewise.
8642         * unittests/basic_string_view/operations/rfind/char/1.cc:
8643         Likewise.
8644         * unittests/basic_string_view/operations/rfind/char/2.cc:
8645         Likewise.
8646         * unittests/basic_string_view/operations/rfind/char/3.cc:
8647         Likewise.
8648         * unittests/basic_string_view/operations/substr/char/1.cc:
8649         Likewise.
8650         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8651         * unittests/string_view-selftests.c: New file.
8652
8653 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8654
8655         * unittests/basic_string_view/capacity/1.cc: New file.
8656         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8657         * unittests/basic_string_view/cons/char/1.cc: New file.
8658         * unittests/basic_string_view/cons/char/2.cc: New file.
8659         * unittests/basic_string_view/cons/char/3.cc: New file.
8660         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8661         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8662         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8663         * unittests/basic_string_view/element_access/char/1.cc: New file.
8664         * unittests/basic_string_view/element_access/char/2.cc: New file.
8665         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8666         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8667         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8668         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8669         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8670         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8671         * unittests/basic_string_view/include.cc: New file.
8672         * unittests/basic_string_view/inserters/char/1.cc: New file.
8673         * unittests/basic_string_view/inserters/char/2.cc: New file.
8674         * unittests/basic_string_view/inserters/char/3.cc: New file.
8675         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8676         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8677         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8678         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8679         * unittests/basic_string_view/literals/types.cc: New file.
8680         * unittests/basic_string_view/literals/values.cc: New file.
8681         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8682         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8683         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8684         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8685         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8686         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8687         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8688         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8689         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8690         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8691         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8692         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8693         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8694         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8695         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8696         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8697         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8698         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8699         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8700         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8701         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8702         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8703         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8704         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8705         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8706         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8707         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8708         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8709         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8710         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8711         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8712         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8713         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8714         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8715         * unittests/basic_string_view/operators/char/2.cc: New file.
8716         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8717         * unittests/basic_string_view/range_access/char/1.cc: New file.
8718         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8719         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8720         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8721         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8722         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8723         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8724         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8725         * unittests/basic_string_view/typedefs.cc: New file.
8726         * unittests/basic_string_view/types/1.cc: New file.
8727
8728 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8729
8730         * common/gdb_string_view.h: Remove libstdc++ implementation
8731         details, adjust to gdb reality.
8732         * common/gdb_string_view.tcc: Likewise.
8733         * cli/cli-script.c (struct string_view): Remove.
8734         (user_args) <m_args>: Change element type to gdb::string_view.
8735         (user_args::insert_args): Adjust.
8736
8737 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8738
8739         * common/gdb_string_view.h: New file.
8740         * common/gdb_string_view.tcc: New file.
8741
8742 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8743
8744         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8745         * configure: Re-generate.
8746
8747 2018-04-09  Pedro Alves  <palves@redhat.com>
8748
8749         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8750         (set_target_gdbarch): Call
8751         gdb::observers::architecture_changed.notify instead of
8752         observer_notify_architecture_changed.
8753
8754 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8755
8756         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8757         (do_restore_current_traceframe_cleanup): Remove.
8758         (restore_current_traceframe_cleanup_dtor): Remove.
8759         (make_cleanup_restore_current_traceframe): Remove.
8760         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8761         New.
8762         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8763         * infrun.c (fetch_inferior_event): Use
8764         scoped_restore_current_traceframe.
8765
8766 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8767
8768         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8769         Remove.
8770         <n_allocated_type_units>: Remove.
8771         <all_type_units>: Change to std::vector.
8772         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8773         to std::vector change.
8774         (dwarf2_per_objfile::get_cutu): Likewise.
8775         (dwarf2_per_objfile::get_tu): Likewise.
8776         (create_signatured_type_table_from_index): Likewise.
8777         (create_signatured_type_table_from_debug_names): Likewise.
8778         (dw2_symtab_iter_next): Likewise.
8779         (dw2_print_stats): Likewise.
8780         (dw2_expand_all_symtabs): Likewise.
8781         (dw2_expand_marked_cus): Likewise.
8782         (dw2_debug_names_iterator::next): Likewise.
8783         (dwarf2_initialize_objfile): Likewise.
8784         (add_signatured_type_cu_to_table): Likewise.
8785         (create_all_type_units): Likewise.
8786         (add_type_unit): Likewise.
8787         (struct tu_abbrev_offset): Add constructor.
8788         (build_type_psymtabs_1): Adjust to std::vector change.
8789         (print_tu_stats): Likewise.
8790         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8791         (write_debug_names): Likewise.
8792
8793 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8794
8795         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8796         Make an std::vector.
8797         <n_comp_units>: Remove.
8798         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8799         to std::vector change.
8800         (dwarf2_per_objfile::get_cutu): Likewise.
8801         (dwarf2_per_objfile::get_cu): Likewise.
8802         (create_cus_from_index): Likewise.
8803         (create_addrmap_from_index): Likewise.
8804         (create_addrmap_from_aranges): Likewise.
8805         (dwarf2_read_index): Likewise.
8806         (dw2_find_last_source_symtab): Likewise.
8807         (dw2_map_symtabs_matching_filename): Likewise.
8808         (dw2_symtab_iter_next): Likewise.
8809         (dw2_print_stats): Likewise.
8810         (dw2_expand_all_symtabs): Likewise.
8811         (dw2_expand_symtabs_with_fullname): Likewise.
8812         (dw2_expand_marked_cus): Likewise.
8813         (dw2_map_symbol_filenames): Likewise.
8814         (create_cus_from_debug_names): Likewise.
8815         (dwarf2_read_debug_names): Likewise.
8816         (dw2_debug_names_iterator::next): Likewise.
8817         (dwarf2_initialize_objfile): Likewise.
8818         (set_partial_user): Likewise.
8819         (dwarf2_build_psymtabs_hard): Likewise.
8820         (read_comp_units_from_section): Remove arguments, adjust to
8821         std::vector change.
8822         (create_all_comp_units): Adjust to std::vector and
8823         read_comp_units_from_section changes.
8824         (dwarf2_find_containing_comp_unit): Adjust to std::vector
8825         change.
8826         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8827         (psyms_seen_size): Likewise.
8828         (write_gdbindex): Likewise.
8829         (write_debug_names): Likewise.
8830
8831 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8832
8833         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
8834         with dwarf2_per_objfile.
8835         (create_cus_from_index): Likewise.
8836         (create_signatured_type_table_from_index): Likewise.
8837         (dwarf2_read_index): Likewise.
8838         (dwarf2_initialize_objfile): Likewise.
8839         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
8840         per_cu rather than get_dwarf2_per_objfile.
8841
8842 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8843
8844         * dwarf2read.h (struct signatured_type): Forward declare.
8845         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
8846         New methods.
8847         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8848         (dw2_get_cutu): ...this.
8849         (dwarf2_per_objfile::get_cu): Rename from...
8850         (dw2_get_cu): ...this.
8851         (dwarf2_per_objfile::get_tu): New.
8852         (create_addrmap_from_index): Adjust.
8853         (create_addrmap_from_aranges): Adjust.
8854         (dw2_find_last_source_symtab): Adjust.
8855         (dw2_map_symtabs_matching_filename): Adjust.
8856         (dw2_symtab_iter_next): Adjust.
8857         (dw2_print_stats): Adjust.
8858         (dw2_expand_all_symtabs): Adjust.
8859         (dw2_expand_symtabs_with_fullname): Adjust.
8860         (dw2_expand_marked_cus): Adjust.
8861         (dw_expand_symtabs_matching_file_matcher): Adjust.
8862         (dw2_map_symbol_filenames): Adjust.
8863         (dw2_debug_names_iterator::next): Adjust.
8864         (dwarf2_initialize_objfile): Adjust.
8865         (set_partial_user): Adjust.
8866         (dwarf2_build_psymtabs_hard): Adjust.
8867
8868 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8869
8870         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8871         Remove unused variables.
8872         (dw2_map_symtabs_matching_filename): Likewise.
8873         (dwarf2_record_block_ranges): Likewise.
8874         (dwarf2_read_addr_index): Likewise.
8875         (follow_die_offset): Likewise.
8876
8877 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8878
8879         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8880         to symbol_file_add_main.
8881
8882 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8883
8884         PR mi/22299
8885         * mi/mi-console.c (do_fputc_async_safe): New.
8886         (mi_console_file::write_async_safe): New.
8887         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8888         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8889         New.
8890         * ui-file.c (ui_file::putstrn): Adjust call to
8891         fputstrn_unfiltered.
8892         * utils.c (printchar): Replace do_fputs and do_fprintf
8893         parameters by do_fputc.
8894         (fputstr_filtered): Adjust call to printchar.
8895         (fputstr_unfiltered): Likewise.
8896         (fputstrn_filtered): Likewise.
8897         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8898         printchar.
8899         * utils.h (do_fputc_ftype): New typedef.
8900         (fputstrn_unfiltered): Add do_fputc parameter.
8901
8902 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8903
8904         * regformats/i386/i386-avx.dat: Remove.
8905
8906 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8907
8908         PR gdb/22979
8909         * amd64-tdep.c (amd64_none_init_abi): New function.
8910         (amd64_x32_none_init_abi): New function.
8911         (_initialize_amd64_tdep): Register handlers for x86-64 and
8912         x64_32 with GDB_OSABI_NONE.
8913         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8914         GDB_OSABI_NONE osabi.
8915
8916 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8917
8918         PR gdb/22980
8919         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8920         GDB_OSABI_NONE.
8921         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8922         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8923
8924 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8925
8926         * common/byte-vector.h (char_vector): New type.
8927         * target.h (target_read_alloc): Return
8928         gdb::optional<byte_vector>.
8929         (target_read_stralloc): Return gdb::optional<char_vector>.
8930         (target_get_osdata): Return gdb::optional<char_vector>.
8931         * target.c (target_read_alloc_1): Templatize.  Replacement
8932         manual memory management with vector.
8933         (target_read_alloc): Change return type, adjust.
8934         (target_read_stralloc): Change return type, adjust.
8935         (target_get_osdata): Change return type, adjust.
8936         * auxv.c (struct auxv_info) <length>: Remove.
8937         <data>: Change type to gdb::optional<byte_vector>.
8938         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8939         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8940         (target_auxv_search): Adjust.
8941         (fprint_target_auxv): Adjust.
8942         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8943         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8944         (linux_make_corefile_notes): Adjust.
8945         * osdata.c (get_osdata): Adjust.
8946         * remote.c (remote_get_threads_with_qxfer): Adjust.
8947         (remote_memory_map): Adjust.
8948         (remote_traceframe_info): Adjust.
8949         (btrace_read_config): Adjust.
8950         (remote_read_btrace): Adjust.
8951         (remote_pid_to_exec_file): Adjust.
8952         * solib-aix.c (solib_aix_get_library_list): Adjust.
8953         * solib-dsbt.c (decode_loadmap): Don't free buf.
8954         (dsbt_get_initial_loadmaps): Adjust.
8955         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8956         * solib-target.c (solib_target_current_sos): Adjust.
8957         * tracepoint.c (sdata_make_value): Adjust.
8958         * xml-support.c (xinclude_start_include): Adjust.
8959         (xml_fetch_content_from_file): Adjust.
8960         * xml-support.h (xml_fetch_another): Change return type.
8961         (xml_fetch_content_from_file): Change return type.
8962         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8963         * xml-tdesc.c (file_read_description_xml): Adjust.
8964         (fetch_available_features_from_target): Change return type.
8965         (target_fetch_description_xml): Adjust.
8966         (target_read_description_xml): Adjust.
8967
8968 2018-04-06  Tom Tromey  <tom@tromey.com>
8969
8970         * value.c (~value): Update.
8971         (struct value) <contents>: Now unique_xmalloc_ptr.
8972         (value_contents_bits_eq, allocate_value_contents)
8973         (value_contents_raw, value_contents_all_raw)
8974         (value_contents_for_printing, value_contents_for_printing_const)
8975         (set_value_enclosing_type): Update.
8976
8977 2018-04-06  Tom Tromey  <tom@tromey.com>
8978
8979         * value.c (range_s): Remove typedef, VEC.
8980         (struct range): Add operator<.
8981         (range_lessthan): Remove.
8982         (ranges_contain): Change type.
8983         (~value): Update.
8984         (struct value) <unavailable, optimized_out>: Now std::vector.
8985         (value_entirely_available)
8986         (value_entirely_covered_by_range_vector)
8987         (value_entirely_unavailable, value_entirely_optimized_out):
8988         Update.
8989         (insert_into_bit_range_vector): Change argument type.
8990         (find_first_range_overlap): Likewise.
8991         (struct ranges_and_idx, value_contents_bits_eq)
8992         (require_not_optimized_out, require_available): Update.
8993         (ranges_copy_adjusted): Change argument types.
8994         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8995
8996 2018-04-06  Tom Tromey  <tom@tromey.com>
8997
8998         * value.c (~value): Update.
8999         (struct value) <parent>: Now a value_ref_ptr.
9000         (value_parent, set_value_parent, value_address, value_copy):
9001         Update.
9002
9003 2018-04-06  Tom Tromey  <tom@tromey.com>
9004
9005         * value.c (struct value): Add constructor, destructor, and member
9006         initializers.
9007         (allocate_value_lazy, value_decref): Update.
9008
9009 2018-04-06  Tom Tromey  <tom@tromey.com>
9010
9011         * value.c (struct value) <released, next>: Remove.
9012         (all_values): Now a std::vector.
9013         (allocate_value_lazy): Update.
9014         (value_next): Remove.
9015         (value_mark, value_free_to_mark, release_value)
9016         (value_release_to_mark): Update.
9017
9018 2018-04-06  Tom Tromey  <tom@tromey.com>
9019
9020         * value.h (fetch_subexp_value, value_release_to_mark): Update.
9021         (free_value_chain): Remove.
9022         * value.c (free_value_chain): Remove.
9023         (value_release_to_mark): Return a std::vector.
9024         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9025         std::vector.
9026         (check_condition): Update.
9027         * eval.c (fetch_subexp_value): Change "val_chain" to a
9028         std::vector.
9029         * breakpoint.c (update_watchpoint): Update.
9030         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9031
9032 2018-04-06  Tom Tromey  <tom@tromey.com>
9033
9034         * value.h (free_all_values): Remove.
9035         * value.c (free_all_values): Remove.
9036
9037 2018-04-06  Tom Tromey  <tom@tromey.com>
9038
9039         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9040         (value_history_chain, value_history_count): Remove.
9041         (value_history): New global.
9042         (record_latest_value, access_value_history, show_values)
9043         (preserve_values): Update.
9044
9045 2018-04-06  Tom Tromey  <tom@tromey.com>
9046
9047         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9048         * varobj.c (varobj_set_display_format, varobj_set_value)
9049         (install_default_visualizer, construct_visualizer)
9050         (install_new_value, ~varobj, varobj_get_value_type)
9051         (my_value_of_variable, varobj_editable_p): Update.
9052         * c-varobj.c (c_describe_child, c_value_of_variable)
9053         (cplus_number_of_children, cplus_describe_child): Update.
9054         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9055         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9056         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9057
9058 2018-04-06  Tom Tromey  <tom@tromey.com>
9059
9060         * printcmd.c (last_examine_address): Change type to
9061         value_ref_ptr.
9062         (do_examine, x_command): Update.
9063
9064 2018-04-06  Tom Tromey  <tom@tromey.com>
9065
9066         * value.c (release_value): Update.
9067         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9068         (struct bpstats) <val>: Now a value_ref_ptr.
9069         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9070         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9071         (~watchpoint, print_it_watchpoint, watch_command_1)
9072         (invalidate_bp_value_on_memory_change): Update.
9073
9074 2018-04-06  Tom Tromey  <tom@tromey.com>
9075
9076         * varobj.c (varobj_clear_saved_item)
9077         (update_dynamic_varobj_children, install_new_value, ~varobj):
9078         Update.
9079         * value.h (value_incref): Move declaration earlier.
9080         (value_decref): Rename from value_free.
9081         (struct value_ref_policy): New.
9082         (value_ref_ptr): New typedef.
9083         (struct value_deleter): Remove.
9084         (gdb_value_up): Remove typedef.
9085         (release_value): Change return type.
9086         (release_value_or_incref): Remove.
9087         * value.c (set_value_parent): Update.
9088         (value_incref): Change return type.
9089         (value_decref): Rename from value_free.
9090         (value_free_to_mark, free_all_values, free_value_chain): Update.
9091         (release_value): Return value_ref_ptr.
9092         (release_value_or_incref): Remove.
9093         (record_latest_value, set_internalvar, clear_internalvar):
9094         Update.
9095         * stack.c (info_frame_command): Don't call value_free.
9096         * python/py-value.c (valpy_dealloc, valpy_new)
9097         (value_to_value_object): Update.
9098         * printcmd.c (do_examine): Update.
9099         * opencl-lang.c (lval_func_free_closure): Update.
9100         * mi/mi-main.c (register_changed_p): Don't call value_free.
9101         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9102         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9103         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9104         value_free.
9105         * guile/scm-value.c (vlscm_free_value_smob)
9106         (vlscm_scm_from_value): Update.
9107         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9108         (frame_unwind_register_unsigned, get_frame_register_bytes)
9109         (put_frame_register_bytes): Don't call value_free.
9110         * findvar.c (address_from_register): Don't call value_free.
9111         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9112         * dwarf2loc.c (entry_data_value_free_closure)
9113         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9114         (dwarf2_evaluate_loc_desc_full): Update.
9115         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9116         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9117         (~watchpoint, watch_command_1)
9118         (invalidate_bp_value_on_memory_change): Update.
9119         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9120
9121 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9122
9123         PR gdb/23022
9124         * warning.m4: Add -Wno-error=deprecated-register.
9125         * configure: Re-generate.
9126
9127 2018-04-05  Tom Tromey  <tom@tromey.com>
9128
9129         * linespec.h: Remove include of "vec.h".
9130
9131 2018-04-05  Tom Tromey  <tom@tromey.com>
9132
9133         * linespec.c (typep): Remove typedef.
9134         (find_methods, find_superclass_methods): Take a std::vector.
9135         (find_method): Use std::vector.
9136
9137 2018-04-05  Tom Tromey  <tom@tromey.com>
9138
9139         * utils.c (compare_strings): Remove.
9140         * utils.h (compare_strings): Remove.
9141         * objc-lang.h (find_imps): Update.
9142         * objc-lang.c (find_methods): Take a std::vector.
9143         (uniquify_strings, find_imps): Likewise.
9144         * linespec.c (find_methods): Take a std::vector.
9145         (decode_objc): Use std::vector.
9146         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9147         a std::vector.
9148         (find_method, find_function_symbols): Use std::vector.
9149
9150 2018-04-05  Tom Tromey  <tom@tromey.com>
9151
9152         * completer.c (completion_tracker::completion_tracker): Remove
9153         cast.
9154         (completion_tracker::discard_completions): Likewise.
9155         * breakpoint.c (ambiguous_names_p): Remove cast.
9156         * ada-lang.c (_initialize_ada_language): Remove cast.
9157         * utils.h (streq): Update.
9158         (streq_hash): Add new declaration.
9159         * utils.c (streq): Return bool.
9160         (streq_hash): New function.
9161
9162 2018-04-05  Tom Tromey  <tom@tromey.com>
9163
9164         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9165         Remove a string copy.
9166
9167 2018-04-05  Tom Tromey  <tom@tromey.com>
9168
9169         * linespec.c (filter_results): Use std::vector.
9170         (decode_line_2, decode_line_full): Update.
9171
9172 2018-04-05  Tom Tromey  <tom@tromey.com>
9173
9174         * linespec.c (canonical_to_fullform): Return std::string.
9175         (filter_results): Update.
9176         (struct decode_line_2_item): Add constructor.
9177         <fullform, displayform>: Now std::string.
9178         (decode_line_2_compare_items): Now a std::sort comparator.
9179         (decode_line_2): Update.
9180
9181 2018-04-05  Tom Tromey  <tom@tromey.com>
9182
9183         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9184         (unexpected_linespec_error): Update.
9185         (linespec_parse_basic, parse_linespec): Update.
9186
9187 2018-04-05  Tom Tromey  <tom@tromey.com>
9188
9189         * linespec.c (linespec_parse_basic): Reindent.
9190
9191 2018-04-05  Tom Tromey  <tom@tromey.com>
9192
9193         * minsyms.h (iterate_over_minimal_symbols): Update.
9194         * minsyms.c (iterate_over_minimal_symbols): Take a
9195         gdb::function_view.
9196         * linespec.c (struct collect_minsyms): Remove.
9197         (compare_msyms): Now a std::sort comparator.
9198         (add_minsym): Add parameters.
9199         (search_minsyms_for_name): Update.  Use std::vector.
9200
9201 2018-04-03  Tom Tromey  <tom@tromey.com>
9202
9203         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9204         gdb::byte_vector.
9205
9206 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9207
9208         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9209
9210 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9211
9212         PR gdb/16959
9213         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9214         printing static type.
9215
9216 2018-04-01  Tom Tromey  <tom@tromey.com>
9217
9218         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9219         (rs6000_xfer_shared_libraries): Update.
9220
9221 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9222
9223         * common/gdb_vecs.h (char_ptr): Remove.
9224         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9225
9226 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9227
9228         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9229         with std::vector.
9230         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9231
9232 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9233
9234         * tracepoint.h (struct uploaded_tp): Initialize fields.
9235         <actions, step_actions, cmd_strings>: Change type to
9236         std::vector<char *>.
9237         * tracepoint.c (get_uploaded_tp): Allocate with new.
9238         (free_uploaded_tps): Free with delete.
9239         (parse_tracepoint_definition): Adjust to std::vector change.
9240         * breakpoint.c (read_uploaded_action): Likewise.
9241         (create_tracepoint_from_upload): Likewise.
9242         * ctf.c (ctf_write_uploaded_tp): Likewise.
9243         (SET_ARRAY_FIELD): Likewise.
9244         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9245
9246 2018-03-30  Tom Tromey  <tom@tromey.com>
9247
9248         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9249         std::unique_ptr.
9250         (svr4_keep_data_in_core): Update.
9251         (svr4_read_so_list): Update.
9252
9253 2018-03-30  Tom Tromey  <tom@tromey.com>
9254
9255         * windows-nat.c (handle_output_debug_string, handle_exception):
9256         Update.
9257         * target.h (target_read_string): Update.
9258         * target.c (target_read_string): Change "string" to
9259         unique_xmalloc_ptr.
9260         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9261         Update.
9262         * solib-frv.c (frv_current_sos): Update.
9263         * solib-dsbt.c (dsbt_current_sos): Update.
9264         * solib-darwin.c (darwin_current_sos): Update.
9265         * linux-thread-db.c (inferior_has_bug): Update.
9266         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9267         Update.  Remove alloca.
9268         * ada-lang.c (ada_main_name): Update.
9269
9270 2018-03-30  Tom Tromey  <tom@tromey.com>
9271
9272         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9273         (struct dwo_file_deleter): New.
9274         (dwo_file_up): New typedef.
9275         (open_and_init_dwo_file): Use dwo_file_up.
9276         (free_dwo_file_cleanup): Remove.
9277
9278 2018-03-30  Tom Tromey  <tom@tromey.com>
9279
9280         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9281         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9282
9283 2018-03-30  Tom Tromey  <tom@tromey.com>
9284
9285         * dwarf2read.c (class free_cached_comp_units): New class.
9286         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9287         (free_cached_comp_units): Remove function.
9288
9289 2018-03-30  Tom Tromey  <tom@tromey.com>
9290
9291         * utils.h (make_cleanup_unpush_target): Remove.
9292         * inf-ptrace.c (struct target_unpusher): New.
9293         (target_unpush_up) New typedef.
9294         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9295         target_unpush_up.
9296         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9297
9298 2018-03-27  Tom Tromey  <tom@tromey.com>
9299
9300         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9301
9302 2018-03-27  Pedro Alves  <palves@redhat.com>
9303             Tom Tromey  <tom@tromey.com>
9304
9305         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9306         destructor.  Now a class.
9307         (gdb_readline_wrapper_cleanup): Remove function.
9308         (gdb_readline_wrapper): Remove cleanups.
9309
9310 2018-03-27  Tom Tromey  <tom@tromey.com>
9311
9312         * typeprint.h (struct type_print_options) <local_typedefs,
9313         global_typedefs>: Remove "struct" keyword.
9314         (class typedef_hash_table): New class.
9315         (recursively_update_typedef_hash, add_template_parameters)
9316         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9317         (find_typedef_in_hash): Don't declare.
9318         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9319         (typedef_hash_table::recursively_update): Rename from
9320         recursively_update_typedef_hash.  Now a member.
9321         (typedef_hash_table::add_template_parameters): Rename from
9322         add_template_parameters.  Now a member.
9323         (typedef_hash_table::typedef_hash_table): Now a constructor;
9324         rename from create_typedef_hash.
9325         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9326         rename from free_typedef_hash.
9327         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9328         (do_free_global_table): Remove.
9329         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9330         from copy_type_recursive.
9331         (create_global_typedef_table): Remove.
9332         (typedef_hash_table::find_global_typedef): Now a member of
9333         typedef_hash_table.
9334         (typedef_hash_table::find_typedef): Rename from
9335         find_typedef_in_hash; now a member.
9336         (whatis_exp): Update.
9337         * extension.h (struct ext_lang_type_printers): Add constructor and
9338         destructor.
9339         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9340         declare.
9341         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9342         Now a constructor; rename from start_ext_lang_type_printers.
9343         (ext_lang_type_printers): Now a destructor; rename from
9344         free_ext_lang_type_printers.
9345         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9346         Update.
9347         (c_type_print_base_struct_union): Update.  Remove cleanups.
9348
9349 2018-03-27  Tom Tromey  <tom@tromey.com>
9350
9351         * dwarf-index-write.c: Include <cmath>.
9352
9353 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9354
9355         * NEWS: Add entry describing new "set|show varsize-limit" command.
9356         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9357         command.
9358         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9359         "set variable".
9360
9361 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9362
9363         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9364         dwarf-index-write.c
9365         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9366         * dwarf-index-common.c: New file.
9367         * dwarf-index-common.h: New file.
9368         * dwarf-index-write.c: New file.
9369         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9370         (struct dwarf2_section_info): Move from here.
9371         (dwarf2_section_info_def): Likewise.
9372         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9373         (offset_type): Likewise.
9374         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9375         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9376         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9377         (byte_swap): Likewise.
9378         (MAYBE_SWAP): Likewise.
9379         (dwarf2_per_cu_ptr): Likewise.
9380         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9381         (struct tu_stats): Likewise.
9382         (struct dwarf2_per_objfile): Likewise.
9383         (struct dwarf2_per_cu_data): Likewise.
9384         (struct signatured_type): Likewise.
9385         (sig_type_ptr): Likewise.
9386         (DEF_VEC_P (sig_type_ptr)): Likewise.
9387         (INDEX4_SUFFIX): Likewise.
9388         (INDEX5_SUFFIX): Likewise.
9389         (DEBUG_STR_SUFFIX): Likewise.
9390         (dwarf2_read_section): Make non-static.
9391         (mapped_index_string_hash): Move from here.
9392         (dwarf5_djb_hash): Likewise.
9393         (file_write): Likewise.
9394         (class data_buf): Likewise.
9395         (struct symtab_index_entry): Likewise.
9396         (struct mapped_symtab): Likewise.
9397         (find_slot): Likewise.
9398         (hash_expand): Likewise.
9399         (add_index_entry): Likewise.
9400         (uniquify_cu_indices): Likewise.
9401         (class c_str_view): Likewise.
9402         (class c_str_view_hasher): Likewise.
9403         (class vector_hasher): Likewise.
9404         (write_hash_table): Likewise.
9405         (psym_index_map): Likewise.
9406         (struct addrmap_index_data): Likewise.
9407         (add_address_entry): Likewise.
9408         (add_address_entry_worker): Likewise.
9409         (write_address_map): Likewise.
9410         (symbol_kind): Likewise.
9411         (write_psymbols): Likewise.
9412         (struct signatured_type_index_data): Likewise.
9413         (write_one_signatured_type): Likewise.
9414         (recursively_count_psymbols): Likewise.
9415         (recursively_write_psymbols): Likewise.
9416         (class debug_names): Likewise.
9417         (check_dwarf64_offsets): Likewise.
9418         (psyms_seen_size): Likewise.
9419         (write_gdbindex): Likewise.
9420         (write_debug_names): Likewise.
9421         (assert_file_size): Likewise.
9422         (write_psymtabs_to_index): Likewise.
9423         (save_gdb_index_command): Likewise.
9424         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9425         command.
9426         * dwarf2read.h: New file.
9427
9428 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9429
9430         PR gdb/22670
9431         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9432         symbol name if the CU's language stores symbol names in linkage
9433         format.
9434         * language.h (struct language_defn)
9435         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9436         all instances of this struct.
9437
9438 2018-03-26  Tom Tromey  <tom@tromey.com>
9439
9440         * stack.c (backtrace_command_1): Remove verbose code.
9441
9442 2018-03-26  Tom Tromey  <tom@tromey.com>
9443
9444         * python/py-framefilter.c (py_print_type): Don't catch
9445         exceptions.  Return void.
9446         (py_print_value): Likewise.
9447         (py_print_single_arg): Likewise.
9448         (enumerate_args): Don't catch exceptions.
9449         (py_print_args): Likewise.
9450         (py_print_frame): Likewise.
9451         (gdbpy_apply_frame_filter): Catch exceptions here.
9452
9453 2018-03-26  Tom Tromey  <tom@tromey.com>
9454
9455         * stack.c (_initialize_stack): Remove trailing newlines from help
9456         text.  Add "Usage" line to "backtrace" help.
9457
9458 2018-03-26  Tom Tromey  <tom@tromey.com>
9459
9460         PR python/16486:
9461         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9462
9463 2018-03-26  Tom Tromey  <tom@tromey.com>
9464
9465         * python/py-framefilter.c (py_print_single_arg): Return
9466         EXT_LANG_BT_ERROR from catch.
9467
9468 2018-03-26  Tom Tromey  <tom@tromey.com>
9469
9470         PR backtrace/15584:
9471         * stack.c (backtrace_command_1): Move some code into no-filters
9472         "if".
9473
9474 2018-03-26  Tom Tromey  <tom@tromey.com>
9475
9476         * python/py-framefilter.c (throw_quit_or_print_exception): New
9477         function.
9478         (gdbpy_apply_frame_filter): Use it.
9479
9480 2018-03-26  Tom Tromey  <tom@tromey.com>
9481
9482         PR cli/17716:
9483         * python/py-framefilter.c (py_print_type, py_print_value)
9484         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9485         RETURN_MASK_ERROR.
9486
9487 2018-03-26  Tom Tromey  <tom@tromey.com>
9488
9489         * python/py-framefilter.c (enumerate_args): Use
9490         gdb::unique_xmalloc_ptr.
9491
9492 2018-03-26  Tom Tromey  <tom@tromey.com>
9493
9494         * python/py-framefilter.c (py_print_frame): Return
9495         EXT_LANG_BT_OK.
9496         (gdbpy_apply_frame_filter): Update comment.
9497         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9498         Remove.
9499         <EXT_LANG_BT_NO_FILTERS>: Change value.
9500
9501 2018-03-26  Tom Tromey  <tom@tromey.com>
9502
9503         PR backtrace/15582:
9504         * stack.c (backtrace_command): Parse "hide" argument.
9505         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9506         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9507         constant.
9508
9509 2018-03-26  Tom Tromey  <tom@tromey.com>
9510
9511         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9512         add "flags".
9513         (backtrace_command): Remove "fulltrace", add "flags".
9514
9515 2018-03-26  Tom Tromey  <tom@tromey.com>
9516
9517         * stack.c (backtrace_command): Rewrite command line parsing.
9518
9519 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9520
9521         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9522
9523 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9524
9525         * filename-seen-cache.h: Add include guard.
9526
9527 2018-03-26  Keith Seitz  <keiths@redhat.com>
9528
9529         * symfile.c (place_section): Remove "struct" from section_addr_info
9530         in comment.
9531         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9532         "struct" keyword from section_addr_info.
9533
9534 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9535
9536         * regformats/regdef.h (reg): Add constructors.
9537
9538 2018-03-25  Pedro Alves  <palves@redhat.com>
9539
9540         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9541         if then/else bodies in var_func_name extraction.
9542
9543 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9544
9545         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9546         lookup_minimal_symbol() to find symbol entry.
9547         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9548
9549 2018-03-23  Keith Seitz  <keiths@redhat.com>
9550
9551         PR c++/22968
9552         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9553         nested type definitions for C++, too.
9554
9555 2018-03-23  Tom Tromey  <tom@tromey.com>
9556
9557         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9558         a typedef.
9559         (macho_register_oso): Remove.
9560         (macho_symtab_read): Take a std::vector.
9561         (oso_el_compare_name): Now a std::sort comparator.
9562         (macho_symfile_read_all_oso): Take a std::vector.
9563         (macho_symfile_read): Use std::vector.  Remove cleanups.
9564
9565 2018-03-22  Tom Tromey  <tom@tromey.com>
9566
9567         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9568         (record_full_goto_bookmark): Use std::string.
9569
9570 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9571
9572         PR tdep/18295
9573         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9574         a single mask.
9575
9576 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9577
9578         * rs6000-tdep.c (store_insn_p): New function.
9579         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9580         and cr_reg to their unshifted values. Use store_insn_p to
9581         match LR saves using either R1 or fdata->alloca_reg. Use
9582         store_insn_p to match CR saves. Set alloca_reg_offset
9583         when alloca_reg and framep are set. Remove lr_reg shift
9584         when assigning to fdata->lr_register.
9585
9586 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9587
9588         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9589         command line args instead of emitting a warning.
9590
9591 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9592
9593         * tracepoint.h (struct static_tracepoint_marker): Initialize
9594         fields, define default constructor, move constructor and move
9595         assignment, disable the rest.
9596         <str_id, extra>: Make std::string.
9597         (release_static_tracepoint_marker): Remove.
9598         (free_current_marker): Remove.
9599         * tracepoint.c (free_current_marker): Remove.
9600         (parse_static_tracepoint_marker_definition): Adjust to
9601         std::string, use new hex2str overload.
9602         (release_static_tracepoint_marker): Remove.
9603         (print_one_static_tracepoint_marker): Get marker by reference
9604         and adjust to std::string.
9605         (info_static_tracepoint_markers_command): Adjust to std::vector
9606         changes
9607         * target.h (static_tracepoint_marker_p): Remove typedef.
9608         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9609         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9610         bool.
9611         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9612         * target-debug.h
9613         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9614         (target_debug_print_std_vector_static_tracepoint_marker): New.
9615         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9616         to...
9617         (target_debug_print_static_tracepoint_marker_p): ... this.
9618         * target-delegates.c: Re-generate.
9619         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9620         Make std::string.
9621         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9622         (decode_static_tracepoint_spec): Adjust to std::vector.
9623         (tracepoint_print_one_detail): Adjust to std::string.
9624         (strace_marker_decode_location): Adjust to std::string.
9625         (update_static_tracepoint): Adjust to std::string, remove call
9626         to release_static_tracepoint_marker.
9627         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9628         Adjust to std::vector.
9629         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9630         (remote_static_tracepoint_markers_by_strid): Adjust to
9631         std::vector.
9632         * common/rsp-low.h (hex2str): New overload with explicit count
9633         of bytes.
9634         * common/rsp-low.c (hex2str): New overload with explicit count
9635         of bytes.
9636         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9637         (_initialize_rsp_low_selftests): Add test_hex2str test.
9638         * unittests/tracepoint-selftests.c
9639         (test_parse_static_tracepoint_marker_definition): Adjust to
9640         std::string.
9641
9642 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9643
9644         * tracepoint.c (parse_static_tracepoint_marker_definition):
9645         Consider case where the definition is followed by more
9646         definitions.
9647         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9648         tracepoint-selftests.c.
9649         * unittests/tracepoint-selftests.c: New.
9650
9651 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9652
9653         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9654         Carvalho.
9655
9656 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9657
9658         * symtab.c (find_pc_sect_line): fixed indentation.
9659
9660 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9661
9662         * symtab.c (find_pc_sect_line): now uses binary search.
9663
9664 2018-03-19  Tom Tromey  <tom@tromey.com>
9665
9666         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9667         "IDENT" production.
9668
9669 2018-03-19  Pedro Alves  <palves@redhat.com>
9670             Tom Tromey  <tom@tromey.com>
9671
9672         * unittests/observable-selftests.c: New file.
9673         * common/observable.h: New file.
9674         * observable.h: New file.
9675         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9676         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9677         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9678         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9679         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9680         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9681         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9682         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9683         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9684         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9685         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9686         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9687         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9688         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9689         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9690         tui/tui-interp.c, valops.c: Update all users.
9691         * tui/tui-hooks.c (tui_bp_created_observer)
9692         (tui_bp_deleted_observer, tui_bp_modified_observer)
9693         (tui_inferior_exit_observer, tui_before_prompt_observer)
9694         (tui_normal_stop_observer, tui_register_changed_observer):
9695         Remove.
9696         (tui_observers_token): New global.
9697         (attach_or_detach, tui_attach_detach_observers): New functions.
9698         (tui_install_hooks, tui_remove_hooks): Use
9699         tui_attach_detach_observers.
9700         * record-btrace.c (record_btrace_thread_observer): Remove.
9701         (record_btrace_thread_observer_token): New global.
9702         * observer.sh: Remove.
9703         * observer.c: Rename to observable.c.
9704         * observable.c (namespace gdb_observers): Define new objects.
9705         (observer_debug): Move into gdb_observers namespace.
9706         (struct observer, struct observer_list, xalloc_observer_list_node)
9707         (xfree_observer_list_node, generic_observer_attach)
9708         (generic_observer_detach, generic_observer_notify): Remove.
9709         (_initialize_observer): Update.
9710         Don't include observer.inc.
9711         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9712         (clean mostlyclean): Likewise.
9713         (observer.h, observer.inc): Remove targets.
9714         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9715         (COMMON_SFILES): Use observable.c, not observer.c.
9716         * .gitignore: Remove observer.h.
9717
9718 2018-03-18  Tom Tromey  <tom@tromey.com>
9719
9720         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9721         gdb::def_vector.
9722         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9723
9724 2018-03-17  Tom Tromey  <tom@tromey.com>
9725
9726         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9727
9728 2018-03-17  Tom Tromey  <tom@tromey.com>
9729
9730         * target.c (class scoped_target_fd): New.
9731         (target_fileio_close_cleanup): Remove.
9732         (target_fileio_read_alloc_1): Use scoped_target_fd.
9733
9734 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9735
9736         * silent-rules.mk: New.
9737         * Makefile.in: Include silent-rules.mk
9738         (srcdir, VPATH, top_srcdir): Move up.
9739         (COMPILE): Add ECHO_CXX.
9740         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9741         (init.c): Add ECHO_INIT_C.
9742         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9743         (version.c): Add ECHO_GEN.
9744         (printcmd.o): Add ECHO_CXX.
9745         (target-float.o): Add ECHO_CXX.
9746         (ada-exp.o): Add ECHO_CXX.
9747         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9748         (insight$(EXEEXT)): Add ECHO_CXXLD.
9749         * gnulib/configure.ac: Add AM_SILENT_RULES.
9750         * gnulib/aclocal.m4: Re-generate.
9751         * gnulib/configure: Re-generate.
9752         * gnulib/import/Makefile.in: Re-generate.
9753
9754 2018-03-16  Tom Tromey  <tom@tromey.com>
9755
9756         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9757         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9758         * utils.c (do_free_section_addr_info)
9759         (make_cleanup_free_section_addr_info): Remove.
9760         * symfile.h (struct other_sections): Add constructor.
9761         (struct section_addr_info): Remove.
9762         (section_addr_info): New typedef.
9763         (struct sym_fns) <sym_offsets>: Change type of parameter.
9764         (build_section_addr_info_from_objfile)
9765         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9766         (default_symfile_offsets, symbol_file_add)
9767         (symbol_file_add_from_bfd)
9768         (build_section_addr_info_from_section_table): Update.
9769         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9770         * symfile.c (alloc_section_addr_info): Remove.
9771         (build_section_addr_info_from_section_table): Change return type.
9772         Update.
9773         (build_section_addr_info_from_bfd)
9774         (build_section_addr_info_from_objfile): Likewise.
9775         (free_section_addr_info): Remove.
9776         (relative_addr_info_to_section_offsets): Change type of "addrs".
9777         (addrs_section_compar): Now a std::sort comparator.
9778         (addrs_section_sort): Change return type.
9779         (addr_info_make_relative): Change type of "addrs".  Update.
9780         (default_symfile_offsets, syms_from_objfile_1)
9781         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9782         (symbol_file_add_separate): Update.
9783         (symbol_file_add): Change type of "addrs".  Update.
9784         (add_symbol_file_command): Update.  Remove cleanups.
9785         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9786         cleanups.
9787         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9788         * solib.c (solib_read_symbols): Update.
9789         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9790         * machoread.c (macho_symfile_offsets): Update.
9791         * jit.c (jit_bfd_try_read_symtab): Update.
9792
9793 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9794
9795         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9796         unittests/utils-selftests.c.
9797         * unittests/utils-selftests.c: New file.
9798
9799 2018-03-14  Tom Tromey  <tom@tromey.com>
9800
9801         PR cli/14977:
9802         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9803         for NULL.
9804
9805 2018-03-14  Tom Tromey  <tom@tromey.com>
9806
9807         PR cli/19918:
9808         * printcmd.c (printf_pointer): Allow "-" in format.
9809
9810 2018-03-14  Tom Tromey  <tom@tromey.com>
9811
9812         * printcmd.c (_initialize_printcmd): Add usage to printf.
9813
9814 2018-03-14  Yao Qi  <qiyao@sourceware.org>
9815
9816         * MAINTAINERS: Update my email address.
9817
9818 2018-03-13  Tom Tromey  <tom@tromey.com>
9819
9820         * machoread.c (macho_check_dsym): Change filenamep to a
9821         std::string*.
9822         (macho_symfile_read): Update.
9823         * symfile.c (load_command): Use std::string.
9824
9825 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9826
9827         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
9828         to error message string.
9829         (riscv_register_name): Use xsnprintf instead of sprintf.
9830         (riscv_insn::fetch_instruction): Use gdb_assert instead of
9831         internal_error.
9832         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
9833         error.
9834         (riscv_push_dummy_call): Likewise.
9835
9836 2018-03-12  Tom Tromey  <tom@tromey.com>
9837
9838         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
9839         Use gdb::byte_vector.
9840         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
9841
9842 2018-03-12  Yao Qi  <yao.qi@linaro.org>
9843
9844         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
9845         parameter type to readable_regcache.
9846         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9847         the declaration.
9848
9849 2018-03-11  Tom Tromey  <tom@tromey.com>
9850
9851         * dwarf2read.c (struct nextfield): Add initializers.
9852         (struct nextfnfield): Remove.
9853         (struct fnfieldlist): Add initializers.  Remove "length" and
9854         "head", use std::vector.
9855         (struct decl_field_list): Remove.
9856         (struct field_info): Add initializers.
9857         <fields, baseclasses>: Now std::vector.
9858         <nbaseclasses, nfnfields, typedef_field_list_count,
9859         nested_types_list_count>: Remove.
9860         (dwarf2_add_field, dwarf2_add_type_defn)
9861         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9862         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9863         (process_structure_scope): Update.
9864
9865 2018-03-11  Tom Tromey  <tom@tromey.com>
9866
9867         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9868         for use by std::sort.
9869         (build_type_psymtabs_1): Use std::vector.
9870
9871 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9872
9873         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9874         and LIBMPFR in the printed configuration.
9875
9876 2018-03-08  Tom Tromey  <tom@tromey.com>
9877
9878         * source.c (get_filename_and_charpos): Use scoped_fd.
9879         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9880         (procfs_pidlist): Likewise.
9881         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9882         (iterate_over_mappings): Likewise.
9883
9884 2018-03-08  Tom Tromey  <tom@tromey.com>
9885
9886         * infcall.c (struct call_return_meta_info)
9887         <stack_temporaries_enabled>: Remove.
9888         (get_call_return_value, call_function_by_hand_dummy): Update.
9889         * thread.c (disable_thread_stack_temporaries): Remove.
9890         (enable_thread_stack_temporaries): Remove.
9891         (thread_stack_temporaries_enabled_p): Return bool.
9892         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9893         (get_last_thread_stack_temporary): Update.
9894         * eval.c (evaluate_subexp): Update.
9895         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9896         class, not a function.
9897         (value_ptr, value_vec): Remove typedefs.
9898         (class thread_info) <stack_temporaries_enabled>: Now bool.
9899         <stack_temporaries>: Now a std::vector.
9900         (thread_stack_temporaries_enabled_p)
9901         (value_in_thread_stack_temporaries): Return bool.
9902
9903 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9904
9905         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9906         (getpkt_or_notif_sane_1): Likewise.
9907
9908 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9909
9910         * build-id.c (build_id_to_debug_bfd): Use std::string.
9911
9912 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9913
9914         * build-id.c (find_separate_debug_file_by_buildid): Return
9915         std::string.
9916         * build-id.h (find_separate_debug_file_by_buildid): Return
9917         std::string.
9918         * coffread.c (coff_symfile_read): Adjust to std::string.
9919         * elfread.c (elf_symfile_read): Adjust to std::string.
9920         * symfile.c (separate_debug_file_exists): Change parameter to
9921         std::string.
9922         (find_separate_debug_file): Return std::string.
9923         (find_separate_debug_file_by_debuglink): Return std::string.
9924         * symfile.h (find_separate_debug_file_by_debuglink): Return
9925         std::string.
9926
9927 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9928
9929         * common/xml-utils.c (xml_escape_text): Move code to...
9930         (xml_escape_text_append): ... this new function.
9931         * common/xml-utils.h (xml_escape_text_append): New declaration.
9932         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9933         New function.
9934         (_initialize_xml_utils): register test_xml_escape_text_append as
9935         a selftest.
9936
9937 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9938
9939         * defs.h: Remove MAX_REGISTER_SIZE.
9940         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9941         asserts.
9942         * python/py-unwind.c (pyuw_sniffer): Likewise.
9943
9944 2018-03-07  Tom Tromey  <tom@tromey.com>
9945
9946         * linux-tdep.c (linux_info_proc): Update.
9947         * target.h (struct target_ops) <to_fileio_readlink>: Return
9948         optional<string>.
9949         (target_fileio_readlink): Return optional<string>.
9950         * remote.c (remote_hostio_readlink): Return optional<string>.
9951         * inf-child.c (inf_child_fileio_readlink): Return
9952         optional<string>.
9953         * target.c (target_fileio_readlink): Return optional<string>.
9954
9955 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9956
9957         * regcache.c (cooked_read_test): Add riscv to the list of
9958         architectures that have a save_reggroup.
9959
9960 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9961
9962         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9963         value is not a dynamic class object.
9964
9965 2018-03-06  Tom Tromey  <tom@tromey.com>
9966
9967         * rust-exp.y: Formatting fixes.
9968
9969 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9970
9971         * riscv-tdep.c (riscv_register_name): Remove target description
9972         support.
9973         (riscv_gdbarch_init): Remove target description check.
9974
9975 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9976
9977         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9978         comment.
9979         * riscv-tdep.h: Likewise.
9980
9981 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9982
9983         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9984         (riscv_pseudo_register_write): Delete.
9985         (riscv_gdbarch_init): Remove all use of pseudo registers.
9986
9987 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9988
9989         * record-btrace.c (btrace_print_lines): Replace cleanup
9990         parameter with RAII equivalents.
9991         (btrace_insn_history): Replace cleanup with RAII equivalents.
9992         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9993         make_cleanup_ui_out_tuple_begin_end): Remove.
9994         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9995         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9996         make_cleanup_ui_out_list_begin_end): Remove.
9997
9998 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9999
10000         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10001         parameter types to std::vector.  Use bool.
10002         (record_btrace_wait): Replace VEC(tp_t) with
10003         std::vector<thread_info *>.
10004         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10005
10006 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10007
10008         * record-btrace.c (record_btrace_disable_callback): Remove.
10009         (struct scoped_btrace_disable): New.
10010         (record_btrace_open): Use scoped_btrace_disable.
10011
10012 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10013
10014         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
10015         reading values from registers.
10016
10017 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10018
10019         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
10020         where appropriate.
10021
10022 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10023
10024         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10025         change parameter type.  Use GDB's print functions, and use
10026         core_addr_to_string where appropriate.
10027         (riscv_push_dummy_call): Use core_addr_to_string where
10028         appropriate, update call to riscv_print_arg_location, and reindent
10029         a few lines.
10030         (riscv_return_value): Update call to riscv_print_arg_location.
10031
10032 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10033             Tim Newsome <tim@sifive.com>
10034             Albert Ou <a0u@eecs.berkeley.edu>
10035             Darius Rad <darius@bluespec.com>
10036
10037         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10038         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10039         (ALLDEPFILES): Add riscv-tdep.c
10040         * configure.tgt: Add riscv support.
10041         * riscv-tdep.c: New file.
10042         * riscv-tdep.h: New file.
10043         * NEWS: Mention new target.
10044         * MAINTAINERS: Add entry for riscv.
10045
10046 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10047
10048         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10049         fields within aggregates.
10050
10051 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10052
10053         * record-btrace.c (btrace_print_lines): Change type of flags to
10054         gdb_disassembly_flags.
10055
10056 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10057
10058         * fbsd-nat.c: Include "inf-ptrace.h".
10059         (USE_SIGTRAP_SIGINFO): Conditionally define.
10060         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10061         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10062         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10063         function.
10064         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10065         Likewise.
10066         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10067         Likewise.
10068         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10069         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10070         "supports_stopped_by_hw_breakpoint" target methods.
10071
10072 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10073
10074         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10075         * fbsd-nat.c (debug_fbsd_nat): New variable.
10076         (show_fbsd_nat_debug): New function.
10077         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10078         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10079
10080 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10081
10082         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10083         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10084         prototype.
10085         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10086         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10087         method.
10088
10089 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10090
10091         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10092         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10093
10094 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10095
10096         * charset.c (struct charset_vector): New.
10097         (charsets): Change type to charset_vector.
10098         (find_charset_names): Adjust.
10099         (add_one): Adjust.
10100         (_initialize_charset): Adjust.
10101
10102 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10103
10104         * progspace.h (struct program_space) <deleted_solibs>: Change
10105         type to std::vector<std::string>.
10106         * progspace.c (clear_program_space_solib_cache): Adjust.
10107         * breakpoint.c (print_solib_event): Adjust.
10108         (check_status_catch_solib): Adjust.
10109         * solib.c (update_solib_list): Adjust.
10110         * ui-out.h (class ui_out) <field_string>: New overload.
10111         * ui-out.c (ui_out::field_string): New overload.
10112
10113 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10114
10115         * progspace.h (struct program_space): Add constructor and
10116         destructor, initialize fields.
10117         (add_program_space): Remove.
10118         * progspace.c (add_program_space): Rename to...
10119         (program_space::program_space): ... this.
10120         (release_program_space): Rename to...
10121         (program_space::~program_space): ... this.
10122         (delete_program_space): Use delete to delete program_space.
10123         (initialize_progspace): Use new to allocate program_space.
10124         * inferior.c (add_inferior_with_spaces): Likewise.
10125         (clone_inferior_command): Likewise.
10126         * infrun.c (follow_fork_inferior): Likewise.
10127         (handle_vfork_child_exec_or_exit): Likewise.
10128
10129 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10130
10131         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10132         (delim_string_to_char_ptr_vec): Return std::vector of
10133         gdb::unique_xmalloc_ptr.
10134         (dirnames_to_char_ptr_vec_append): Take std::vector of
10135         gdb::unique_xmalloc_ptr.
10136         (dirnames_to_char_ptr_vec): Return std::vector of
10137         gdb::unique_xmalloc_ptr.
10138         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10139         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10140         (delim_string_to_char_ptr_vec): Return an std::vector of
10141         gdb::unique_xmalloc_ptr, adjust the code.
10142         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10143         gdb::unique_xmalloc_ptr, adjust the code.
10144         (dirnames_to_char_ptr_vec): Return an std::vector of
10145         gdb::unique_xmalloc_ptr, adjust the code.
10146         * auto-load.c (auto_load_safe_path_vec): Change type to
10147         std::vector of gdb::unique_xmalloc_ptr.
10148         (auto_load_expand_dir_vars): Return an std::vector of
10149         gdb::unique_xmalloc_ptr, adjust the code.
10150         (auto_load_safe_path_vec_update): Adjust.
10151         (filename_is_in_auto_load_safe_path_vec): Adjust.
10152         (auto_load_objfile_script_1): Adjust.
10153         * build-id.c (build_id_to_debug_bfd): Adjust.
10154         * linux-thread-db.c (thread_db_load_search): Adjust.
10155         * source.c (add_path): Adjust.
10156         (openp): Adjust.
10157         * symfile.c (find_separate_debug_file): Adjust.
10158         * utils.c (do_free_char_ptr_vec): Remove.
10159         (make_cleanup_free_char_ptr_vec): Remove.
10160
10161 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10162
10163         PR gdb/22907
10164         * common/pathstuff.c: Conditionally include "<windows.h>".
10165
10166 2018-03-01  Georg Sauthoff  <mail@georg.so>
10167
10168         PR gdb/22888
10169         * gcore.in: Quote variables and switch interpreter to bash.
10170
10171 2018-03-01  Tom Tromey  <tom@tromey.com>
10172
10173         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10174         assertion.  Add assertion for discriminant_index.
10175         (quirk_rust_enum): Use correct base type name in univariant case.
10176
10177 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10178
10179         * record.c (get_call_history_modifiers): Return a
10180         record_print_flags.
10181         (cmd_record_call_history): Adjust.
10182         * record-btrace.c (record_btrace_call_history): Adjust.
10183         (record_btrace_call_history_range): Adjust.
10184         (record_btrace_call_history_from): Adjust.
10185         * target-debug.h (target_debug_print_record_print_flags): New.
10186         * target-delegates.c: Re-generate.
10187         * target.c (target_call_history): Change flags type.
10188         (target_call_history_from): Likewise.
10189         (target_call_history_range): Likewise.
10190         * target.h (struct target_ops) <target_call_history>: Likewise.
10191         (target_call_history_from): Likewise.
10192         (target_call_history_range): Likewise.
10193
10194 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10195             Simon Marchi  <simon.marchi@polymtl.ca>
10196
10197         * common/common-utils.c: Include "sys/stat.h".
10198         (is_regular_file): Move here from "source.c"; change return
10199         type to "bool".
10200         * common/common-utils.h (is_regular_file): New prototype.
10201         * common/pathstuff.c (contains_dir_separator): New function.
10202         * common/pathstuff.h (contains_dir_separator): New prototype.
10203         * source.c: Don't include "sys/stat.h".
10204         (is_regular_file): Move to "common/common-utils.c".
10205
10206 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10207
10208         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10209         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10210         * auto-load.c: Include "common/pathstuff.h".
10211         * common/common-def.h (current_directory): Move here.
10212         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10213         function.
10214         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10215         prototype.
10216         * common/pathstuff.c: New file.
10217         * common/pathstuff.h: New file.
10218         * compile/compile.c: Include "common/pathstuff.h".
10219         * defs.h (current_directory): Move to "common/common-defs.h".
10220         * dwarf2read.c: Include "common/pathstuff.h".
10221         * exec.c: Likewise.
10222         * guile/scm-safe-call.c: Likewise.
10223         * linux-thread-db.c: Likewise.
10224         * main.c: Likewise.
10225         * nto-tdep.c: Likewise.
10226         * objfiles.c: Likewise.
10227         * source.c: Likewise.
10228         * symtab.c: Likewise.
10229         * utils.c: Include "common/pathstuff.h".
10230         (gdb_realpath): Move to "common/pathstuff.c".
10231         (gdb_realpath_keepfile): Likewise.
10232         (gdb_abspath): Likewise.
10233         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10234         (gdb_realpath_keepfile): Likewise.
10235         (gdb_abspath): Likewise.
10236
10237 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10238
10239         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10240         wildcard process pid for super_resume for kernels with a
10241         specific bug.
10242
10243 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10244
10245         * compile/compile.c (get_args): Add additional comments
10246         explaining function.
10247
10248 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10249             Tom Tromey  <tom@tromey.com>
10250
10251         * target.h (memory_write_request_s): Remove typedef.  Don't define
10252         VEC.
10253         (target_write_memory_blocks): Change argument to std::vector.
10254         (struct memory_write_request): Add constructor.
10255         * target-memory.c (compare_block_starting_address): Return bool.
10256         Change argument types.
10257         (claim_memory): Change arguments to use std::vector.
10258         (split_regular_and_flash_blocks, blocks_to_erase)
10259         (compute_garbled_blocks): Likewise.
10260         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10261         (target_write_memory_blocks): Change argument to std::vector.
10262         * symfile.c (struct load_section_data): Add constructor and
10263         destructor.  Use std::vector for "requests".
10264         (struct load_progress_data): Add initializers.
10265         (load_section_callback): Update.  Use "new".
10266         (clear_memory_write_data): Remove.
10267         (generic_load): Update.
10268
10269 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10270
10271         * arch/aarch64.h: Use common/tdesc.h.
10272
10273 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10274
10275         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10276         architecture with a 64-bit ABI.
10277
10278 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10279
10280         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10281         ahead of target description loading.
10282
10283 2018-02-26  Tom Tromey  <tom@tromey.com>
10284
10285         * stack.c (backtrace_command_1): Update.
10286         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10287         of "flags".
10288         * python/py-framefilter.c (py_print_frame)
10289         (gdbpy_apply_frame_filter): Change type of "flags".
10290         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10291         of "flags".
10292         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10293         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10294         * extension.h (enum frame_filter_flag): Rename from
10295         frame_filter_flags.
10296         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10297         (apply_ext_lang_frame_filter): Change type of "flags".
10298         * extension.c (apply_ext_lang_frame_filter): Change type of
10299         "flags".
10300         * extension-priv.h (struct extension_language_ops)
10301         <apply_frame_filter>: Change type of "flags".
10302
10303 2018-02-26  Tom Tromey  <tom@tromey.com>
10304
10305         PR python/16497:
10306         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10307         off-by-one in py_end computation.
10308         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10309         PRINT_MORE_FRAMES.
10310         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10311         constant.
10312
10313 2018-02-26  Tom Tromey  <tom@tromey.com>
10314
10315         * dwarf2read.c (struct variant_field): New.
10316         (struct nextfield) <variant>: New field.
10317         (dwarf2_add_field): Handle DW_TAG_variant_part.
10318         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10319         discriminated union.
10320         (read_structure_type): Handle DW_TAG_variant_part.
10321         (handle_struct_member_die): New function, extracted from
10322         process_structure_scope.  Handle DW_TAG_variant.
10323         (process_structure_scope): Handle discriminated unions.  Call
10324         handle_struct_member_die.
10325
10326 2018-02-26  Tom Tromey  <tom@tromey.com>
10327
10328         * rust-lang.h (rust_last_path_segment): Declare.
10329         * rust-lang.c (rust_last_path_segment): Now public.  Change
10330         contract.
10331         (struct disr_info): Remove.
10332         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10333         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10334         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10335         (rust_enum_p, rust_enum_variant): New function.
10336         (rust_underscore_fields): Remove "offset" parameter.
10337         (rust_print_enum): New function.
10338         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10339         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10340         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10341         enums.
10342         (rust_internal_print_type): New function, from rust_print_type.
10343         Remove enum code.
10344         (rust_print_type): Call rust_internal_print_type.
10345         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10346         Update enum handling.
10347         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10348         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10349         (rust_union_quirks): New functions.
10350         (process_full_comp_unit, process_full_type_unit): Call
10351         rust_union_quirks.
10352         (process_structure_scope): Update rust_unions if necessary.
10353
10354 2018-02-26  Tom Tromey  <tom@tromey.com>
10355
10356         * value.h (value_union_variant): Declare.
10357         * valops.c (value_union_variant): New function.
10358         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10359         (struct discriminant_info): New.
10360         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10361         enumerator.
10362         (struct main_type) <flag_discriminated_union>: New field.
10363
10364 2018-02-26  Tom Tromey  <tom@tromey.com>
10365
10366         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10367         unittests/unpack-selftests.c.
10368         * unittests/unpack-selftests.c: New file.
10369         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10370
10371 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10372
10373         * dwarf2read.c (struct partial_die_info) <read>: New method.
10374         (read_partial_die): Remove the declaration.
10375         (load_partial_dies): Update.
10376         (partial_die_info::partial_die_info):
10377         (read_partial_die): Change it to partial_die_info::read.
10378
10379 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10380
10381         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10382         (fixup_partial_die): Remove declaration.
10383         (scan_partial_symbols): Update.
10384         (partial_die_parent_scope): Likewise.
10385         (partial_die_full_name): Likewise.
10386         (fixup_partial_die): Change it to partial_die_info::fixup.
10387
10388 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10389
10390         * dwarf2read.c (read_partial_die): Update the declaration.
10391         (load_partial_dies): Caller update.
10392         (read_partial_die): Remove one argument abbrev_len.
10393
10394 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10395
10396         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10397         assignment operator.
10398         (load_partial_dies): Use ctor and copy ctor.
10399         (read_partial_die): Update.
10400         (dwarf2_cu::find_partial_die): Use ctor.
10401
10402 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10403
10404         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10405         (find_partial_die_in_comp_unit): Change it to
10406         dwarf2_cu::find_partial_die.
10407         (find_partial_die): Update.
10408
10409 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10410
10411         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10412         is NULL.
10413
10414 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10415
10416         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10417
10418 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10419
10420         * arch/amd64.h: Use common/tdesc.h.
10421         * arch/i386.c: Likewise.
10422         * arch/i386.h: Likewise.
10423         * arch/tic6x.c: Likewise.
10424         * arch/tdesc.h: Move file from here...
10425         * common/tdesc.h: ...to here.
10426         * features/aarch64-core.c: Regenerate.
10427         * features/aarch64-fpu.c: Regenerate.
10428         * features/i386/32bit-avx.c: Regenerate.
10429         * features/i386/32bit-avx512.c: Regenerate.
10430         * features/i386/32bit-core.c: Regenerate.
10431         * features/i386/32bit-linux.c: Regenerate.
10432         * features/i386/32bit-mpx.c: Regenerate.
10433         * features/i386/32bit-pkeys.c: Regenerate.
10434         * features/i386/32bit-sse.c: Regenerate.
10435         * features/i386/64bit-avx.c: Regenerate.
10436         * features/i386/64bit-avx512.c: Regenerate.
10437         * features/i386/64bit-core.c: Regenerate.
10438         * features/i386/64bit-linux.c: Regenerate.
10439         * features/i386/64bit-mpx.c: Regenerate.
10440         * features/i386/64bit-pkeys.c: Regenerate.
10441         * features/i386/64bit-segments.c: Regenerate.
10442         * features/i386/64bit-sse.c: Regenerate.
10443         * features/i386/x32-core.c: Regenerate.
10444         * features/tic6x-c6xp.c: Regenerate.
10445         * features/tic6x-core.c: Regenerate.
10446         * features/tic6x-gp.c: Regenerate.
10447         * target-descriptions.c: Use common/tdesc.h.
10448         * target-descriptions.h: Likewise.
10449
10450 2018-02-24  Tom Tromey  <tom@tromey.com>
10451
10452         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10453         (try_thread_db_load_from_dir, thread_db_load_search): Use
10454         std::string.
10455         (info_auto_load_libthread_db_compare): Return bool.  Change
10456         argument types.
10457         (info_auto_load_libthread_db): Use std::vector, std::string.
10458         Remove cleanups.
10459
10460 2018-02-24  Tom Tromey  <tom@tromey.com>
10461
10462         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10463         std::string.
10464         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10465         std::string*.
10466         * gdbarch.c: Rebuild.
10467         * gdbarch.h: Rebuild.
10468         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10469         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10470         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10471         std::string*.
10472
10473 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10474
10475         * gdbtypes.h (sect_offset): Change type to uint64_t.
10476         (sect_offset_str): New function.
10477         * dwarf2read.c (create_addrmap_from_aranges): Use
10478         sect_offset_str.
10479         (error_check_comp_unit_head): Likewise.
10480         (create_debug_type_hash_table): Likewise.
10481         (read_cutu_die_from_dwo): Likewise.
10482         (init_cutu_and_read_dies): Likewise.
10483         (init_cutu_and_read_dies_no_follow): Likewise.
10484         (process_psymtab_comp_unit_reader): Likewise.
10485         (partial_die_parent_scope): Likewise.
10486         (peek_die_abbrev): Likewise.
10487         (process_queue): Likewise.
10488         (dwarf2_physname): Likewise.
10489         (read_namespace_alias): Likewise.
10490         (read_import_statement): Likewise.
10491         (create_dwo_cu_reader): Likewise.
10492         (create_cus_hash_table): Likewise.
10493         (lookup_dwo_cutu): Likewise.
10494         (inherit_abstract_dies): Likewise.
10495         (read_func_scope): Likewise.
10496         (read_call_site_scope): Likewise.
10497         (dwarf2_add_member_fn): Likewise.
10498         (read_common_block): Likewise.
10499         (read_module_type): Likewise.
10500         (read_typedef): Likewise.
10501         (read_subrange_type): Likewise.
10502         (load_partial_dies): Likewise.
10503         (read_partial_die): Likewise.
10504         (find_partial_die): Likewise.
10505         (read_str_index): Likewise.
10506         (dwarf2_string_attr): Likewise.
10507         (build_error_marker_type): Likewise.
10508         (lookup_die_type): Likewise.
10509         (dump_die_shallow): Likewise.
10510         (follow_die_ref): Likewise.
10511         (dwarf2_fetch_die_loc_sect_off): Likewise.
10512         (dwarf2_fetch_constant_bytes): Likewise.
10513         (follow_die_sig): Likewise.
10514         (get_signatured_type): Likewise.
10515         (get_DW_AT_signature_type): Likewise.
10516         (dwarf2_find_containing_comp_unit): Likewise.
10517         (set_die_type): Likewise.
10518
10519 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10520
10521         * arch/aarch64.c: Include "common-defs.h".
10522         * arch/amd64.c: Likewise.
10523         * arch/i386.c: Likewise.
10524
10525 2018-02-21  Tom Tromey  <tom@tromey.com>
10526
10527         * value.h: (extract_field_op): Update.
10528         * eval.c (extract_field_op): Return a const char *.
10529         * expression.h (parse_expression_for_completion): Update.
10530         * completer.c (complete_expression): Update.
10531         (add_struct_fields): Make fieldname const.
10532         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10533         (mark_completion_tag, parse_exp_in_context_1): Update.
10534         (parse_expression_for_completion): Change "name" to
10535         unique_xmalloc_ptr*.
10536
10537 2018-02-21  Tom Tromey  <tom@tromey.com>
10538
10539         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10540
10541 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10542
10543         * avr-tdep.c (avr_read_pc): Change parameter type to
10544         readable_regcache.
10545         * gdbarch.sh (read_pc): Likewise.
10546         * gdbarch.c: Re-generated.
10547         * gdbarch.h: Re-generated.
10548         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10549         readable_regcache.
10550         * ia64-tdep.c (ia64_read_pc): Likewise.
10551         * mips-tdep.c (mips_read_pc): Likewise.
10552         * spu-tdep.c (spu_read_pc): Likewise.
10553
10554 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10555
10556         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10557         * regcache-dump.c: New file.
10558         * regcache.c: Move register_dump to regcache-dump.c.
10559         (maintenance_print_registers): Likewise.
10560         (maintenance_print_raw_registers): Likewise.
10561         (maintenance_print_cooked_registers): Likewise.
10562         (maintenance_print_register_groups): Likewise.
10563         (maintenance_print_remote_registers): Likewise.
10564         (_initialize_regcache): Likewise.
10565         * regcache.h (register_dump): Moved from regcache.c.
10566
10567 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10568
10569         * regcache.c (regcache::regcache): Update.
10570         (regcache::invalidate): Move it to detached_regcache::invalidate.
10571         (get_thread_arch_aspace_regcache): Update.
10572         (regcache::raw_update): Update.
10573         (regcache::cooked_read): Remove some code.
10574         (regcache::cooked_read_value): Likewise.
10575         (regcache::raw_write): Remove assert on m_readonly_p.
10576         (regcache::raw_supply_integer): Move it to
10577         detached_regcache::raw_supply_integer.
10578         (regcache::raw_supply_zeroed): Likewise.
10579         * regcache.h (detached_regcache) <raw_supply_integer>: New
10580         declaration.
10581         <raw_supply_zeroed, invalidate>: Likewise.
10582         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10583         <invalidate>: Likewise.
10584         <m_readonly_p>: Removed.
10585
10586 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10587
10588         * infcmd.c (get_return_value): Let stop_regs point to
10589         get_current_regcache.
10590         * regcache.c (regcache::regcache): Remove.
10591         (register_dump_reg_buffer): New class.
10592         (regcache_print): Adjust.
10593         * regcache.h (regcache): Remove constructors.
10594
10595 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10596
10597         * regcache.c (class register_dump): New class.
10598         (register_dump_regcache, register_dump_none): New class.
10599         (register_dump_remote, register_dump_groups): New class.
10600         (regcache_print): Update.
10601         * regcache.h (regcache_dump_what): Move it to regcache.c.
10602         (regcache) <dump>: Remove.
10603
10604 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10605
10606         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10607          reg_buffer_rw *.
10608         (jit_unwind_reg_set_impl): Call raw_supply.
10609         (jit_frame_sniffer): Use reg_buffer_rw.
10610         * record-full.c (record_full_core_regbuf): Change its type.
10611         (record_full_core_open_1): Use reg_buffer_rw.
10612         (record_full_close): Likewise.
10613         (record_full_core_fetch_registers): Use regcache->raw_supply.
10614         (record_full_core_store_registers): Likewise.
10615         * regcache.c (regcache::get_register_status): Move it to
10616         reg_buffer.
10617         (regcache_raw_set_cached_value): Remove.
10618         (regcache::raw_set_cached_value): Remove.
10619         (regcache::raw_write): Call raw_supply.
10620         (regcache::raw_supply): Move it to reg_buffer_rw.
10621         * regcache.h (regcache_raw_set_cached_value): Remove.
10622         (reg_buffer_rw): New class.
10623
10624 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10625
10626         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10627         readonly_detached_regcache.
10628         (dummy_frame_prev_register): Use regcache->cooked_read.
10629         * frame.c (frame_save_as_regcache): Change return type.
10630         (frame_pop): Update.
10631         * frame.h (frame_save_as_regcache): Update declaration.
10632         * inferior.h (get_infcall_suspend_state_regcache): Update
10633         declaration.
10634         * infrun.c (infcall_suspend_state) <registers>: use
10635         readonly_detached_regcache.
10636         (save_infcall_suspend_state): Don't use regcache_dup.
10637         (get_infcall_suspend_state_regcache): Change return type.
10638         * linux-fork.c (struct fork_info) <savedregs>: Change to
10639         readonly_detached_regcache.
10640         <pc>: New field.
10641         (fork_save_infrun_state): Don't use regcache_dup.
10642         (info_checkpoints_command): Adjust.
10643         * mi/mi-main.c (register_changed_p): Update declaration.
10644         (mi_cmd_data_list_changed_registers): Use
10645         readonly_detached_regcache.
10646         (register_changed_p): Change parameter type to
10647         readonly_detached_regcache.
10648         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10649         readonly_detached_regcache.
10650         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10651         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10652         New.
10653         (regcache::save): Move it to reg_buffer.
10654         (regcache::restore): Change parameter type.
10655         (regcache_dup): Remove.
10656         * regcache.h (reg_buffer) <save>: New method.
10657         (readonly_detached_regcache): New class.
10658         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10659         readonly_detached_regcache.
10660         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10661
10662 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10663
10664         * frame.c (frame_save_as_regcache): Use regcache method save.
10665         (frame_pop): Use regcache method restore.
10666         * infrun.c (restore_infcall_suspend_state): Likewise.
10667         * linux-fork.c (fork_load_infrun_state): Likewise.
10668         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10669         save.
10670         * regcache.c (regcache_save): Remove.
10671         (regcache::restore): More asserts.
10672         (regcache_cpy): Remove.
10673         * regcache.h (regcache_save): Remove the declaration.
10674         (regcache::restore): Move from private to public.
10675         Remove the friend declaration of regcache_cpy.
10676         (regcache_cpy): Remove declaration.
10677
10678 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10679
10680         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10681         parameter type to 'readable_regcache *'.
10682         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10683         * arm-tdep.c (arm_neon_quad_read): Likewise.
10684         (arm_pseudo_read): Likewise.
10685         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10686         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10687         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10688         * gdbarch.c: Re-generated.
10689         * gdbarch.h: Re-generated.
10690         * gdbarch.sh (pseudo_register_read): Change parameter type to
10691         'readable_regcache *'.
10692         (pseudo_register_read_value): Likewise.
10693         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10694         (h8300_pseudo_register_read): Likewise.
10695         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10696         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10697         (i386_pseudo_register_read_into_value): Likewise.
10698         (i386_pseudo_register_read_value): Likewise.
10699         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10700         declaration.
10701         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10702         * m32c-tdep.c (m32c_raw_read): Likewise.
10703         (m32c_read_flg): Likewise.
10704         (m32c_banked_register): Likewise.
10705         (m32c_banked_read): Likewise.
10706         (m32c_sb_read): Likewise.
10707         (m32c_part_read): Likewise.
10708         (m32c_cat_read): Likewise.
10709         (m32c_r3r2r1r0_read): Likewise.
10710         (m32c_pseudo_register_read): Likewise.
10711         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10712         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10713         (mep_pseudo_cr64_read): Likewise.
10714         (mep_pseudo_register_read): Likewise.
10715         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10716         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10717         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10718         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10719         (regcache::cooked_read): Likewise.
10720         (regcache::cooked_read_value): Likewise.
10721         (regcache_cooked_read_signed):
10722         (regcache::cooked_read): Likewise.
10723         * regcache.h (readable_regcache): New class.
10724         (regcache): Inherit readable_regcache.  Move some methods to
10725         readable_regcache.
10726         * rl78-tdep.c (rl78_pseudo_register_read): Change
10727         parameter type to 'readable_regcache *'.
10728         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10729         (e500_pseudo_register_read): Change parameter type to
10730         'readable_regcache *'.
10731         (dfp_pseudo_register_read): Likewise.
10732         (vsx_pseudo_register_read): Likewise.
10733         (efpr_pseudo_register_read): Likewise.
10734         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10735         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10736         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10737         (sh64_pseudo_register_read): Likewise.
10738         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10739         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10740         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10741         (spu_pseudo_register_read): Likewise.
10742         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10743         (xtensa_pseudo_register_read): Likewise.
10744
10745 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10746
10747         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10748         (regcache::arch): Move it to reg_buffer::arch.
10749         (regcache::register_buffer): Likewise.
10750         (regcache::assert_regnum): Likewise.
10751         (regcache::num_raw_registers): Likewise.
10752         * regcache.h (reg_buffer): New class.
10753         (regcache): Inherit reg_buffer.
10754
10755 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10756
10757         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10758         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10759
10760 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10761
10762         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10763
10764 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10765
10766         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10767         (SFILES): Remove common/*.c files.
10768         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10769         * common/common.host: Add common reference.
10770         * configure.ac: Likewise.
10771         * configure: Regenerate.
10772
10773 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10774
10775         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10776         (block_initialize_namespace): Use new.
10777         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10778         (dwarf2_free_objfile): Use delete.
10779         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10780         (copy_type_recursive): Use new.
10781         * gdb_obstack.h (allocate_on_obstack): New.
10782
10783 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10784
10785         PR gdb/22849
10786         * inferior.c (exit_inferior_1): Reset inf->control.
10787
10788 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10789
10790         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10791         declaration.
10792
10793 2018-02-14  Pedro Alves  <palves@redhat.com>
10794
10795         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10796         frame_cleanup_after_sniffer on exception.
10797
10798 2018-02-14  Tom Tromey  <tom@tromey.com>
10799
10800         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10801         const.
10802         (solib_bfd_open): Make pathname const.
10803         * solib.c (solib_bfd_open): Make pathname const.
10804         * solib-spu.c (spu_bfd_fopen): Make name const.
10805         (spu_bfd_open): Make pathname const.
10806         * solib-darwin.c (darwin_bfd_open): Make pathname const.
10807         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
10808
10809 2018-02-14  Tom Tromey  <tom@tromey.com>
10810
10811         * symfile.c (symfile_bfd_open): Update.
10812         * source.h (openp, source_full_path_of, find_and_open_source):
10813         Change argument type to unique_xmalloc_ptr.
10814         * source.c (openp): Take a unique_xmalloc_ptr.
10815         (source_full_path_of, find_and_open_source): Likewise.
10816         (open_source_file, symtab_to_fullname): Update.
10817         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
10818         unique_xmalloc_ptr.
10819         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
10820         (exec_file_find): Update.
10821         * psymtab.c (psymtab_to_fullname): Update.
10822         * nto-tdep.h (nto_find_and_open_solib): Update.
10823         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
10824         unique_xmalloc_ptr.
10825         * exec.c (exec_file_attach): Update.
10826         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
10827         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
10828
10829 2018-02-14  Tom Tromey  <tom@tromey.com>
10830
10831         * solib.c: Include source.h.
10832         * nto-tdep.c: Include source.h.
10833         * mi/mi-cmd-env.c: Include source.h.
10834         * infcmd.c: Include source.h.
10835         * exec.c: Include source.h.
10836         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
10837         (add_path, directory_switch, source_path, init_source_path): Move
10838         declarations...
10839         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
10840         (add_path, directory_switch, source_path, init_source_path):
10841         ...here.
10842
10843 2018-02-14  Tom Tromey  <tom@tromey.com>
10844
10845         * solist.h (exec_file_find, solib_find): Return
10846         unique_xmalloc_ptr.
10847         (solib_bfd_fopen): Take a const char *.
10848         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10849         (exec_file_find, solib_find): Likewise.
10850         (solib_bfd_fopen): Do not take ownership of "pathname".
10851         (solib_bfd_open): Use unique_xmalloc_ptr.
10852         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10853         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10854         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10855         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10856
10857 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10858
10859         * ada-lang.c (name_match_type_from_name): Remove reference to
10860         ada_name_for_lookup in function's documentation.
10861         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10862
10863 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10864
10865         * defs.h (enum openp_flags): New enum.
10866         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10867         Move to enum openp_flags.
10868         (openp_flags): New enum flags.
10869         (openp): Change parameter type to openp_flags.
10870         * source.c (openp): Change parameter type to openp_flags.
10871         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10872         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10873
10874 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10875
10876         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10877         per-command.
10878
10879 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10880
10881         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10882         into...
10883         (class dwarf2_queue_guard): ...the destructor of this new class.
10884         (dw2_do_instantiate_symtab): Create instance of the new class
10885         dwarf2_queue_guard, remove cleanup.
10886
10887 2018-02-09  Tom Tromey  <tom@tromey.com>
10888
10889         * source.c (find_source_lines): Don't reference past the end of
10890         the vector.
10891
10892 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10893
10894         * remote.c (remote_btrace_maybe_reopen): Change error message.
10895         * btrace.c (btrace_enable): Likewise.
10896         (parse_xml_btrace): Likewise.
10897         (parse_xml_btrace_conf): Likewise.
10898
10899 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10900
10901         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10902         (linux_enable_pt, linux_enable_bts): Call
10903         diagnose_perf_event_open_fail.
10904
10905 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10906
10907         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10908         Remove parameter and change return type.  Update callers.  Move it.
10909         (linux_enable_bts, linux_enable_pt): Improve error message.
10910         (linux_enable_pt): Remove zero buffer size check.
10911         (linux_enable_btrace): Improve error messages.  Remove NULL return
10912         check.
10913
10914 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10915
10916         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10917         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10918         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10919         (linux_supports_pt, linux_supports_btrace): Remove.
10920         (linux_enable_bts): Call cpu_supports_bts.
10921         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10922         * remote.c (remote_supports_btrace): Remove.
10923         (init_remote_ops): Remove remote_supports_btrace.
10924         * target-delegates.c: Regenerated.
10925         * target.c (target_supports_btrace): Remove.
10926         * target.h (target_ops) <to_supports_btrace>: Remove
10927         (target_supports_btrace): Remove.
10928         * x86-linux-nat.c (x86_linux_create_target): Remove
10929         linux_supports_btrace.
10930
10931 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10932
10933         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10934         btrace failed.
10935         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10936         exception and use message in own exception.
10937
10938 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10939
10940         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10941         (perf_event_pt_event_type): Use gdb_file_up.
10942         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10943         scoped_fd, and scoped_mmap.
10944
10945 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10946
10947         * common/scoped_mmap.h: New.
10948         * unittests/scoped_mmap-selftest.c: New.
10949         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10950         unittests/scoped_mmap-selftest.c.
10951
10952 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10953
10954         * common/scoped_fd.h: New.
10955         * unittests/scoped_fd-selftest.c: New.
10956         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10957         unittests/scoped_fd-selftest.c.
10958
10959 2018-02-09  Tom Tromey  <tom@tromey.com>
10960
10961         * auto-load.c (auto_load_section_scripts): Use
10962         gdb::unique_xmalloc_ptr.
10963
10964 2018-02-09  Tom Tromey  <tom@tromey.com>
10965
10966         * auto-load.c (execute_script_contents): Use std::string.
10967
10968 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10969
10970         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10971         Python function, rather than a new command.
10972
10973 2018-02-08  Tom Tromey  <tom@tromey.com>
10974
10975         * solib.c (solib_find_1): Use std::string.
10976         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10977
10978 2018-02-08  Tom Tromey  <tom@tromey.com>
10979
10980         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10981
10982 2018-02-08  Tom Tromey  <tom@tromey.com>
10983
10984         * source.c (find_source_lines): Use gdb::def_vector.
10985
10986 2018-02-08  Tom Tromey  <tom@tromey.com>
10987
10988         * macrocmd.c (struct temporary_macro_definition): New.
10989         (macro_define_command): Use temporary_macro_definition.  Remove
10990         cleanups.
10991         (free_macro_definition_ptr): Remove.
10992
10993 2018-02-08  Tom Tromey  <tom@tromey.com>
10994
10995         * macroexp.c (maybe_expand): Use std::string.
10996
10997 2018-02-08  Tom Tromey  <tom@tromey.com>
10998
10999         * macroexp.c (struct macro_buffer): Add initializers for some
11000         members.
11001         (init_buffer, init_shared_buffer, free_buffer)
11002         (free_buffer_return_text): Remove.
11003         (macro_buffer): New constructors.
11004         (~macro_buffer): New destructor.
11005         (macro_buffer::set_shared): New method.
11006         (macro_buffer::resize_buffer, macro_buffer::appendc)
11007         (macro_buffer::appendmem): Now methods, not free functions.
11008         (set_token, append_tokens_without_splicing, stringify)
11009         (macro_stringify): Update.
11010         (gather_arguments): Change return type.  Remove argc_p argument,
11011         add args_ptr argument.  Use std::vector.
11012         (substitute_args): Remove argc argument.  Accept std::vector.
11013         (expand): Update.  Use std::vector.
11014         (scan, macro_expand, macro_expand_next): Update.
11015
11016 2018-02-08  Tom Tromey  <tom@tromey.com>
11017
11018         * symtab.c (default_collect_symbol_completion_matches_break_on):
11019         Use unique_xmalloc_ptr.
11020         * macroscope.h: (sal_macro_scope, user_macro_scope)
11021         (default_macro_scope): Return unique_xmalloc_ptr.
11022         * macroscope.c (sal_macro_scope, user_macro_scope)
11023         (default_macro_scope): Return unique_xmalloc_ptr.
11024         * macroexp.h (macro_expand, macro_expand_once): Return
11025         unique_xmalloc_ptr.
11026         * macroexp.c (macro_expand, macro_expand_once): Return
11027         unique_xmalloc_ptr.
11028         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11029         (info_macro_command, info_macros_command): Use
11030         unique_xmalloc_ptr.
11031         * compile/compile-c-support.c (write_macro_definitions): Use
11032         unique_xmalloc_ptr.
11033         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11034
11035 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11036
11037         * value.c (value_static_field): Assign field type instead of
11038         containing type when returning an optimized out value.
11039
11040 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11041
11042         * ft32-tdep.c (ft32_read_pc): Remove.
11043         (ft32_write_pc): Remove.
11044         (ft32_gdbarch_init): Update.
11045         * m32r-tdep.c (m32r_read_pc): Remove.
11046         (m32r_gdbarch_init): Update.
11047         * mep-tdep.c (mep_read_pc): Remove.
11048         (mep_gdbarch_init): Update.
11049         * microblaze-tdep.c (microblaze_write_pc): Remove.
11050         (microblaze_gdbarch_init): Update.
11051         * mn10300-tdep.c (mn10300_read_pc): Remove.
11052         (mn10300_write_pc): Remove.
11053         (mn10300_gdbarch_init): Update.
11054         * moxie-tdep.c (moxie_read_pc): Remove.
11055         (moxie_write_pc): Remove.
11056         (moxie_gdbarch_init): Update.
11057
11058 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11059
11060         * expprint.c (print_subexp_standard): Handle
11061         OP_F77_UNDETERMINED_ARGLIST.
11062         (dump_subexp_body_standard): Likewise.
11063
11064 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11065
11066         * target-descriptions.c (tdesc_element_visitor) Add empty
11067         implementations.
11068         (tdesc_type): Move make_gdb_type from here.
11069         (tdesc_type_builtin): Likewise.
11070         (tdesc_type_vector): Likewise.
11071         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11072         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11073         (make_gdb_type_union): Likewise.
11074         (make_gdb_type_flags): Likewise.
11075         (make_gdb_type_enum): Likewise.
11076         (make_gdb_type): New function.
11077         (tdesc_register_type): Use static make_gdb_type.
11078
11079 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11080
11081         * infcmd.c (default_print_one_register_info): Align natural-format
11082         column values consistently one under another.
11083         (pad_to_column): New function.
11084
11085 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11086
11087         * dwarf2read.c (dwarf2_physname): Move commment.
11088
11089 2018-02-01  Leszek Swirski  <leszeks@google.com>
11090
11091         * varobj.c (varobj_formatted_print_options): Allow recursive
11092         pretty printing if pretty printing is enabled.
11093
11094 2018-02-01  Leszek Swirski  <leszeks@google.com>
11095
11096         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11097         names after a structop as a filename.
11098
11099 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11100
11101         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11102         (arm_record_coproc_data_proc): Likewise.
11103
11104 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11105
11106         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11107
11108 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11109
11110         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11111         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11112
11113 2018-01-31  Pedro Alves  <palves@redhat.com>
11114
11115         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11116         * inflow.c (child_terminal_save_inferior): Wrap reference to
11117         tcgetpgrp in HAVE_TERMIOS_H.
11118         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11119         _WIN32.
11120         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11121         always iterate over all inferiors.
11122         (gdbsim_cntrl_c): Adjust.
11123         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11124
11125 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11126
11127         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11128         index type is objfile-owned if the element type is as well.
11129
11130 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11131
11132         GDB 8.1 released.
11133
11134 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11135
11136         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11137         "features/s390x-linux64.c".
11138         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11139         s390_linux32 and s390x_linux64.
11140         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11141         default tdesc.
11142         * s390-tdep.c: Include "features/s390-linux32.c" and
11143         "features/s390x-linux64.c".
11144         (s390_tdesc_valid): Add check for tdesc_has_registers.
11145         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11146         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11147         tdesc_s390x_linux64.
11148         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11149         tdesc_s390x_linux64 to...
11150         * s390-tdep.h: ...here.
11151
11152 2018-01-30  Pedro Alves  <palves@redhat.com>
11153
11154         PR gdb/13211
11155         * config.in, configure: Regenerate.
11156         * configure.ac: Check for getpgid.
11157         * go32-nat.c (go32_pass_ctrlc): New.
11158         (go32_target): Install it.
11159         * inf-child.c (inf_child_target): Install
11160         child_terminal_save_inferior, child_pass_ctrlc and
11161         child_interrupt.
11162         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11163         (inf_ptrace_target): No longer install it.
11164         * infcmd.c (interrupt_target_1): Adjust.
11165         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11166         (child_interrupt): Declare.
11167         (inferior::terminal_state): New.
11168         * inflow.c (struct terminal_info): Update comments.
11169         (inferior_process_group): Delete.
11170         (terminal_is_ours): Delete.
11171         (gdb_tty_state): New.
11172         (child_terminal_init): Adjust.
11173         (is_gdb_terminal, sharing_input_terminal_1)
11174         (sharing_input_terminal): New functions.
11175         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11176         Set the process's actual process group in the foreground if
11177         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11178         mark terminal as the inferior's if not sharing GDB's terminal.
11179         Don't check attach_flag.
11180         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11181         pass down a target_terminal_state.
11182         (child_terminal_save_inferior): New, factored out from ...
11183         (child_terminal_ours_1): ... this.  Handle
11184         target_terminal_state::is_ours_for_output.
11185         (child_interrupt, child_pass_ctrlc): New.
11186         (inflow_inferior_exit): Clear the inferior's terminal_state.
11187         (copy_terminal_info): Copy the inferior's terminal state.
11188         (_initialize_inflow): Remove reference to terminal_is_ours.
11189         * inflow.h (inferior_process_group): Delete.
11190         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11191         * procfs.c (procfs_target): Don't install procfs_interrupt.
11192         (procfs_interrupt): Delete.
11193         * remote.c (remote_serial_quit_handler): Adjust.
11194         (remote_interrupt): Remove ptid parameter.  Adjust.
11195         * target-delegates.c: Regenerate.
11196         * target.c: Include "terminal.h".
11197         (target_terminal::terminal_state): Rename to ...
11198         (target_terminal::m_terminal_state): ... this.
11199         (target_terminal::init): Adjust.
11200         (target_terminal::inferior): Adjust to per-inferior
11201         terminal_state.
11202         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11203         (target_terminal::ours, target_terminal::ours_for_output): Use
11204         target_terminal_is_ours_kind.
11205         (target_interrupt): Remove ptid parameter.  Adjust.
11206         (default_target_pass_ctrlc): Adjust.
11207         * target.h (target_ops::to_terminal_save_inferior): New field.
11208         (target_ops::to_interrupt): Remove ptid_t parameter.
11209         (target_interrupt): Remove ptid_t parameter.  Update comment.
11210         (target_pass_ctrlc): Update comment.
11211         * target/target.h (target_terminal_state): New scoped enum,
11212         factored out of ...
11213         (target_terminal::terminal_state): ... here.
11214         (target_terminal::inferior): Update comments.
11215         (target_terminal::restore_inferior): New.
11216         (target_terminal::is_inferior, target_terminal::is_ours)
11217         (target_terminal::is_ours_for_output): Adjust.
11218         (target_terminal::scoped_restore_terminal_state): Adjust to
11219         rename, and call restore_inferior() instead of inferior().
11220         (target_terminal::scoped_restore_terminal_state::m_state): Change
11221         type.
11222         (target_terminal::terminal_state): Rename to ...
11223         (target_terminal::m_terminal_state): ... this and change type.
11224
11225 2018-01-30  Pedro Alves  <palves@redhat.com>
11226
11227         * linux-nat.c (wait_for_signal): New function.
11228         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11229         directly.
11230         (async_terminal_is_ours)
11231         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11232         (linux_nat_add_target): Don't override
11233         to_terminal_inferior/to_terminal_ours.
11234
11235 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11236
11237         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11238
11239 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11240
11241         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11242         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11243         dwarf2_per_objfile_free here.
11244         (dwarf2_per_objfile_free): Remove.
11245         (_initialize_dwarf2_read): Don't register
11246         dwarf2_per_objfile_free as a registry cleanup.
11247
11248 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11249
11250         Avoid compilation errors in MinGW native builds
11251
11252         The error is triggered by including python-internal.h, and the
11253         error message is:
11254
11255              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11256                       from build-gnulib/import/math.h:27,
11257                       from d:/usr/Python26/include/pyport.h:235,
11258                       from d:/usr/Python26/include/Python.h:58,
11259                       from python/python-internal.h:94,
11260                       from python/py-arch.c:24:
11261              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11262         using ::hypot;
11263                 ^~~~~
11264
11265         This happens because Python headers define 'hypot' to expand t
11266         '_hypot' in the Windows builds.
11267         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11268         'hypoth'.  This avoids a compilation error.
11269
11270 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11271
11272         * MAINTAINERS (Write After Approval): Fix ordering.
11273
11274 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11275
11276         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11277
11278 2018-01-26  Alan Modra  <amodra@gmail.com>
11279
11280         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11281         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11282         Remove nop.  Make const.  Comment.
11283         (powerpc32_plt_stub_so_2): New.
11284         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11285         Correct count.  Update uses.
11286         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11287         Move common code reading PLT entry word.  Correct
11288         powerpc32_plt_stub PLT address calculation.
11289         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11290         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11291         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11292         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11293         (ppc64_standard_linkage8): Likewise.
11294         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11295         Correct insns description.
11296         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11297
11298 2018-01-24  Pedro Alves  <palves@redhat.com>
11299
11300         GCC PR libstdc++/83906
11301         * gdbtypes.c (operator==(const dynamic_prop &,
11302         const dynamic_prop &)): New.
11303         (operator==(const range_bounds &, const range_bounds &)): New.
11304         (check_types_equal): Use them instead of memcmp.
11305         * gdbtypes.h (operator==(const dynamic_prop &,
11306         const dynamic_prop &)): Declare.
11307         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11308         (operator==(const range_bounds &, const range_bounds &)): Declare.
11309         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11310
11311 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11312
11313         * s390-linux-tdep.c (s390_record_address_mask)
11314         (s390_record_calc_disp_common, s390_record_calc_disp)
11315         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11316         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11317         (s390_process_record): Move to s390-tdep.c.
11318         (s390_linux_init_abi_any): Adjust.
11319         * s390-tdep.c (s390_record_address_mask)
11320         (s390_record_calc_disp_common, s390_record_calc_disp)
11321         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11322         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11323         (s390_process_record): Moved from s390-linux-tdep.c
11324         (s390_gdbarch_init): Adjust.
11325
11326 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11327
11328         * s390-linux-nat.c (s390-tdep.h): New include.
11329         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11330         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11331         (ALLDEPFILES): Add s390-tdep.c.
11332         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11333         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11334         * s390-tdep.h: ...this.  New file.
11335         * s390-linux-tdep.c (s390-tdep.h): New include.
11336         (_initialize_s390_tdep): Rename to...
11337         (_initialize_s390_linux_tdep): ...this and adjust.
11338         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11339         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11340         s390-tdep.h.
11341         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11342         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11343         (s390_is_partial_instruction, s390_software_single_step)
11344         (is_non_branch_ril, s390_displaced_step_copy_insn)
11345         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11346         (s390_prologue_data, s390_addr, s390_store, s390_load)
11347         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11348         (s390_register_call_saved, s390_guess_tracepoint_registers)
11349         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11350         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11351         (s390_pseudo_register_name, s390_pseudo_register_type)
11352         (s390_pseudo_register_read, s390_pseudo_register_write)
11353         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11354         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11355         (s390_addr_bits_remove, s390_address_class_type_flags)
11356         (s390_address_class_type_flags_to_name)
11357         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11358         (s390_function_arg_float, s390_function_arg_vector)
11359         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11360         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11361         (s390_frame_align, s390_register_return_value, s390_return_value)
11362         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11363         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11364         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11365         (s390_trad_frame_prev_register, s390_unwind_cache)
11366         (s390_prologue_frame_unwind_cache)
11367         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11368         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11369         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11370         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11371         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11372         (s390_frame_base_address, s390_local_base_address)
11373         (s390_frame_base, s390_gcc_target_options)
11374         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11375         (s390_validate_reg_range, s390_tdesc_valid)
11376         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11377         * s390-tdep.c: ...this.  New file.
11378
11379 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11380
11381         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11382         (s390_process_record, s390_gdbarch_tdep_alloc)
11383         (s390_linux_init_abi_any): Use/set new hook.
11384
11385 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11386
11387         * s390-linux-tdep.c (osabi.h): New include.
11388         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11389         (s390_linux_init_abi_any): New functions.
11390         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11391
11392 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11393
11394         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11395         tdesc_has_registers check
11396
11397 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11398
11399         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11400         (s390_validate_reg_range): New macro.
11401         (s390_gdbarch_init): Adjust.
11402
11403 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11404
11405         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11406         (s390_gdbarch_tdep_alloc): Adjust.
11407         (s390_gdbarch_init): Adjust.
11408
11409 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11410
11411         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11412         <have_tdb>: Change type to bool.
11413         (s390_gdbarch_tdep_alloc): Adjust.
11414         (s390_gdbarch_init): Adjust.
11415
11416 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11417
11418         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11419         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11420         (s390_gdbarch_tdep_alloc): New function.
11421         (s390_gdbarch_init): Allocate tdep at start and use its fields
11422         instead of separate variables.
11423
11424 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11425
11426         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11427         when looking for cached gdbarch and add comment for remaining.
11428
11429 2018-01-22  Pedro Alves  <palves@redhat.com>
11430             Sergio Durigan Junior  <sergiodj@redhat.com>
11431
11432         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11433         case.
11434
11435 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11436
11437         * MAINTAINERS: Update my company e-mail address.
11438
11439 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11440
11441         * regcache.c (cooked_write_test): New function.
11442         (_initialize_regcache): Register the test.
11443
11444 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11445
11446         * ia64-tdep.c (ia64_pseudo_register_read): Call
11447         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11448         * m32c-tdep.c (m32c_cat_read): Likewise.
11449         (m32c_r3r2r1r0_read): Likewise.
11450         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11451         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11452
11453 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11454
11455         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11456         method raw_read instead of regcache_raw_read.
11457         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11458         * arm-tdep.c (arm_neon_quad_read): Likewise.
11459         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11460         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11461         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11462         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11463         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11464         (i386_pseudo_register_read_into_value): Likewise.
11465         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11466         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11467         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11468         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11469         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11470         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11471         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11472         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11473         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11474
11475 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11476
11477         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11478         * configure.tgt: Remove target mt.
11479         * mt-tdep.c: Remove.
11480         * regcache.c (cooked_read_test): Remove the check for mt.
11481
11482 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11483
11484         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11485         instead of gdbarch_pseudo_register_read_value.
11486
11487 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11488
11489         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11490         language is Ada.
11491
11492 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11493
11494         * linespec.c (create_sals_line_offset): Remove code that preserved
11495         the symtab_and_line's line number.
11496
11497 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11498
11499         * varobj.c (varobj_create): Don't set valid_block when creating a
11500         floating varobj.
11501
11502 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11503
11504         * varobj.c (varobj_create): Remove out of date comment.
11505
11506 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11507
11508         PR mi/20395
11509         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11510         updating innermost block.
11511         * parse.c (innermost_block_tracker::update): Take extra type
11512         parameter, and check types match before updating innermost block.
11513         (write_dollar_variable): Update innermost block for registers.
11514         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11515         (innermost_block_tracker::innermost_block_tracker): Initialise
11516         m_types member.
11517         (innermost_block_tracker::reset): Take type parameter.
11518         (innermost_block_tracker::update): Take type parameter, and pass
11519         type through as needed.
11520         (innermost_block_tracker::m_types): New member.
11521         * varobj.c (varobj_create): Pass type when reseting innermost
11522         block.
11523
11524 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11525
11526         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11527         * ada-lang.c (resolve_subexp): Likewise.
11528         * breakpoint.c (set_breakpoint_condition) Likewise.
11529         (watch_command_1) Likewise.
11530         * c-exp.y (variable): Likewise.
11531         * d-exp.y (PrimaryExpression): Likewise.
11532         * f-exp.y (variable): Likewise.
11533         * go-exp.y (variable): Likewise.
11534         * m2-exp.y (variable): Likewise.
11535         * objfiles.c (objfile::~objfile): Likewise.
11536         * p-exp.y (variable): Likewise.
11537         * parse.c (innermost_block): Change type.
11538         * parser-defs.h (class innermost_block_tracker): New.
11539         (innermost_block): Change to innermost_block_tracker.
11540         * printcmd.c (display_command): Switch to innermost_block API.
11541         (do_one_display): Likewise.
11542         * rust-exp.y (do_one_display): Likewise.
11543         * symfile.c (clear_symtab_users): Likewise.
11544         * varobj.c (varobj_create): Switch to innermost_block API, replace
11545         use of innermost_block with block stored on varobj object.
11546
11547 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11548
11549         * expression.h (innermost_block): Remove declaration.
11550         * varobj.c: Add 'parser-defs.h' include.
11551
11552 2018-01-19  Tom Tromey  <tom@tromey.com>
11553
11554         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11555         symbols in the static and global blocks.
11556
11557 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11558
11559         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11560         gdb_ptrace.h, and move including gdb_wait.h ...
11561         * nat/linux-ptrace.h: ... to here.
11562
11563 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11564
11565         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11566         inf_ptrace_detach_success.
11567         (inf_ptrace_detach_success): Add inferior parameter, use it
11568         instead of inferior_ptid, pass it to detach_inferior.
11569         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11570         parameter.
11571         * inferior.c (detach_inferior): Add overload that takes an
11572         inferior object.
11573         * inferior.h (detach_inferior): Likewise.
11574         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11575         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11576         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11577
11578 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11579
11580         * target.h (struct target_ops) <to_detach>: Add inferior
11581         parameter.
11582         (target_detach): Likewise.
11583         * target.c (dispose_inferior): Pass inferior down.
11584         (target_detach): Pass inferior down.  Assert that it is equal to
11585         the current inferior.
11586         * aix-thread.c (aix_thread_detach): Pass inferior down.
11587         * corefile.c (core_file_command): Pass current_inferior() down.
11588         * corelow.c (core_detach): Add inferior parameter.
11589         * darwin-nat.c (darwin_detach): Likewise.
11590         * gnu-nat.c (gnu_detach): Likewise.
11591         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11592         * infcmd.c (detach_command): Pass current_inferior() down to
11593         target_detach.
11594         * infrun.c (follow_fork_inferior): Pass parent_inf to
11595         target_detach.
11596         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11597         target_detach.
11598         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11599         * linux-thread-db.c (thread_db_detach): Likewise.
11600         * nto-procfs.c (procfs_detach): Likewise.
11601         * procfs.c (procfs_detach): Likewise.
11602         * record.c (record_detach): Likewise.
11603         * record.h (struct inferior): Forward-declare.
11604         (record_detach): Add inferior parameter.
11605         * remote-sim.c (gdbsim_detach): Likewise.
11606         * remote.c (remote_detach_1): Likewise.
11607         (remote_detach): Likewise.
11608         (extended_remote_detach): Likewise.
11609         * sol-thread.c (sol_thread_detach): Likewise.
11610         * target-debug.h (target_debug_print_inferior_p): New macro.
11611         * target-delegates.c: Re-generate.
11612         * top.c (kill_or_detach): Pass inferior down to target_detach.
11613         * windows-nat.c (windows_detach): Add inferior parameter.
11614
11615 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11616
11617         * target.h (struct target_ops) <to_detach>: Remove args
11618         parameter.
11619         (target_detach): Likewise.
11620         * target.c (dispose_inferior): Adjust.
11621         (target_detach): Remove args parameter, adjust.
11622         * aix-thread.c (aix_thread_detach): Adjust.
11623         * corefile.c (core_file_command): Adjust.
11624         * corelow.c (core_detach): Adjust.
11625         * darwin-nat.c (darwin_detach): Adjust.
11626         * gnu-nat.c (gnu_detach): Adjust.
11627         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11628         * infcmd.c (detach_command): Adjust
11629         * infrun.c (follow_fork_inferior): Adjust.
11630         (handle_vfork_child_exec_or_exit): Adjust.
11631         * linux-fork.c (linux_fork_detach): Remove args parameter.
11632         * linux-fork.h (linux_fork_detach): Likewise.
11633         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11634         * linux-thread-db.c (thread_db_detach): Likewise.
11635         * nto-procfs.c (procfs_detach): Likewise.
11636         * procfs.c (procfs_detach): Likewise.
11637         (do_detach): Remove signo parameter.
11638         * record.c (record_detach): Remove args parameter.
11639         * record.h (record_detach): Likewise.
11640         * remote-sim.c (gdbsim_detach): Likewise.
11641         * remote.c (remote_detach_1): Likewise.
11642         (remote_detach): Likewise.
11643         (extended_remote_detach): Likewise.
11644         * sol-thread.c (sol_thread_detach): Likewise.
11645         * target-delegates.c: Re-generate.
11646         * top.c (struct qt_args) <args>: Remove field.
11647         (kill_or_detach): Don't pass args.
11648         (quit_force): Don't set args.
11649         * windows-nat.c (windows_detach): Remove args parameter.
11650
11651 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11652
11653         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11654         (arm_linux_init_abi): Install it.
11655
11656 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11657
11658         * osabi.c (gdb_osabi_names): Extend the regexp for
11659         arm-linux-gnueabihf.
11660
11661 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11662
11663         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11664         m_abbrevs.
11665         (abbrev_table::add_abbrev): Update.
11666         (abbrev_table::lookup_abbrev): Update.
11667
11668 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11669
11670         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11671
11672 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11673
11674         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11675         to "std::string".
11676
11677 2018-01-17  Tom Tromey  <tom@tromey.com>
11678
11679         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11680
11681 2018-01-17  Tom Tromey  <tom@tromey.com>
11682
11683         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11684         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11685         (create_array_type_with_stride): Update.
11686         * dwarf2read.c (set_die_type): Update.
11687
11688 2018-01-17  Tom Tromey  <tom@tromey.com>
11689
11690         * dwarf2read.c (delayed_method_info): Remove typedef.
11691         (dwarf2_cu::method_info): Now a std::vector.
11692         (add_to_method_list): Update.
11693         (free_delayed_list): Remove.
11694         (compute_delayed_physnames): Update.
11695         (process_full_comp_unit, process_full_type_unit): Clear the method
11696         list.  Remove cleanups.
11697         (psymtab_include_file_name): Add name_holder parameter.  Use
11698         unique_xmalloc_ptr.
11699         (dwarf_decode_lines): Update.
11700
11701 2018-01-17  Tom Tromey  <tom@tromey.com>
11702             Simon Marchi  <simon.marchi@ericsson.com>
11703
11704         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11705         (dwarf2_per_objfile::free_cached_comp_units)
11706         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11707         (init_cutu_and_read_dies_no_follow): Update.
11708         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11709         (dwarf2_cu::~dwarf2_cu): New.
11710         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11711         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11712
11713 2018-01-17  Tom Tromey  <tom@tromey.com>
11714             Simon Marchi  <simon.marchi@ericsson.com>
11715
11716         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11717         (struct die_reader_specs) <abbrev_table>: New member.
11718         (struct abbrev_table): Add constructor.
11719         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11720         <abbrev_obstack>: Now an auto_obstack.
11721         (abbrev_table_up): New typedef.
11722         (init_cu_die_reader): Add abbrev_table parameter.
11723         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11724         Add result_dwo_abbrev_table.
11725         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11726         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11727         Update.
11728         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11729         parameter.
11730         (skip_children): Update.
11731         (abbrev_table::alloc_abbrev): Rename from
11732         abbrev_table_alloc_abbrev.
11733         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11734         (abbrev_table::lookup_abbrev): Rename from
11735         abbrev_table_lookup_abbrev.
11736         (abbrev_table_read_table): Return abbrev_table_up.
11737         (abbrev_table_free, abbrev_table_free_cleanup)
11738         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11739         (load_partial_dies): Update.
11740
11741 2018-01-17  Tom Tromey  <tom@tromey.com>
11742
11743         * dwarf2read.c (dwarf2_compute_name): Update comment.
11744         (read_func_scope, read_variable): Update.
11745         (new_symbol): Remove.
11746         (new_symbol_full): Rename to new_symbol.
11747
11748 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11749
11750         PR gdb/16577
11751         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11752         a warning instead of throwing an error, set section size to 0 and return
11753         NULL.
11754         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11755
11756 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11757
11758         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11759         std::string.
11760         (linux_ptrace_attach_fail_reason_string): Likewise.
11761         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11762         Likewise.
11763         (linux_ptrace_attach_fail_reason_string): Likewise.
11764         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11765
11766 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11767
11768         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11769
11770 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11771
11772         PR gdb/21559
11773         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11774         checking for fs_base/gs_base fields in struct user_regs_struct.
11775         * configure: Regenerate.
11776
11777 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11778
11779         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11780         function.
11781         (aarch64_linux_init_abi): Install it to gdbarch hook
11782         gcc_target_options.
11783
11784 2018-01-15  Pedro Alves  <palves@redhat.com>
11785
11786         * common/signals-state-save-restore.c
11787         (save_original_signals_state): Fix typos.
11788
11789 2017-01-12  Tom Tromey  <tom@tromey.com>
11790             Sergio Durigan Junior  <sergiodj@redhat.com>
11791
11792         * Makefile.in (install-only): Install gdb-add-index.
11793
11794 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11795
11796         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11797
11798 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11799
11800         * infrun.c (keep_going_pass_signal): Clear step-over info when
11801         insert_breakpoints fails.
11802
11803 2018-01-11  Pedro Alves  <palves@redhat.com>
11804
11805         PR gdb/22583
11806         * infrun.c (resume): Rename to ...
11807         (resume_1): ... this.
11808         (resume): Reimplement as wrapper around resume_1.
11809
11810 2018-01-11  Pedro Alves  <palves@redhat.com>
11811
11812         PR remote/22597
11813         * remote.c (remote_parse_stop_reply): Default to the last-set
11814         general thread instead of to 'magic_null_ptid'.
11815
11816 2018-01-10  Pedro Alves  <palves@redhat.com>
11817
11818         * language.h (language_get_symbol_name_matcher): Rename ...
11819         (get_symbol_name_matcher): ... this.
11820         * language.c (language_get_symbol_name_matcher): Ditto.
11821         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
11822         callers adjusted.
11823
11824 2018-01-10  Pedro Alves  <palves@redhat.com>
11825
11826         PR gdb/22670
11827         * dwarf2read.c
11828         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
11829         Adjust to use language_get_symbol_name_matcher instead of
11830         language_defn::la_get_symbol_name_matcher.
11831         * language.c (language_get_symbol_name_matcher): If in Ada mode
11832         and the lookup name is a verbatim match, return Ada's matcher.
11833         * language.h (language_get_symbol_name_matcher): Adjust comment.
11834         (ada_lookup_name_info::verbatim_p):: New method.
11835
11836 2018-01-10  Pedro Alves  <palves@redhat.com>
11837
11838         PR gdb/22670
11839         * ada-lang.c (ada_collect_symbol_completion_matches): If the
11840         minsym's language is language_auto or language_cplus, pass down
11841         language_ada instead.
11842         * symtab.c (compare_symbol_name): Don't frob symbol language here.
11843
11844 2018-01-10  Pedro Alves  <palves@redhat.com>
11845
11846         PR gdb/22670
11847         * minsyms.c (linkage_name_str): New function.
11848         (iterate_over_minimal_symbols): Use it.
11849
11850 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11851
11852         * NEWS: Document that 'info proc' now works on FreeBSD.
11853
11854 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11855
11856         * configure.ac: Check for kinfo_getfile in libutil.
11857         * configure: Regenerate.
11858         * config.in: Regenerate.
11859         * fbsd-nat.c: Include "fbsd-tdep.h".
11860         (fbsd_fetch_cmdline): New.
11861         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11862         rather than calling error.
11863         (fbsd_info_proc): New.
11864         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11865         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11866         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11867
11868 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11869
11870         * fbsd-nat.c (struct free_deleter): Remove.
11871         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11872
11873 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11874
11875         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11876         NULL for an empty pathname.
11877
11878 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11879
11880         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11881         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11882         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11883         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11884         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11885         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11886         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11887         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11888         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11889         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11890         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11891         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11892         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11893         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11894         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11895
11896 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11897
11898         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11899         (gnu_xfer_auxv): New function.
11900         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11901         TARGET_OBJECT_AUXV.
11902
11903 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11904             Simon Marchi  <simon.marchi@ericsson.com>
11905
11906         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11907         common/selftest.c.
11908         (COMMON_OBS): Remove selftest.o.
11909         * configure.ac: Append selftest-arch.c and common/selftest.c to
11910         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11911         * configure: Re-generated.
11912         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11913         GDB_SELF_TEST.
11914         (maintenance_info_selftests): Likewise.
11915
11916 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11917
11918         * ada-valprint.c (val_print_packed_array_elements): Use
11919         proper number of elements when printing an array indexed
11920         by an enumeration type.
11921
11922 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11923
11924         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11925         (dw2_get_file_names_reader): Adjust.
11926         (lookup_dwo_signatured_type): Adjust.
11927         (lookup_dwp_signatured_type): Adjust.
11928         (lookup_signatured_type): Adjust.
11929         (create_type_unit_group): Adjust.
11930         (get_type_unit_group): Adjust.
11931         (process_psymtab_comp_unit_reader): Adjust.
11932         (build_type_psymtabs_reader): Adjust.
11933         (scan_partial_symbols): Adjust.
11934         (add_partial_symbol): Adjust.
11935         (add_partial_subprogram): Adjust.
11936         (peek_die_abbrev): Adjust.
11937         (fixup_go_packaging): Adjust.
11938         (process_imported_unit_die): Adjust.
11939         (dwarf2_compute_name): Adjust.
11940         (dwarf2_physname): Adjust.
11941         (read_import_statement): Adjust.
11942         (handle_DW_AT_stmt_list): Adjust.
11943         (read_file_scope): Adjust.
11944         (read_func_scope): Adjust.
11945         (read_lexical_block_scope): Adjust.
11946         (read_call_site_scope): Adjust.
11947         (read_variable): Adjust.
11948         (dwarf2_rnglists_process): Adjust.
11949         (dwarf2_ranges_process): Adjust.
11950         (dwarf2_ranges_read): Adjust.
11951         (dwarf2_get_pc_bounds): Adjust.
11952         (dwarf2_record_block_ranges): Adjust.
11953         (dwarf2_add_field): Adjust.
11954         (dwarf2_add_member_fn): Adjust.
11955         (read_structure_type): Adjust.
11956         (process_structure_scope): Adjust.
11957         (read_enumeration_type): Adjust.
11958         (read_array_type): Adjust.
11959         (mark_common_block_symbol_computed): Adjust.
11960         (read_common_block): Adjust.
11961         (read_namespace_type): Adjust.
11962         (read_namespace): Adjust.
11963         (read_module_type): Adjust.
11964         (read_tag_pointer_type): Adjust.
11965         (read_tag_ptr_to_member_type): Adjust.
11966         (read_tag_string_type): Adjust.
11967         (read_subroutine_type): Adjust.
11968         (read_typedef): Adjust.
11969         (read_base_type): Adjust.
11970         (attr_to_dynamic_prop): Adjust.
11971         (read_subrange_type): Adjust.
11972         (read_unspecified_type): Adjust.
11973         (dwarf2_read_abbrevs): Adjust.
11974         (load_partial_dies): Adjust.
11975         (read_partial_die): Adjust.
11976         (find_partial_die): Adjust.
11977         (guess_partial_die_structure_name): Adjust.
11978         (fixup_partial_die): Adjust.
11979         (read_attribute_value): Adjust.
11980         (read_addr_index): Adjust.
11981         (read_addr_index_from_leb128): Adjust.
11982         (read_str_index): Adjust.
11983         (dwarf2_string_attr): Adjust.
11984         (get_debug_line_section): Adjust.
11985         (dwarf_decode_line_header): Adjust.
11986         (lnp_state_machine::check_line_address): Adjust.
11987         (dwarf_decode_lines_1): Adjust.
11988         (dwarf_decode_lines): Adjust.
11989         (dwarf2_start_symtab): Adjust.
11990         (var_decode_location): Adjust.
11991         (new_symbol_full): Adjust.
11992         (dwarf2_const_value_data): Adjust.
11993         (dwarf2_const_value_attr): Adjust.
11994         (dwarf2_const_value): Adjust.
11995         (die_type): Adjust.
11996         (die_containing_type): Adjust.
11997         (build_error_marker_type): Adjust.
11998         (lookup_die_type): Adjust.
11999         (guess_full_die_structure_name): Adjust.
12000         (anonymous_struct_prefix): Adjust.
12001         (determine_prefix): Adjust.
12002         (dwarf2_name): Adjust.
12003         (follow_die_ref_or_sig): Adjust.
12004         (follow_die_offset): Adjust.
12005         (follow_die_ref): Adjust.
12006         (follow_die_sig_1): Adjust.
12007         (follow_die_sig): Adjust.
12008         (get_signatured_type): Adjust.
12009         (get_DW_AT_signature_type): Adjust.
12010         (decode_locdesc): Adjust.
12011         (dwarf_decode_macros): Adjust.
12012         (cu_debug_loc_section): Adjust.
12013         (fill_in_loclist_baton): Adjust.
12014         (dwarf2_symbol_mark_computed): Adjust.
12015         (init_one_comp_unit): Don't assign
12016         dwarf2_cu::dwarf2_per_objfile.
12017         (set_die_type): Adjust.
12018
12019 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12020
12021         * dwarf2read.c (struct mapped_debug_names): Add constructor.
12022         <dwarf2_per_objfile>: New field.
12023         (dwarf2_per_objfile): Remove global.
12024         (get_dwarf2_per_objfile): New function.
12025         (set_dwarf2_per_objfile): New function.
12026         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12027         dwarf2_per_objfile.
12028         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12029         (read_abbrev_offset): Likewise.
12030         (read_indirect_string): Likewise.
12031         (read_indirect_line_string): Likewise.
12032         (read_indirect_string_at_offset): Likewise.
12033         (read_indirect_string_from_dwz): Likewise.
12034         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12035         dwarf2_per_objfile.
12036         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12037         (create_all_comp_units): Change objfile parameter to
12038         dwarf2_per_objfile.
12039         (create_all_type_units): Likewise.
12040         (process_queue): Add dwarf2_per_objfile parameter.
12041         (read_and_check_comp_unit_head): Likewise.
12042         (lookup_dwo_unit_in_dwp): Likewise.
12043         (get_dwp_file): Likewise.
12044         (process_cu_includes): Likewise.
12045         (struct free_dwo_file_cleanup_data): New struct.
12046         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12047         set_dwarf2_per_objfile.
12048         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12049         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12050         context, adjust calls.
12051         (dw2_instantiate_symtab): Likewise.
12052         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12053         (dw2_get_cu): Likewise.
12054         (create_cu_from_index_list): Change objfile parameter to
12055         dwarf2_per_objfile.
12056         (create_cus_from_index_list): Get dwarf2_per_objfile from
12057         context, adjust calls.
12058         (create_cus_from_index): Likewise.
12059         (create_signatured_type_table_from_index): Change objfile
12060         parameter to dwarf2_per_objfile.
12061         (create_signatured_type_table_from_debug_names): Change objfile
12062         parameter to dwarf2_per_objfile.
12063         (create_addrmap_from_index): Likewise.
12064         (create_addrmap_from_aranges): Likewise.
12065         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12066         (dw2_setup): Remove.
12067         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12068         context.
12069         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12070         get_dwarf2_per_objfile.
12071         (dw2_forget_cached_source_info): Likewise.
12072         (dw2_map_symtabs_matching_filename): Likewise.
12073         (struct dw2_symtab_iterator) <index>: Remove.
12074         <dwarf2_per_objfile>: New field.
12075         (dw2_symtab_iter_init): Replace index parameter with
12076         dwarf2_per_objfile.
12077         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12078         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12079         (dw2_print_stats): Likewise.
12080         (dw2_dump): Likewise.
12081         (dw2_expand_symtabs_for_function): Likewise.
12082         (dw2_expand_all_symtabs): Likewise.
12083         (dw2_expand_symtabs_with_fullname): Likewise.
12084         (dw2_expand_marked_cus): Replace index and objfile parameters
12085         with dwarf2_per_objfile.
12086         (dw_expand_symtabs_matching_file_matcher): Add
12087         dwarf2_per_objfile parameter and adjust calls.
12088         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12089         adjust calls.
12090         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12091         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12092         adjust calls.
12093         (create_cus_from_debug_names_list): Replace objfile parameter
12094         with dwarf2_per_objfile and adjust calls.
12095         (create_cus_from_debug_names): Likewise.
12096         (dwarf2_read_debug_names): Likewise.
12097         (mapped_debug_names::namei_to_name): Adjust call.
12098         (dw2_debug_names_iterator::next): Likewise.
12099         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12100         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12101         (dw2_debug_names_dump): Likewise.
12102         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12103         (dw2_debug_names_expand_symtabs_matching): Likewise.
12104         (dwarf2_initialize_objfile): Likewise.
12105         (dwarf2_build_psymtabs): Likewise.
12106         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12107         this_cu.
12108         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12109         (read_and_check_comp_unit_head): Likewise.
12110         (read_abbrev_offset): Likewise.
12111         (create_debug_type_hash_table): Likewise.
12112         (create_debug_types_hash_table): Likewise.
12113         (create_all_type_units): Replace objfile parameter with
12114         dwarf2_per_objfile.
12115         (add_type_unit): Add dwarf2_per_objfile parameter.
12116         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12117         with dwarf2_per_objfile.
12118         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12119         (lookup_dwp_signatured_type): Likewise.
12120         (lookup_signatured_type): Likewise.
12121         (read_cutu_die_from_dwo): Likewise.
12122         (init_tu_and_read_dwo_dies): Likewise.
12123         (init_cutu_and_read_dies): Likewise.
12124         (init_cutu_and_read_dies_no_follow): Likewise.
12125         (allocate_type_unit_groups_table): Add objfile parameter.
12126         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12127         (get_type_unit_group): Likewise.
12128         (process_psymtab_comp_unit): Update call.
12129         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12130         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12131         (print_tu_stats): Likewise.
12132         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12133         in void* parameter.
12134         (build_type_psymtabs): Change objfile parameter to
12135         dwarf2_per_objfile.
12136         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12137         passed in void* parameter.
12138         (process_skeletonless_type_units): Change objfile parameter to
12139         dwarf2_per_objfile.
12140         (set_partial_user): Likewise.
12141         (dwarf2_build_psymtabs_hard): Likewise.
12142         (read_comp_units_from_section): Likewise.
12143         (create_all_comp_units): Likewise.
12144         (scan_partial_symbols): Update calls.
12145         (add_partial_symbol): Likewise.
12146         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12147         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12148         (process_queue): Add dwarf2_per_objfile parameter.
12149         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12150         (compute_compunit_symtab_includes): Likewise.
12151         (process_cu_includes): Add dwarf2_per_objfile parameter.
12152         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12153         (process_full_type_unit): Likewise.
12154         (process_imported_unit_die): Update call.
12155         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12156         (read_file_scope): Likewise.
12157         (allocate_dwo_file_hash_table): Add objfile parameter.
12158         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12159         (create_cus_hash_table): Likewise.
12160         (create_dwp_hash_table): Likewise.
12161         (create_dwo_unit_in_dwp_v1): Likewise.
12162         (create_dwp_v2_section): Likewise.
12163         (create_dwo_unit_in_dwp_v2): Likewise.
12164         (lookup_dwo_unit_in_dwp): Likewise.
12165         (try_open_dwop_file): Likewise.
12166         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12167         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12168         cleanup to include a reference to dwarf2_per_objfile.
12169         (open_dwp_file): Add dwarf2_per_objfile parameter.
12170         (open_and_init_dwp_file): Likewise.
12171         (get_dwp_file): Likewise.
12172         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12173         (queue_and_load_all_dwo_tus): Update call.
12174         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12175         data.
12176         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12177         (dwarf2_ranges_process): Likewise.
12178         (dwarf2_get_pc_bounds): Likewise.
12179         (mark_common_block_symbol_computed): Likewise.
12180         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12181         (dwarf2_read_abbrevs): Update call.
12182         (read_partial_die): Use dwarf2_per_objfile from cu.
12183         (find_partial_die): Likewise.
12184         (fixup_partial_die): Likewise.
12185         (read_attribute_value): Likewise.
12186         (read_indirect_string_at_offset_from): Add objfile parameter.
12187         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12188         parameter.
12189         (read_indirect_string_from_dwz): Add objfile parameter.
12190         (read_indirect_string): Add objfile parameter.
12191         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12192         (read_addr_index): Use dwarf2_per_objfile from cu.
12193         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12194         call dw2_setup.
12195         (read_str_index): Use dwarf2_per_objfile from cu.
12196         (get_debug_line_section): Likewise.
12197         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12198         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12199         (new_symbol_full): Use dwarf2_per_objfile from cu.
12200         (build_error_marker_type): Likewise.
12201         (lookup_die_type): Likewise.
12202         (determine_prefix): Likewise.
12203         (follow_die_offset): Likewise.
12204         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12205         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12206         (dwarf2_fetch_die_type_sect_off): Likewise.
12207         (dwarf2_get_die_type): Likewise.
12208         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12209         (get_signatured_type): Likewise.
12210         (get_DW_AT_signature_type): Likewise.
12211         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12212         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12213         (cu_debug_loc_section): Likewise.
12214         (fill_in_loclist_baton): Likewise.
12215         (dwarf2_symbol_mark_computed): Likewise.
12216         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12217         dwarf2_per_objfile.
12218         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12219         parameter.
12220         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12221         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12222         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12223         (set_die_type): Use dwarf2_free_objfile from cu.
12224         (get_die_type_at_offset): Likewise.
12225         (dwarf2_per_objfile_free): Don't assign global variable.
12226         (debug_names) <constructor>: Add dwarf2_per_objfile
12227         parameter, update m_debugstrlookup construction.
12228         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12229         parameter.
12230         <m_dwarf2_per_objfile>: New field.
12231         <lookup>: Use m_dwarf2_per_objfile.
12232         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12233         (psyms_seen_size): Likewise.
12234         (write_gdbindex): Replace objfile parameter with
12235         dwarf2_per_objfile.
12236         (write_debug_names): Likewise.
12237         (write_psymtabs_to_index): Likewise.
12238         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12239         calls.
12240
12241 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12242
12243         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12244         <dwarf2_per_objfile>: New field.
12245         (struct dwarf2_per_cu_data) <objfile>: Remove.
12246         <dwarf2_per_objfile>: New field.
12247         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12248         of objfile.
12249         (create_signatured_type_table_from_index): Likewise.
12250         (create_debug_type_hash_table): Likewise.
12251         (fill_in_sig_entry_from_dwo_entry): Likewise.
12252         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12253         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12254         objfile.
12255         (create_partial_symtab): Access objfile through
12256         dwarf2_per_objfile.
12257         (process_psymtab_comp_unit_reader): Likewise.
12258         (read_comp_units_from_section): Likewise.
12259         (scan_partial_symbols): Likewise.
12260         (add_partial_symbol): Likewise.
12261         (add_partial_subprogram): Likewise.
12262         (peek_die_abbrev): Likewise.
12263         (fixup_go_packaging): Likewise.
12264         (process_full_comp_unit): Likewise.
12265         (process_full_type_unit): Likewise.
12266         (process_imported_unit_die): Likewise.
12267         (dwarf2_compute_name): Likewise.
12268         (dwarf2_physname): Likewise.
12269         (read_import_statement): Likewise.
12270         (create_cus_hash_table): Assign dwarf2_physname instead of
12271         objfile.
12272         (read_func_scope): Access objfile through dwarf2_per_objfile.
12273         (read_lexical_block_scope): Likewise.
12274         (read_call_site_scope): Likewise.
12275         (read_variable): Likewise.
12276         (dwarf2_rnglists_process): Likewise.
12277         (dwarf2_ranges_process): Likewise.
12278         (dwarf2_ranges_read): Likewise.
12279         (dwarf2_record_block_ranges): Likewise.
12280         (dwarf2_add_field): Likewise.
12281         (dwarf2_add_member_fn): Likewise.
12282         (read_structure_type): Likewise.
12283         (process_structure_scope): Likewise.
12284         (read_enumeration_type): Likewise.
12285         (read_array_type): Likewise.
12286         (read_common_block): Likewise.
12287         (read_namespace_type): Likewise.
12288         (read_namespace): Likewise.
12289         (read_module_type): Likewise.
12290         (read_tag_pointer_type): Likewise.
12291         (read_tag_ptr_to_member_type): Likewise.
12292         (read_tag_string_type): Likewise.
12293         (read_subroutine_type): Likewise.
12294         (read_typedef): Likewise.
12295         (read_base_type): Likewise.
12296         (attr_to_dynamic_prop): Likewise.
12297         (read_subrange_type): Likewise.
12298         (read_unspecified_type): Likewise.
12299         (load_partial_dies): Likewise.
12300         (read_partial_die): Likewise.
12301         (find_partial_die): Likewise.
12302         (guess_partial_die_structure_name): Likewise.
12303         (fixup_partial_die): Likewise.
12304         (read_attribute_value): Likewise.
12305         (read_addr_index_from_leb128): Likewise.
12306         (dwarf2_read_addr_index): Likewise.
12307         (dwarf2_string_attr): Likewise.
12308         (lnp_state_machine::check_line_address): Likewise.
12309         (dwarf_decode_lines_1): Likewise.
12310         (dwarf_decode_lines): Likewise.
12311         (dwarf2_start_symtab): Likewise.
12312         (var_decode_location): Likewise.
12313         (new_symbol_full): Likewise.
12314         (dwarf2_const_value_data): Likewise.
12315         (dwarf2_const_value_attr): Likewise.
12316         (dwarf2_const_value): Likewise.
12317         (die_type): Likewise.
12318         (die_containing_type): Likewise.
12319         (lookup_die_type): Likewise.
12320         (guess_full_die_structure_name): Likewise.
12321         (anonymous_struct_prefix): Likewise.
12322         (dwarf2_name): Likewise.
12323         (follow_die_ref_or_sig): Likewise.
12324         (follow_die_offset): Likewise.
12325         (follow_die_ref): Likewise.
12326         (dwarf2_fetch_die_loc_sect_off): Likewise.
12327         (dwarf2_fetch_constant_bytes): Likewise.
12328         (dwarf2_fetch_die_type_sect_off): Likewise.
12329         (dwarf2_get_die_type): Likewise.
12330         (follow_die_sig): Likewise.
12331         (decode_locdesc): Likewise.
12332         (dwarf2_per_cu_objfile): Likewise.
12333         (dwarf2_per_cu_text_offset): Likewise.
12334         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12335         objfile.
12336         (set_die_type): Access objfile through
12337         dwarf2_per_objfile.
12338
12339 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12340
12341         * valprint.c (converted_character_d): Remove typedef.
12342         (DEF_VEC_O (converted_character_d)): Remove.
12343         (count_next_character): Use std::vector.
12344         (print_converted_chars_to_obstack): Likewise.
12345         (generic_printstr): Likewise.
12346
12347 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12348
12349         * xml-support.h (struct gdb_xml_value): Add constructor.
12350         <value>: Change type to unique_xmalloc_ptr.
12351         (gdb_xml_value_s): Remove typedef.
12352         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12353         (gdb_xml_element_start_handler): Change parameter type to
12354         std::vector.
12355         (xml_find_attribute): Likewise.
12356         * xml-support.c (xml_find_attribute): Change parameter type to
12357         std::vector and adjust.
12358         (gdb_xml_values_cleanup): Remove.
12359         (gdb_xml_parser::start_element): Adjust to std::vector.
12360         (xinclude_start_include): Change paraeter type to std::vector
12361         and adjust.
12362         * btrace.c (check_xml_btrace_version): Likewise.
12363         (parse_xml_btrace_block): Likewise.
12364         (parse_xml_btrace_pt_config_cpu): Likewise.
12365         (parse_xml_btrace_pt): Likewise.
12366         (parse_xml_btrace_conf_bts): Likewise.
12367         (parse_xml_btrace_conf_pt): Likewise.
12368         * memory-map.c (memory_map_start_memory): Likewise.
12369         (memory_map_start_property): Likewise.
12370         * osdata.c (osdata_start_osdata): Likewise.
12371         (osdata_start_item): Likewise.
12372         (osdata_start_column): Likewise.
12373         * remote.c (start_thread): Likewise.
12374         * solib-aix.c (library_list_start_library): Likewise.
12375         (library_list_start_list): Likewise.
12376         * solib-svr4.c (library_list_start_library): Likewise.
12377         (svr4_library_list_start_list): Likewise.
12378         * solib-target.c (library_list_start_segment): Likewise.
12379         (library_list_start_section): Likewise.
12380         (library_list_start_library): Likewise.
12381         (library_list_start_list): Likewise.
12382         * tracepoint.c (traceframe_info_start_memory): Likewise.
12383         (traceframe_info_start_tvar): Likewise.
12384         * xml-syscall.c (syscall_start_syscall): Likewise.
12385         * xml-tdesc.c (tdesc_start_target): Likewise.
12386         (tdesc_start_feature): Likewise.
12387         (tdesc_start_reg): Likewise.
12388         (tdesc_start_union): Likewise.
12389         (tdesc_start_struct): Likewise.
12390         (tdesc_start_flags): Likewise.
12391         (tdesc_start_enum): Likewise.
12392         (tdesc_start_field): Likewise.
12393         (tdesc_start_enum_value): Likewise.
12394         (tdesc_start_vector): Likewise.
12395
12396 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12397
12398         * extension.h (struct xmethod_worker) <clone>: Remove.
12399         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12400         Remove.
12401         (python_xmethod_worker::clone): Remove.
12402         * valops.c (find_overload_match): Use std::move instead of
12403         clone.
12404
12405 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12406
12407         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12408         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12409         <free_xmethod_worker_data>: Remove.
12410         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12411         <get_xmethod_arg_types>: Remove.
12412         <get_xmethod_result_type>: Remove.
12413         <invoke_xmethod>: Remove.
12414         * extension.c (new_xmethod_worker): Remove.
12415         (clone_xmethod_worker): Remove.
12416         (get_matching_xmethod_workers): Return void, pass std::vector by
12417         pointer.
12418         (get_xmethod_arg_types): Rename to...
12419         (xmethod_worker::get_arg_types): ... this, and adjust.
12420         (get_xmethod_result_type): Rename to...
12421         (xmethod_worker::get_result_type): ... this, and adjust.
12422         (invoke_xmethod): Remove.
12423         (free_xmethod_worker): Remove.
12424         (free_xmethod_worker_vec): Remove.
12425         * extension.h (enum ext_lang_rc): Move here from
12426         extension-priv.h.
12427         (struct xmethod_worker): Add constructor and destructor.
12428         <data>: Remove.
12429         <value>: Remove.
12430         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12431         virtual pure methods.
12432         <get_arg_types, get_result_type>: New methods.
12433         (xmethod_worker_ptr): Remove typedef.
12434         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12435         (xmethod_worker_vec): Remove typedef.
12436         (xmethod_worker_up): New typedef.
12437         (invoke_xmethod): Remove.
12438         (clone_xmethod_worker): Remove.
12439         (free_xmethod_worker): Remove.
12440         (free_xmethod_worker_vec): Remove.
12441         (get_xmethod_arg_types): Remove.
12442         (get_xmethod_result_type): Remove.
12443         * valops.c (find_method_list): Use std::vector, don't use
12444         intermediate vector.
12445         (value_find_oload_method_list): Use std::vector.
12446         (find_overload_match): Use std::vector.
12447         (find_oload_champ): Use std::vector.
12448         * value.c (value_free): Use operator delete.
12449         (value_of_xmethod): Rename to...
12450         (value_from_xmethod): ... this.  Don't assign
12451         xmethod_worker::value, take rvalue-reference.
12452         (result_type_of_xmethod): Adjust.
12453         (call_xmethod): Adjust.
12454         * value.h: Include extension.h.
12455         (struct xmethod_worker): Don't forward-declare.
12456         (value_of_xmethod): Rename to...
12457         (value_from_xmethod): ... this, take rvalue-reference.
12458         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12459         (struct python_xmethod_worker): ... this, add constructor and
12460         destructor.
12461         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12462         (gdbpy_free_xmethod_worker_data): Rename to...
12463         (python_xmethod_worker::~python_xmethod_worker): ... this and
12464         adjust.
12465         (gdbpy_clone_xmethod_worker_data): Rename to...
12466         (python_xmethod_worker::clone): ... this and adjust.
12467         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12468         temporary vector.
12469         (gdbpy_get_xmethod_arg_types): Rename to...
12470         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12471         (gdbpy_get_xmethod_result_type): Rename to...
12472         (python_xmethod_worker::do_get_result_type): ... this and
12473         adjust.
12474         (gdbpy_invoke_xmethod): Rename to...
12475         (python_xmethod_worker::invoke): ... this and adjust.
12476         (new_python_xmethod_worker): Rename to...
12477         (python_xmethod_worker::python_xmethod_worker): ... this and
12478         adjust.
12479         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12480         Remove.
12481         (gdbpy_free_xmethod_worker_data): Remove.
12482         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12483         (gdbpy_get_xmethod_arg_types): Remove.
12484         (gdbpy_get_xmethod_result_type): Remove.
12485         (gdbpy_invoke_xmethod): Remove.
12486         * python/python.c (python_extension_ops): Remove obsolete
12487         callbacks.
12488
12489 2018-01-05  Pedro Alves  <palves@redhat.com>
12490
12491         PR gdb/18653
12492         * common/signals-state-save-restore.c
12493         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12494         find a custom handler preinstalled, instead of internal erroring.
12495         But only warn if !quiet.
12496         * common/signals-state-save-restore.h
12497         (save_original_signals_state): New parameter 'quiet'.
12498         * main.c (captured_main_1): Move save_original_signals_state call
12499         after option handling, and pass QUIET.
12500
12501 2018-01-05  Pedro Alves  <palves@redhat.com>
12502
12503         * spu-tdep.c (spu_catch_start): Pass
12504         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12505
12506 2018-01-05  Pedro Alves  <palves@redhat.com>
12507
12508         PR gdb/22670
12509         * ada-lang.c (literal_symbol_name_matcher): New function.
12510         (ada_get_symbol_name_matcher): Use it for
12511         symbol_name_match_type::SEARCH_NAME.
12512         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12513         it down instead of assuming symbol_name_match_type::FULL.
12514         * block.h (block_lookup_symbol): New parameter 'match_type'.
12515         * c-valprint.c (print_unpacked_pointer): Use
12516         lookup_symbol_search_name instead of lookup_symbol.
12517         * compile/compile-object-load.c (get_out_value_type): Pass down
12518         symbol_name_match_type::SEARCH_NAME.
12519         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12520         symbol_name_match_type::FULL.
12521         * cp-support.c (cp_get_symbol_name_matcher): Handle
12522         symbol_name_match_type::SEARCH_NAME.
12523         * infrun.c (insert_exception_resume_breakpoint): Use
12524         lookup_symbol_search_name.
12525         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12526         * psymtab.c (maintenance_check_psymtabs): Use
12527         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12528         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12529         SYMBOL_SEARCH_NAME.
12530         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12531         if symbol_name_match_type::SEARCH_NAME.
12532         (lookup_symbol_in_language): Pass down
12533         symbol_name_match_type::FULL.
12534         (lookup_symbol_search_name): New.
12535         (lookup_language_this): Pass down
12536         symbol_name_match_type::SEARCH_NAME.
12537         (lookup_symbol_aux, lookup_local_symbol): New parameter
12538         'match_type'.  Pass it down.
12539         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12540         (lookup_symbol_search_name): New declaration.
12541         (lookup_symbol_in_block): New 'match_type' parameter.
12542
12543 2018-01-05  Pedro Alves  <palves@redhat.com>
12544
12545         PR gdb/22670
12546         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12547         ada_lookup_symbol.
12548         (ada_lookup_symbol): Reimplement in terms of
12549         ada_lookup_symbol_list, bits factored out from
12550         ada_lookup_encoded_symbol.
12551
12552 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12553
12554         * ada-exp.y (write_object_renaming): When subscripting an array
12555         using a symbol as the index, pass the block in call to
12556         ada_lookup_encoded_symbol when looking that symbol up.
12557
12558 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12559
12560         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12561         TYPE_INDEX_TYPE.
12562
12563 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12564
12565         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12566         the case where VALUE_LVAL (val0) is not lval_memory.
12567
12568 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12569
12570         * ada-valprint.c (print_optional_low_bound): Handle
12571         character-indexed array printing like boolean-indexed array
12572         printing.
12573
12574 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12575
12576         * NEWS: Create a new section for the next release branch.
12577         Rename the section of the current branch, now that it has
12578         been cut.
12579
12580 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12581
12582         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12583         * version.in: Bump version to 8.1.50.DATE-git.
12584
12585 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12586
12587         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12588         Add field.
12589         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12590         Add field.
12591         (default_exception_support_info) <catch_handlers_sym>: Add field.
12592         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12593         (ada_exception_name_addr_1): Add "catch handlers" handling.
12594         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12595         Update all callers.
12596         (create_excep_cond_exprs) <ex>: Add parameter.
12597         (re_set_exception): Update create_excep_cond_exprs call.
12598         (print_it_exception, print_one_exception, print_mention_exception)
12599         (print_recreate_exception): Add "catch handler" handling.
12600         (allocate_location_catch_handlers, re_set_catch_handlers)
12601         (check_status_catch_handlers, print_it_catch_handlers)
12602         (print_one_catch_handlers, print_mention_catch_handlers)
12603         (print_recreate_catch_handlers): New function.
12604         (catch_handlers_breakpoint_ops): New variable.
12605         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12606         Add parameter.  Add "catch handler" handling.
12607         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12608         Add "catch handler" handling.
12609         (ada_exception_catchpoint_cond_string): Add "catch handler"
12610         handling.
12611         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12612         call.
12613         (catch_ada_handlers_command): New function.
12614         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12615         operations structure.
12616         (_initialize_ada_language): Add "catch handlers" command entry.
12617         * NEWS: Document "catch handlers" feature.
12618
12619 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12620
12621         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12622         account when creating the array type of the slice.
12623         (ada_value_slice): Likewise.
12624
12625 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12626
12627         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12628         New enum value.
12629         (create_array_type_with_stride): Add byte_stride_prop parameter.
12630         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12631         New parameter.  Update all callers in this file.
12632         (array_type_has_dynamic_stride): New function.
12633         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12634         of arrays with dynamic byte strides.
12635         * dwarf2read.c (read_array_type): Add support for dynamic
12636         DW_AT_byte_stride attributes.
12637
12638 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12639
12640         * dwarf2read.c (read_unspecified_type): Treat
12641         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12642
12643 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12644
12645         Update copyright year range in all GDB files.
12646
12647 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12648
12649         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12650         and gdb/testsuite/gdb.base/step-line.c.
12651
12652 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12653
12654         * copyright.py (main): Dump the contents of
12655         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12656         even if BY_HAND is empty.
12657
12658 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12659
12660         * top.c (print_gdb_version): Update Copyright year in version
12661         message.
12662
12663 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12664
12665         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12666
12667 For older changes see ChangeLog-2017.
12668 \f
12669 Local Variables:
12670 mode: change-log
12671 left-margin: 8
12672 fill-column: 74
12673 version-control: never
12674 coding: utf-8
12675 End: