Simplify ada-exp.o rule
[external/binutils.git] / gdb / ChangeLog
1 2018-09-04  Tom Tromey  <tom@tromey.com>
2
3         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
4         (ada-exp.o): Update.
5
6 2018-09-04  Tom Tromey  <tom@tromey.com>
7
8         * Makefile.in (printcmd.o, target-float.o): Remove.
9         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
10
11 2018-09-04  Tom Tromey  <tom@tromey.com>
12
13         * gnulib/Makefile.in: Remove obsolete comment.
14         * Makefile.in: Remove obsolete comment.
15
16 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
17
18         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
19         line with '+'.
20
21 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
22
23         * riscv-tdep.c: Add 'prologue-value.h' include.
24         (struct riscv_unwind_cache): New struct.
25         (riscv_debug_unwinder): New global.
26         (riscv_scan_prologue): Update arguments, capture register details
27         from prologue scan.
28         (riscv_skip_prologue): Reformat arguments line, move end of
29         prologue calculation into riscv_scan_prologue.
30         (riscv_frame_cache): Update return type, create
31         riscv_unwind_cache, scan the prologue, and fill in remaining cache
32         details.
33         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
34         (riscv_frame_prev_register): Use the trad_frame within the
35         riscv_unwind_cache.
36         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
37         flag.
38
39 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
40
41         * trad-frame.h (trad_frame_set_realreg): Declare.
42         (trad_frame_set_addr): Declare.
43         * trad-frame.c (trad_frame_set_realreg): Define new function.
44         (trad_frame_set_addr): Define new function.
45         (trad_frame_set_reg_realreg): Use new function.
46         (trad_frame_set_reg_addr): Use new function.
47
48 2018-09-01  Keith Seitz  <keiths@redhat.com>
49
50         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
51         pulongest instead of "%lld".
52         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
53         ATTRIBUTE_UNUSED.
54
55 2018-08-31  Tom Tromey  <tom@tromey.com>
56
57         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
58         variant part type.
59
60 2018-08-31  Pedro Alves  <palves@redhat.com>
61
62         * gdbarch.h: Regenerate.
63
64 2018-08-31  Pedro Alves  <palves@redhat.com>
65
66         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
67         * target.h (Hardware watchpoint interfaces): Describe
68         continuable/steppable/non-steppable watchpoints.
69         * gdbarch.h, gdbarch.c: Regenerate.
70
71 2018-08-31  Pedro Alves  <palves@redhat.com>
72
73         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
74         Delete.
75         * s390-linux-nat.c
76         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
77         * target.h (target_ops::have_continuable_watchpoint): Delete.
78         (target_have_continuable_watchpoint): Delete.
79         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
80         * target-delegates.c: Regenerate.
81
82 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
83
84         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
85         the files present in "gnulib/import/m4/".
86
87 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
88
89         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
90         c.sw, c.swsp, and c.sdsp.
91
92 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
93
94         * riscv-tdep.c (struct riscv_inferior_data): Delete.
95         (riscv_read_misa_reg): Don't cache value read into inferior data.
96         (riscv_new_inferior_data): Delete.
97         (riscv_inferior_data_cleanup): Delete.
98         (riscv_inferior_data): Delete.
99         (riscv_invalidate_inferior_data): Delete.
100         (_initialize_riscv_tdep): Remove initialisation of inferior data.
101
102 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
103
104         * compile/compile-cplus-types.c
105         (compile_cplus_instance::leave_scope): Take the address of scope
106         object.
107         (compile_cplus_instance::convert_qualified_base): Compare quals
108         to 0.
109
110 2018-08-30  Keith Seitz  <keiths@redhat.com>
111
112         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
113         Use "%s" and host_address_to_string instead of "%p" in printf.
114
115 2018-08-29  Keith Seitz  <keiths@redhat.com>
116
117         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
118         and compile-cplus-types.c.
119         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
120         * c-lang.c (cplus_language_defn): Set C++ compile functions.
121         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
122         Declare.
123         * compile/compile-c-support.c: Include compile-cplus.h.
124         (load_libcompile): Templatize.
125         (get_compile_context): "New" function.
126         (c_get_compile_context): Use get_compile_context.
127         (cplus_get_compile_context): New function.
128         (cplus_push_user_expression, cplus_pop_user_expression)
129         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
130         (cplus_compute_program): Define new structs/functions.
131         * compile/compile-cplus-symmbols.c: New file.
132         * compile/compile-cplus-types.c: New file.
133         * compile/compile-cplus.h: New file.
134         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
135         Declare.
136         * compile/compile-object-load.c (get_out_value_type): Use
137         strncmp_iw when comparing symbol names.
138         (compile_object_load): Add mst_bss and mst_data.
139         * compile/compile.c (_initialize_compile): Remove
140         -Wno-implicit-function-declaration from `compile_args'.
141         * compile/gcc-cp-plugin.h: New file.
142         * NEWS: Mention C++ compile support and new debug options.
143
144 2018-08-29  Keith Seitz  <keiths@redhat.com>
145
146         * linespec.c (collect_info::add_symbol): Make virtual.
147         (struct symbol_searcher_collect_info): New struct.
148         (symbol_searcher::find_all_symbols): New method.
149         * symtab.h (class symbol_searcher): New class.
150
151 2018-08-29  Keith Seitz  <keiths@redhat.com>
152
153         * linespec.c (struct linespec) <function_symbols, label_symbols>:
154         Change to vector of block_symbol.  Update all users.
155         (struct collect_info) <symbols>: Likewise.
156         (collect_info::add_symbol): Take block_symbol as argument.
157         Update all callers.
158         (decode_compound_collector) <m_symbols>: Change type to vector
159         of block_symbol.  Update all users.
160         (decode_compound_collector::operator ()): Change parameter type
161         to block_symbol.
162         (find_method, find_function_symbols, find_linespec_symbols)
163         (find_label_symbols_in_block, find_label_symbols): Change symbol
164         vectors to block_symbol vectors.
165         * symtab.h (symbol_found_callback_ftype): Change parameter type to
166         block_symbol.
167
168 2018-08-29  Keith Seitz  <keiths@redhat.com>
169
170         * linespec.c (symbolp): Remove typedef and VEC definitions.
171         (bound_minimal_symbol_d): Likewise.
172
173 2018-08-29  Keith Seitz  <keiths@redhat.com>
174
175         * linespec.c (decode_compound_collector::decode_compound_collector):
176         Remove initialization for `m_symtabs'.
177         (decode_compound_collector::release_symbols): Change return type
178         to std::vector.  Update all callers.
179         (class decode_compound_collector) <m_symbols>: Change type to
180         std::vector.
181         (lookup_prefix_sym): Change return type to std::vector.  Update all
182         callers.
183         (compare_symbols): Remove.
184         (std_compare_symbols): Rename to `compare_symbols'.
185         (find_method): Change `sym_classes' parameter to std::vector.
186         Update all callers.  Use std::sort to sort sym_classes.
187         (find_linespec_symbols): Remove cleanup.
188
189 2018-08-29  Keith Seitz  <keiths@redhat.com>
190
191         * linespec.c (struct linespec) <minimal_symbols>: Change type to
192         std::vector.  Update all users.
193         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
194         (struct collect_info) <minimal_symbols>: Likewise.
195         (compare_msymbols): Return bool.  Change parameters to const
196         bound_minimal_symbol references.
197         (find_method, find_function_symbols, find_linespec_symbols): Change
198         `minsyms' parameter to std::vector.  Update all callers.
199
200 2018-08-29  Keith Seitz  <keiths@redhat.com>
201
202         * linespec.c (struct linespec) <label_symbols>: Change type to
203         std::vector.  Update all users.
204         (find_label_symbols_in_block): Change `result' parameter to
205         std::vector.  Update all callers.
206         (find_label_symbols): Return std::vector.  Update all callers.
207
208 2018-08-29  Keith Seitz  <keiths@redhat.com>
209
210         * linespec.c (struct linespec) <function_symbols>: Change type to
211         std::vector.  Update all users.
212         (struct collect_info) <function_symbols>: Likewise.
213         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
214         (std_compare_symbols): New function.
215         (find_method, find_function_symbols, find_linespec_symbols)
216         (find_label_symbols_in_block): Change `symbols' parameter to
217         std::vector.  Update all callers.
218         (find_label_symbols): Likewise for `function_symbols' and
219         `label_funcs_ret'.
220
221 2018-08-29  Keith Seitz  <keiths@redhat.com>
222
223         * linespec.c (symtab_vector_up): Define.
224         (struct linespec) <file_symtabs>: Change type to std::vector *.
225         Update all uses.
226         (struct collect_info) <file_symtabs>: Likewise.
227         (collect_symtabs_from_filename): Return symtab_vector_up.
228         Update all callers.
229         (decode_objc): Remove cleanup.
230         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
231         (symtab_collector::release_symtabs): Return symtab_vector_up.
232         Update all callers.
233         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
234         Update all users.
235         (collect_symtabs_from_filename, symtabs_from_filename): Return
236         symtab_vector_up.  Update all callers.
237
238 2018-08-29  Tom Tromey  <tom@tromey.com>
239
240         * csky-tdep.c (csky_analyze_prologue): Use
241         core_addr_to_string_nz.
242
243 2018-08-29  Tom Tromey  <tom@tromey.com>
244
245         * windows-nat.c (struct xlate_exception) <them>: Change type to
246         DWORD.
247         (xlate): Fix formatting.  Remove last entry.
248         (struct xlate_exception, xlate): Comment out.
249         (windows_nat_target::resume): Use ranged for.
250
251 2018-08-29  Jim Wilson  <jimw@sifive.com>
252
253         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
254         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
255         of NT_PRFPREG.
256         (riscv_linux_nat_target::store_registers): Likewise.
257
258 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
259
260         PR gdb/23555
261         PR gdb/23558
262         * gnulib/aclocal.m4: Regenerate.
263         * gnulib/config.in: Regenerate.
264         * gnulib/configure: Regenerate.
265         * gnulib/import/Makefile.am: Update.
266         * gnulib/import/Makefile.in: Update.
267         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
268         * gnulib/import/_Noreturn.h: ... this.
269         * gnulib/import/alloca.in.h: Update.
270         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
271         * gnulib/import/arg-nonnull.h: ... this.
272         * gnulib/import/assure.h: Update.
273         * gnulib/import/at-func.c: Update.
274         * gnulib/import/basename-lgpl.c: Update.
275         * gnulib/import/extra/snippet/c++defs.h: Rename to...
276         * gnulib/import/c++defs.h: ... this.
277         * gnulib/import/canonicalize-lgpl.c: Update.
278         * gnulib/import/cdefs.h: Update.
279         * gnulib/import/chdir-long.c: Update.
280         * gnulib/import/chdir-long.h: Update.
281         * gnulib/import/cloexec.c: Update.
282         * gnulib/import/cloexec.h: Update.
283         * gnulib/import/close.c: Update.
284         * gnulib/import/closedir.c: Update.
285         * gnulib/import/config.charset: Update.
286         * gnulib/import/dirent-private.h: Update.
287         * gnulib/import/dirent.in.h: Update.
288         * gnulib/import/dirfd.c: Update.
289         * gnulib/import/dirname-lgpl.c: Update.
290         * gnulib/import/dirname.h: Update.
291         * gnulib/import/dosname.h: Update.
292         * gnulib/import/dup-safer-flag.c: Update.
293         * gnulib/import/dup-safer.c: Update.
294         * gnulib/import/dup.c: Update.
295         * gnulib/import/dup2.c: Update.
296         * gnulib/import/errno.in.h: Update.
297         * gnulib/import/error.c: Update.
298         * gnulib/import/error.h: Update.
299         * gnulib/import/exitfail.c: Update.
300         * gnulib/import/exitfail.h: Update.
301         * gnulib/import/extra/update-copyright: Update.
302         * gnulib/import/fchdir.c: Update.
303         * gnulib/import/fcntl.c: Update.
304         * gnulib/import/fcntl.in.h: Update.
305         * gnulib/import/fd-hook.c: Update.
306         * gnulib/import/fd-hook.h: Update.
307         * gnulib/import/fd-safer-flag.c: Update.
308         * gnulib/import/fd-safer.c: Update.
309         * gnulib/import/fdopendir.c: Update.
310         * gnulib/import/filename.h: Update.
311         * gnulib/import/filenamecat-lgpl.c: Update.
312         * gnulib/import/filenamecat.h: Update.
313         * gnulib/import/flexmember.h: Update.
314         * gnulib/import/float+.h: Update.
315         * gnulib/import/float.c: Update.
316         * gnulib/import/float.in.h: Update.
317         * gnulib/import/fnmatch.c: Update.
318         * gnulib/import/fnmatch.in.h: Update.
319         * gnulib/import/fnmatch_loop.c: Update.
320         * gnulib/import/fpucw.h: Update.
321         * gnulib/import/frexp.c: Update.
322         * gnulib/import/frexpl.c: Update.
323         * gnulib/import/fstat.c: Update.
324         * gnulib/import/fstatat.c: Update.
325         * gnulib/import/getcwd-lgpl.c: Update.
326         * gnulib/import/getcwd.c: Update.
327         * gnulib/import/getdtablesize.c: Update.
328         * gnulib/import/getlogin_r.c: Update.
329         * gnulib/import/getprogname.c: Update.
330         * gnulib/import/getprogname.h: Update.
331         * gnulib/import/gettext.h: Update.
332         * gnulib/import/gettimeofday.c: Update.
333         * gnulib/import/glob-libc.h: Update.
334         * gnulib/import/glob.c: Update.
335         * gnulib/import/glob.in.h: Update.
336         * gnulib/import/glob_internal.h: Update.
337         * gnulib/import/glob_pattern_p.c: Update.
338         * gnulib/import/globfree.c: Update.
339         * gnulib/import/hard-locale.c: Update.
340         * gnulib/import/hard-locale.h: Update.
341         * gnulib/import/intprops.h: Update.
342         * gnulib/import/inttypes.in.h: Update.
343         * gnulib/import/isnan.c: Update.
344         * gnulib/import/isnand-nolibm.h: Update.
345         * gnulib/import/isnand.c: Update.
346         * gnulib/import/isnanl-nolibm.h: Update.
347         * gnulib/import/isnanl.c: Update.
348         * gnulib/import/itold.c: Update.
349         * gnulib/import/libc-config.h: Update.
350         * gnulib/import/limits.in.h: Update.
351         * gnulib/import/localcharset.c: Update.
352         * gnulib/import/localcharset.h: Update.
353         * gnulib/import/localtime-buffer.c: Update.
354         * gnulib/import/localtime-buffer.h: Update.
355         * gnulib/import/lstat.c: Update.
356         * gnulib/import/m4/00gnulib.m4: Update.
357         * gnulib/import/m4/__inline.m4: Update.
358         * gnulib/import/m4/absolute-header.m4: Update.
359         * gnulib/import/m4/alloca.m4: Update.
360         * gnulib/import/m4/builtin-expect.m4: Update.
361         * gnulib/import/m4/canonicalize.m4: Update.
362         * gnulib/import/m4/chdir-long.m4: Update.
363         * gnulib/import/m4/close.m4: Update.
364         * gnulib/import/m4/closedir.m4: Update.
365         * gnulib/import/m4/configmake.m4: Update.
366         * gnulib/import/m4/d-ino.m4: Update.
367         * gnulib/import/m4/d-type.m4: Update.
368         * gnulib/import/m4/dirent_h.m4: Update.
369         * gnulib/import/m4/dirfd.m4: Update.
370         * gnulib/import/m4/dirname.m4: Update.
371         * gnulib/import/m4/double-slash-root.m4: Update.
372         * gnulib/import/m4/dup.m4: Update.
373         * gnulib/import/m4/dup2.m4: Update.
374         * gnulib/import/m4/eealloc.m4: Update.
375         * gnulib/import/m4/environ.m4: Update.
376         * gnulib/import/m4/errno_h.m4: Update.
377         * gnulib/import/m4/error.m4: Update.
378         * gnulib/import/m4/exponentd.m4: Update.
379         * gnulib/import/m4/exponentl.m4: Update.
380         * gnulib/import/m4/extensions.m4: Update.
381         * gnulib/import/m4/extern-inline.m4: Update.
382         * gnulib/import/m4/fchdir.m4: Update.
383         * gnulib/import/m4/fcntl-o.m4: Update.
384         * gnulib/import/m4/fcntl.m4: Update.
385         * gnulib/import/m4/fcntl_h.m4: Update.
386         * gnulib/import/m4/fdopendir.m4: Update.
387         * gnulib/import/m4/filenamecat.m4: Update.
388         * gnulib/import/m4/flexmember.m4: Update.
389         * gnulib/import/m4/float_h.m4: Update.
390         * gnulib/import/m4/fnmatch.m4: Update.
391         * gnulib/import/m4/fnmatch_h.m4: Update.
392         * gnulib/import/m4/fpieee.m4: Update.
393         * gnulib/import/m4/frexp.m4: Update.
394         * gnulib/import/m4/frexpl.m4: Update.
395         * gnulib/import/m4/fstat.m4: Update.
396         * gnulib/import/m4/fstatat.m4: Update.
397         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
398         * gnulib/import/m4/getcwd-path-max.m4: Update.
399         * gnulib/import/m4/getcwd.m4: Update.
400         * gnulib/import/m4/getdtablesize.m4: Update.
401         * gnulib/import/m4/getlogin.m4: Update.
402         * gnulib/import/m4/getlogin_r.m4: Update.
403         * gnulib/import/m4/getpagesize.m4: Update.
404         * gnulib/import/m4/getprogname.m4: Update.
405         * gnulib/import/m4/gettimeofday.m4: Update.
406         * gnulib/import/m4/glibc21.m4: Update.
407         * gnulib/import/m4/glob.m4: Update.
408         * gnulib/import/m4/glob_h.m4: Update.
409         * gnulib/import/m4/gnulib-cache.m4: Update.
410         * gnulib/import/m4/gnulib-common.m4: Update.
411         * gnulib/import/m4/gnulib-comp.m4: Update.
412         * gnulib/import/m4/gnulib-tool.m4: Update.
413         * gnulib/import/m4/hard-locale.m4: Update.
414         * gnulib/import/m4/include_next.m4: Update.
415         * gnulib/import/m4/inttypes-pri.m4: Update.
416         * gnulib/import/m4/inttypes.m4: Update.
417         * gnulib/import/m4/isnand.m4: Update.
418         * gnulib/import/m4/isnanl.m4: Update.
419         * gnulib/import/m4/largefile.m4: Update.
420         * gnulib/import/m4/limits-h.m4: Update.
421         * gnulib/import/m4/localcharset.m4: Update.
422         * gnulib/import/m4/locale-fr.m4: Update.
423         * gnulib/import/m4/locale-ja.m4: Update.
424         * gnulib/import/m4/locale-zh.m4: Update.
425         * gnulib/import/m4/localtime-buffer.m4: Update.
426         * gnulib/import/m4/longlong.m4: Update.
427         * gnulib/import/m4/lstat.m4: Update.
428         * gnulib/import/m4/malloc.m4: Update.
429         * gnulib/import/m4/malloca.m4: Update.
430         * gnulib/import/m4/math_h.m4: Update.
431         * gnulib/import/m4/mbrtowc.m4: Update.
432         * gnulib/import/m4/mbsinit.m4: Update.
433         * gnulib/import/m4/mbsrtowcs.m4: Update.
434         * gnulib/import/m4/mbstate_t.m4: Update.
435         * gnulib/import/m4/memchr.m4: Update.
436         * gnulib/import/m4/memmem.m4: Update.
437         * gnulib/import/m4/mempcpy.m4: Update.
438         * gnulib/import/m4/memrchr.m4: Update.
439         * gnulib/import/m4/mkdir.m4: Update.
440         * gnulib/import/m4/mkstemp.m4: Update.
441         * gnulib/import/m4/mmap-anon.m4: Update.
442         * gnulib/import/m4/mode_t.m4: Update.
443         * gnulib/import/m4/msvc-inval.m4: Update.
444         * gnulib/import/m4/msvc-nothrow.m4: Update.
445         * gnulib/import/m4/multiarch.m4: Update.
446         * gnulib/import/m4/nocrash.m4: Update.
447         * gnulib/import/m4/off_t.m4: Update.
448         * gnulib/import/m4/onceonly.m4: Update.
449         * gnulib/import/m4/open-cloexec.m4: Update.
450         * gnulib/import/m4/open.m4: Update.
451         * gnulib/import/m4/openat.m4: Update.
452         * gnulib/import/m4/opendir.m4: Update.
453         * gnulib/import/m4/pathmax.m4: Update.
454         * gnulib/import/m4/rawmemchr.m4: Update.
455         * gnulib/import/m4/readdir.m4: Update.
456         * gnulib/import/m4/readlink.m4: Update.
457         * gnulib/import/m4/realloc.m4: Update.
458         * gnulib/import/m4/rename.m4: Update.
459         * gnulib/import/m4/rewinddir.m4: Update.
460         * gnulib/import/m4/rmdir.m4: Update.
461         * gnulib/import/m4/save-cwd.m4: Update.
462         * gnulib/import/m4/secure_getenv.m4: Update.
463         * gnulib/import/m4/setenv.m4: Update.
464         * gnulib/import/m4/signal_h.m4: Update.
465         * gnulib/import/m4/ssize_t.m4: Update.
466         * gnulib/import/m4/stat-time.m4: Update.
467         * gnulib/import/m4/stat.m4: Update.
468         * gnulib/import/m4/std-gnu11.m4: Update.
469         * gnulib/import/m4/stdbool.m4: Update.
470         * gnulib/import/m4/stddef_h.m4: Update.
471         * gnulib/import/m4/stdint.m4: Update.
472         * gnulib/import/m4/stdio_h.m4: Update.
473         * gnulib/import/m4/stdlib_h.m4: Update.
474         * gnulib/import/m4/strchrnul.m4: Update.
475         * gnulib/import/m4/strdup.m4: Update.
476         * gnulib/import/m4/strerror.m4: Update.
477         * gnulib/import/m4/string_h.m4: Update.
478         * gnulib/import/m4/strstr.m4: Update.
479         * gnulib/import/m4/strtok_r.m4: Update.
480         * gnulib/import/m4/sys_socket_h.m4: Update.
481         * gnulib/import/m4/sys_stat_h.m4: Update.
482         * gnulib/import/m4/sys_time_h.m4: Update.
483         * gnulib/import/m4/sys_types_h.m4: Update.
484         * gnulib/import/m4/tempname.m4: Update.
485         * gnulib/import/m4/time_h.m4: Update.
486         * gnulib/import/m4/unistd-safer.m4: Update.
487         * gnulib/import/m4/unistd_h.m4: Update.
488         * gnulib/import/m4/warn-on-use.m4: Update.
489         * gnulib/import/m4/wchar_h.m4: Update.
490         * gnulib/import/m4/wchar_t.m4: Update.
491         * gnulib/import/m4/wctype_h.m4: Update.
492         * gnulib/import/m4/wint_t.m4: Update.
493         * gnulib/import/malloc.c: Update.
494         * gnulib/import/malloc/scratch_buffer.h: Update.
495         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
496         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
497         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
498         * gnulib/import/malloca.c: Update.
499         * gnulib/import/malloca.h: Update.
500         * gnulib/import/malloca.valgrind: Update.
501         * gnulib/import/math.in.h: Update.
502         * gnulib/import/mbrtowc.c: Update.
503         * gnulib/import/mbsinit.c: Update.
504         * gnulib/import/mbsrtowcs-impl.h: Update.
505         * gnulib/import/mbsrtowcs-state.c: Update.
506         * gnulib/import/mbsrtowcs.c: Update.
507         * gnulib/import/memchr.c: Update.
508         * gnulib/import/memmem.c: Update.
509         * gnulib/import/mempcpy.c: Update.
510         * gnulib/import/memrchr.c: Update.
511         * gnulib/import/mkdir.c: Update.
512         * gnulib/import/mkstemp.c: Update.
513         * gnulib/import/msvc-inval.c: Update.
514         * gnulib/import/msvc-inval.h: Update.
515         * gnulib/import/msvc-nothrow.c: Update.
516         * gnulib/import/msvc-nothrow.h: Update.
517         * gnulib/import/open.c: Update.
518         * gnulib/import/openat-die.c: Update.
519         * gnulib/import/openat-priv.h: Update.
520         * gnulib/import/openat-proc.c: Update.
521         * gnulib/import/openat.c: Update.
522         * gnulib/import/openat.h: Update.
523         * gnulib/import/opendir.c: Update.
524         * gnulib/import/pathmax.h: Update.
525         * gnulib/import/pipe-safer.c: Update.
526         * gnulib/import/rawmemchr.c: Update.
527         * gnulib/import/readdir.c: Update.
528         * gnulib/import/readlink.c: Update.
529         * gnulib/import/realloc.c: Update.
530         * gnulib/import/ref-add.sin: Update.
531         * gnulib/import/ref-del.sin: Update.
532         * gnulib/import/rename.c: Update.
533         * gnulib/import/rewinddir.c: Update.
534         * gnulib/import/rmdir.c: Update.
535         * gnulib/import/same-inode.h: Update.
536         * gnulib/import/save-cwd.c: Update.
537         * gnulib/import/save-cwd.h: Update.
538         * gnulib/import/scratch_buffer.h: Update.
539         * gnulib/import/secure_getenv.c: Update.
540         * gnulib/import/setenv.c: Update.
541         * gnulib/import/signal.in.h: Update.
542         * gnulib/import/stat-time.c: Update.
543         * gnulib/import/stat-time.h: Update.
544         * gnulib/import/stat-w32.c: Update.
545         * gnulib/import/stat-w32.h: Update.
546         * gnulib/import/stat.c: Update.
547         * gnulib/import/stdbool.in.h: Update.
548         * gnulib/import/stddef.in.h: Update.
549         * gnulib/import/stdint.in.h: Update.
550         * gnulib/import/stdio.in.h: Update.
551         * gnulib/import/stdlib.in.h: Update.
552         * gnulib/import/str-two-way.h: Update.
553         * gnulib/import/strchrnul.c: Update.
554         * gnulib/import/strdup.c: Update.
555         * gnulib/import/streq.h: Update.
556         * gnulib/import/strerror-override.c: Update.
557         * gnulib/import/strerror-override.h: Update.
558         * gnulib/import/strerror.c: Update.
559         * gnulib/import/string.in.h: Update.
560         * gnulib/import/stripslash.c: Update.
561         * gnulib/import/strnlen1.c: Update.
562         * gnulib/import/strnlen1.h: Update.
563         * gnulib/import/strstr.c: Update.
564         * gnulib/import/strtok_r.c: Update.
565         * gnulib/import/sys_stat.in.h: Update.
566         * gnulib/import/sys_time.in.h: Update.
567         * gnulib/import/sys_types.in.h: Update.
568         * gnulib/import/tempname.c: Update.
569         * gnulib/import/tempname.h: Update.
570         * gnulib/import/time.in.h: Update.
571         * gnulib/import/unistd--.h: Update.
572         * gnulib/import/unistd-safer.h: Update.
573         * gnulib/import/unistd.in.h: Update.
574         * gnulib/import/unsetenv.c: Update.
575         * gnulib/import/verify.h: Update.
576         * gnulib/import/extra/snippet/warn-on-use.h: Update.
577         * gnulib/import/wchar.in.h: Update.
578         * gnulib/import/wctype.in.h: Update.
579         * gnulib/import/xalloc-oversized.h: Update.
580         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
581         "53e2c179f26a890fa6685af4b6c1397ee370433b".
582
583 2018-08-16  Gary Benson <gbenson@redhat.com>
584
585         PR gdb/13000:
586         * gdb/main.c (captured_main_1): Exit with nonzero status
587         in batch mode if the last command to be executed failed.
588         * NEWS: Mention the above.
589
590 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
591
592         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
593         end of warning message.
594
595 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
596
597         PR gdb/22943:
598         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
599         (aarch64_extract_return_value): Use
600         aapcs_is_vfp_call_or_return_candidate.
601         (aarch64_return_in_memory): Likewise.
602         (aarch64_store_return_value): Likewise.
603
604 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
605
606         * aarch64-tdep.c
607         (aapcs_is_vfp_call_or_return_candidate): Make static
608         (pass_in_v_or_stack): Remove function.
609         (pass_in_v_vfp_candidate): New function.
610         (aarch64_push_dummy_call): Check for float register candidates.
611
612 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
613
614         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
615         (aapcs_is_vfp_call_or_return_candidate_1): New function.
616         (aapcs_is_vfp_call_or_return_candidate): Likewise.
617
618 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
619
620         PR build/23399
621         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
622         (struct ipa_sym_addresses): Rename to...
623         (struct ipa_sym_addresses_common): ... this.
624         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
625
626 2018-08-28  Tom Tromey  <tom@tromey.com>
627
628         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
629         (token_fifo): Now a std::vector.
630         (yylex, c_parse): Update.
631         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
632         (token_fifo): Now a std::vector.
633         (yylex, d_parse): Update.
634         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
635         (token_fifo): Now a std::vector.
636         (yylex, go_parse): Update.
637
638 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
639
640         * parser-defs.h (struct type_stack) <elements>: Change type to
641         std::vector<union type_stack_elt>.
642         <depth, size>: Remove.
643         * parse.c (parse_exp_in_context_1): Adjust.
644         (type_stack_reserve): Remove.
645         (check_type_stack_depth): Remove.
646         (insert_into_type_stack): Adjust to std::vector.
647         (insert_type): Likewise.
648         (push_type): Likewise.
649         (push_type_int): Likewise.
650         (insert_type_address_space): Likewise.
651         (pop_type): Likewise.
652         (pop_type_int): Likewise.
653         (pop_typelist): Likewise.
654         (pop_type_stack): Likewise.
655         (append_type_stack): Likewise.
656         (push_type_stack): Likewise.
657         (get_type_stack): Likewise.
658         (type_stack_cleanup): Likewise.
659         (push_typelist): Likewise.
660         (follow_types): Likewise.
661         (_initialize_parse): Likewise.
662
663 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
664
665         * NEWS: Mention csky target.
666
667 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
668             Hafiz Abid Qadeer  <abidh@codesourcery.com>
669             Don Breazeal  <donb@codesourcery.com>
670
671         * csky-linux-tdep.c: New file.
672         * csky-tdep.c: Likewise.
673         * csky-tdep.h: Likewise.
674         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
675         csky-tdep.o.
676         (HFILES_NO_SRCDIR): Add csky-tdep.h.
677         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
678         * configure.tgt: Add csky support.
679
680 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
681
682         * python/py-framefilter.c (py_print_frame): Print frame architecture
683         when printing on an MI output.
684
685 2018-08-27  Tom Tromey  <tom@tromey.com>
686
687         PR build/23087:
688         * configure: Rebuild.
689         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
690
691 2018-08-27  Tom Tromey  <tom@tromey.com>
692
693         * aarch64-linux-tdep.c
694         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
695         casts to int.
696
697 2018-08-27  Tom Tromey  <tom@tromey.com>
698
699         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
700         unsigned.
701         (ppc64_standard_linkage1, ppc64_standard_linkage2)
702         (ppc64_standard_linkage3, ppc64_standard_linkage4)
703         (ppc64_standard_linkage5, ppc64_standard_linkage6)
704         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
705         unsigned.
706
707 2018-08-27  Tom Tromey  <tom@tromey.com>
708
709         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
710         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
711
712 2018-08-27  Tom Tromey  <tom@tromey.com>
713
714         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
715         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
716         ULONGEST_MAX.
717         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
718         ULONGEST_MAX.
719         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
720         ULONGEST_MAX.
721         * sparc-linux-tdep.c (sparc32_linux_sigframe)
722         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
723         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
724         ULONGEST_MAX.
725         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
726         (ppc64_linux_sigaction_tramp_frame)
727         (ppc32_linux_sighandler_tramp_frame)
728         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
729         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
730         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
731         * mn10300-linux-tdep.c (am33_linux_sigframe)
732         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
733         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
734         * mips-linux-tdep.c (mips_linux_o32_sigframe)
735         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
736         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
737         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
738         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
739         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
740         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
741         * microblaze-linux-tdep.c
742         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
743         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
744         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
745         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
746         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
747         * common/common-types.h (ULONGEST_MAX): New define.
748         (CORE_ADDR_MAX): Fix formatting.
749         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
750         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
751         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
752         (arm_linux_rt_sigreturn_tramp_frame)
753         (arm_eabi_linux_sigreturn_tramp_frame)
754         (arm_eabi_linux_rt_sigreturn_tramp_frame)
755         (thumb2_eabi_linux_sigreturn_tramp_frame)
756         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
757         (arm_linux_restart_syscall_tramp_frame)
758         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
759         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
760         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
761         ULONGEST_MAX.
762         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
763
764 2018-08-27  Tom Tromey  <tom@tromey.com>
765
766         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
767         CORE_ADDR_MAX.
768         * mips-tdep.c (mips_deal_with_atomic_sequence)
769         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
770         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
771         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
772         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
773         CORE_ADDR_MAX.
774         * aarch64-tdep.c (aarch64_software_single_step): Use
775         CORE_ADDR_MAX.
776
777 2018-08-27  Tom Tromey  <tom@tromey.com>
778
779         * linespec.c (complete_linespec_component): Add cast to "char".
780         * completer.c (completion_tracker::build_completion_result): Add
781         cast to "char".
782
783 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
784
785         * solist.h (struct solist, struct target_so_ops): Fix
786         indentation.
787
788 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
789
790         * ada-tasks.c (ada_task_info_s): Remove typedef.
791         (DEF_VEC_O(ada_task_info_s)): Remove.
792         (struct ada_tasks_inferior_data): Initialize fields.
793         <task_list>: Make an std::vector.
794         (get_ada_tasks_inferior_data): Allocate with new.
795         (ada_get_task_number): Adjust.
796         (get_task_number_from_id): Likewise.
797         (valid_task_id): Likewise.
798         (ada_get_task_info_from_ptid): Likewise.
799         (iterate_over_live_ada_tasks): Likewise.
800         (add_ada_task): Likewise.
801         (read_known_tasks): Likewise.
802         (ada_build_task_list): Likewise.
803         (print_ada_task_info): Likewise.
804         (info_task): Likewise.
805         (task_command_1): Likewise.
806
807 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
808
809         * ada-lang.c (add_angle_brackets): Return std::string.
810
811 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
812
813         * python/py-threadevent.c (py_get_event_thread): Initialize
814         pythread.
815
816 2018-08-24  Pedro Alves  <palves@redhat.com>
817
818         * python/py-bpevent.c (create_breakpoint_event_object): Use
819         copy-initialization.
820         * python/py-continueevent.c (emit_continue_event): Use
821         copy-initialization.
822         * python/py-exitedevent.c (create_exited_event_object): Return a
823         gdbpy_ref<>.
824         (emit_exited_event): Use copy-initialization.
825         * python/py-inferior.c (python_new_inferior)
826         (python_inferior_deleted, add_thread_object): Use
827         copy-initialization.
828         * python/py-infevents.c (create_inferior_call_event_object)
829         (create_register_changed_event_object)
830         (create_memory_changed_event_object): Return a gdbpy_ref<>.
831         (emit_inferior_call_event, emit_memory_changed_event)
832         (emit_register_changed_event): Use copy-initialization.
833         * python/py-newobjfileevent.c (create_new_objfile_event_object):
834         Return a gdbpy_ref<>.
835         (emit_new_objfile_event): Use copy-initialization.
836         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
837         (emit_clear_objfiles_event): Use copy-initialization.
838         * python/py-signalevent.c (create_signal_event_object): Use
839         copy-initialization.
840         * python/py-threadevent.c (create_thread_event_object): Use
841         copy-initialization.
842
843 2018-08-24  Pedro Alves  <palves@redhat.com>
844             Simon Marchi  <simon.marchi@ericsson.com>
845
846         PR gdb/23379
847         * python/py-continueevent.c: Include "gdbthread.h".
848         (create_continue_event_object): Add intro comment.  Add 'ptid'
849         parameter.  Use it to find thread to pass to
850         create_thread_event_object.
851         (emit_continue_event): Pass PTID down to
852         create_continue_event_object.
853         * python/py-event.h (py_get_event_thread): Declare.
854         (create_thread_event_object): Remove default from 'thread'
855         parameter.
856         * python/py-stopevent.c (create_stop_event_object): Use
857         py_get_event_thread.
858         * python/py-threadevent.c (get_event_thread): Rename to ...
859         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
860         and use it to find the thread.
861         (create_thread_event_object): Assert that THREAD isn't null.
862         Don't find the event thread here.
863
864 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
865
866         * block.h (blockrange, blockranges): New struct declarations.
867         (struct block): Add new field named `ranges'.
868         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
869         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
870         macros for accessing ranges in struct block.
871         (make_blockranges): New declaration.
872         block.c (make_blockranges): New function.
873         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
874         for block.
875         * symtab.h (find_pc_partial_function): Add new parameter `block'.
876         * blockframe.c (cache_pc_function_block): New static global.
877         (clear_pc_function_cache): Clear cache_pc_function_block.
878         (find_pc_partial_function): Move comment to symtab.h.  Add
879         support for non-contiguous blocks.
880         * cli/cli-cmds.c (block.h): Include.
881         (print_disassembly): Handle printing of non-contiguous blocks.
882         (disassemble_current_function): Likewise.
883         (disassemble_command): Likewise.
884
885         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
886         BLOCK_START.
887         * blockframe.c (get_pc_function_start): Likewise.
888         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
889         (gcc_symbol_address): Likewise.
890         * compile/compile-object-run.c (compile_object_run): Likewise.
891         * compile/compile.c (get_expr_block_and_pc): Likewise.
892         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
893         (func_addr_to_tail_call_list): Likewise.
894         * findvar.c (default_read_var_value): Likewise.
895         * inline-frame.c (inline_frame_this_id): Likewise.
896         (skip-inline_frames): Likewise.
897         * infcmd.c (until_next_command): Likewise.
898         * linespec.c (convert_linespec_to_sals): Likewise.
899         * parse.c (parse_exp_in_context_1): Likewise.
900         * printcmd.c (build_address_symbolic): likewise.
901         (info_address_command): Likewise.
902         symtab.c (find_function_start_sal): Likewise.
903         (skip_prologue_sal): Likewise.
904         (find_function_alias_target): Likewise.
905         (find_gnu_ifunc): Likewise.
906         * stack.c (find_frame_funname): Likewise.
907         * symtab.c (fixup_symbol_section): Likewise.
908         (find_function_start_sal): Likewise.
909         (skip_prologue_sal): Likewsie.
910         (find_function_alias_target): Likewise.
911         (find_gnu_ifunc): Likewise.
912         * tracepoint.c (info_scope_command): Likewise.
913         * value.c (value_fn_field): Likewise.
914
915         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
916         in place of find_pc_partial_function.
917         * blockframe.c (find_function_entry_range_from_pc): New function.
918         * symtab.h (find_function_entry_range_from_pc): Declare and document.
919         * objfiles.c (objfile_relocate1): Relocate start and end addresses
920         for each range in a block.
921
922
923 2018-08-23  Xavier Roirand  <roirand@adacore.com>
924
925         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
926         incrementation.
927
928 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
929
930         * solib-svr4.c (read_program_headers_from_bfd): Return
931         gdb::optional<gdb::byte_vector>.
932         (svr4_exec_displacement): Adjust.
933
934 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
935
936         * solib-svr4.c (read_program_header): Return
937         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
938         (find_program_interpreter): Return
939         gdb::optional<gdb::byte_vector>.
940         (scan_dyntag_auxv): Adjust.
941         (enable_break): Adjust.
942         (svr4_exec_displacement): Adjust.
943
944 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
945
946         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
947         * inf-child.c (inf_child_target::terminal_save_inferior): New.
948
949 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
950
951         * guile/scm-string.c (gdbscm_scm_from_printf): Use
952         string_vprintf.
953         * guile/scm-utils.c (gdbscm_printf): Likewise.
954         * serial.c (serial_printf): Likewise.
955         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
956
957 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
958
959         * stack.c (print_frame): Print frame architecture when printing on
960         an MI output.
961         * NEWS: Mention new "arch" attribute in frame output.
962
963 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
964
965         * arch/aarch64.h (aarch64_regnum): Update comment.
966
967 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
968
969         * NEWS: Add SVE to 8.2 section.
970
971 2018-08-21  Pedro Alves  <palves@redhat.com>
972
973         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
974         out from gdbscm_parse_function_args.
975         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
976         gdbscm_parse_function_args_1.
977
978 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
979
980         PR gdb/17816
981         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
982         operator.
983
984 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
985
986         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
987
988 2018-08-19  Michael Spang  <spang@google.com>
989
990         PR gdb/11786
991         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
992         for PT_TLS segments.
993
994 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
995
996         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
997         dwarf_variable_value.
998         * dwarf2-frame.c (class dwarf_expr_executor):
999         Add override for dwarf_variable_value.
1000         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1001         (class symbol_needs_eval_context): Likewise.
1002         (indirect_synthetic_pointer): Add forward declaration.
1003         (sect_variable_value): New function.
1004         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1005         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1006         for DW_OP_GNU_variable_value.
1007
1008 2018-08-16  Tom Tromey  <tom@tromey.com>
1009
1010         * top.c (read_command_file): Update.
1011         (command_line_input): Remove "repeat" argument.
1012         * ada-lang.c (get_selections): Update.
1013         * linespec.c (decode_line_2): Update.
1014         * defs.h (command_line_input): Remove argument.
1015         * cli/cli-script.c (read_next_line): Update.
1016         * python/py-gdb-readline.c: Update.
1017
1018 2018-08-17  Tom Tromey  <tom@tromey.com>
1019
1020         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1021         command_line_input.
1022
1023 2018-08-15  Tom Tromey  <tom@tromey.com>
1024
1025         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1026
1027 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1028
1029         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1030         If used, use find_pc_partial_function to find address range
1031         to disassemble.
1032         * mi/mi-main.c (mi_cmd_list_features): Report
1033         "data-disassemble-a-option" feature.
1034         * NEWS: Mention new -data-disassemble option -a.
1035
1036 2018-08-13  Tom Tromey  <tom@tromey.com>
1037
1038         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1039
1040 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1041
1042         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1043         (aarch64_linux_collect_sve_regset): Likewise.
1044         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1045         * regcache.h (regcache_map_entry_size): New function.
1046
1047 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1048
1049         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1050         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1051         (SVE_HEADER_VL_LENGTH): Likewise.
1052         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1053         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1054         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1055         (SVE_HEADER_SIZE_OFFSET): Likewise.
1056         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1057         (SVE_HEADER_VL_OFFSET): Likewise.
1058         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1059         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1060         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1061         (SVE_HEADER_SIZE): Likewise.
1062         (aarch64_linux_core_read_vq): Add function.
1063         (aarch64_linux_core_read_description): Check for SVE section.
1064
1065 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1066
1067         * aarch64-fbsd-tdep.c
1068         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1069         collect_size.
1070         * aarch64-linux-tdep.c
1071         (aarch64_linux_iterate_over_regset_sections): Likewise.
1072         * alpha-linux-tdep.c
1073         (alpha_linux_iterate_over_regset_sections):
1074         * alpha-nbsd-tdep.c
1075         (alphanbsd_iterate_over_regset_sections): Likewise.
1076         * amd64-fbsd-tdep.c
1077         (amd64fbsd_iterate_over_regset_sections): Likewise.
1078         * amd64-linux-tdep.c
1079         (amd64_linux_iterate_over_regset_sections): Likewise.
1080         * arm-bsd-tdep.c
1081         (armbsd_iterate_over_regset_sections): Likewise.
1082         * arm-fbsd-tdep.c
1083         (arm_fbsd_iterate_over_regset_sections): Likewise.
1084         * arm-linux-tdep.c
1085         (arm_linux_iterate_over_regset_sections): Likewise.
1086         * corelow.c (get_core_registers_cb): Likewise.
1087         (core_target::fetch_registers): Likewise.
1088         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1089         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1090         * gdbarch.h (void): Regenerate.
1091         * gdbarch.sh: Add supply_size and collect_size.
1092         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1093         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1094         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1095         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1096         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1097         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1098         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1099         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1100         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1101         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1102         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1103         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1104         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1105         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1106         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1107         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1108         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1109         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1110         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1111         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1112         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1113         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1114         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1115         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1116         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1117         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1118         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1119         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1120         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1121         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1122
1123 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1124
1125         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1126         with string_printf.
1127
1128 2018-08-10  Keith Seitz  <keiths@redhat.com>
1129
1130         * compile/compile-c-support.c (add_code_header, add_code_footer):
1131         Move into policy class.
1132         (c_push_user_expression, pop_user_expression_nop)
1133         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1134         (compile_program): New host class.
1135         (c_compile_program): New typedef.
1136         (c_compute_porgram): Use c_compile_program.
1137
1138 2018-08-10  Keith Seitz  <keiths@redhat.com>
1139
1140         * compile/compile-internal.h (compile_instance::~compile_instance):
1141         Remove calls to htab_delete.
1142         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1143         * compile.c (compile_instance::compile_instance): Initialize
1144         htab unique pointers.
1145         (compile_instance::get_cached_type, compile_instance::insert_type)
1146         (compile_instance::error_symbol_once): Update for unique_ptr.
1147
1148 2018-08-10  Keith Seitz  <keiths@redhat.com>
1149
1150         * compile/compile-c-symbols.c (struct symbol_error)
1151         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1152         (compile_instance::insert_symbol_error)
1153         (compile_instance::error_symbol_once): Move to ...
1154         * compile/compile.c: ... here.
1155
1156 2018-08-10  Keith Seitz  <keiths@redhat.com>
1157
1158         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1159         instead of `new_compile_instance'.
1160         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1161         Update description.
1162         If the symbol error map is not initialized, create it.
1163         (generate_c_for_for_one_symbol): Do not check/initialize
1164         the symbol error map.
1165         * compile/compile-c-types.c (compile_c_instance): Make a class.
1166         Update all callers.
1167         (compile_instance::compile_instance): Initialize the type cache.
1168         (get_cached_type): New function.
1169         (insert_type): Update description.
1170         (compile_c_instance::m_default_cflags): Define.
1171         (convert_type): Update description.  Use get_cached_type.
1172         (delete_instance): Moved to destructor.
1173         (new_compile_instance): Moved to constructor.
1174         * compile/compile-c.h (compile_c_instance): Make class inheriting
1175         from compile_instance.
1176         <base>: Remove field.
1177         <type_map, symbol_err_map>: Move to base class.
1178         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1179         * compile/compile-internal.h (compile_instance): Make class.
1180         <type_map_t, symbol_err_map_t>: Define.
1181         <fe>: Rename to `m_gcc_fe'.
1182         <scope, block, gcc_target_options>: Add `m_' prefix.
1183         <m_type_map, m_symbol_err_map>: New fields, moved from
1184         compile_c_instance.
1185         <destroy>: Remove.
1186         (convert_type, new_compile_instance): Remove.
1187         * compile/compile.c (cleanup_compile_instance): Remove.
1188         (compile_to_object): Use unique_ptr to eliminate cleanups.
1189         (compile_instance::set_print_callback, compile_instance::version)
1190         (compile_instance::set_verbose)
1191         (compile_instance::set_driver_filename)
1192         (compile_instance::set_triplet_regexp)
1193         (compile_instance::set_arguments)
1194         (compile_instance::set_source_file)
1195         (compile_instance::compile): Define.
1196
1197 2018-08-10  Keith Seitz  <keiths@redhat.com>
1198
1199         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1200         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1201         gcc-c-fe.def to define C plugin.
1202         (delete_instance): Delete `c_plugin'.
1203         (new_compile_instance): Initialize `c_plugin'.
1204         * compile/compile-c.h: Include gcc_c_plugin.h.
1205         (struct compile_c_instance) <c_plugin>: New member.
1206         * gcc-c-plugin.h: New file.
1207         Update all callers with API change.
1208
1209 2018-08-10  Keith Seitz  <keiths@redhat.com>
1210
1211         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1212         (HFILES_NO_SRCDIR): ... to here.
1213         Add compile-internal.h and compile-c.h.
1214         * compile/compile-c-support.c: Include compile-c.h.
1215         * compile/compile-c-symbols.c: Include compile-c.h.
1216         (generate_c_for_variable_locations): Update comment.
1217         * compile/compile-c-types.c: Include compile-c.h.
1218         * compile/compile-c.h: New file -- moved C language declarations
1219         from other files here.
1220         * compile/compile-internal.h: Do not include hashtab.h or
1221         common/enum-flags.h.
1222         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1223         (gcc_convert_symbol, gcc_symbol_address)
1224         (generate_c_for_variable_locations, c_get_mode_for_size)
1225         (c_get_range_decl_name): Definitions moved to compile-c.h.
1226         * compile/compile-loc2c.c: Include compile-c.h.
1227
1228 2018-08-10  Keith Seitz  <keiths@redhat.com>
1229
1230         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1231         (c_symbol_substitution_name): ... this.
1232         Update all callers.
1233
1234 2018-08-10  Keith Seitz  <keiths@redhat.com>
1235
1236         * compile/compile-c-support.c (c_compute_program): Use
1237         unique_xmalloc_ptr to eliminate cleanup.
1238         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1239         Return a unique_xmalloc_ptr and eliminate cleanup.
1240         * compile/compile-internal.h (generate_c_for_variable_locations):
1241         Return unique_xmalloc_ptr and update description.
1242
1243 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1244
1245         * corelow.c (core_target::get_core_register_section): Rename
1246         min_size to section_min_size.
1247
1248 2018-08-09  Jim Wilson  <jimw@sifive.com>
1249
1250         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1251         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1252         * NEWS: Mention new GNU/Linux RISC-V target.
1253         * configure.host: Add riscv*-*-linux*.
1254         * configure.nat: Add riscv*.
1255         * configure.tgt: Add riscv*-*-linux*.
1256         * riscv-linux-nat.c: New file.
1257         * riscv-linux-tdep.c: New file.
1258
1259 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1260
1261         * infrun.c (resume): Make static, add forward declaration.
1262         (proceed): Update header comment.
1263         * infrun.h (resume): Delete declaration.
1264
1265 2018-08-09  Tom Tromey  <tom@tromey.com>
1266
1267         * riscv-tdep.h: Minor formatting fixes.
1268
1269 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1270
1271         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1272         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1273         (test_mkdir_recursive): Likewise.
1274         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1275
1276 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1277
1278         * valarith.c (value_subscripted_rvalue): If an array is not in
1279         memory, and we don't know the upper bound, then we can't know that
1280         the requested element exists or not.
1281
1282 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1283
1284         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1285         (target_options_to_string): Add comment.
1286
1287 2018-08-08  Tom Tromey  <tom@tromey.com>
1288
1289         * unittests/scoped_mmap-selftests.c: Check result of "write".
1290
1291 2018-08-08  Jim Wilson  <jimw@sifive.com>
1292
1293         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1294         (decode_register_index_short): New.
1295         (decode_j_type_insn, decode_cj_type_insn): New.
1296         (decode_b_type_insn, decode_cb_type_insn): New.
1297         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1298         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1299         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1300         is_c_sw_insn instead of is_sw_insn.
1301         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1302         (riscv_software_single_step): New.
1303         * riscv-tdep.h (riscv_software_single_step): Declare.
1304
1305         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1306         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1307
1308 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1309
1310         PR gdb/18050:
1311         * target.c (dispose_inferior): Don't dispose of inferiors that are
1312         already killed.
1313
1314 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1315
1316         * remote.c (remote_target::download_tracepoint): Change char* to
1317         const char*.
1318
1319 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1320
1321         * target.h (target_options_to_string): Return an std::string.
1322         * target.c (str_comma_list_concat_elem): Return void, use
1323         std::string.
1324         (do_option): Likewise.
1325         (target_options_to_string): Return an std::string.
1326         * linux-nat.c (linux_nat_target::wait): Adjust.
1327         * target-debug.h (target_debug_print_options): Adjust.
1328
1329 2018-08-07  Tom Tromey  <tom@tromey.com>
1330
1331         * Makefile.in (CPPFLAGS): New variable.
1332         (INTERNAL_CPPFLAGS): Use it.
1333
1334 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1335
1336         * NEWS: Mention the index cache.
1337
1338 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1339
1340         * common/pathstuff.h (get_standard_cache_dir): New.
1341         * common/pathstuff.c (get_standard_cache_dir): New.
1342         * build-id.h (build_id_to_string): New.
1343         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1344         DEBUG_STR_SUFFIX): Move to here.
1345         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1346         DEBUG_STR_SUFFIX): Move from there.
1347         (write_psymtabs_to_index): Make non-static, add basename
1348         parameter.  Write to temporary files, rename when done.
1349         (save_gdb_index_command): Adjust call to
1350         write_psymtabs_to_index.
1351         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1352         field.
1353         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1354         (get_gdb_index_contents_from_cache): New.
1355         (get_gdb_index_contents_from_cache_dwz): New.
1356         (dwarf2_initialize_objfile): Read index from cache.
1357         (dwarf2_build_psymtabs): Save to index.
1358         * dwarf-index-cache.h: New file.
1359         * dwarf-index-cache.c: New file.
1360         * dwarf-index-write.h: New file.
1361
1362 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1363
1364         * gnulib/aclocal.m4: Re-generate.
1365         * gnulib/config.in: Re-generate.
1366         * gnulib/configure: Re-generate.
1367         * gnulib/import/Makefile.am: Re-generate.
1368         * gnulib/import/Makefile.in: Re-generate.
1369         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1370         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1371         * gnulib/import/m4/mkdir.m4: New file.
1372         * gnulib/import/mkdir.c: New file.
1373         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1374         module.
1375
1376 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1377
1378         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1379         * common/scoped_mmap.c: New file.
1380         * common/scoped_mmap.h (destroy): New method.
1381         (~scoped_mmap, reset): Use destroy.
1382         (scoped_mmap): New move constructor.
1383         (mmap_file): New declaration.
1384         * unittests/scoped_mmap-selftests.c (test_normal,
1385         test_invalid_filename, run_tests): New functions.
1386         (_initialize_scoped_mmap_selftests): Register selftest.
1387
1388 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1389
1390         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1391         (read_gdb_index_from_buffer): ... this.  Remove section
1392         parameter, add buffer parameter.
1393         (get_gdb_index_contents_ftype,
1394         get_gdb_index_contents_dwz_ftype): New typedefs.
1395         (dwarf2_read_gdb_index): Add callback parameters to get the
1396         index contents.
1397         (get_gdb_index_contents_from_section): New.
1398         (dwarf2_initialize_objfile): Update call to
1399         dwarf2_read_gdb_index.
1400
1401 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1402
1403         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1404         (gdb_open_cloexec): Likewise.
1405         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1406         (commandline_from_pid): Likewise.
1407         (linux_xfer_osdata_threads): Likewise.
1408         (linux_xfer_osdata_fds): Likewise.
1409         * ada-lang.c (is_package_name): Likewise.
1410         * auxv.c (procfs_xfer_auxv): Likewise.
1411         * breakpoint.c (print_one_breakpoint_location): Use
1412         uiout::field_fmt.
1413         (print_one_catch_solib): Use string_printf.
1414         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1415         (add_pe_forwarded_sym): Likewise.
1416         * dwarf2read.c (create_type_unit_group): Likewise.
1417         (build_error_marker_type): Likewise.
1418         * infcall.c (get_function_name): Likewise.
1419         * valprint.c (print_converted_chars_to_obstack): Likewise.
1420         * xtensa-tdep.c (xtensa_register_type): Likewise.
1421
1422 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1423
1424         * remote.c (remote_target::download_tracepoint): Fix format
1425         string errors.
1426
1427 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1428
1429         * tracefile.c: Include common/byte-vector.h.
1430         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1431         with trace_regblock_size if needed.  Update uses of buf.
1432
1433 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1434
1435         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1436         std::vector<unsigned char>.
1437         * tracepoint.c (collection_list::collection_list): Remove
1438         m_regs_mask initializer from initializer list.  Resize
1439         m_regs_mask using the largest remote register number.
1440         (collection_list::add_remote_register): Remove size check on
1441         m_regs_mask.  Use at to access element.
1442         (collection_list::stringify): Change type of temp_buf to
1443         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1444         stringify the register mask.  Use pack_hex_byte for the register
1445         mask.
1446
1447 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1448
1449         * tracepoint.h (class collection_list) <add_register>: Remove.
1450         <add_remote_register, add_ax_registers, add_local_register>:
1451         Declare.
1452         <add_memrange>: Add scope parameter.
1453         * tracepoint.c (encode_actions_1): Likewise.
1454         (collection_list::add_register): Rename to ...
1455         (collection_list::add_remote_register): ... this.  Update
1456         comment.
1457         (collection_list::add_ax_registers, add_local_register): New
1458         methods.
1459         (collection_list::add_memrange): Add scope parameter.  Call
1460         add_local_register instead of add_register.
1461         (finalize_tracepoint_aexpr): New function.
1462         (collection_list::collect_symbol): Update calls to add_memrange.
1463         Call add_local_register instead of add_register.  Call
1464         add_ax_registers.  Call finalize_tracepoint_aexpr.
1465         (encode_actions_1): Get remote regnos for $reg action.  Call
1466         add_remote_register, add_ax_registers, and add_local_register.
1467         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1468         (validate_actionline): Call finalize_tracepoint_aexpr.
1469
1470 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1471
1472         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1473         Replace array buf with gdb::char_vector buf, of size
1474         get_remote_packet_size ().  Replace references to buf and
1475         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1476         and xsnprintf with snprintf.  Raise errors if the buffer is too
1477         small.
1478
1479 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1480
1481         * remote.c (remote_target::download_tracepoint): Fix the has_more
1482         predicate in the QTDP action list iteration.
1483
1484 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1485
1486         * remote.c (remote_target::download_tracepoint): Fix indentation
1487         in for block.
1488
1489 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1490
1491         * proc-api.c (_initialize_proc_api): Remove c, unused.
1492         * procfs.c (procfs_init_inferior): Remove signals, unused.
1493         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1494         unused.
1495
1496 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1497             Andrew Burgess  <andrew.burgess@embecosm.com>
1498
1499         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1500         'W_STOPCODE (0)' as this could be ambiguous.
1501
1502 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1503
1504         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1505         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1506         "ai_socktype").
1507
1508 2018-08-02  Tom Tromey  <tom@tromey.com>
1509
1510         PR symtab/16842.
1511         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1512         symbols.
1513         (process_structure_scope): Likewise.
1514
1515 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1516
1517         PR gdb/22629:
1518         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1519         kill inferior.
1520
1521 2018-08-02  Tom Tromey  <tom@tromey.com>
1522
1523         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1524         (darwin_suspend_inferior, darwin_resume_inferior)
1525         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1526         (darwin_check_new_threads): Check result of get_darwin_inferior.
1527
1528 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1529
1530         GDB 8.1.1 released.
1531
1532 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1533
1534         * varobj.c (varobj_get_path_expr_parent): Report an error if
1535         parent is a dynamic varobj.
1536
1537 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1538
1539         * gnulib/aclocal.m4: Re-generate.
1540         * gnulib/config.in: Re-generate.
1541         * gnulib/configure: Re-generate.
1542         * gnulib/import/Makefile.in: Re-generate.
1543         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1544         * gnulib/import/m4/onceonly.m4: Re-generate.
1545
1546 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1547
1548         * target-descriptions.c (struct xml_test_tdesc): New.
1549         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1550         (record_xml_tdesc): Update.
1551         (maintenance_check_xml_descriptions): Update.
1552         * target-descriptions.h (record_xml_tdesc): Update comment.
1553
1554 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1555
1556         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1557         checking array bounds are defined.
1558
1559 2018-07-30  Tom Tromey  <tom@tromey.com>
1560
1561         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1562         irreflexivity violation.
1563
1564 2018-07-30  Tom Tromey  <tom@tromey.com>
1565
1566         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1567         * value.c (unpack_long): Remove lint code.
1568         * valops.c (value_ind): Remove lint code.
1569         * valarith.c (value_x_binop, value_x_unop, value_equal)
1570         (value_pos): Remove lint code.
1571
1572 2018-07-28  Tom de Vries  <tdevries@suse.de>
1573
1574         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1575         with undefined upper bound as <optimized out>.
1576
1577 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1578
1579         * gcore.in: Rename variable "name" to "prefix".  Expand
1580         "usage" text.
1581
1582 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1583
1584         * windows-nat.c (windows_nat_target::create_inferior): Update to
1585         call close() in global namespace.
1586
1587 2018-07-26  Tom Tromey  <tom@tromey.com>
1588
1589         * dwarf-index-write.c (add_address_entry): Don't add objfile
1590         offsets.
1591         * dbxread.c (find_stab_function): Rename from
1592         find_stab_function_addr.  Return a bound_minimal_symbol.
1593         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1594         Don't add objfile offsets.
1595         (end_psymtab): Use raw_text_low, raw_text_high,
1596         MSYMBOL_VALUE_RAW_ADDRESS.
1597         (read_ofile_symtab): Update.
1598         (process_one_symbol): Update.
1599         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1600         offsets.
1601         (dw2_relocate): Remove.
1602         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1603         searching addrmap.
1604         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1605         Update.
1606         (process_psymtab_comp_unit_reader, add_partial_symbol)
1607         (add_partial_subprogram, dwarf2_ranges_read): Update.
1608         (load_partial_dies): Update.
1609         (add_address_entry): Don't add objfile offsets.
1610         (dwarf2_build_include_psymtabs): Update.
1611         (create_addrmap_from_aranges): Don't add objfile offsets.
1612         (dw2_find_pc_sect_compunit_symtab): Update.
1613         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1614         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1615         Update.
1616         (parse_partial_symbols): Don't add objfile offsets.  Use
1617         raw_text_low, raw_text_high.  Update.
1618         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1619         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1620         or call 'relocate' quick function.  Clear psymbol_map.
1621         * psympriv.h (struct partial_symbol) <address>: Add section
1622         offset.
1623         <set_unrelocated_address>: Rename from set_address.
1624         <raw_text_low, raw_text_high>: New methods.
1625         <text_low, text_high>: Add objfile parameter.
1626         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1627         set_unrelocated_address.
1628         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1629         (find_pc_psymbol): Update.
1630         (fixup_psymbol_section, relocate_psymtabs): Remove.
1631         (dump_psymtab, psym_functions): Update.
1632         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1633         parameter.
1634         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1635         (start_psymtab_common): Update.
1636         * symfile-debug.c (debug_qf_relocate): Remove.
1637         (debug_sym_quick_functions): Update.
1638         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1639         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1640         Update.
1641
1642 2018-07-26  Tom Tromey  <tromey@redhat.com>
1643
1644         * dbxread.c (end_psymtab): Use text_high_valid and
1645         text_low_valid.
1646         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1647         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1648         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1649         Update comment.
1650         <text_low_valid, text_high_valid>: New fields.
1651         <set_text_low, set_text_high>: Update.
1652         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1653
1654 2018-07-26  Tom Tromey  <tom@tromey.com>
1655
1656         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1657         Update.
1658         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1659         textlow and texthigh fields.
1660         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1661         Update.
1662         * mdebugread.c (parse_lines, parse_partial_symbols)
1663         (psymtab_to_symtab_1): Update.
1664         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1665         Rename fields.  Update comment.  Now private.
1666         <text_low, text_high, set_text_low, set_text_high>: New methods.
1667         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1668         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1669         (start_psymtab_common, maintenance_info_psymtabs)
1670         (maintenance_check_psymtabs): Update.
1671         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1672         texthigh fields.
1673         (scan_xcoff_symtab): Update.
1674
1675 2018-07-26  Tom Tromey  <tromey@redhat.com>
1676
1677         * psympriv.h (struct partial_symbol) <unrelocated_address,
1678         address, set_address>: New methods.
1679         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1680         (fixup_psymbol_section, relocate_psymtabs): Update.
1681         (print_partial_symbols): Add 'objfile' parameter.  Update.
1682         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1683         Update.
1684
1685 2018-07-26  Tom Tromey  <tom@tromey.com>
1686
1687         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1688         (debug_names::write_psymbols): Update.
1689         * psympriv.h (struct partial_symbol): Derive from
1690         general_symbol_info.
1691         <obj_section>: New method.
1692         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1693         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1694         (find_pc_sect_psymbol, fixup_psymbol_section)
1695         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1696         (print_partial_symbols, recursively_search_psymtabs)
1697         (compare_psymbols, psymbol_hash, psymbol_compare)
1698         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1699         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1700
1701 2018-07-26  Tom Tromey  <tromey@redhat.com>
1702
1703         * dbxread.c (end_psymtab): Remove dead code.
1704
1705 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1706
1707         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1708         DWARF unwinders are disabled.
1709         * dwarf2-frame.c: Add dwarf2read.h include.
1710         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1711         disabled.
1712         (dwarf2_frame_unwinders_enabled_p): Define.
1713         (show_dwarf_unwinders_enabled_p): New function.
1714         (_initialize_dwarf2_frame): Register switch to control DWARF
1715         unwinder use.
1716         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1717         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1718         (show_dwarf_cmdlist): Remove static keyword.
1719         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1720         (show_dwarf_cmdlist): Declare.
1721         * NEWS: Document new feature.
1722
1723 2018-07-26  Tom de Vries  <tdevries@suse.de>
1724
1725         PR breakpoints/23366
1726         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1727
1728 2018-07-26  Tom de Vries  <tdevries@suse.de>
1729
1730         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1731         DW_AT_count can't be translated to a dynamic prop.
1732
1733 2018-07-25  Tom de Vries  <tdevries@suse.de>
1734
1735         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1736         try/catch.
1737
1738 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1739
1740         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1741
1742 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1743
1744         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1745
1746 2018-07-24  Keith Seitz  <keiths@redhat.comt
1747
1748         PR symtab/23010
1749         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1750         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1751         instead of add_symbol_to_list.
1752         (read_file_scope): Call prepare_one_comp_unit before reading
1753         any other DIEs.
1754
1755 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1756
1757         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1758
1759 2018-07-24  Tom Tromey  <tom@tromey.com>
1760
1761         * utils.c (malloc, realloc, free): Don't declare.
1762         * configure, config.in: Rebuild.
1763         * configure.ac: Don't check for declarations of free, malloc, or
1764         realloc.
1765
1766 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1767
1768         * aarch64-linux-nat.c
1769         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1770         variable.
1771         * arm-linux-nat.c (fetch_regs): Likewise.
1772         (store_regs): Likewise.
1773         (fetch_vfp_regs): Likewise.
1774         (store_vfp_regs): Likewise.
1775         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1776         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1777         (arm_linux_nat_target::insert_watchpoint): Likewise.
1778         (arm_linux_nat_target::remove_watchpoint): Likewise.
1779         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1780         Likewise.
1781         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1782         Likewise.
1783         * ppc-linux-nat.c (fetch_register): Likewise.
1784         (fetch_all_gp_regs): Likewise.
1785         (fetch_ppc_registers): Likewise.
1786         (store_all_gp_regs): Likewise.
1787         (store_ppc_registers): Likewise.
1788         (hwdebug_insert_point): Likewise.
1789         (can_use_watchpoint_cond_accel): Likewise.
1790         * remote-sim.c (gdb_os_write_stdout): Likewise.
1791
1792 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1793             Tom Tromey  <tom@tromey.com>
1794
1795         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1796         test for it.
1797         * configure: Rebuild.
1798
1799 2018-07-22  Tom Tromey  <tom@tromey.com>
1800
1801         * regformats/regdat.sh: Define xmltarget_${name} inside
1802         #ifndef IN_PROCESS_AGENT.
1803
1804 2018-07-22  Tom Tromey  <tom@tromey.com>
1805
1806         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1807
1808 2018-07-22  Tom Tromey  <tom@tromey.com>
1809
1810         * symfile.c (reread_symbols): Notify iter, not objfile.
1811
1812 2018-07-22  Tom Tromey  <tom@tromey.com>
1813
1814         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1815         Use arch_ops.
1816         (ravenscar_thread_target::prepare_to_store): Likewise.
1817
1818 2018-07-22  Tom Tromey  <tom@tromey.com>
1819
1820         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1821         unused variable.  Call value_fetch_lazy when needed.
1822         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1823         Remove unused variable.  Call value_fetch_lazy when needed.
1824
1825 2018-07-22  Tom Tromey  <tom@tromey.com>
1826
1827         * m32c-tdep.c (mark_dma): Return void.
1828         (make_regs): Remove unused declarations.
1829
1830 2018-07-22  Tom Tromey  <tom@tromey.com>
1831
1832         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1833         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1834         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1835         bkscm_get_valid_block_smob_arg_unsafe for effect.
1836
1837 2018-07-22  Tom Tromey  <tom@tromey.com>
1838
1839         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1840         value_type.
1841
1842 2018-07-22  Tom Tromey  <tom@tromey.com>
1843
1844         * windows-nat.c (saved_context): Conditionally define.
1845         * remote.c (remote_target::remote_btrace_maybe_reopen):
1846         Conditionally declare "warned".
1847         * inflow.c (sigquit_ours): Conditionally define.
1848         (new_tty): Move "tty" declaration inside #if.
1849         * guile/guile.c (guile_datadir): Conditionally define.
1850         * charset.c (set_be_le_names): Move some declarations inside #if.
1851         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1852         #if.
1853         (parse_xml_btrace_conf): Likewise.
1854
1855 2018-07-22  Tom Tromey  <tom@tromey.com>
1856
1857         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1858
1859 2018-07-22  Tom Tromey  <tom@tromey.com>
1860
1861         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1862         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1863         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1864         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1865         * stack.c (frame_apply_level_command): Remove unused variable.
1866         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1867         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1868         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1869         unused variable.
1870         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
1871         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
1872         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
1873         variable.
1874         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
1875         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
1876         variable.
1877         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
1878         Remove unused variable.
1879         * cli/cli-script.c (recurse_read_control_structure): Remove unused
1880         variable.
1881         * common/tdesc.c (print_xml_feature::visit): Remove unused
1882         variable.
1883         * compile/compile-object-load.c (store_regs): Remove unused
1884         variables.
1885         * complaints.c (clear_complaints): Remove unused variable.
1886         * corelow.c (core_target_open): Remove unused variable.
1887         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
1888         variable.
1889         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
1890         variable.
1891         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
1892         variable.
1893         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
1894         variable.
1895         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
1896         variable.
1897         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
1898         variable.
1899         * ia64-tdep.c (examine_prologue): Remove unused variable.
1900         * infcall.c (run_inferior_call): Remove unused variable.
1901         * inferior.c (exit_inferior): Remove unused variable.
1902         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
1903         * linespec.c (decode_line_2): Remove unused variable.
1904         * linux-nat.c (super_close): Remove.
1905         * linux-tdep.c (linux_info_proc): Remove unused variable.
1906         * mi/mi-main.c (mi_execute_command): Remove unused variable.
1907         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
1908         Remove unused variable.
1909         * parse.c (find_minsym_type_and_address): Remove unused variable.
1910         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1911         variable.
1912         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1913         variable.
1914         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1915         variables.
1916         * record-btrace.c (record_btrace_target::store_registers): Remove
1917         unused variable.
1918         (cmd_show_record_btrace_cpu): Remove unused variable.
1919         * riscv-tdep.c (riscv_register_reggroup_p)
1920         (riscv_push_dummy_call, riscv_return_value): Remove unused
1921         variable.
1922         * rust-exp.y (literal): Remove unused variable.
1923         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1924         unused variable.
1925         <STRUCTOP_ANONYMOUS>: Likewise.
1926         * s390-linux-tdep.c (s390_linux_init_abi_31)
1927         (s390_linux_init_abi_64): Remove unused variable.
1928         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1929         (file_select_thread, net_windows_open, _initialize_ser_windows):
1930         Remove unused variables.
1931         * symtab.c (find_pc_sect_line): Remove unused variable.
1932         * target-memory.c (compute_garbled_blocks): Remove unused
1933         variable.
1934         (target_write_memory_blocks): Remove unused variable.
1935         * target.c (target_stack::unpush): Remove unused variables.
1936         * tracepoint.c (start_tracing, all_tracepoint_actions)
1937         (merge_uploaded_trace_state_variables)
1938         (print_one_static_tracepoint_marker): Remove unused variable.
1939         * unittests/basic_string_view/element_access/char/1.cc (test01):
1940         Remove unused variable.
1941         * windows-nat.c (windows_continue, windows_add_all_dlls)
1942         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1943         Remove unused variables.
1944
1945 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1946
1947         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1948         attr_profile in HAVE_ELF.
1949         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1950         HAVE_ELF.
1951
1952 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1953
1954         * frame.c (frame_register_unwind): Change parameter name.
1955         (frame_unwind_register): Likewise.
1956         (frame_unwind_register_value): Likewise.
1957         (frame_unwind_register_signed): Likewise.
1958         (frame_unwind_register_unsigned): Likewise.
1959         * frame.h (frame_register_unwind): Likewise.
1960         (frame_unwind_register): Likewise.
1961         (frame_unwind_register_value): Likewise.
1962         (frame_unwind_register_signed): Likewise.
1963         (frame_unwind_register_unsigned): Likewise.
1964         (frame_unwind_arch): Likewise.
1965
1966 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1967
1968         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1969         ISA maintenance.
1970
1971 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1972
1973         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1974         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1975         hand.
1976
1977 2018-07-20  Keith Seitz  <keiths@redhat.com>
1978
1979         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1980         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1981         m_compunit_symtab, m_language>: Add "m_" prefix.
1982         Update all uses.
1983         * buildsym.c: Update all uses.
1984
1985 2018-07-20  Tom Tromey  <tom@tromey.com>
1986
1987         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1988         * buildsym.h (record_line_ftype): Remove typedef.
1989
1990 2018-07-20  Tom Tromey  <tom@tromey.com>
1991
1992         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1993         (end_expandable_symtab): Likewise.
1994         (end_symtab_get_static_block): Likewise.
1995         (end_symtab_from_static_block): Likewise.
1996         * buildsym-legacy.c (augment_type_symtab): Remove.
1997         (end_expandable_symtab): Remove.
1998         (end_symtab_get_static_block): Remove.
1999         (end_symtab_from_static_block): Remove.
2000
2001 2018-07-20  Tom Tromey  <tom@tromey.com>
2002
2003         * dwarf2read.c: Include buildsym.h.
2004         (struct dwarf2_cu) <builder>: New method.
2005         (fixup_go_packaging): Update.
2006         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2007         use scoped_free_pendings.
2008         (using_directives): Add "cu" parameter, remove "language".
2009         (read_import_statement, setup_type_unit_groups, )
2010         (read_func_scope, read_lexical_block_scope)
2011         (dwarf2_record_block_ranges, read_namespace): Update.
2012         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2013         (lnp_state_machine::handle_end_sequence): Update.
2014         (class lnp_state_machine) <m_cu>: New member.
2015         <m_record_line_callback>: Remove.
2016         <m_currently_recording_lines>: New member.
2017         (lnp_state_machine::handle_set_file): Update.
2018         (noop_record_line): Remove.
2019         (dwarf_record_line_p): Add cu parameter.
2020         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2021         (lnp_state_machine::record_line)
2022         (lnp_state_machine::lnp_state_machine)
2023         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2024         (dwarf_decode_lines): Update.
2025         (dwarf2_start_subfile): Add cu parameter.
2026         (dwarf2_start_symtab, new_symbol): Update.
2027         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2028         Remove dwarf2_per_objfile parameter.
2029         (dwarf_decode_macros): Update.
2030
2031 2018-07-20  Tom Tromey  <tom@tromey.com>
2032
2033         * stabsread.c (define_symbol): Update.
2034         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2035         * dwarf2read.c (new_symbol): Update.
2036         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2037         * cp-namespace.c: Include buildsym.h.
2038         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2039         * buildsym-legacy.c (get_buildsym_compunit): New function.
2040
2041 2018-07-20  Tom Tromey  <tom@tromey.com>
2042
2043         * xcoffread.c: Include buildsym-legacy.h.
2044         * windows-nat.c: Include buildsym-legacy.h.
2045         * stabsread.c: Include buildsym-legacy.h.
2046         * mdebugread.c: Include buildsym-legacy.h.
2047         * buildsym-legacy.h: New file.
2048         * buildsym-legacy.c: New file, from buildsym.c.
2049         * go32-nat.c: Include buildsym-legacy.h.
2050         * dwarf2read.c: Include buildsym-legacy.h.
2051         * dbxread.c: Include buildsym-legacy.h.
2052         * cp-namespace.c: Include buildsym-legacy.h.
2053         * coffread.c: Include buildsym-legacy.h.
2054         * buildsym.h: Move some contents to buildsym-legacy.h.
2055         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2056         buildsym-legacy.c.
2057         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2058
2059 2018-07-20  Tom Tromey  <tom@tromey.com>
2060
2061         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2062         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2063         (buildsym_compunit::buildsym_compunit)
2064         (buildsym_compunit::~buildsym_compunit)
2065         (buildsym_compunit::get_macro_table): Define.
2066
2067 2018-07-20  Tom Tromey  <tom@tromey.com>
2068
2069         * buildsym.c (reset_symtab_globals): Remove.
2070         (buildsym_compunit::end_symtab_from_static_block): Update.
2071         (buildsym_compunit::augment_type_symtab): Update.
2072         (end_symtab_from_static_block): Call free_buildsym_compunit.
2073         (augment_type_symtab, end_symtab, end_expandable_symtab):
2074         Likewise.
2075
2076 2018-07-20  Tom Tromey  <tom@tromey.com>
2077
2078         * arch-utils.c: Do not include buildsym.h.
2079         * mipsread.c: Do not include buildsym.h.
2080         * machoread.c: Do not include buildsym.h.
2081         * elfread.c: Do not include buildsym.h.
2082
2083 2018-07-20  Tom Tromey  <tom@tromey.com>
2084
2085         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2086         initialization.
2087         (buildsym_compunit): Add new constructor.
2088         (struct buildsym_compunit) <get_last_source_file, finish_block,
2089         record_block_range, start_subfile, patch_subfile_names,
2090         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2091         set_last_source_start_addr, get_last_source_start_addr,
2092         get_local_using_directives, set_local_using_directives,
2093         get_global_using_directives, outermost_context_p,
2094         get_current_context_stack, get_context_stack_depth,
2095         get_current_subfile, get_local_symbols, get_file_symbols,
2096         get_global_symbols, record_debugformat, record_producer,
2097         push_context, pop_context, end_symtab_get_static_block,
2098         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2099         New public methods.
2100         <record_pending_block, finish_block_internal, make_blockvector,
2101         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2102         private methods.
2103         Update all users.
2104
2105 2018-05-22  Tom Tromey  <tom@tromey.com>
2106
2107         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2108         parameter.
2109         (finish_block_internal): Update.
2110
2111 2018-07-20  Tom Tromey  <tom@tromey.com>
2112
2113         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2114         parameter.
2115         (finish_block_internal): Update.
2116
2117 2018-07-20  Tom Tromey  <tom@tromey.com>
2118
2119         * buildsym.h (EXTERN): Don't define or undef.
2120         * buildsym.c (EXTERN): Don't define.
2121
2122 2018-07-20  Tom Tromey  <tom@tromey.com>
2123
2124         * buildsym.c: Remove TODO comment.
2125
2126 2018-07-20  Tom Tromey  <tom@tromey.com>
2127
2128         * coffread.c (coff_symtab_read): Update.
2129         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2130         (xcoff_new_init): Update.
2131         * mipsread.c (mipscoff_new_init): Update.
2132         * mdebugread.c (mdebug_build_psymtabs): Update.
2133         * elfread.c (elf_new_init): Update.
2134         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2135         Update.
2136         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2137         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2138         (stabsect_build_psymtabs): Update.
2139         * buildsym.h (buildsym_init): Don't declare.
2140         * buildsym.c: Update comment.
2141         (prepare_for_building): Remove.
2142         (start_symtab, restart_symtab): Update.
2143         (reset_symtab_globals): Update comment.
2144         (buildsym_init): Remove.
2145
2146 2018-07-20  Tom Tromey  <tom@tromey.com>
2147
2148         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2149         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2150         (read_enum_type, common_block_start, common_block_end)
2151         (cleanup_undefined_types_1, finish_global_stabs): Update.
2152         * mdebugread.c (psymtab_to_symtab_1): Update.
2153         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2154         (read_lexical_block_scope, new_symbol): Update.
2155         * dbxread.c (process_one_symbol): Update.
2156         * coffread.c (coff_symtab_read, process_coff_symbol)
2157         (coff_read_enum_type): Update.
2158         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2159         declare.
2160         (get_local_symbols, get_file_symbols, get_global_symbols): New
2161         functions.
2162         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2163         m_global_symbols.
2164         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2165         (~scoped_free_pendings): Update.
2166         (finish_block, prepare_for_building, reset_symtab_globals)
2167         (end_symtab_get_static_block, end_symtab_with_blockvector)
2168         (augment_type_symtab, push_context): Update.
2169         (get_local_symbols, get_file_symbols, get_global_symbols): New
2170         functions.
2171         (buildsym_init): Update.
2172
2173 2018-07-20  Tom Tromey  <tom@tromey.com>
2174
2175         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2176         (process_full_type_unit): Likewise.
2177         (dwarf2_start_symtab): Set list_in_scope.
2178
2179 2018-07-20  Tom Tromey  <tom@tromey.com>
2180
2181         * dwarf2read.c (process_psymtab_comp_unit_reader)
2182         (build_type_psymtabs_reader): Do not set list_in_scope.
2183
2184 2018-07-20  Tom Tromey  <tom@tromey.com>
2185
2186         * buildsym.c (free_pendings): Remove.
2187         (add_symbol_to_list, scoped_free_pendings)
2188         (finish_block_internal, buildsym_init): Update.
2189
2190 2018-07-20  Tom Tromey  <tom@tromey.com>
2191
2192         * xcoffread.c (read_xcoff_symtab): Update.
2193         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2194         Update.
2195         * dbxread.c (process_one_symbol): Update.
2196         * coffread.c (coff_symtab_read): Update.
2197         * buildsym.h (finish_block): Update.
2198         * buildsym.c (finish_block): Remove "listhead" argument.
2199         (end_symtab_get_static_block): Update.
2200
2201 2018-07-20  Tom Tromey  <tom@tromey.com>
2202
2203         * buildsym.h (class scoped_free_pendings): Remove constructor.
2204         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2205         method.
2206         <m_pending_block_obstack, m_pending_blocks>: New members.
2207         (pending_block_obstack, pending_blocks): Remove.
2208         (scoped_free_pendings::scoped_free_pendings): Default.
2209         (~scoped_free_pendings): Update.
2210         (free_pending_blocks): Remove.
2211         (finish_block_internal, record_pending_block, make_blockvector)
2212         (end_symtab_get_static_block, augment_type_symtab, push_context)
2213         (buildsym_init): Update.
2214
2215 2018-07-20  Tom Tromey  <tom@tromey.com>
2216
2217         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2218         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2219         members.
2220         (pending_addrmap, pending_addrmap_obstack)
2221         (pending_addrmap_interesting): Remove.
2222         (scoped_free_pendings, record_block_range, make_blockvector)
2223         (prepare_for_building, reset_symtab_globals, buildsym_init):
2224         Update.
2225
2226 2018-07-20  Tom Tromey  <tom@tromey.com>
2227
2228         * xcoffread.c (process_linenos): Update.
2229         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2230         * mdebugread.c (psymtab_to_symtab_1): Update.
2231         * dwarf2read.c (setup_type_unit_groups)
2232         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2233         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2234         * dbxread.c (process_one_symbol): Update.
2235         * coffread.c (coff_symtab_read, enter_linenos)
2236         (process_coff_symbol): Update.
2237         * buildsym.h (current_subfile): Don't declare.
2238         (get_current_subfile): Declare.
2239         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2240         member.
2241         (start_subfile, free_buildsym_compunit, push_subfile)
2242         (prepare_for_building, start_symtab): Update.
2243         (get_current_subfile): New function.
2244
2245 2018-07-20  Tom Tromey  <tom@tromey.com>
2246
2247         * coffread.c (coff_symtab_read): Update.
2248         * xcoffread.c (read_xcoff_symtab): Update.
2249         * dwarf2read.c (new_symbol): Update.
2250         (read_func_scope, read_lexical_block_scope): Update.
2251         * dbxread.c (process_one_symbol): Update.
2252         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2253         (outermost_context_p): Remove macro.
2254         (outermost_context_p, get_current_context_stack)
2255         (get_context_stack_depth): Declare.
2256         (pop_context): Return struct context_stack.
2257         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2258         member.
2259         (context_stack_size): Remove.
2260         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2261         (prepare_for_building, end_symtab_get_static_block)
2262         (augment_type_symtab, push_context): Update.
2263         (pop_context): Return struct context_stack.
2264         (outermost_context_p, get_current_context_stack)
2265         (get_context_stack_depth): New functions.
2266         (buildsym_init): Update.
2267
2268 2018-07-20  Tom Tromey  <tom@tromey.com>
2269
2270         * rust-exp.y: Now a pure parser.  Update all rules.
2271         (%union): Move earlier.
2272         (current_parser, work_obstack): Remove globals.
2273         (rust_parser, ~rust_parser): Update.
2274         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2275         lex_character, lex_number, lex_string, lex_identifier,
2276         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2277         convert_name, convert_params_to_expression,
2278         convert_ast_to_expression, ast_basic_type, ast_operation,
2279         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2280         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2281         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2282         ast_array_type, ast_slice_type, ast_reference_type,
2283         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2284         (rust_parse): Update.
2285         (rustyyerror, rustyylex): Add parser parameter.
2286         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2287         (rust_lex_stringish_test, rust_lex_test_sequence)
2288         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2289         (rust_lex_test_push_back, rust_lex_tests): Update.
2290
2291 2018-07-19  Pedro Alves  <palves@redhat.com>
2292
2293         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2294         gdb::unique_xmalloc_ptr.
2295         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2296         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2297         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2298         copy-initialization.
2299         * guile/scm-pretty-print.c (ppscm_print_children): Use
2300         gdb::unique_xmalloc_ptr instead of cleanups.
2301         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2302         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2303         gdb::unique_xmalloc_ptr.
2304         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2305         Adjust to use gdb::unique_xmalloc_ptr.
2306         * guile/scm-utils.c (extract_arg): Adjust.
2307         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2308         gdb::unique_xmalloc_ptr instead of a cleanup.
2309
2310 2018-07-19  Tom Tromey  <tom@tromey.com>
2311
2312         * utils.c (do_value_free_to_mark)
2313         (make_cleanup_value_free_to_mark): Remove.
2314         * utils.h (make_cleanup_value_free_to_mark): Remove.
2315
2316 2018-07-19  Pedro Alves  <palves@redhat.com>
2317
2318         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2319         forwarding reference.
2320
2321 2018-07-18  Pedro Alves  <palves@redhat.com>
2322
2323         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2324         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2325         cleanup.
2326
2327 2018-07-18  Pedro Alves  <palves@redhat.com>
2328
2329         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2330         exceptions.
2331         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2332         (gdbscm_wrap): New.
2333         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2334         directly instead of a cleanup.
2335         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2336         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2337         (vlscm_binop_gdbthrow): New, factored out from ...
2338         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2339         (vlscm_rich_compare): Use gdbscm_wrap.
2340         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2341         instead of a cleanup.
2342         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2343         cleanup.
2344         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2345         Use xfree directly instead of a cleanup.
2346         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2347         Adjust to use gdbscm_wrap and scoped_value_mark.
2348         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2349         (gdbscm_value_address, gdbscm_value_dereference)
2350         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2351         scoped_value_mark.
2352         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2353         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2354         scoped_value_mark.
2355         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2356         gdbscm_wrap and scoped_value_mark.
2357         (gdbscm_value_to_string): Use xfree directly instead of a
2358         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2359         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2360         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2361         scoped_value_mark.
2362         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2363         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2364         scoped_value_mark.
2365         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2366         gdbscm_wrap.
2367
2368 2018-07-18  Tom de Vries  <tdevries@suse.de>
2369
2370         * findvar.c (default_read_var_value): Also resolve dynamic type for
2371         LOC_OPTIMIZED_OUT vars.
2372
2373 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2374
2375         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2376         decoding.
2377
2378 2018-07-17  Tom Tromey  <tom@tromey.com>
2379
2380         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2381         (compute_enum_list, pascm_set_param_value_x)
2382         (gdbscm_parameter_value): Update.
2383         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2384         (gdbscm_scm_to_host_string): Update.
2385         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2386         Update.
2387         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2388         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2389         * guile/scm-string.c (gdbscm_scm_to_string): Return
2390         unique_xmalloc_ptr.
2391         (gdbscm_scm_to_host_string): Likewise.
2392
2393 2018-07-17  Tom Tromey  <tom@tromey.com>
2394
2395         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2396         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2397         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2398         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2399         unique_xmalloc_ptr.
2400
2401 2018-07-17  Tom Tromey  <tom@tromey.com>
2402
2403         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2404         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2405         Update.
2406         * guile/scm-cmd.c (cmdscm_function): Update.
2407         * guile/scm-pretty-print.c
2408         (ppscm_print_exception_unless_memory_error): Update.
2409         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2410         Return unique_xmalloc_ptr.
2411
2412 2018-07-17  Tom Tromey  <tom@tromey.com>
2413
2414         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2415         Use string_printf.
2416
2417 2018-07-17  Jim Wilson  <jimw@sifive.com>
2418
2419         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2420         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2421         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2422         unecessary braces after EF_RISCV_RVC test.  Delete call to
2423         set_gdbarch_decr_pc_after_break.
2424
2425         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2426         RISCV_LAST_FP_REGNUM + 1.
2427         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2428
2429 2018-07-17  Tom Tromey  <tom@tromey.com>
2430
2431         * configure.ac: Remove --disable-gdbcli.
2432         * configure: Rebuild.
2433         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2434         (SUBDIR_CLI_CFLAGS): Remove.
2435         (SFILES): Use SUBDIR_CLI_SRCS.
2436         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2437
2438 2018-07-17  Tom Tromey  <tom@tromey.com>
2439
2440         PR gdb/18624:
2441         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2442
2443 2018-07-16  Jim Wilson  <jimw@sifive.com>
2444
2445         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2446
2447 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2448
2449         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2450         variable.
2451         (libunwind_frame_sniffer): Likewise.
2452         (libunwind_frame_prev_register): Likewise.
2453         (libunwind_sigtramp_frame_sniffer): Likewise.
2454         * ia64-tdep.c (ia64_access_reg): Likewise.
2455         (ia64_access_rse_reg): Likewise.
2456         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2457         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2458
2459 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2460
2461         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2462
2463 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2464
2465         * remote-sim.c (gdbsim_target::close,
2466         gdbsim_target::mourn_inferior): Remove unused variables.
2467
2468 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2469
2470         * ia64-tdep.c (ktab_buf): New global.
2471         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2472         (get_kernel_table): Adjust.
2473
2474 2018-07-16  Tom Tromey  <tom@tromey.com>
2475
2476         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2477         * dwarf2read.c (using_directives, new_symbol): Use
2478         outermost_context_p.
2479         * dbxread.c (process_one_symbol): Use outermost_context_p.
2480         * coffread.c (coff_symtab_read): Use outermost_context_p.
2481
2482 2018-07-16  Tom Tromey  <tom@tromey.com>
2483
2484         * dwarf2read.c (using_directives, read_func_scope)
2485         (read_lexical_block_scope): Update.
2486         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2487         * buildsym.h (local_using_directives, global_using_directives):
2488         Don't declare.
2489         (get_local_using_directives, set_local_using_directives)
2490         (get_global_using_directives): Declare.
2491         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2492         m_global_using_directives>: New members.
2493         (finish_block_internal, prepare_for_building)
2494         (reset_symtab_globals, end_symtab_get_static_block)
2495         (push_context): Update.
2496         (get_local_using_directives, set_local_using_directives)
2497         (get_global_using_directives): New functions.
2498         (buildsym_init): Update.
2499
2500 2018-07-16  Tom Tromey  <tom@tromey.com>
2501
2502         * xcoffread.c (xcoff_initial_scan): Don't call
2503         free_pending_blocks.
2504         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2505         * buildsym.h (class scoped_free_pendings): Add constructor.
2506         (free_pending_blocks): Don't declare.
2507         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2508         (free_pending_blocks): Now static.
2509
2510 2018-07-16  Tom Tromey  <tom@tromey.com>
2511
2512         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2513         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2514         member.
2515         (struct subfile_stack): Remove.
2516         (subfile_stack): Remove.
2517         (push_subfile, pop_subfile, buildsym_init): Update.
2518
2519 2018-07-16  Tom Tromey  <tom@tromey.com>
2520
2521         * buildsym.c (push_subfile): Use gdb_assert.
2522         (pop_subfile): Use gdb_assert.
2523
2524 2018-07-16  Tom Tromey  <tom@tromey.com>
2525
2526         * buildsym.h (merge_symbol_lists): Remove.
2527         * buildsym.c (merge_symbol_lists): Remove.
2528
2529 2018-07-16  Tom Tromey  <tom@tromey.com>
2530
2531         * stabsread.c (scan_file_globals): Update comment.
2532         * stabsread.h (scan_file_globals): Move from buildsym.h.
2533         * buildsym.h (scan_file_globals): Move to stabsread.h.
2534
2535 2018-07-16  Tom Tromey  <tom@tromey.com>
2536
2537         * xcoffread.c (xcoff_new_init): Update.
2538         * mipsread.c (mipscoff_new_init): Update.
2539         * mdebugread.c (mdebug_build_psymtabs): Update.
2540         * elfread.c (elf_new_init): Update.
2541         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2542         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2543         * buildsym.h (buildsym_new_init): Don't declare.
2544         * buildsym.c (buildsym_new_init): Remove.
2545
2546 2018-07-16  Tom Tromey  <tom@tromey.com>
2547
2548         * stabsread.h (within_function): Move from buildsym.h.
2549         * stabsread.c (start_stabs): Clear within_function.
2550         * coffread.c (coff_start_symtab): Clear within_function.
2551         * buildsym.h (within_function): Move to stabsread.h.
2552         * buildsym.c (prepare_for_building): Update.
2553
2554 2018-07-16  Tom Tromey  <tom@tromey.com>
2555
2556         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2557         * dwarf2read.c (dwarf2_start_symtab): Don't set
2558         processing_gcc_compilation.
2559         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2560
2561 2018-07-16  Tom Tromey  <tom@tromey.com>
2562
2563         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2564         (next_symbol_text_func): Move from buildsym.h.
2565         * stabsread.c (hashname): Move from buildsym.c.
2566         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2567         (next_symbol_text_func, hashname): Move to stabsread.h.
2568         * buildsym.c: Don't include bcache.h
2569         (hashname): Move to stasbread.c.
2570
2571 2018-07-16  Tom Tromey  <tom@tromey.com>
2572
2573         * buildsym.h (context_stack_size): Don't declare.
2574         * buildsym.c (context_stack_size): New global.
2575
2576 2018-07-16  Tom Tromey  <tom@tromey.com>
2577
2578         * dbxread.c (processing_acc_compilation): New global.
2579         * buildsym.h (processing_acc_compilation): Don't declare.
2580
2581 2018-07-16  Tom Tromey  <tom@tromey.com>
2582
2583         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2584         * dbxread.c (read_ofile_symtab): Update.
2585         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2586         * buildsym.h (last_source_start_addr): Remove.
2587         (set_last_source_start_addr, get_last_source_start_addr):
2588         Declare.
2589         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2590         parameter.
2591         (struct buildsym_compunit) <m_last_source_start_addr>: New
2592         member.
2593         (prepare_for_building): Remove start_addr parameter.
2594         (start_symtab, restart_symtab, end_symtab_get_static_block)
2595         (end_symtab_with_blockvector): Update.
2596         (set_last_source_start_addr, get_last_source_start_addr): New
2597         functions.
2598
2599 2018-07-16  Tom Tromey  <tom@tromey.com>
2600
2601         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2602         member.
2603         (have_line_numbers): Remove.
2604         (record_line, prepare_for_building, end_symtab_get_static_block)
2605         (augment_type_symtab): Update.
2606
2607 2018-07-16  Tom Tromey  <tom@tromey.com>
2608
2609         * buildsym.c (~buildsym_compunit): Free the macro table.
2610         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2611         methods.
2612         <m_pending_macros>: New member.
2613         (pending_macros): Remove.
2614         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2615         (reset_symtab_globals, end_symtab_get_static_block)
2616         (end_symtab_with_blockvector, augment_type_symtab)
2617         (buildsym_init): Update.
2618
2619 2018-07-16  Tom Tromey  <tom@tromey.com>
2620
2621         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2622         parameter.
2623         (buildsym_compunit::set_last_source_file): New method.
2624         <m_last_source_file>: New member.
2625         (prepare_for_building): Remove "name" parameter.
2626         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2627         (last_source_file): Remove.
2628         (set_last_source_file, get_last_source_file): Update.
2629
2630 2018-07-16  Tom Tromey  <tom@tromey.com>
2631
2632         * buildsym.c (prepare_for_building): Add assert.
2633
2634 2018-07-16  Tom Tromey  <tom@tromey.com>
2635
2636         * buildsym.c (~buildsym_compunit): Update.
2637         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2638         (start_subfile, patch_subfile_names)
2639         (end_symtab_with_blockvector): Update.
2640
2641 2018-07-16  Tom Tromey  <tom@tromey.com>
2642
2643         * buildsym.c (struct buildsym_compunit): Add constructor,
2644         destructor, initializers.
2645         (start_buildsym_compunit): Remove.
2646         (free_buildsym_compunit): Use "delete".
2647         (start_symtab, restart_symtab): Use "new".
2648
2649 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2650
2651         * symfile.c (set_objfile_default_section_offset): Remove struct
2652         keyword.
2653
2654 2018-07-14  Stafford Horne  <shorne@gmail.com>
2655
2656         * (Responsible Maintainers): Add myself as or1k maintainer.
2657
2658 2018-07-13  Tom Tromey  <tom@tromey.com>
2659
2660         * symfile.c (set_objfile_default_section_offset): Use extra braces
2661         around initializer.
2662
2663 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2664
2665         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2666         non-branching basr.
2667
2668 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2669
2670         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2671         unittests/cli-utils-selftests.c
2672         * unittests/cli-utils-selftests.c: New file.
2673
2674 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2675
2676         * NEWS: Mention new commands. Mention change to 'thread apply'.
2677
2678 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2679
2680         * thread.c (thr_try_catch_cmd): New function.
2681         (thread_apply_all_command): Handle qcs flags.
2682         (thread_apply_command): Handle qcs flags.
2683         (taas_command): New function.
2684         (tfaas_command): New function.
2685         (_initialize_thread): Update to setup the new commands 'taas
2686         and 'tfaas'. Change doc string for 'thread apply'.
2687
2688 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2689
2690         * stack.c: (trailing_outermost_frame): New function, mostly
2691         extracted from backtrace_command_1.
2692         (leading_innermost_frame): New function.
2693         (backtrace_command_1): Update to call trailing_outermost_frame.
2694         (frame_apply_command_count): New function.
2695         (frame_apply_level_command): New function.
2696         (frame_apply_all_command): New function.
2697         (frame_apply_command): New function.
2698         (faas_command): New function.
2699         (frame_cmd_list): New variable.
2700         (_initialize_stack): Update to setup the new commands 'frame apply'
2701         and 'faas'.
2702
2703 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2704
2705         * cli-utils.c (number_or_range_parser::get_number): Only handle
2706         numbers or convenience var as numbers.
2707         (parse_flags): New function.
2708         (parse_flags_qcs): New function.
2709         (number_or_range_parser::finished): Ensure parsing end is detected
2710         before end of string.
2711         * cli-utils.h (parse_flags): New function.
2712         (parse_flags_qcs): New function.
2713         (number_or_range_parser): Remove m_finished bool.
2714         (number_or_range_parser::skip_range): Set m_in_range to false.
2715
2716 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2717
2718         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2719         on Windows.
2720
2721 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2722             Jan Kratochvil  <jan.kratochvil@redhat.com>
2723             Paul Fertser  <fercerpav@gmail.com>
2724             Tsutomu Seki  <sekiriki@gmail.com>
2725             Pedro Alves  <palves@redhat.com>
2726
2727         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2728         'unittests/parse-connection-spec-selftests.c'.
2729         (COMMON_SFILES): Add 'common/netstuff.c'.
2730         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2731         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2732         * common/netstuff.c: New file.
2733         * common/netstuff.h: New file.
2734         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2735         (wait_for_connect): Update comment.  New parameter
2736         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2737         Use 'sock' directly instead of 'scb->fd'.
2738         (try_connect): New function, with code from 'net_open'.
2739         (net_open): Rewrite main loop to deal with multiple
2740         sockets/addresses.  Handle IPv6-style hostnames; implement
2741         support for IPv6 connections.
2742         * unittests/parse-connection-spec-selftests.c: New file.
2743
2744 2018-07-11  Pedro Alves  <palves@redhat.com>
2745
2746         PR gdb/23377
2747         * remote.c (remote_target::remote_detach_pid): Call
2748         set_current_process.
2749
2750 2018-07-11  Pedro Alves  <palves@redhat.com>
2751
2752         * h8300-tdep.c (h8300_gdbarch_init): Remove
2753         set_gdbarch_ecoff_reg_to_regnum calls.
2754
2755 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2756
2757         PR c++/23373
2758         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2759         offsets/sizes for static members of a class/struct.
2760
2761 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2762
2763         * target-descriptions.c (tdesc_register_bitsize): Rename.
2764         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2765         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2766         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2767
2768 2018-07-10  Tom Tromey  <tom@tromey.com>
2769
2770         * breakpoint.c (moribund_locations): Now static and a
2771         std::vector.
2772         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2773         (build_bpstat_chain, update_global_location_list)
2774         (breakpoint_retire_moribund): Update.
2775         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2776         VEC.
2777
2778 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2779
2780         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2781         (riscv_register_reggroup_p): Use new function, remove unneeded
2782         parenthesis.
2783         (riscv_push_dummy_call): Extend assert to compare against xlen or
2784         flen based on register type.
2785
2786 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2787
2788         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2789
2790 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2791
2792         * remote.c (show_hardware_watchpoint_limit): New function.
2793         (show_hardware_watchpoint_length_limit): New function.
2794         (show_hardware_breakpoint_limit): New function.
2795         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2796         where appropriate, update help text.
2797
2798 2018-07-09  Tom Tromey  <tom@tromey.com>
2799
2800         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2801         (CLIBS): Don't mention NAT_CLIBS.
2802
2803 2018-07-09  Tom Tromey  <tom@tromey.com>
2804
2805         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2806         (LIBGDB_OBS, clean mostlyclean): Update.
2807         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2808
2809 2018-07-09  Tom Tromey  <tom@tromey.com>
2810
2811         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2812         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2813         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2814
2815 2018-07-09  Tom Tromey  <tom@tromey.com>
2816
2817         * Makefile.in (ALLDEPFILES): Remove exec.c.
2818         (COMMON_OBS): Remove exec.o.
2819         (COMMON_SFILES): Add exec.c.
2820
2821 2018-07-09  Tom Tromey  <tom@tromey.com>
2822
2823         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2824
2825 2018-07-09  Tom Tromey  <tom@tromey.com>
2826
2827         * Makefile.in (clean mostlyclean): Remove stamp-version.
2828         (version.c): Depend on stamp-version.
2829         (stamp-version): New rule, from version.c rule.
2830
2831 2018-07-09  Tom Tromey  <tom@tromey.com>
2832
2833         * Makefile.in (init.c): Depend on stamp-init.
2834         (stamp-init): New rule, from init.c rule.
2835         (clean mostlyclean): Remove stamp-init.
2836
2837 2018-07-09  Tom Tromey  <tom@tromey.com>
2838
2839         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2840         SUBDIR_GCC_COMPILE_SRCS.
2841
2842 2018-07-09  Tom Tromey  <tom@tromey.com>
2843
2844         * Makefile.in (init.c): Remove some unused sed rules.
2845
2846 2018-07-09  Tom Tromey  <tom@tromey.com>
2847
2848         * Makefile.in (TSOBS): Remove.
2849         (INIT_FILES): Update.
2850         (LIBGDB_OBS): Update.
2851         (COMMON_SFILES): Add inflow.c.
2852         (SFILES): Remove inflow.c.
2853
2854 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2855
2856         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2857
2858 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2859
2860         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2861         get_saveloc_name, is_signal_frame_name, step_name,
2862         init_remote_name, create_addr_space_name,
2863         destroy_addr_space_name, search_unwind_table_name,
2864         find_dyn_list_name): Constify.
2865
2866 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2867
2868         * darwin-nat.c (darwin_pthread_kill): New function.
2869         (darwin_resume_thread): Use darwin_pthread_kill.
2870
2871 2018-07-05  Tom de Vries  <tdevries@suse.de>
2872
2873         * macroexp.c (macro_buffer) <operator=>: New member function.
2874
2875 2018-07-04  Tom Tromey  <tom@tromey.com>
2876
2877         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
2878
2879 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
2880
2881         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
2882         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
2883         * maint.c: Likewise.
2884         * top.c: Likewise.
2885
2886 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2887
2888         * NEWS: Create a new section for the next release branch.
2889         Rename the section of the current branch, now that it has
2890         been cut.
2891
2892 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
2893
2894         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
2895         * version.in: Bump version to 8.2.50.DATE-git.
2896
2897 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
2898             Pedro Alves  <palves@redhat.com>
2899
2900         * linux-nat.c (linux_init_ptrace): Rename to ...
2901         (linux_init_ptrace_procfs): ... this.  Call
2902         linux_proc_init_warnings.
2903         (linux_nat_target::post_attach)
2904         (linux_nat_target::post_startup_inferior): Adjust.
2905         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
2906         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
2907
2908 2018-07-04  Tom de Vries  <tdevries@suse.de>
2909
2910         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2911         check ...
2912         (read_comp_unit_head): ... here.
2913
2914 2018-07-03  Tom Tromey  <tom@tromey.com>
2915
2916         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2917         (stop_tracing, tstatus_command)
2918         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2919         (print_one_static_tracepoint_marker): Update.
2920         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2921         std::vector.
2922         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2923         VEC.
2924         (all_tracepoints, static_tracepoints_here): Return std::vector.
2925
2926 2018-07-03  Tom Tromey  <tom@tromey.com>
2927
2928         * common/ptid.c (ptid_equal): Remove.
2929         * common/ptid.h (ptid_equal): Don't declare.
2930         * ada-tasks.c: Update.
2931         * breakpoint.c: Update.
2932         * common/agent.c: Update.
2933         * corelow.c: Update.
2934         * darwin-nat-info.c: Update.
2935         * darwin-nat.c: Update.
2936         * dcache.c: Update.
2937         * dtrace-probe.c: Update.
2938         * dummy-frame.c: Update.
2939         * fbsd-nat.c: Update.
2940         * frame.c: Update.
2941         * gdbthread.h: Update.
2942         * gnu-nat.c: Update.
2943         * go32-nat.c: Update.
2944         * inf-loop.c: Update.
2945         * inf-ptrace.c: Update.
2946         * infcall.c: Update.
2947         * infcmd.c: Update.
2948         * inflow.c: Update.
2949         * infrun.c: Update.
2950         * linux-fork.c: Update.
2951         * linux-nat.c: Update.
2952         * linux-thread-db.c: Update.
2953         * mi/mi-cmd-var.c: Update.
2954         * mi/mi-interp.c: Update.
2955         * mi/mi-main.c: Update.
2956         * nto-procfs.c: Update.
2957         * ppc-linux-tdep.c: Update.
2958         * procfs.c: Update.
2959         * python/py-inferior.c: Update.
2960         * python/py-record-btrace.c: Update.
2961         * python/py-record.c: Update.
2962         * ravenscar-thread.c: Update.
2963         * regcache.c: Update.
2964         * remote-sim.c: Update.
2965         * remote.c: Update.
2966         * sol-thread.c: Update.
2967         * solib.c: Update.
2968         * target.c: Update.
2969         * tui/tui-stack.c: Update.
2970         * varobj.c: Update.
2971         * windows-nat.c: Update.
2972         * windows-tdep.c: Update.
2973
2974 2018-07-03  Tom Tromey  <tom@tromey.com>
2975
2976         * common/ptid.c (ptid_match): Remove.
2977         * common/ptid.h (ptid_match): Don't declare.
2978         * fbsd-nat.c: Update.
2979         * infcmd.c: Update.
2980         * infrun.c: Update.
2981         * linux-nat.c: Update.
2982         * record-btrace.c: Update.
2983         * regcache.c: Update.
2984         * remote.c: Update.
2985
2986 2018-07-03  Tom Tromey  <tom@tromey.com>
2987
2988         * common/ptid.c (ptid_tid_p): Remove.
2989         * common/ptid.h (ptid_tid_p): Don't declare.
2990         * sol-thread.c: Update.
2991
2992 2018-07-03  Tom Tromey  <tom@tromey.com>
2993
2994         * common/ptid.c (ptid_lwp_p): Remove.
2995         * common/ptid.h (ptid_lwp_p): Don't declare.
2996         * fbsd-nat.c: Update.
2997         * linux-nat.c: Update.
2998         * nat/linux-procfs.c: Update.
2999         * nat/x86-linux-dregs.c: Update.
3000         * sol-thread.c: Update.
3001
3002 2018-07-03  Tom Tromey  <tom@tromey.com>
3003
3004         * common/ptid.c (ptid_is_pid): Remove.
3005         * common/ptid.h (ptid_is_pid): Don't declare.
3006         * infrun.c: Update.
3007         * linux-nat.c: Update.
3008         * mi/mi-interp.c: Update.
3009         * remote.c: Update.
3010         * thread.c: Update.
3011
3012 2018-07-03  Tom Tromey  <tom@tromey.com>
3013
3014         * common/ptid.c (ptid_get_tid): Remove.
3015         * common/ptid.h (ptid_get_tid): Don't declare.
3016         * ada-tasks.c: Update.
3017         * aix-thread.c: Update.
3018         * bsd-uthread.c: Update.
3019         * darwin-nat.c: Update.
3020         * fbsd-nat.c: Update.
3021         * i386-darwin-nat.c: Update.
3022         * infrun.c: Update.
3023         * linux-tdep.c: Update.
3024         * nto-procfs.c: Update.
3025         * ppc-ravenscar-thread.c: Update.
3026         * python/py-infthread.c: Update.
3027         * ravenscar-thread.c: Update.
3028         * sol-thread.c: Update.
3029         * sparc-ravenscar-thread.c: Update.
3030         * windows-nat.c: Update.
3031
3032 2018-07-03  Tom Tromey  <tom@tromey.com>
3033
3034         * common/ptid.c (ptid_get_lwp): Remove.
3035         * common/ptid.h (ptid_get_lwp): Don't declare.
3036         * aarch64-linux-nat.c: Update.
3037         * ada-tasks.c: Update.
3038         * aix-thread.c: Update.
3039         * amd64-linux-nat.c: Update.
3040         * arm-linux-nat.c: Update.
3041         * corelow.c: Update.
3042         * fbsd-nat.c: Update.
3043         * fbsd-tdep.c: Update.
3044         * gnu-nat.c: Update.
3045         * i386-cygwin-tdep.c: Update.
3046         * i386-gnu-nat.c: Update.
3047         * i386-linux-nat.c: Update.
3048         * ia64-linux-nat.c: Update.
3049         * inf-ptrace.c: Update.
3050         * infrun.c: Update.
3051         * linux-fork.c: Update.
3052         * linux-nat.c: Update.
3053         * linux-tdep.c: Update.
3054         * linux-thread-db.c: Update.
3055         * mips-linux-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         * obsd-nat.c: Update.
3063         * ppc-fbsd-nat.c: Update.
3064         * ppc-linux-nat.c: Update.
3065         * procfs.c: Update.
3066         * python/py-infthread.c: Update.
3067         * ravenscar-thread.c: Update.
3068         * remote.c: Update.
3069         * s390-linux-nat.c: Update.
3070         * sol-thread.c: Update.
3071         * sol2-tdep.c: Update.
3072         * spu-linux-nat.c: Update.
3073         * x86-linux-nat.c: Update.
3074         * xtensa-linux-nat.c: Update.
3075
3076 2018-07-03  Tom Tromey  <tom@tromey.com>
3077
3078         * common/ptid.c (ptid_get_pid): Remove.
3079         * common/ptid.h (ptid_get_pid): Don't declare.
3080         * aarch64-linux-nat.c: Update.
3081         * ada-lang.c: Update.
3082         * aix-thread.c: Update.
3083         * alpha-bsd-nat.c: Update.
3084         * amd64-fbsd-nat.c: Update.
3085         * amd64-linux-nat.c: Update.
3086         * arm-linux-nat.c: Update.
3087         * arm-nbsd-nat.c: Update.
3088         * auxv.c: Update.
3089         * break-catch-syscall.c: Update.
3090         * breakpoint.c: Update.
3091         * bsd-uthread.c: Update.
3092         * corelow.c: Update.
3093         * ctf.c: Update.
3094         * darwin-nat.c: Update.
3095         * fbsd-nat.c: Update.
3096         * fbsd-tdep.c: Update.
3097         * gcore.c: Update.
3098         * gnu-nat.c: Update.
3099         * hppa-nbsd-nat.c: Update.
3100         * hppa-obsd-nat.c: Update.
3101         * i386-fbsd-nat.c: Update.
3102         * ia64-linux-nat.c: Update.
3103         * inf-ptrace.c: Update.
3104         * infcmd.c: Update.
3105         * inferior.c: Update.
3106         * inferior.h: Update.
3107         * inflow.c: Update.
3108         * infrun.c: Update.
3109         * linux-fork.c: Update.
3110         * linux-nat.c: Update.
3111         * linux-tdep.c: Update.
3112         * linux-thread-db.c: Update.
3113         * m68k-bsd-nat.c: Update.
3114         * mi/mi-interp.c: Update.
3115         * mi/mi-main.c: Update.
3116         * mips-linux-nat.c: Update.
3117         * mips-nbsd-nat.c: Update.
3118         * mips64-obsd-nat.c: Update.
3119         * nat/aarch64-linux-hw-point.c: Update.
3120         * nat/aarch64-linux.c: Update.
3121         * nat/linux-btrace.c: Update.
3122         * nat/linux-osdata.c: Update.
3123         * nat/linux-procfs.c: Update.
3124         * nat/x86-linux-dregs.c: Update.
3125         * nto-procfs.c: Update.
3126         * obsd-nat.c: Update.
3127         * ppc-linux-nat.c: Update.
3128         * ppc-nbsd-nat.c: Update.
3129         * ppc-obsd-nat.c: Update.
3130         * proc-service.c: Update.
3131         * procfs.c: Update.
3132         * python/py-inferior.c: Update.
3133         * python/py-infthread.c: Update.
3134         * ravenscar-thread.c: Update.
3135         * record.c: Update.
3136         * remote-sim.c: Update.
3137         * remote.c: Update.
3138         * rs6000-nat.c: Update.
3139         * s390-linux-nat.c: Update.
3140         * sh-nbsd-nat.c: Update.
3141         * sol-thread.c: Update.
3142         * sparc-nat.c: Update.
3143         * sparc64-tdep.c: Update.
3144         * spu-linux-nat.c: Update.
3145         * spu-tdep.c: Update.
3146         * target-debug.h: Update.
3147         * target.c: Update.
3148         * thread.c: Update.
3149         * tid-parse.c: Update.
3150         * tracefile-tfile.c: Update.
3151         * vax-bsd-nat.c: Update.
3152         * windows-nat.c: Update.
3153         * x86-linux-nat.c: Update.
3154         * x86-nat.c: Update.
3155
3156 2018-07-03  Tom Tromey  <tom@tromey.com>
3157
3158         * common/ptid.c (pid_to_ptid): Remove.
3159         * common/ptid.h (pid_to_ptid): Don't declare.
3160         * aix-thread.c: Update.
3161         * arm-linux-nat.c: Update.
3162         * common/ptid.c: Update.
3163         * common/ptid.h: Update.
3164         * corelow.c: Update.
3165         * ctf.c: Update.
3166         * darwin-nat.c: Update.
3167         * fbsd-nat.c: Update.
3168         * fork-child.c: Update.
3169         * gnu-nat.c: Update.
3170         * go32-nat.c: Update.
3171         * inf-ptrace.c: Update.
3172         * infcmd.c: Update.
3173         * inferior.c: Update.
3174         * infrun.c: Update.
3175         * linux-fork.c: Update.
3176         * linux-nat.c: Update.
3177         * nat/aarch64-linux-hw-point.c: Update.
3178         * nat/fork-inferior.c: Update.
3179         * nat/x86-linux-dregs.c: Update.
3180         * nto-procfs.c: Update.
3181         * obsd-nat.c: Update.
3182         * procfs.c: Update.
3183         * progspace.c: Update.
3184         * remote.c: Update.
3185         * rs6000-nat.c: Update.
3186         * s390-linux-nat.c: Update.
3187         * sol-thread.c: Update.
3188         * spu-linux-nat.c: Update.
3189         * target.c: Update.
3190         * top.c: Update.
3191         * tracefile-tfile.c: Update.
3192         * windows-nat.c: Update.
3193
3194 2018-07-03  Tom Tromey  <tom@tromey.com>
3195
3196         * common/ptid.h (ptid_build): Don't declare.
3197         * common/ptid.c (ptid_build): Remove.
3198         * aix-thread.c: Update.
3199         * bsd-kvm.c: Update.
3200         * bsd-uthread.c: Update.
3201         * common/agent.c: Update.
3202         * common/ptid.c: Update.
3203         * common/ptid.h: Update.
3204         * corelow.c: Update.
3205         * darwin-nat.c: Update.
3206         * fbsd-nat.c: Update.
3207         * gnu-nat.c: Update.
3208         * linux-fork.c: Update.
3209         * linux-nat.c: Update.
3210         * linux-thread-db.c: Update.
3211         * nat/linux-osdata.c: Update.
3212         * nat/linux-procfs.c: Update.
3213         * nto-procfs.c: Update.
3214         * obsd-nat.c: Update.
3215         * proc-service.c: Update.
3216         * procfs.c: Update.
3217         * ravenscar-thread.c: Update.
3218         * remote-sim.c: Update.
3219         * remote.c: Update.
3220         * sol-thread.c: Update.
3221         * target.c: Update.
3222         * windows-nat.c: Update.
3223
3224 2018-07-03  Tom Tromey  <tom@tromey.com>
3225
3226         * infrun.c (follow_exec): Use exit_inferior_silent.
3227         * inferior.c (exit_inferior_num_silent): Remove.
3228         * inferior.h (exit_inferior_num_silent): Don't declare.
3229
3230 2018-07-03  Tom Tromey  <tom@tromey.com>
3231
3232         PR cli/23340:
3233         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3234         inferior_ptid on error.
3235
3236 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3237             Simon Marchi  <simon.marchi@polymtl.ca>
3238
3239         PR tdep/8282
3240         * disasm.h (gdb_disassembler): Add
3241         `m_disassembler_options_holder'. member
3242         * disasm.c (get_all_disassembler_options): New function.
3243         (gdb_disassembler::gdb_disassembler): Use it.
3244         (gdb_buffered_insn_length_init_dis): Likewise.
3245         (gdb_buffered_insn_length): Adjust accordingly.
3246         (set_disassembler_options): Handle options with arguments.
3247         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3248         line if showing options with descriptions.
3249         (disassembler_options_completer): Adapt to using the
3250         `disasm_options_and_args_t' structure.
3251         * mips-tdep.c (mips_disassembler_options): New variable.
3252         (mips_disassembler_options_o32): Likewise.
3253         (mips_disassembler_options_n32): Likewise.
3254         (mips_disassembler_options_n64): Likewise.
3255         (gdb_print_insn_mips): Don't set `disassembler_options'.
3256         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3257         functions.
3258         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3259         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3260         `gdbarch_disassembler_options_implicit' and
3261         `gdbarch_valid_disassembler_options'.
3262         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3263         `disasm_options_and_args_t' structure.
3264         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3265         method.
3266         (valid_disassembler_options): Switch from `disasm_options_t' to
3267         the `disasm_options_and_args_t' structure.
3268         * NEWS: Document `set disassembler-options' support for the MIPS
3269         target.
3270         * gdbarch.h: Regenerate.
3271         * gdbarch.c: Regenerate.
3272
3273 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3274
3275         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3276
3277 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3278
3279         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3280         parameter in call to amd64_target_description.
3281         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3282         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3283         (amd64fbsd_init_abi): Likewise.
3284         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3285         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3286         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3287         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3288
3289 2018-06-29  Pedro Alves  <palves@redhat.com>
3290
3291         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3292         "segments" parameter.
3293         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3294         (_initialize_amd64_tdep): Update call to
3295         amd64_create_target_description.
3296         (amd64_target_description): Add "segments" parameter.  Adjust
3297         the implementation to use it.
3298         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3299         call to amd64_create_target_description.
3300         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3301         * gdb/arch/amd64.h (amd64_create_target_description): Add
3302         "segments" register.
3303         * gdb/arch/amd64.c (amd64_create_target_description): Add
3304         "segments" parameter.  Call create_feature_i386_64bit_segments
3305         only if SEGMENTS is true.
3306         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3307         call to amd64_create_target_description.
3308
3309 2018-06-29  Pedro Alves  <palves@redhat.com>
3310
3311         * thread.c (thread_target_id_str): New, factored out from ...
3312         (print_thread_info_1): ... here.  Use it to compute the max
3313         "Target Id" column width.
3314
3315 2018-06-29  Pedro Alves  <palves@redhat.com>
3316
3317         * remote.c (remote_target::extra_thread_info): Delete
3318         'display_buf' and 'n' locals.  from the cache, regardless of
3319         packet mechanims is in use.  Use cache for qThreadExtra and qP
3320         methods too.
3321
3322 2018-06-29  Pedro Alves  <palves@redhat.com>
3323
3324         * blockframe.c (find_pc_sect_containing_function): New function.
3325         * breakpoint.c (print_breakpoint_location): Don't call
3326         find_pc_sect_function.
3327         * linespec.c (create_sals_line_offset): Record the location's
3328         symbol in the sal.
3329         * linespec.c (convert_address_location_to_sals): Fill in sal's
3330         symbol with find_pc_sect_containing_function.
3331         * symtab.c (find_function_start_sal): Rename to ...
3332         (find_function_start_sal_1): ... this.
3333         (find_function_start_sal): Reimplement as wrapper around
3334         find_function_start_sal_1, and use
3335         find_pc_sect_containing_function to fill in the sal's symbol.
3336         (find_function_start_sal(symbol*, bool)): Adjust.
3337         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3338         comments.
3339         (find_pc_sect_containing_function): Declare.
3340
3341 2018-06-29  Pedro Alves  <palves@redhat.com>
3342
3343         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3344         true if the the location has no symbol.
3345
3346 2018-06-28  Tom Tromey  <tom@tromey.com>
3347
3348         * NEWS: Mention --enable-codesign.
3349         * silent-rules.mk (ECHO_SIGN): New variable.
3350         * configure.ac: Add --enable-codesign.
3351         * configure: Rebuild.
3352         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3353         (gdb$(EXEEXT)): Optionally invoke codesign.
3354
3355 2018-06-28  Pedro Alves  <palves@redhat.com>
3356
3357         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3358         comments.
3359         (switch_to_thread_no_regs): Adjust comment.
3360         * infcmd.c (stop_pc): Delete.
3361         (post_create_inferior, info_program_command): Replace references
3362         to stop_pc with references to thread_info->suspend.stop_pc.
3363         * inferior.h (stop_pc): Delete declaration.
3364         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3365         (handle_inferior_event_1, handle_signal_stop)
3366         (process_event_stop_test, keep_going_stepped_thread)
3367         (handle_step_into_function, handle_step_into_function_backward)
3368         (print_stop_location): Replace references to stop_pc with
3369         references to thread_info->suspend.stop_pc.
3370         (struct infcall_suspend_state) <stop_pc>: Delete field.
3371         (save_infcall_suspend_state, restore_infcall_suspend_state):
3372         Remove references to inf_stat->stop_pc.
3373         * linux-fork.c (fork_load_infrun_state): Likewise.
3374         * record-btrace.c (record_btrace_set_replay): Likewise.
3375         * record-full.c (record_full_goto_entry): Likewise.
3376         * remote.c (print_one_stopped_thread): Likewise.
3377         * target.c (target_resume): Extend comment.
3378         * thread.c (set_executing_thread): New.
3379         (set_executing): Use it.
3380         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3381         Remove references to stop_pc.
3382
3383 2018-06-28  Pedro Alves  <palves@redhat.com>
3384
3385         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3386         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3387
3388 2018-06-28  Tom Tromey  <tom@tromey.com>
3389
3390         * coffread.c (coff_symfile_finish): Update.
3391         * xcoffread.c (xcoff_symfile_finish): Update.
3392         * elfread.c (elf_symfile_finish): Update.
3393         * symfile.h (dwarf2_free_objfile): Don't declare.
3394         * dwarf2read.c (_initialize_dwarf2_read): Use
3395         register_objfile_data_with_cleanup.
3396         (dwarf2_free_objfile): Now static.  Change signature.
3397
3398 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3399
3400         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3401         option "-o" to add-symbol-file-load to add an offset to each
3402         section's load address.
3403         * symfile.c (set_objfile_default_section_offset): New function.
3404
3405 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3406
3407         * symfile.c (add_symbol_file_command): Make sure that sections
3408         with the same name are sorted in the same order.
3409
3410 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3411
3412         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3413         require the second argument.  If omitted, load sections at the
3414         addresses specified in the file.
3415
3416 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3417
3418         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3419         (_initialize_symfile): Add option "-o" to symbol-file to add an
3420         offset to each section of the symbol file.
3421
3422 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3423
3424         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3425
3426 2018-06-27  Tom Tromey  <tom@tromey.com>
3427
3428         * stack.c (_initialize_stack): Update "func" help text.
3429
3430 2018-06-27  Tom Tromey  <tom@tromey.com>
3431
3432         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3433         std::vector.
3434         (unwind_infopy_str, pyuw_create_unwind_info)
3435         (unwind_infopy_add_saved_register, pyuw_sniffer)
3436         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3437         Update.
3438         (struct saved_reg): Add constructor.
3439         <value>: Now a gdbpy_ref<>.
3440
3441 2018-06-27  Tom Tromey  <tom@tromey.com>
3442
3443         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3444
3445 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3446
3447         * gdb-gdb.py.in: Format using autopep8.
3448
3449 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3450
3451         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3452         (type_lookup_function): Recognize CORE_ADDR values.
3453
3454 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3455
3456         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3457         print tag_name.
3458
3459 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3460
3461         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3462         <__lt__>: Add.
3463
3464 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3465
3466         * gdb-gdb.py: Move to...
3467         * gdb-gdb.py.in: ... here.
3468         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3469         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3470         dependencies.
3471         (distclean): Remove gdb-gdb.py when cleaning.
3472         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3473         * configure: Re-generate.
3474
3475 2018-06-27  Pedro Alves  <palves@redhat.com>
3476
3477         * proc-service.c (get_ps_regcache): New.
3478         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3479         (ps_lsetfpregs): Use it.
3480
3481 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3482
3483         PR gdb/21695
3484         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3485         (dwarf_decode_lines_1): Adjust.
3486
3487 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3488
3489         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3490         override.
3491         <info_proc>: Likewise.
3492
3493 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3494
3495         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3496         to windows_fetch_one_register, and only handle the case of
3497         fetching one register.  Move the code that reloads the context
3498         and iterates over all registers if R is negative to...
3499         (windows_nat_target::fetch_registers): ... here.
3500         (do_windows_store_inferior_registers): Rename to
3501         windows_store_one_register, and only handle the case of storing
3502         one register.  Move the code that handles the case where r is
3503         negative to...
3504         (windows_nat_target::store_registers) ... here.
3505
3506 2018-06-26  Tom Tromey  <tom@tromey.com>
3507
3508         PR rust/22574:
3509         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3510         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3511         Update.
3512         (rust_internal_print_type): Add podata parameter.
3513         (rust_print_type): Update.
3514
3515 2018-06-26  Tom Tromey  <tom@tromey.com>
3516
3517         * typeprint.h (struct print_offset_data) <update, finish,
3518         maybe_print_hole>: New methods.
3519         <indentation>: New constant.
3520         * typeprint.c (print_offset_data::indentation): Define.
3521         (print_offset_data::maybe_print_hole, print_offset_data::update)
3522         (print_offset_data::finish): Move from c-typeprint.c and rename.
3523         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3524         (print_spaces_filtered_with_print_options): Update.
3525         (c_print_type_union_field_offset, maybe_print_hole)
3526         (c_print_type_struct_field_offset): Move to typeprint.c and
3527         rename.
3528         (c_type_print_base_struct_union): Update.
3529
3530 2018-06-25  Pedro Alves  <palves@redhat.com>
3531
3532         * gdbthread.h (thread_info_ref, delete_thread)
3533         (delete_thread_silent, first_thread_of_inferior)
3534         (any_thread_of_inferior, switch_to_thread)
3535         (enable_thread_stack_temporaries)
3536         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3537         (get_last_thread_stack_temporary)
3538         (value_in_thread_stack_temporaries, can_access_registers_thread):
3539         Spell out "struct thread_info" instead of just "thread_info".
3540         * inferior.h (notice_new_inferior): Likewise.
3541
3542 2018-06-25  Pedro Alves  <palves@redhat.com>
3543
3544         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3545         pass thread_info pointer to delete_thread.
3546         (windows_nat_target::detach): Pass inferior pointer to
3547         detach_inferior.
3548         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3549         delete_thread.
3550         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3551         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3552         and pass a thread_info pointer to delete_thread.
3553         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3554         pass thread_info pointer to delete_thread.
3555         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3556         delete_thread_silent call.
3557         * procfs.c (procfs_target::detach): Pass inferior pointer to
3558         detach_inferior.
3559         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3560         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3561         delete_thread_silent call.
3562         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3563         pass thread_info pointer to delete_thread.
3564         (windows_nat_target::detach): Pass inferior pointer to
3565         delete_inferior.
3566
3567 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3568
3569         * regcache.c (readable_regcache::read_part): Fix asserts.
3570         (reg_buffer::raw_collect_part): New function.
3571         (regcache::write_part): Fix asserts.
3572         (reg_buffer::raw_supply_part): New function.
3573         (regcache::transfer_regset_register): New helper function.
3574         (regcache::transfer_regset): Call new functions.
3575         (regcache_supply_regset): Use gdb_byte*.
3576         (regcache::supply_regset): Likewise.
3577         (regcache_collect_regset): Likewise.
3578         (regcache::collect_regset): Likewise.
3579         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3580         (reg_buffer::raw_supply_part): Likewise.
3581         (regcache::transfer_regset_register): Likewise.
3582         (regcache::transfer_regset): Use gdb_byte*.
3583
3584 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3585
3586         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3587
3588 2018-06-21  Pedro Alves  <palves@redhat.com>
3589
3590         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3591         instead of a ptid_t.  All callers adjusted.
3592         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3593         adjusted.
3594         (print_ada_task_info, display_current_task_id, task_command_1):
3595         Adjust.
3596         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3597         inferior_thread.
3598         (breakpoint_kind): Adjust.
3599         (remove_breakpoints_pid): Rename to ...
3600         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3601         pointer.  All callers adjusted.
3602         (bpstat_clear_actions): Use inferior_thread.
3603         (get_bpstat_thread): New.
3604         (bpstat_do_actions): Use it.
3605         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3606         to take a thread_info pointer.  All callers adjusted.
3607         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3608         (breakpoint_re_set_thread): Use inferior_thread.
3609         * breakpoint.h (struct inferior): Forward declare.
3610         (bpstat_stop_status): Update.
3611         (remove_breakpoints_pid): Delete.
3612         (remove_breakpoints_inf): New.
3613         * bsd-uthread.c (bsd_uthread_target::wait)
3614         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3615         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3616         (maint_btrace_packet_history_cmd)
3617         (maint_btrace_clear_packet_history_cmd): Adjust.
3618         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3619         inferior_thread.
3620         * cli/cli-interp.c: Include "inferior.h".
3621         * common/refcounted-object.h (struct
3622         refcounted_object_ref_policy): New.
3623         * compile/compile-object-load.c: Include gdbthread.h.
3624         (store_regs): Use inferior_thread.
3625         * corelow.c (core_target::close): Use current_inferior.
3626         (core_target_open): Adjust to use first_thread_of_inferior and use
3627         the current inferior.
3628         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3629         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3630         <thread>: ... this new field.  All references adjusted.
3631         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3632         Take a thread_info pointer instead of a ptid_t.
3633         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3634         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3635         thread_info pointer instead of a ptid_t.
3636         * elfread.c: Include "inferior.h".
3637         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3638         Use inferior_thread.
3639         * eval.c (evaluate_subexp): Likewise.
3640         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3641         inferior_thread.
3642         * gdb_proc_service.h (struct thread_info): Forward declare.
3643         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3644         <thread>: ... this new field.  All references adjusted.
3645         * gdbarch.h, gdbarch.c: Regenerate.
3646         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3647         'thread' parameter.  All implementations and callers adjusted.
3648         * gdbthread.h (thread_info) <set_running>: New method.
3649         (delete_thread, delete_thread_silent): Take a thread_info pointer
3650         instead of a ptid.
3651         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3652         (first_thread_of_process): Delete, replaced by ...
3653         (first_thread_of_inferior): ... this new function.  All callers
3654         adjusted.
3655         (any_live_thread_of_process): Delete, replaced by ...
3656         (any_live_thread_of_inferior): ... this new function.  All callers
3657         adjusted.
3658         (switch_to_thread, switch_to_no_thread): Declare.
3659         (is_executing): Delete.
3660         (enable_thread_stack_temporaries): Update comment.
3661         <enable_thread_stack_temporaries>: Take a thread_info pointer
3662         instead of a ptid_t.  Incref the thread.
3663         <~enable_thread_stack_temporaries>: Decref the thread.
3664         <m_ptid>: Delete
3665         <m_thr>: New.
3666         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3667         (get_last_thread_stack_temporary)
3668         (value_in_thread_stack_temporaries, can_access_registers_thread):
3669         Take a thread_info pointer instead of a ptid_t.  All callers
3670         adjusted.
3671         * infcall.c (get_call_return_value): Use inferior_thread.
3672         (run_inferior_call): Work with thread pointers instead of ptid_t.
3673         (call_function_by_hand_dummy): Work with thread pointers instead
3674         of ptid_t.  Use thread_info_ref.
3675         * infcmd.c (proceed_thread_callback): Access thread's state
3676         directly.
3677         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3678         access thread's state directly.
3679         (continue_command): Use inferior_thread.
3680         (info_program_command): Use find_thread_ptid and access thread
3681         state directly.
3682         (proceed_after_attach_callback): Use thread state directly.
3683         (notice_new_inferior): Take a thread_info pointer instead of a
3684         ptid_t.  All callers adjusted.
3685         (exit_inferior): Take an inferior pointer instead of a pid.  All
3686         callers adjusted.
3687         (exit_inferior_silent): New.
3688         (detach_inferior): Delete.
3689         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3690         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3691         (detach_inferior_command, kill_inferior_command): Use
3692         find_inferior_id instead of valid_gdb_inferior_id and
3693         gdb_inferior_id_to_pid.
3694         (inferior_command): Use inferior and thread pointers.
3695         * inferior.h (struct thread_info): Forward declare.
3696         (notice_new_inferior): Take a thread_info pointer instead of a
3697         ptid_t.  All callers adjusted.
3698         (detach_inferior): Delete declaration.
3699         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3700         instead of a pid.  All callers adjusted.
3701         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3702         (valid_gdb_inferior_id): Delete.
3703         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3704         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3705         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3706         ...
3707         <inf>: ... this new field.
3708         <step_ptid>: Delete, replaced by ...
3709         <step_thread>: ... this new field.
3710         (get_displaced_stepping_state): Take an inferior pointer instead
3711         of a pid.  All callers adjusted.
3712         (displaced_step_in_progress_any_inferior): Adjust.
3713         (displaced_step_in_progress_thread): Take a thread pointer instead
3714         of a ptid_t.  All callers adjusted.
3715         (displaced_step_in_progress, add_displaced_stepping_state): Take
3716         an inferior pointer instead of a pid.  All callers adjusted.
3717         (get_displaced_step_closure_by_addr): Adjust.
3718         (remove_displaced_stepping_state): Take an inferior pointer
3719         instead of a pid.  All callers adjusted.
3720         (displaced_step_prepare_throw, displaced_step_prepare)
3721         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3722         All callers adjusted.
3723         (start_step_over): Adjust.
3724         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3725         displaced step queue.
3726         (do_target_resume): Adjust.
3727         (fetch_inferior_event): Use inferior_thread.
3728         (context_switch, get_inferior_stop_soon): Take an
3729         execution_control_state pointer instead of a ptid_t.  All callers
3730         adjusted.
3731         (switch_to_thread_cleanup): Delete.
3732         (stop_all_threads): Use scoped_restore_current_thread.
3733         * inline-frame.c: Include "gdbthread.h".
3734         (inline_state) <inline_state>: Take a thread pointer instead of a
3735         ptid_t.  All callers adjusted.
3736         <ptid>: Delete, replaced by ...
3737         <thread>: ... this new field.
3738         (find_inline_frame_state): Take a thread pointer instead of a
3739         ptid_t.  All callers adjusted.
3740         (skip_inline_frames, step_into_inline_frame)
3741         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3742         pointer instead of a ptid_t.  All callers adjusted.
3743         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3744         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3745         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3746         pointers directly.
3747         * linux-nat.c (get_detach_signal): Likewise.
3748         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3749         (thread_db_notice_clone): Adjust.
3750         (thread_db_find_new_threads_silently)
3751         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3752         a thread pointer instead of a ptid_t.  All callers adjusted.
3753         * mi/mi-cmd-var.c: Include "inferior.h".
3754         (mi_cmd_var_update_iter): Update to use thread pointers.
3755         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3756         inferior directly.
3757         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3758         out to ...
3759         (mi_output_running): ... this new function.
3760         (mi_on_resume_1): Adjust to use it.
3761         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3762         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3763         directly.
3764         (interrupt_thread_callback): : Adjust to use thread and inferior
3765         pointers.
3766         * proc-service.c: Include "gdbthread.h".
3767         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3768         * progspace-and-thread.c: Include "inferior.h".
3769         * progspace.c: Include "inferior.h".
3770         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3771         hold a reference to an inferior_object.
3772         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3773         inferior_thread.
3774         * python/py-inferior.c (struct inferior_object): Give the type a
3775         tag name instead of a typedef.
3776         (python_on_normal_stop): No need to check if the current thread is
3777         listed.
3778         (inferior_to_inferior_object): Change return type to
3779         inferior_object.  All callers adjusted.
3780         (find_thread_object): Delete, bits factored out to ...
3781         (thread_to_thread_object): ... this new function.
3782         * python/py-infthread.c (create_thread_object): Use
3783         inferior_to_inferior_object.
3784         (thpy_is_stopped): Use thread pointer directly.
3785         (gdbpy_selected_thread): Use inferior_thread.
3786         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3787         field, replaced with ...
3788         <thread>: ... this new field.  All users adjusted.
3789         (btpy_insn_or_gap_new): Drop const.
3790         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3791         callers adjusted.
3792         * python/py-record.c: Include "gdbthread.h".
3793         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3794         a ptid_t.  All callers adjusted.
3795         (gdbpy_current_recording): Use inferior_thread.
3796         * python/py-record.h (recpy_record_object) <ptid>: Delete
3797         field, replaced with ...
3798         <thread>: ... this new field.  All users adjusted.
3799         (recpy_element_object) <ptid>: Delete
3800         field, replaced with ...
3801         <thread>: ... this new field.  All users adjusted.
3802         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3803         a ptid_t.  All callers adjusted.
3804         * python/py-threadevent.c: Include "gdbthread.h".
3805         (get_event_thread): Use thread_to_thread_object.
3806         * python/python-internal.h (struct inferior_object): Forward
3807         declare.
3808         (find_thread_object, find_inferior_object): Delete declarations.
3809         (thread_to_thread_object, inferior_to_inferior_object): New
3810         declarations.
3811         * record-btrace.c: Include "inferior.h".
3812         (require_btrace_thread): Use inferior_thread.
3813         (record_btrace_frame_sniffer)
3814         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3815         (get_thread_current_frame): Use scoped_restore_current_thread and
3816         switch_to_thread.
3817         (get_thread_current_frame): Use thread pointer directly.
3818         (record_btrace_replay_at_breakpoint): Use thread's inferior
3819         pointer directly.
3820         * record-full.c: Include "inferior.h".
3821         * regcache.c: Include "gdbthread.h".
3822         (get_thread_arch_regcache): Use the inferior's address space
3823         directly.
3824         (get_thread_regcache, registers_changed_thread): New.
3825         * regcache.h (get_thread_regcache(thread_info *thread)): New
3826         overload.
3827         (registers_changed_thread): New.
3828         (remote_target) <remote_detach_1>: Swap order of parameters.
3829         (remote_add_thread): <remote_add_thread>: Return the new thread.
3830         (get_remote_thread_info(ptid_t)): New overload.
3831         (remote_target::remote_notice_new_inferior): Use thread pointers
3832         directly.
3833         (remote_target::process_initial_stop_replies): Use
3834         thread_info::set_running.
3835         (remote_target::remote_detach_1, remote_target::detach)
3836         (extended_remote_target::detach): Adjust.
3837         * stack.c (frame_show_address): Use inferior_thread.
3838         * target-debug.h (target_debug_print_thread_info_pp): New.
3839         * target-delegates.c: Regenerate.
3840         * target.c (default_thread_address_space): Delete.
3841         (memory_xfer_partial_1): Use current_inferior.
3842         (target_detach): Use current_inferior.
3843         (target_thread_address_space): Delete.
3844         (generic_mourn_inferior): Use current_inferior.
3845         * target.h (struct target_ops) <thread_address_space>: Delete.
3846         (target_thread_address_space): Delete.
3847         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3848         pointers directly.
3849         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3850         thread pointer instead of a ptid_t.  Adjust all callers.
3851         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3852         (first_thread_of_process): Delete, replaced by ...
3853         (first_thread_of_inferior): ... this new function.  All callers
3854         adjusted.
3855         (any_thread_of_process): Rename to ...
3856         (any_thread_of_inferior): ... this, and take an inferior pointer.
3857         (any_live_thread_of_process): Rename to ...
3858         (any_live_thread_of_inferior): ... this, and take an inferior
3859         pointer.
3860         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3861         (value_in_thread_stack_temporaries)
3862         (get_last_thread_stack_temporary): Take a thread pointer instead
3863         of a ptid_t.  Adjust all callers.
3864         (thread_info::set_running): New.
3865         (validate_registers_access): Use inferior_thread.
3866         (can_access_registers_ptid): Rename to ...
3867         (can_access_registers_thread): ... this, and take a thread
3868         pointer.
3869         (print_thread_info_1): Adjust to compare thread pointers instead
3870         of ptids.
3871         (switch_to_no_thread, switch_to_thread): Make extern.
3872         (scoped_restore_current_thread::~scoped_restore_current_thread):
3873         Use m_thread pointer directly.
3874         (scoped_restore_current_thread::scoped_restore_current_thread):
3875         Use inferior_thread.
3876         (thread_command): Use thread pointer directly.
3877         (thread_num_make_value_helper): Use inferior_thread.
3878         * top.c (execute_command): Use inferior_thread.
3879         * tui/tui-interp.c: Include "inferior.h".
3880         * varobj.c (varobj_create): Use inferior_thread.
3881         (value_of_root_1): Use find_thread_global_id instead of
3882         global_thread_id_to_ptid.
3883
3884 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
3885
3886         * regcache.c (readable_regcache::read_part): Avoid memcpy when
3887         possible.
3888         (regcache::write_part): Likewise.
3889         (readable_regcache::cooked_read_part): Update comment.
3890         (readable_regcache::cooked_write_part): Likewise.
3891         * regcache.h: (readable_regcache::read_part): Likewise.
3892         (regcache::write_part): Likewise.
3893
3894 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
3895             Dirk Schubert  <dirk.schubert@arm.com>
3896
3897         * aarch64-linux-nat.c (post_attach): New.
3898         (aarch64_linux_nat_target::post_attach): Override post_attach to
3899         record the number of hardware debug registers.
3900
3901 2018-06-20  Tom Tromey  <tom@tromey.com>
3902
3903         * python/py-param.c (add_setshow_generic): Make parameters const.
3904         (parmpy_init): Update.
3905
3906 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3907
3908         * regcache.h (regcache_cooked_read_ftype): Rename to...
3909         (register_read_ftype): ...this, change type to function_view.
3910         (class reg_buffer) <save>: Remove src parameter.
3911         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3912         parameter non-const in first overload.  Remove src parameter in
3913         second overload.
3914         * regcache.c (do_cooked_read): Remove.
3915         (readonly_detached_regcache::readonly_detached_regcache): Make
3916         parameter non-const, adjust call to other constructor.
3917         (reg_buffer::save): Remove src parameter.
3918         * frame.c (do_frame_register_read): Remove.
3919         (frame_save_as_regcache): Use lambda function.
3920         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3921         parameter to ppu2spu_data *.
3922         (ppu2spu_sniffer): Use lambda function.
3923
3924 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3925
3926         * record-full.c (record_full_target::insert_breakpoint): Remove
3927         "struct" keyword, add const.
3928
3929 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3930
3931         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3932         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3933         * configure.ac: Remove AC_PREREQ, add missing quoting.
3934         * gnulib/configure.ac: Modernize usage of
3935         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3936         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3937         (AUTOMAKE_VERSION): Bump to 1.15.1.
3938         * configure: Re-generate.
3939         * config.in: Re-generate.
3940         * aclocal.m4: Re-generate.
3941         * gnulib/aclocal.m4: Re-generate.
3942         * gnulib/config.in: Re-generate.
3943         * gnulib/configure: Re-generate.
3944         * gnulib/import/Makefile.in: Re-generate.
3945
3946 2018-06-19  Pedro Alves  <palves@redhat.com>
3947
3948         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3949         (lookup_minimal_symbol_by_pc_section): ... here with
3950         gdb_assert_not_reached added.
3951
3952 2018-06-19  Pedro Alves  <palves@redhat.com>
3953
3954         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3955         parameter with a block parameter.  Compare location's block symbol
3956         with the frame's block instead of addresses.
3957         (skip_inline_frames): Pass the current block instead of the
3958         frame's address.  Break out as soon as we determine the frame
3959         should not be skipped.
3960
3961 2018-06-18  Tom Tromey  <tom@tromey.com>
3962
3963         * solib-aix.c (solib_aix_get_section_offsets): Return
3964         unique_xmalloc_ptr.
3965         (solib_aix_solib_create_inferior_hook): Update.
3966
3967 2018-06-18  Tom Tromey  <tom@tromey.com>
3968
3969         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3970
3971 2018-06-18  Tom Tromey  <tom@tromey.com>
3972
3973         * solib-frv.c (frv_relocate_main_executable): Use
3974         unique_xmalloc_ptr.
3975         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3976         unique_xmalloc_ptr.
3977
3978 2018-06-18  Tom Tromey  <tom@tromey.com>
3979
3980         * objfiles.h (inhibit_section_map_updates): Update.
3981         (resume_section_map_updates, resume_section_map_updates_cleanup):
3982         Remove.
3983         * solib-svr4.c (svr4_handle_solib_event): Update.
3984         * objfiles.c (inhibit_section_map_updates): Return
3985         scoped_restore_tmpl<int>.
3986         (resume_section_map_updates, resume_section_map_updates_cleanup):
3987         Remove.
3988
3989 2018-06-18  Tom Tromey  <tom@tromey.com>
3990
3991         * valprint.h (read_string): Update.
3992         * valprint.c (read_string): Change type of "buffer".
3993         (val_print_string): Update.
3994         * python/py-value.c (valpy_string): Update.
3995         * language.h (struct language_defn) <la_get_string>: Change
3996         type of "buffer".
3997         (default_get_string, c_get_string): Update.
3998         * language.c (default_get_string): Change type of "buffer".
3999         * guile/scm-value.c (gdbscm_value_to_string): Update.
4000         * c-lang.c (c_get_string): Change type of "buffer".
4001
4002 2018-06-18  Tom Tromey  <tom@tromey.com>
4003
4004         * ser-mingw.c (struct pipe_state_destroyer): New.
4005         (pipe_state_up): New typedef.
4006         (cleanup_pipe_state): Remove.
4007         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4008
4009 2018-06-18  Tom Tromey  <tom@tromey.com>
4010
4011         * rust-lang.h (rust_yyerror): Don't declare.
4012         * rust-lang.c (rust_language_defn): Update.
4013         * rust-exp.y (yyerror): Now static.
4014         * parse.c (parse_exp_in_context_1): Update.
4015         * p-lang.h (p_yyerror): Don't declare.
4016         * p-lang.c (p_language_defn): Update.
4017         * p-exp.y (yyerror): Now static.
4018         * opencl-lang.c (opencl_language_defn): Update.
4019         * objc-lang.c (objc_language_defn): Update.
4020         * m2-lang.h (m2_yyerror): Don't declare.
4021         * m2-lang.c (m2_language_defn): Update.
4022         * m2-exp.y (yyerror): Now static.
4023         * language.h (struct language_defn) <la_error>: Remove.
4024         * language.c (unk_lang_error): Remove.
4025         (unknown_language_defn, auto_language_defn): Remove.
4026         * go-lang.h (go_yyerror): Don't declare.
4027         * go-lang.c (go_language_defn): Update.
4028         * go-exp.y (yyerror): Now static.
4029         * f-lang.h (f_yyerror): Don't declare.
4030         * f-lang.c (f_language_defn): Update.
4031         * f-exp.y (yyerror): Now static.
4032         * d-lang.h (d_yyerror): Don't declare.
4033         * d-lang.c (d_language_defn): Update.
4034         * d-exp.y (yyerror): Now static.
4035         * c-lang.h (c_yyerror): Don't declare.
4036         * c-lang.c (c_language_defn, cplus_language_defn)
4037         (asm_language_defn, minimal_language_defn): Update.
4038         * c-exp.y (yyerror): Now static.
4039         * ada-lang.h (ada_yyerror): Don't declare.
4040         * ada-lang.c (ada_language_defn): Update.
4041         * ada-exp.y (yyerror): Now static.
4042
4043 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4044
4045         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4046         (store_sveregs_to_thread): Likewise.
4047         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4048         (aarch64_linux_store_inferior_registers): Likewise.
4049         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4050         function.
4051         (aarch64_sve_regs_copy_to_regcache): Likewise.
4052         (aarch64_sve_regs_copy_from_regcache): Likewise.
4053         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4054         declaration.
4055         (aarch64_sve_regs_copy_to_regcache): Likewise.
4056         (aarch64_sve_regs_copy_from_regcache): Likewise.
4057         (sve_context): Structure from Linux headers.
4058         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4059         (SVE_SIG_ZREG_SIZE): Likewise.
4060         (SVE_SIG_PREG_SIZE): Likewise.
4061         (SVE_SIG_FFR_SIZE): Likewise.
4062         (SVE_SIG_REGS_OFFSET): Likewise.
4063         (SVE_SIG_ZREGS_OFFSET): Likewise.
4064         (SVE_SIG_ZREG_OFFSET): Likewise.
4065         (SVE_SIG_ZREGS_SIZE): Likewise.
4066         (SVE_SIG_PREGS_OFFSET): Likewise.
4067         (SVE_SIG_PREG_OFFSET): Likewise.
4068         (SVE_SIG_PREGS_SIZE): Likewise.
4069         (SVE_SIG_FFR_OFFSET): Likewise.
4070         (SVE_SIG_REGS_SIZE): Likewise.
4071         (SVE_SIG_CONTEXT_SIZE): Likewise.
4072         (SVE_PT_REGS_MASK): Likewise.
4073         (SVE_PT_REGS_FPSIMD): Likewise.
4074         (SVE_PT_REGS_SVE): Likewise.
4075         (SVE_PT_VL_INHERIT): Likewise.
4076         (SVE_PT_VL_ONEXEC): Likewise.
4077         (SVE_PT_REGS_OFFSET): Likewise.
4078         (SVE_PT_FPSIMD_OFFSET): Likewise.
4079         (SVE_PT_FPSIMD_SIZE): Likewise.
4080         (SVE_PT_SVE_ZREG_SIZE): Likewise.
4081         (SVE_PT_SVE_PREG_SIZE): Likewise.
4082         (SVE_PT_SVE_FFR_SIZE): Likewise.
4083         (SVE_PT_SVE_FPSR_SIZE): Likewise.
4084         (SVE_PT_SVE_FPCR_SIZE): Likewise.
4085         (__SVE_SIG_TO_PT): Likewise.
4086         (SVE_PT_SVE_OFFSET): Likewise.
4087         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4088         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4089         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4090         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4091         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4092         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4093         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4094         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4095         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4096         (SVE_PT_SVE_SIZE): Likewise.
4097         (SVE_PT_SIZE): Likewise.
4098         (HAS_SVE_STATE): New define.
4099
4100 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4101
4102         * nat/aarch64-sve-linux-sigcontext.h: New file.
4103         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4104         new files.
4105         (SVE_VQ_MIN): Likewise.
4106         (SVE_VQ_MAX): Likewise.
4107         (SVE_VL_MIN): Likewise.
4108         (SVE_VL_MAX): Likewise.
4109         (SVE_NUM_ZREGS): Likewise.
4110         (SVE_NUM_PREGS): Likewise.
4111         (sve_vl_valid): Likewise.
4112         (struct user_sve_header): Likewise.
4113
4114 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4115             Richard Bunt <Richard.Bunt@arm.com>
4116
4117         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4118         was requested by GDB.
4119
4120 2018-06-15  Tom de Vries  <tdevries@suse.de>
4121
4122         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4123
4124 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4125
4126         * gnulib/update-gnulib.sh: Print expected versions of
4127         autoconf/aclocal.
4128
4129 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4130
4131         * arch-utils.c (default_type_align): Use type_length_units.
4132         * gdbtypes.c (type_align): Use type_length_units.
4133
4134 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4135
4136         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4137         of 'define' command.
4138
4139 2018-06-14  Tom de Vries  <tdevries@suse.de>
4140
4141         PR cli/22573
4142         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4143         get_no_prettyformat_print_options.
4144
4145 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4146
4147         * sparc-nat.h: Include target.h.
4148         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4149         <fetch_registers>: Remove this argument in function call.
4150         <store_registers>: Remove this argument in function call, remove
4151         extra semicolon.
4152         <low_forget_process>: Call sparc64_forget_process instead of
4153         sparc_forget_process.
4154
4155 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4156
4157         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4158         (procfs_target::make_corefile_notes): Adjust to new
4159         target_read_alloc return type.
4160
4161 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4162             Stephen Roberts  <stephen.roberts@arm.com>
4163
4164         PR gdb/22882
4165         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4166         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4167         Move should_notify_stop local into more inner scope.
4168
4169 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4170             Stephen Roberts  <stephen.roberts@arm.com>
4171
4172         PR gdb/22882
4173         * infrun.c (resume_1): Add call to mark_async_event_handler.
4174
4175 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4176
4177         * infrun.c (do_target_wait): Change old version of $pc printed.
4178
4179 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4180
4181         * dwarf2read.c (read_index_from_section): Rename to...
4182         (read_gdb_index_from_section): ... this, update all callers.
4183         (dwarf2_read_index): Rename to...
4184         (dwarf2_read_gdb_index): ... this, update all callers.
4185
4186 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4187
4188         * gdb/hppa-linux-nat.c
4189         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4190         hppa_linux_nat_target::fetch_registers.
4191
4192 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4193
4194         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4195         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4196         (AARCH64_DWARF_SVE_FFR): Likewise.
4197         (AARCH64_DWARF_SVE_P0): Likewise.
4198         (AARCH64_DWARF_SVE_Z0): Likewise.
4199
4200 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4201
4202         * common/common-regcache.h (raw_compare): New function.
4203         * regcache.c (regcache::raw_compare): Likewise.
4204         * regcache.h (regcache::raw_compare): New declaration.
4205
4206 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4207
4208         * common/common-regcache.h (reg_buffer_common): New structure.
4209         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4210         (reg_buffer::raw_supply): Likewise.
4211         (reg_buffer::raw_supply_integer): Likewise.
4212         (reg_buffer::raw_supply_zeroed): Likewise.
4213         (reg_buffer::raw_collect): Likewise.
4214         (reg_buffer::raw_collect_integer): Likewise.
4215         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4216         (reg_buffer::raw_supply): Likewise.
4217         (reg_buffer::raw_supply_integer): Likewise.
4218         (reg_buffer::raw_supply_zeroed): Likewise.
4219         (reg_buffer::raw_collect): Likewise.
4220         (reg_buffer::raw_collect_integer): Likewise.
4221
4222 2018-06-10  Tom Tromey  <tom@tromey.com>
4223
4224         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4225         (class remote_state) <stop_reply_queue>: Now std::vector.
4226         (remote_state::~remote_state)
4227         (remote_target::stop_reply_queue_length): Update.
4228         (struct queue_iter_param, remove_child_of_pending_fork)
4229         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4230         (check_pending_event_prevents_wildcard_vcont_callback)
4231         (remove_stop_reply_for_inferior)
4232         (remove_stop_reply_of_remote_state)
4233         (remote_notif_remove_once_on_match)
4234         (stop_reply_match_ptid_and_ws)
4235         (remote_kill_child_of_pending_fork): Remove.
4236         (remote_target::remove_new_fork_children)
4237         (remote_target::check_pending_events_prevent_wildcard_vcont)
4238         (remote_target::discard_pending_stop_replies)
4239         (remote_target::discard_pending_stop_replies_in_queue)
4240         (remote_target::remote_notif_remove_queued_reply)
4241         (remote_target::queued_stop_reply)
4242         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4243         (remote_target::wait, remote_target::kill_new_fork_children)
4244         (remote_target::async): Update.
4245
4246 2018-06-10  Tom Tromey  <tom@tromey.com>
4247
4248         * record-full.c (record_full_arch_list_cleanups): Remove.
4249         (record_full_message): Use try/catch.
4250         (record_full_wait_cleanups): Remove.
4251         (record_full_wait_1): Use try/catch.
4252         (record_full_restore): Likewise.
4253
4254 2018-06-10  Tom Tromey  <tom@tromey.com>
4255
4256         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4257         declare VEC.  Add constructor.
4258         <in_target_beneath>: Now bool.
4259         (record_full_breakpoints): Now a std::vector, static.
4260         (record_full_sync_record_breakpoints)
4261         (record_full_init_record_breakpoints)
4262         (record_full_target::insert_breakpoint)
4263         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4264
4265 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4266
4267         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4268         * serial.c (serial_interface_lookup): Remove struct keyword.
4269
4270 2018-06-10  Tom Tromey  <tom@tromey.com>
4271
4272         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4273         method.
4274         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4275         a method.
4276         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4277         method.
4278         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4279         "beneath" as a method.
4280         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4281         Use "beneath" as a method.
4282
4283 2018-06-10  Tom Tromey  <tom@tromey.com>
4284
4285         * tracefile.c (struct trace_file_writer_deleter): New.
4286         <operator()>: Rename from trace_file_writer_xfree.
4287         (trace_file_writer_up): New typedef.
4288         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4289
4290 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4291
4292         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4293         <m_registers, m_register_status>: Change type to
4294         std::unique_ptr.
4295         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4296         XCNEWVEC.
4297
4298 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4299
4300         * common/common-regcache.h (enum register_status): Add
4301         underlying type "signed char".
4302         * regcache.h (reg_buffer) <m_register_status>: Change type to
4303         register_status *.
4304         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4305         register_status instead of signed char.
4306         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4307         (reg_buffer::get_register_status): Remove cast.
4308         (readable_regcache::raw_read): Remove cast.
4309         (readable_regcache::cooked_read): Remove cast.
4310
4311 2018-06-09  Tom Tromey  <tom@tromey.com>
4312
4313         * source.c (reverse_search_command, forward_search_command): Use
4314         scoped_fd.
4315
4316 2018-06-09  Tom Tromey  <tom@tromey.com>
4317
4318         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4319         (serial_ops_list): Now static, std::vector.
4320         (serial_interface_lookup, serial_add_interface): Update.
4321
4322 2018-06-09  Tom Tromey  <tom@tromey.com>
4323
4324         * dwarf2read.c (process_cu_includes): Update.
4325         (process_full_comp_unit): Update.
4326         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4327         std::vector.
4328
4329 2018-06-08  Paul Koning  <paul_koning@dell.com>
4330
4331         PR gdb/23252
4332
4333         * python/python.c (do_start_initialization):
4334         Avoid call to internal Python API.
4335         (init__gdb_module): New function.
4336
4337 2018-06-08  Gary Benson <gbenson@redhat.com>
4338
4339         * linux-thread-db.c (valprint.h): New include.
4340         (struct check_thread_db_info): New structure.
4341         (check_thread_db_on_load, tdb_testinfo): New static globals.
4342         (check_thread_db, check_thread_db_callback): New functions.
4343         (try_thread_db_load_1): Run integrity checks if requested.
4344         (maintenance_check_libthread_db): New function.
4345         (_initialize_thread_db): Register "maint check libthread-db"
4346         and "maint set/show check-libthread-db".
4347         * NEWS: Mention the above new commands.
4348
4349 2018-06-08  Tom Tromey  <tom@tromey.com>
4350
4351         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4352         now a method.
4353
4354 2018-06-08  Tom Tromey  <tom@tromey.com>
4355
4356         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4357
4358 2018-06-08  Tom Tromey  <tom@tromey.com>
4359
4360         * common/btrace-common.h (struct btrace_data): Add constructor,
4361         destructor, move assignment operator.
4362         <empty, clear, fini>: New methods.
4363         <format>: Initialize.
4364         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4365         (btrace_data_empty): Don't declare.
4366         * common/btrace-common.c (btrace_data_init): Remove.
4367         (btrace_data::fini): Rename from btrace_data_fini.
4368         (btrace_data::empty): Rename from btrace_data_empty.
4369         (btrace_data::clear): Rename from btrace_data_clear.  Return
4370         bool.
4371         * btrace.h (make_cleanup_btrace_data): Don't declare.
4372         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4373         (parse_xml_btrace): Update.
4374         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4375         (maint_btrace_clear_packet_history_cmd): Update.
4376
4377 2018-06-07  Pedro Alves  <palves@redhat.com>
4378
4379         * target.h (target_ops) <beneath>: Now a method.  All references
4380         updated.
4381         (class target_stack): New.
4382         * target.c (g_target_stack): New.
4383         (g_current_top_target): Delete.
4384         (current_top_target): Get the top target out of g_target_stack.
4385         (target_stack::push, target_stack::unpush): New.
4386         (push_target, unpush_target): Reimplement.
4387         (target_is_pushed): Reimplement in terms of g_target_stack.
4388         (target_ops::beneath, target_stack::find_beneath): New.
4389
4390 2018-06-07  Pedro Alves  <palves@redhat.com>
4391
4392         * target.h (find_target_beneath): Delete declaration.
4393         * target.c (find_target_beneath): Delete definition.
4394         * aix-thread.c: All callers of find_target_beneath adjusted to
4395         call target_ops::beneath instead.
4396         * bsd-uthread.c: Likewise.
4397         * linux-thread-db.c: Likewise.
4398         * ravenscar-thread.c: Likewise.
4399         * sol-thread.c: Likewise.
4400         * spu-multiarch.c: Likewise.
4401
4402 2018-06-07  Pedro Alves  <palves@redhat.com>
4403
4404         * target.h (target_ops) <beneath>: Now a method.  All references
4405         updated.
4406         (target_ops) <m_beneath>: New.
4407         * target.c (target_ops::beneath): New.
4408         * corelow.c: Adjust all references to target_ops::beneath.
4409         * linux-thread-db.c: Likewise.
4410         * make-target-delegates: Likewise.
4411         * record-btrace.c: Likewise.
4412         * record-full.c: Likewise.
4413         * remote.c: Likewise.
4414         * target.c: Likewise.
4415         * target-delegates.c: Regenerate.
4416
4417 2018-06-07  Pedro Alves  <palves@redhat.com>
4418
4419         * target.h (target_stack): Delete.
4420         (current_top_target): Declare function.
4421         * target.c (target_stack): Delete.
4422         (g_current_top_target): New.
4423         (current_top_target): New function.
4424         * auxv.c: Use current_top_target instead of target_stack
4425         throughout.
4426         * avr-tdep.c: Likewise.
4427         * breakpoint.c: Likewise.
4428         * corefile.c: Likewise.
4429         * elfread.c: Likewise.
4430         * eval.c: Likewise.
4431         * exceptions.c: Likewise.
4432         * frame.c: Likewise.
4433         * gdbarch-selftests.c: Likewise.
4434         * gnu-v3-abi.c: Likewise.
4435         * ia64-tdep.c: Likewise.
4436         * ia64-vms-tdep.c: Likewise.
4437         * infcall.c: Likewise.
4438         * infcmd.c: Likewise.
4439         * infrun.c: Likewise.
4440         * linespec.c: Likewise.
4441         * linux-tdep.c: Likewise.
4442         * minsyms.c: Likewise.
4443         * ppc-linux-nat.c: Likewise.
4444         * ppc-linux-tdep.c: Likewise.
4445         * procfs.c: Likewise.
4446         * regcache.c: Likewise.
4447         * remote.c: Likewise.
4448         * rs6000-tdep.c: Likewise.
4449         * s390-linux-nat.c: Likewise.
4450         * s390-tdep.c: Likewise.
4451         * solib-aix.c: Likewise.
4452         * solib-darwin.c: Likewise.
4453         * solib-dsbt.c: Likewise.
4454         * solib-spu.c: Likewise.
4455         * solib-svr4.c: Likewise.
4456         * solib-target.c: Likewise.
4457         * sparc-tdep.c: Likewise.
4458         * sparc64-tdep.c: Likewise.
4459         * spu-tdep.c: Likewise.
4460         * symfile.c: Likewise.
4461         * symtab.c: Likewise.
4462         * target-descriptions.c: Likewise.
4463         * target-memory.c: Likewise.
4464         * target.c: Likewise.
4465         * target.h: Likewise.
4466         * tracefile-tfile.c: Likewise.
4467         * tracepoint.c: Likewise.
4468         * valops.c: Likewise.
4469         * valprint.c: Likewise.
4470         * value.c: Likewise.
4471         * windows-tdep.c: Likewise.
4472         * mi/mi-main.c: Likewise.
4473
4474 2018-06-07  Tom Tromey  <tom@tromey.com>
4475
4476         * valprint.h (build_address_symbolic): Declare.
4477         * printcmd.c (print_address_symbolic): Update.
4478         (build_address_symbolic): Change "name" and "filename" to
4479         std::string.
4480         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4481         Update.
4482         * defs.h (build_address_symbolic): Remove declaration.
4483
4484 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4485
4486         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4487         (aarch64_vnv_type): Add function.
4488         (aarch64_pseudo_register_name): Add V regs for SVE.
4489         (aarch64_pseudo_register_type): Likewise.
4490         (aarch64_pseudo_register_reggroup_p): Likewise.
4491         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4492         (aarch64_pseudo_read_value): Add V regs for SVE.
4493         (aarch64_pseudo_write_2): Use V0 offset for SVE
4494         (aarch64_pseudo_write): Add V regs for SVE.
4495         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4496
4497 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4498
4499         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4500         (sve_vl_from_vq): Likewise.
4501
4502 2018-06-05  Tom Tromey  <tom@tromey.com>
4503
4504         * cli/cli-cmds.c (show_version): Update.
4505         * top.c (print_gdb_version): Add "interactive" parameter.
4506         Update.
4507         * main.c (captured_main_1): Update.
4508         * top.h (print_gdb_version): Add "interactive" parameter and a
4509         comment.
4510
4511 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4512
4513         * common/enum-flags.h: Add trailing semicolon to example in
4514         comment.
4515
4516 2018-06-05  Tom Tromey  <tom@tromey.com>
4517
4518         PR cli/12326:
4519         * NEWS: Add entry about pager.
4520         * utils.c (pagination_disabled_for_command): New global.
4521         (prompt_for_continue): Allow "c" response to prompt.
4522         (reinitialize_more_filter): Clear
4523         pagination_disabled_for_command.
4524         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4525
4526 2018-06-04  Tom Tromey  <tom@tromey.com>
4527
4528         * ada-lang.h (ada_lookup_symbol_list): Update.
4529         * ada-lang.c (resolve_subexp): Update.
4530         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4531         parameter.
4532         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4533         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4534         results parameter to std::vector.
4535         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4536         Update.
4537         * ada-exp.y (block_lookup): Update.
4538         (select_possible_type_sym): Change type of syms.  Remove nsyms
4539         parameter.
4540         (write_var_or_type, write_name_assoc): Update.
4541
4542 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4543
4544         * windows-nat.c (windows_nat_target::xfer_partial): Return
4545         TARGET_XFER_E_IO if we need to delegate to the target beneath
4546         but BENEATH is NULL.
4547
4548 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4549
4550         * Makefile.in (config.status): Add configure.nat as a
4551         dependency.
4552
4553 2018-06-04  Tom Tromey  <tom@tromey.com>
4554
4555         * cp-name-parser.y (cpname_state): Add method declarations.
4556         (HANDLE_QUAL): Update.
4557         (cpname_state::d_grab, cpname_state::fill_comp)
4558         (cpname_state::make_operator, cpname_state::make_dtor)
4559         (cpname_state::make_builtin_type, cpname_state::make_name)
4560         (cpname_state::d_qualify, cpname_state::d_int_type)
4561         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4562         (%union): Move earlier.
4563
4564 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4565
4566         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4567
4568 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4569
4570         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4571         (aarch64_pseudo_write_1): Likewise.
4572         (aarch64_pseudo_read_value): Use helper.
4573         (aarch64_pseudo_write): Likewise.
4574
4575 2018-06-04  Pedro Alves  <palves@redhat.com>
4576
4577         * darwin-nat.c (darwin_ops): Delete.
4578         (darwin_attach_pid): Use get_native_target.
4579
4580 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4581
4582         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4583         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4584
4585 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4586
4587         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4588         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4589         (aarch64_gdbarch_init): Check for SVE.
4590         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4591
4592 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4593
4594         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4595         * aarch64-tdep.h (aarch64_read_description): Likewise.
4596         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4597         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4598         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4599         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4600         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4601
4602 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4603
4604         * value.c (value_fetch_lazy_bitfield): New.
4605         (value_fetch_lazy_memory): New.
4606         (value_fetch_lazy_register): New.
4607         (value_fetch_lazy): Factor out to smaller functions.
4608
4609 2018-06-01  Tom Tromey  <tom@tromey.com>
4610
4611         * cp-name-parser.y (backslashable, represented): Now const.
4612
4613 2018-06-01  Tom Tromey  <tom@tromey.com>
4614
4615         * cp-name-parser.y: Include parser-defs.h.
4616         (parser_fprintf): Remove declaration.
4617
4618 2018-06-01  Tom Tromey  <tom@tromey.com>
4619
4620         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4621         %parse-param.
4622         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4623         (global_result): Remove globals.
4624         (struct cpname_state): New.
4625         (yyparse): Don't declare.
4626         (yylex, yyerror): Move declarations after %union.
4627         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4628         (make_name): Add state parameter.
4629         Update all callers.
4630         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4631         parameter.
4632         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4633         Update.
4634         (yylex): Add lvalp, state parameters.
4635         (yyerror): Add state parameter.
4636         (cp_demangled_name_to_comp): Update.
4637
4638 2018-06-01  Tom Tromey  <tom@tromey.com>
4639
4640         * cp-name-parser.y (parser_fprintf): Declare.
4641         (GDB_YY_REMAP_PREFIX): Define.
4642         Include yy-remap.h.  Don't redefine yy* identifiers.
4643
4644 2018-06-01  Tom Tromey  <tom@tromey.com>
4645
4646         * python/py-type.c (typy_legacy_template_argument): Update.
4647         * cp-support.h (cp_demangled_name_to_comp): Update.
4648         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4649         parameter to be a "std::string *".
4650         (main): Update.
4651
4652 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4653
4654         * ada-lex.l: Include "diagnostics.h" instead of
4655         "common/diagnostics.h".
4656         * unittests/environ-selftests.c: Likewise.
4657         * common/diagnostics.h: Moved to ../include.
4658
4659 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4660
4661         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4662         to language_mode_manual while calling breakpoint_re_set_one.
4663
4664 2018-06-01  Tom Tromey  <tom@tromey.com>
4665
4666         * valops.c (value_cast_structs, destructor_name_p): Update.
4667         * symtab.c (gdb_mangle_name): Update.
4668         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4669         Update.
4670         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4671         (pascal_object_print_value_fields, pascal_object_print_value):
4672         Update.
4673         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4674         * linespec.c (find_methods): Update.
4675         * gdbtypes.h (type_name_no_tag): Remove.
4676         (type_name_or_error): Rename from type_name_no_tag_or_error.
4677         * gdbtypes.c (type_name_no_tag): Remove.
4678         (type_name_or_error): Rename from type_name_no_tag_or_error.
4679         (lookup_struct_elt_type, check_typedef): Update.
4680         * expprint.c (print_subexp_standard): Update.
4681         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4682         * d-namespace.c (d_lookup_nested_symbol): Update.
4683         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4684         (cp_print_class_member): Update.
4685         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4686         * completer.c (add_struct_fields): Update.
4687         * c-typeprint.c (cp_type_print_derivation_info)
4688         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4689         Update.
4690         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4691         (ada_prefer_type, ada_is_exception_sym): Update.
4692
4693 2018-06-01  Tom Tromey  <tom@tromey.com>
4694
4695         * valops.c (enum_constant_from_type, value_namespace_elt)
4696         (value_maybe_namespace_elt): Update.
4697         * valarith.c (find_size_for_pointer_math): Update.
4698         * target-descriptions.c (make_gdb_type): Update.
4699         * symmisc.c (print_symbol): Update.
4700         * stabsread.c (define_symbol, read_type)
4701         (complain_about_struct_wipeout, add_undefined_type)
4702         (cleanup_undefined_types_1): Update.
4703         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4704         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4705         (rust_internal_print_type, rust_composite_type)
4706         (rust_evaluate_funcall, rust_evaluate_subexp)
4707         (rust_inclusive_range_type_p): Update.
4708         * python/py-type.c (typy_get_tag): Update.
4709         * p-typeprint.c (pascal_type_print_base): Update.
4710         * mdebugread.c (parse_symbol, parse_type): Update.
4711         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4712         Update.
4713         * guile/scm-type.c (gdbscm_type_tag): Update.
4714         * go-lang.c (sixg_string_p): Update.
4715         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4716         Update.
4717         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4718         (TYPE_TAG_NAME): Remove.
4719         * gdbtypes.c (type_name_no_tag): Simplify.
4720         (check_typedef, check_types_equal, recursive_dump_type)
4721         (copy_type_recursive, arch_composite_type): Update.
4722         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4723         in summary mode when needed.
4724         * eval.c (evaluate_funcall): Update.
4725         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4726         (process_structure_scope, read_enumeration_type)
4727         (read_namespace_type, read_module_type, determine_prefix): Update.
4728         * cp-support.c (inspect_type): Update.
4729         * coffread.c (process_coff_symbol, decode_base_type): Update.
4730         * c-varobj.c (c_is_path_expr_parent): Update.
4731         * c-typeprint.c (c_type_print_base_struct_union): Update.
4732         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4733         summary when using C language.
4734         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4735         (gen_maybe_namespace_elt): Update.
4736         * ada-lang.c (ada_type_name): Simplify.
4737         (empty_record, ada_template_to_fixed_record_type_1)
4738         (template_to_static_fixed_type)
4739         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4740
4741 2018-06-01  Tom Tromey  <tom@tromey.com>
4742
4743         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4744         c_print_type.
4745         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4746         (c_print_type): Update.
4747         (c_print_type): New overload.
4748         (c_type_print_varspec_prefix, c_type_print_args)
4749         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4750         (c_type_print_base_struct_union, c_type_print_base_1)
4751         (cp_type_print_method_args): Add "language" parameter.
4752         (c_type_print_base): Update.
4753         * c-lang.h (c_print_type): Add new overload.
4754
4755 2018-06-01  Tom Tromey  <tom@tromey.com>
4756
4757         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4758         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4759
4760 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4761
4762         * aarch64-tdep.c (aarch64_sve_register_names): New const
4763         var.
4764         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4765         (AARCH64_SVE_Z_REGS_NUM): New define.
4766         (AARCH64_SVE_P_REGS_NUM): Likewise.
4767         (AARCH64_SVE_NUM_REGS): Likewise.
4768
4769 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4770
4771         * nat/linux-ptrace.h [__alpha__]
4772         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4773         definitions.
4774
4775 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4776
4777         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4778         the endianness selected.
4779         * NEWS: Document `set endian auto' mode operation update.
4780
4781 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4782
4783         * Makefile.in: Add new header.
4784         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4785         (sve_vl_from_vg): Likewise.
4786         (sve_vq_from_vl): Likewise.
4787         (sve_vl_from_vq): Likewise.
4788         (sve_vq_from_vg): Likewise.
4789         (sve_vg_from_vq): Likewise.
4790         * configure.nat: Add new c file.
4791         * nat/aarch64-sve-linux-ptrace.c: New file.
4792         * nat/aarch64-sve-linux-ptrace.h: New file.
4793
4794 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4795
4796         * aarch64-linux-nat.c (aarch64_linux_read_description):
4797         Add parmeter zero.
4798         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4799         Likewise.
4800         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4801         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4802         (aarch64_gdbarch_init): Add parmeter zero.
4803         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4804         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4805         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4806         parmeter.
4807         * doc/gdb.texinfo: Describe SVE feature
4808         * features/aarch64-sve.c: New file.
4809
4810 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4811
4812         PR gdb/23210
4813         * gdbarch.sh (significant_addr_bit): Default to zero when
4814         not set by target architecture.
4815         * gdbarch.c: Re-generated.
4816         * utils.c (address_significant): Update.
4817
4818 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4819
4820         * stack.c (func_command): Remove trailing newline in call to error.
4821
4822 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4823
4824         * regcache.h (regcache_raw_collect): Remove, update callers to
4825         use regcache::raw_collect.
4826         * regcache.c (regcache_raw_collect): Remove.
4827
4828 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4829
4830         * regcache.h (regcache_raw_supply): Remove, update callers to
4831         use detached_regcache::raw_supply.
4832         * regcache.c (regcache_raw_supply): Remove.
4833
4834 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4835
4836         * regcache.h (regcache_cooked_write_part): Remove, update
4837         callers to use regcache::cooked_write_part.
4838         * regcache.c (regcache_cooked_write_part): Remove.
4839
4840 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4841
4842         * regcache.h (regcache_cooked_read_part): Remove, update callers
4843         to use readable_regcache::cooked_read_part.
4844         * regcache.c (regcache_cooked_read_part): Remove.
4845
4846 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4847
4848         * regcache.h (regcache_cooked_read_value): Remove, update
4849         callers to use readable_regcache::cooked_read_value.
4850         * regcache.c (regcache_cooked_read_value): Remove.
4851
4852 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4853
4854         * regcache.h (regcache_cooked_write): Remove, update callers to
4855         use regcache::cooked_write.
4856         * regcache.c (regcache_cooked_write): Remove.
4857
4858 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4859
4860         * regcache.h (regcache_invalidate): Remove, update callers to
4861         use detached_regcache::invalidate instead.
4862         * regcache.c (regcache_invalidate): Remove.
4863
4864 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4865
4866         * regcache.h (regcache_raw_write_part): Remove, update callers
4867         to use regcache::raw_write_part instead.
4868         * regcache.c (regcache_raw_write_part): Remove.
4869
4870 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4871
4872         * regcache.h (regcache_raw_read_part): Remove, update callers to
4873         use readable_regcache::raw_read_part instead.
4874         * regcache.c (regcache_raw_read_part): Remove.
4875
4876 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4877
4878         * regcache.h (regcache_cooked_read): Remove, update callers to
4879         use readable_regcache::cooked_read instead.
4880         * regcache.c (regcache_cooked_read): Remove.
4881
4882 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4883
4884         * regcache.h (regcache_raw_write): Remove, update callers to use
4885         regcache::raw_write instead.
4886         * regcache.c (regcache_raw_write): Remove.
4887
4888 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4889
4890         * regcache.h (regcache_raw_read): Remove, update callers to use
4891         readable_regcache::raw_read instead.
4892         * regcache.c (regcache_raw_read): Remove.
4893
4894 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4895
4896         * regcache.h (regcache_raw_update): Remove, update callers to
4897         use readable_regcache::raw_update instead.
4898         * regcache.c (regcache_raw_update): Remove.
4899
4900 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4901
4902         * regcache.h (regcache_register_status): Remove, update callers
4903         to use reg_buffer::get_register_status directly instead.
4904         * regcache.c (regcache_register_status): Remove.
4905
4906 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4907
4908         * regcache.h (regcache_get_ptid): Remove, update all callers to
4909         call regcache::ptid instead.
4910         * regcache.c (regcache_get_ptid): Remove.
4911
4912 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4913
4914         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4915
4916 2018-05-30  Pedro Alves  <palves@redhat.com>
4917
4918         * common/common-exceptions.h (exception_rethrow): Use
4919         ATTRIBUTE_NORETURN.
4920
4921 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4922
4923         * breakpoint.c (print_solib_event, check_status_catch_solib):
4924         Remove struct keyword in range-based for loops.
4925         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4926         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4927         Likewise.
4928         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4929         Likewise.
4930         * symfile.c (addr_info_make_relative): Likewise.
4931         * thread.c (value_in_thread_stack_temporaries): Likewise.
4932
4933 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4934
4935         PR gdb/16841
4936         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4937         aggregate type to get its real type before accessing it.
4938
4939 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4940
4941         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4942         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4943         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4944         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4945         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4946         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4947         * printcmd.c (info_address_command): Likewise.
4948
4949 2018-05-29  Tom Tromey  <tom@tromey.com>
4950
4951         * windows-nat.c (handle_exception): Update fall-through comment.
4952
4953 2018-05-29  Tom Tromey  <tom@tromey.com>
4954
4955         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4956         (struct program_space) <added_solibs>: Now a std::vector.
4957         * breakpoint.c (print_solib_event): Update.
4958         (check_status_catch_solib): Update.
4959         * progspace.c (clear_program_space_solib_cache): Update.
4960         * solib.c (update_solib_list): Update.
4961
4962 2018-05-29  Tom Tromey  <tom@tromey.com>
4963
4964         * python/py-type.c (typy_richcompare): Update.
4965         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4966         * gdbtypes.h (types_deeply_equal): Return bool.
4967         (types_equal): Likewise.
4968         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4969         declare VEC.
4970         (check_types_equal): Change worklist to std::vector.  Return
4971         bool.
4972         (struct type_equality_entry): Add constructor.
4973         (compare_maybe_null_strings): Return bool.
4974         (check_types_worklist): Return bool.  Change worklist to
4975         std::vector.
4976         (types_deeply_equal): Use std::vector.
4977         (types_equal): Return bool.
4978         (compare_maybe_null_strings): Simplify.
4979
4980 2018-05-29  Tom Tromey  <tom@tromey.com>
4981
4982         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4983
4984 2018-05-29  Tom Tromey  <tom@tromey.com>
4985
4986         * objc-lang.h: Don't include cp-support.h.
4987         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4988         declare VEC.
4989
4990 2018-05-27  Tom Tromey  <tom@tromey.com>
4991
4992         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4993
4994 2018-05-25  Tom Tromey  <tom@tromey.com>
4995
4996         * value.c (value::location): Initialize.
4997
4998 2018-05-25  Tom Tromey  <tom@tromey.com>
4999
5000         * dbxread.c (init_bincl_list): Remove.
5001         (bincl_list): Now a std::vector.
5002         (bincls_allocated, next_bincl): Remove.
5003         (free_bincl_list, do_free_bincl_list_cleanup)
5004         (make_cleanup_free_bincl_list): Remove.
5005         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5006         unique_xmalloc_ptr.
5007         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5008         (struct header_file_location): Add constructor.
5009         (add_bincl_to_list): Remove.
5010
5011 2018-05-25  Tom Tromey  <tom@tromey.com>
5012
5013         * tui/tui.c (tui_enable): Update.
5014         * mi/mi-interp.c (mi_interp::init): Update.
5015         * interps.h (class interp) <name>: New method.
5016         <m_name>: Rename from name.
5017         (~scoped_restore_interp): Update.
5018         * interps.c (interp::interp): Update.
5019         (interp_add, interp_set, interp_lookup_existing)
5020         (current_interp_named_p): Update.
5021
5022 2018-05-25  Tom Tromey  <tom@tromey.com>
5023
5024         * interps.c (interp_name): Remove.
5025         * mi/mi-interp.c (mi_interp::init): Update.
5026         * interps.h (interp_name): Remove.
5027         (~scoped_restore_interp): Update.
5028         * tui/tui.c (tui_enable): Update.
5029
5030 2018-05-25  Tom Tromey  <tom@tromey.com>
5031
5032         * utils.c (fputs_maybe_filtered): Update.
5033         * linespec.c (decode_line_full): Update.
5034         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5035         (mi_print_breakpoint_for_event, mi_solib_loaded)
5036         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5037         (mi_user_selected_context_changed): Update.
5038         * mi/mi-main.c (mi_execute_command): Update.
5039         * cli/cli-script.c (execute_control_command): Update.
5040         * python/python.c (execute_gdb_command): Update.
5041         * solib.c (info_sharedlibrary_command): Update.
5042         * interps.c (interp_ui_out): Remove.
5043         * interps.h (interp_ui_out): Remove.
5044
5045 2018-05-25  Tom Tromey  <tom@tromey.com>
5046
5047         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5048         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5049         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5050
5051 2018-05-25  Tom Tromey  <tom@tromey.com>
5052
5053         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5054         * interps.c (interp_exec): Use scoped_restore.
5055
5056 2018-05-25  Tom Tromey  <tom@tromey.com>
5057
5058         * remote.c (remote_target::remote_file_get): Use
5059         gdb::byte_vector.
5060         (remote_target::remote_file_put): Likewise.
5061
5062 2018-05-25  Tom Tromey  <tom@tromey.com>
5063
5064         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5065         a std::string.
5066         (get_pe_section_index, add_pe_exported_sym): Update.
5067         (read_pe_exported_syms): Use gdb::def_vector.
5068
5069 2018-05-25  Tom Tromey  <tom@tromey.com>
5070
5071         * frame.c (remove_prev_frame): Remove.
5072         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
5073
5074 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
5075
5076         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
5077         Remove prototypes.
5078         * mips-linux-nat.c (supply_fpregset): Always call
5079         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
5080         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
5081         `mips_fill_fpregset'.
5082         * mips-linux-tdep.c (mips_supply_fpregset)
5083         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
5084         (mips_fill_fpregset_wrapper): Remove functions.
5085         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5086         (mips_linux_fpregset): Remove variable.
5087         (mips_linux_iterate_over_regset_sections): Use
5088         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5089         (mips_linux_o32_sigframe_init): Remove comment.
5090
5091 2018-05-25  Pedro Alves  <palves@redhat.com>
5092
5093         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5094         (struct readahead_cache, struct packet_reg, struct
5095         remote_arch_state, class remote_state): Move higher up in the
5096         file.
5097         (remote_target::m_remote_state): Now an object instead of a pointer.
5098         (remote_target::get_remote_state): Adjust.
5099
5100 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5101
5102         * stack.c (select_and_print_frame): Delete.
5103         (struct function_bounds): Move struct within function.
5104         (func_command): Most content moved into new function
5105         find_frame_for_function, use new function, print result, add
5106         function comment.
5107         (find_frame_for_function): New function, now returns a result.
5108
5109 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5110
5111         * stack.c (iterate_over_block_arg_vars): Fix comment.
5112         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5113
5114 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5115
5116         PR gdb/23203
5117         * frame.c
5118         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5119         Define.
5120         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5121         Define.
5122         * frame.h (class scoped_restore_selected_frame): New class.
5123         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5124         of any exception, use scoped_restore_selected_frame to restore the
5125         frame instead.
5126
5127 2018-05-24  Pedro Alves  <palves@redhat.com>
5128
5129         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5130         override.
5131
5132 2018-05-23  Tom Tromey  <tom@tromey.com>
5133
5134         * complaints.c (struct complaints): Remove.
5135         (symfile_complaint_book): Remove.
5136         (series): New global.
5137         (complaint_internal): Update.
5138         (clear_complaints): Update.
5139
5140 2018-05-23  Tom Tromey  <tom@tromey.com>
5141
5142         * complaints.c (counters): New global.
5143         (struct complain): Remove.
5144         (struct complaints) <root>: Remove.
5145         (complaint_sentinel): Remove.
5146         (symfile_complaint_book): Update.
5147         (find_complaint) Remove.
5148         (complaint_internal, clear_complaints): Update.
5149
5150 2018-05-23  Tom Tromey  <tom@tromey.com>
5151
5152         * complaints.c (struct complain) <file, line>: Remove.
5153         (find_complaint): Remove file, line parameters.
5154         (complaint_internal): Update.
5155
5156 2018-05-23  Tom Tromey  <tom@tromey.com>
5157
5158         * complaints.c (vcomplaint): Remove.
5159         (complaint_internal) Merge in contents of vcomplaint.
5160
5161 2018-05-23  Tom Tromey  <tom@tromey.com>
5162
5163         * complaints.c (struct complaints) <explanation>: Remove.
5164         (symfile_explanations): Remove.
5165         (symfile_complaint_book): Update.
5166         (vcomplaint): Update.
5167         (struct explanation): Remove.
5168
5169 2018-05-23  Tom Tromey  <tom@tromey.com>
5170
5171         * complaints.c (symfile_complaints): Remove.
5172         (complaint_internal): Remove "complaints" parameter.
5173         (clear_complaints, vcomplaint): Remove "c" parameter.
5174         (get_complaints): Remove.
5175         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5176         (dwarf2_debug_line_missing_file_complaint)
5177         (dwarf2_debug_line_missing_end_sequence_complaint)
5178         (dwarf2_complex_location_expr_complaint)
5179         (dwarf2_const_value_length_mismatch_complaint)
5180         (dwarf2_section_buffer_overflow_complaint)
5181         (dwarf2_macro_malformed_definition_complaint)
5182         (dwarf2_invalid_attrib_class_complaint)
5183         (create_addrmap_from_index, dw2_symtab_iter_next)
5184         (dw2_expand_marked_cus)
5185         (dw2_debug_names_iterator::find_vec_in_debug_names)
5186         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5187         (create_debug_type_hash_table, init_cutu_and_read_dies)
5188         (partial_die_parent_scope, add_partial_enumeration)
5189         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5190         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5191         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5192         (create_cus_hash_table, create_dwp_hash_table)
5193         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5194         (dwarf2_rnglists_process, dwarf2_ranges_process)
5195         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5196         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5197         (handle_struct_member_die, process_structure_scope)
5198         (read_array_type, read_common_block, read_module_type)
5199         (read_tag_pointer_type, read_typedef, read_base_type)
5200         (read_subrange_type, load_partial_dies, partial_die_info::read)
5201         (partial_die_info::read, partial_die_info::read)
5202         (partial_die_info::read, read_checked_initial_length_and_offset)
5203         (dwarf2_string_attr, read_formatted_entries)
5204         (dwarf_decode_line_header)
5205         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5206         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5207         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5208         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5209         (get_signatured_type, get_DW_AT_signature_type)
5210         (decode_locdesc, file_file_name, consume_improper_spaces)
5211         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5212         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5213         (dwarf2_symbol_mark_computed, set_die_type)
5214         (read_attribute_value): Update.
5215         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5216         Update.
5217         * dbxread.c (unknown_symtype_complaint)
5218         (lbrac_mismatch_complaint, repeated_header_complaint)
5219         (set_namestring, function_outside_compilation_unit_complaint)
5220         (read_dbx_symtab, process_one_symbol): Update.
5221         * gdbtypes.c (stub_noname_complaint): Update.
5222         * windows-nat.c (handle_unload_dll): Update.
5223         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5224         (decode_base_type): Update.
5225         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5226         (eb_complaint, record_include_begin, record_include_end)
5227         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5228         (process_xcoff_symbol, read_symbol)
5229         (function_outside_compilation_unit_complaint)
5230         (scan_xcoff_symtab): Update.
5231         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5232         * buildsym.c (finish_block_internal, make_blockvector)
5233         (end_symtab_get_static_block, augment_type_symtab): Update.
5234         * dtrace-probe.c (dtrace_process_dof)
5235         (dtrace_static_probe_ops::get_probes): Update.
5236         * complaints.h (struct complaint): Don't declare.
5237         (symfile_complaints): Remove.
5238         (complaint_internal): Remove "complaints" parameter.
5239         (complaint): Likewise.
5240         (clear_complaints): Likewise.
5241         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5242         (reread_symbols): Update.
5243         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5244         (dwarf2_frame_cache, decode_frame_entry): Update.
5245         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5246         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5247         (info_selectors_command): Update.
5248         * macrotab.c (macro_include, check_for_redefinition)
5249         (macro_undef): Update.
5250         * objfiles.c (filter_overlapping_sections): Update.
5251         * stabsread.c (invalid_cpp_abbrev_complaint)
5252         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5253         (define_symbol, error_type, read_type, rs6000_builtin_type)
5254         (stabs_method_name_from_physname, read_member_functions)
5255         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5256         (attach_fields_to_type, complain_about_struct_wipeout)
5257         (read_range_type, read_args, common_block_start)
5258         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5259         Update.
5260         * mdebugread.c (index_complaint, unknown_ext_complaint)
5261         (basic_type_complaint, bad_tag_guess_complaint)
5262         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5263         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5264         (parse_procedure, parse_lines)
5265         (function_outside_compilation_unit_complaint)
5266         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5267         (bad_tag_guess_complaint, reg_value_complaint): Update.
5268         * cp-support.c (demangled_name_complaint): Update.
5269         * macroscope.c (sal_macro_scope): Update.
5270         * dwarf-index-write.c (class debug_names): Update.
5271
5272 2018-05-23  Tom Tromey  <tom@tromey.com>
5273
5274         * complaints.c (clear_complaints): Remove "noisy" parameter.
5275         * complaints.h (clear_complaints): Update.
5276         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5277         (reread_symbols): Update.
5278
5279 2018-05-23  Tom Tromey  <tom@tromey.com>
5280
5281         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5282         SUBSEQUENT_MESSAGE.
5283         (vcomplaint, clear_complaints): Update.
5284         (symfile_explanations): Remove some messages.
5285
5286 2018-05-23  Tom Tromey  <tom@tromey.com>
5287
5288         * complaints.c (internal_complaint): Remove.
5289         * complaints.h (internal_complaint): Remove.
5290
5291 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5292
5293         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5294
5295 2018-05-22  Pedro Alves  <palves@redhat.com>
5296
5297         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5298         (remote_fileio_badfd, remote_fileio_return_errno)
5299         (remote_fileio_return_success, remote_fileio_func_open)
5300         (remote_fileio_func_open, remote_fileio_func_close)
5301         (remote_fileio_func_read, remote_fileio_func_write)
5302         (remote_fileio_func_lseek, remote_fileio_func_rename)
5303         (remote_fileio_func_unlink, remote_fileio_func_stat)
5304         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5305         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5306         remote_target parameter.
5307         (remote_fio_func_map) <func>: Add remote_target parameter.
5308         (do_remote_fileio_request, remote_fileio_request):
5309         * remote-fileio.h (remote_fileio_request):
5310         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5311         remote_target parameter.
5312         (remote_notif_process, handle_notification): Adjust to pass down
5313         the remote.
5314         (remote_notif_state_allocate): Add remote_target parameter.  Save
5315         it.
5316         * remote-notif.h (struct remote_target): Forward declare.
5317         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5318         remote_target parameter.
5319         (struct remote_notif_state) <remote>: New field.
5320         (remote_notif_ack, remote_notif_parse): Add remote_target
5321         parameter.
5322         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5323         remote_target parameter.
5324         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5325         (threads_listing_context, rmt_thread_action, protocol_feature)
5326         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5327         (packet_result, struct threads_listing_context, remote_state):
5328         Move definitions and declarations higher up.
5329         (remote_target) <~remote_target>: Declare.
5330         (remote_download_command_source, remote_file_put, remote_file_get)
5331         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5332         (remote_hostio_pread_vFile, remote_hostio_send_command)
5333         (remote_hostio_set_filesystem, remote_hostio_open)
5334         (remote_hostio_close, remote_hostio_unlink, remote_state)
5335         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5336         (get_memory_write_packet_size, get_memory_read_packet_size)
5337         (append_pending_thread_resumptions, remote_detach_1)
5338         (append_resumption, remote_resume_with_vcont)
5339         (add_current_inferior_and_thread, wait_ns, wait_as)
5340         (process_stop_reply, remote_notice_new_inferior)
5341         (process_initial_stop_replies, remote_add_thread)
5342         (btrace_sync_conf, remote_btrace_maybe_reopen)
5343         (remove_new_fork_children, kill_new_fork_children)
5344         (discard_pending_stop_replies, stop_reply_queue_length)
5345         (check_pending_events_prevent_wildcard_vcont)
5346         (discard_pending_stop_replies_in_queue, stop_reply)
5347         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5348         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5349         (remote_interrupt_as, remote_interrupt_ns)
5350         (remote_get_noisy_reply, remote_query_attached)
5351         (remote_add_inferior, remote_current_thread, get_current_thread)
5352         (set_thread, set_general_thread, set_continue_thread)
5353         (set_general_process, write_ptid)
5354         (remote_unpack_thread_info_response, remote_get_threadinfo)
5355         (parse_threadlist_response, remote_get_threadlist)
5356         (remote_threadlist_iterator, remote_get_threads_with_ql)
5357         (remote_get_threads_with_qxfer)
5358         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5359         (get_offsets, remote_check_symbols, remote_supported_packet)
5360         (remote_query_supported, remote_packet_size)
5361         (remote_serial_quit_handler, remote_detach_pid)
5362         (remote_vcont_probe, remote_resume_with_hc)
5363         (send_interrupt_sequence, interrupt_query)
5364         (remote_notif_get_pending_events, fetch_register_using_p)
5365         (send_g_packet, process_g_packet, fetch_registers_using_g)
5366         (store_register_using_P, store_registers_using_G)
5367         (set_remote_traceframe, check_binary_download)
5368         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5369         (remote_xfer_live_readonly_partial, remote_read_bytes)
5370         (remote_send_printf, remote_flash_write, readchar)
5371         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5372         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5373         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5374         (extended_remote_disable_randomization, extended_remote_run)
5375         (send_environment_packet, extended_remote_environment_support)
5376         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5377         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5378         (packet_command): Now methods of ...
5379         (remote_target): ... this class.
5380         (m_remote_state) <remote_target>: New field.
5381         (struct remote_state) <stop_reply_queue,
5382         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5383         fields.
5384         (remote_state::remote_state): Allocate stop_reply_queue.
5385         (remote_state): Delete global.
5386         (get_remote_state_raw): Delete.
5387         (remote_target::get_remote_state): Allocate m_remote_state on
5388         demand.
5389         (get_current_remote_target): New.
5390         (remote_ops, extended_remote_ops): Delete.
5391         (wait_forever_enabled_p, remote_async_inferior_event_token):
5392         Delete, moved to struct remote_state.
5393         (remote_target::close): Delete self.  Destruction bits split to
5394         ...
5395         (remote_target::~remote_target): ... this.
5396         (show_memory_packet_size): Adjust to use
5397         get_current_remote_target.
5398         (struct protocol_feature) <func>: Add remote_target parameter.
5399         All callers adjusted.
5400         (curr_quit_handler_target): New.
5401         (remote_serial_quit_handler): Reimplement.
5402         (remote_target::open_1): Adjust to use get_current_remote_target.
5403         Heap-allocate remote_target/extended_remote_target instances.
5404         (vcont_builder::vcont_builder): Add remote_target parameter, and
5405         save it in m_remote.  All callers adjusted.
5406         (vcont_builder::m_remote): New field.
5407         (vcont_builder::restart, vcont_builder::flush)
5408         (vcont_builder::push_action): Use it.
5409         (remote_target::commit_resume): Use it.
5410         (struct queue_iter_param) <remote>: New field.
5411         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5412         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5413         (check_pending_event_prevents_wildcard_vcont_callback)
5414         (remote_target::check_pending_events_prevent_wildcard_vcont)
5415         (remote_target::discard_pending_stop_replies)
5416         (remote_target::discard_pending_stop_replies_in_queue)
5417         (remote_target::remote_notif_remove_queued_reply): Fill in
5418         'remote' field.
5419         (remote_notif_get_pending_events): New.
5420         (remote_target::readchar, remote_target::remote_serial_write):
5421         Save/restore curr_quit_handler_target.
5422         (putpkt): New.
5423         (kill_new_fork_children): Fill in 'remote' field.
5424         (packet_command): Use get_current_remote_target, defer to
5425         remote_target method of same name.
5426         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5427         parameter, and save it in m_remote.  All callers adjusted.
5428         (scoped_remote_fd::release): Use m_remote.
5429         (scoped_remote_fd::m_remote): New field.
5430         (remote_file_put, remote_file_get, remote_file_delete): Use
5431         get_current_remote_target, defer to remote_target method of same
5432         name.
5433         (remote_btrace_reset): Add remote_state paremeter.  Update all
5434         callers.
5435         (remote_async_inferior_event_handler). Pass down 'data'.
5436         (remote_new_objfile): Use get_current_remote_target.
5437         (remote_target::vcont_r_supported): New.
5438         (set_range_stepping): Use get_current_remote_target and
5439         remote_target::vcont_r_supported.
5440         (_initialize_remote): Don't allocate 'remote_state' and
5441         'stop_reply_queue' globals.
5442         * remote.h (struct remote_target): Forward declare.
5443         (getpkt, putpkt, remote_notif_get_pending_events): Add
5444         'remote_target' parameter.
5445
5446 2018-05-22  Pedro Alves  <palves@redhat.com>
5447
5448         * remote.c (vcont_builder): Now a class.  Make all data members
5449         private.
5450         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5451         Declare methods.
5452         (vcont_builder_restart): Rename to ...
5453         (vcont_builder::restart): ... this.
5454         (vcont_builder_flush): Rename to ...
5455         (vcont_builder::flush): ... this.
5456         (vcont_builder_push_action): Rename to ...
5457         (vcont_builder::push_action): ... this.
5458         (remote_target::commit_resume): Adjust.
5459
5460 2018-05-22  Pedro Alves  <palves@redhat.com>
5461
5462         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5463         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5464         (get_fixed_memory_packet_size): New.
5465         (get_memory_packet_size): Use it.
5466         (set_memory_packet_size): Don't override the config size with
5467         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5468         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5469         Don't refer to get_memory_packet_size if not connected to a remote
5470         target.  Show "(default)" if configured size is 0.
5471
5472 2018-05-22  Pedro Alves  <palves@redhat.com>
5473
5474         * remote.c (remote_target::mourn_inferior): Move
5475         discard_pending_stop_replies call here from ...
5476         (_initialize_remote): ... here.
5477
5478 2018-05-22  Pedro Alves  <palves@redhat.com>
5479
5480         * remote.c (compare_section_command): Remove set_general_process
5481         call.
5482
5483 2018-05-22  Pedro Alves  <palves@redhat.com>
5484
5485         * remote.c (struct packet_reg, struct remote_arch_state):
5486         Move higher up in the file.
5487         (remote_state) <m_arch_states>: Store remote_arch_state values
5488         instead of remote_arch_state pointers.
5489         (remote_state::get_remote_arch_state): Adjust.
5490
5491 2018-05-22  Pedro Alves  <palves@redhat.com>
5492
5493         * remote.c: Include <unordered_map>.
5494         (remote_state): Now a class.
5495         (remote_state) <get_remote_arch_state>: Declare method.
5496         <get_remote_arch_state>: New field.
5497         (remote_arch_state) <remote_arch_state>: Declare ctor.
5498         <regs>: Now a unique_ptr.
5499         (remote_gdbarch_data_handle): Delete.
5500         (get_remote_arch_state): Delete.
5501         (remote_state::get_remote_arch_state): New.
5502         (get_remote_state): Adjust to call remote_state's
5503         get_remote_arch_state method.
5504         (init_remote_state): Delete, bits factored out to ...
5505         (remote_arch_state::remote_arch_state): ... this new method.
5506         (get_remote_packet_size, get_memory_packet_size)
5507         (process_g_packet, remote_target::fetch_registers)
5508         (remote_target::prepare_to_store, store_registers_using_G)
5509         (remote_target::store_registers, remote_target::get_trace_status):
5510         Adjust to call remote_state's method.
5511         (_initialize_remote): Remove reference to
5512         remote_gdbarch_data_handle.
5513
5514 2018-05-22  Pedro Alves  <palves@redhat.com>
5515
5516         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5517         pread>: New method declarations.
5518         (remote_target::open_1): Adjust.
5519         (readahead_cache_invalidate): Rename to ...
5520         (readahead_cache::invalidate): ... this, and adjust to be a class
5521         method.
5522         (readahead_cache_invalidate_fd): Rename to ...
5523         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5524         class method.
5525         (remote_hostio_pwrite): Adjust.
5526         (remote_hostio_pread_from_cache): Rename to ...
5527         (readahead_cache::pread): ... this, and adjust to be a class
5528         method.
5529         (remote_hostio_close): Adjust.
5530
5531 2018-05-22  Pedro Alves  <palves@redhat.com>
5532
5533         * remote.c (remote_hostio_close_cleanup): Delete.
5534         (class scoped_remote_fd): New.
5535         (remote_file_put, remote_file_get): Use it.
5536
5537 2018-05-22  Pedro Alves  <palves@redhat.com>
5538
5539         (struct vCont_action_support): Use bool and initialize all fields.
5540         (struct readahead_cache): Initialize all fields.
5541         (remote_state): Use bool and initialize all fields.
5542         (remote_state::remote_state, remote_state::~remote_state): New.
5543         (new_remote_state): Delete.
5544         (_initialize_remote): Use new to allocate remote_state.
5545
5546 2018-05-22  Pedro Alves  <palves@redhat.com>
5547             張俊芝  <zjz@zjz.name>
5548
5549         PR gdb/22973
5550         * c-exp.y: Include "c-support.h".
5551         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5552         of tolower.  Use c_ident_is_alpha to scan names.
5553         * c-lang.c: Include "c-support.h".
5554         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5555         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5556         * c-support.h: New file, with bits factored out from ...
5557         * cp-name-parser.y: ... this file.
5558         Include "c-support.h".
5559         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5560         c-support.h and renamed.
5561         (symbol_end, yylex): Adjust.
5562
5563 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5564
5565         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5566         parameter type to CORE_ADDR.
5567         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5568         parameter type in declaration to CORE_ADDR.
5569         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5570         target_auxv_search to get AT_HWCAP and use the result to get the
5571         target description.
5572         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5573         to CORE_ADDR. Remove the cast of the return value to unsigned
5574         long. Fix error predicate of target_auxv_search.
5575         (ppc_linux_nat_target::read_description): Change the type of the
5576         hwcap variable to CORE_ADDR.
5577
5578 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5579
5580         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5581         if the size of fpscr is larger than 32 bits.
5582
5583 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5584
5585         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5586         (ppc32_linux_vsxregmap): New global.
5587         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5588         regcache_supply_regset, and regcache_collect_regset.
5589         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5590         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5591         (fetch_vsx_register, store_vsx_register): Remove.
5592         (fetch_vsx_registers): Add regno parameter. Get regset using
5593         ppc_linux_vsxregset. Use regset to supply registers.
5594         (store_vsx_registers): Add regno parameter. Get regset using
5595         ppc_linux_vsxregset. Use regset to collect registers.
5596         (fetch_register): Call fetch_vsx_registers instead of
5597         fetch_vsx_register.
5598         (store_register): Call store_vsx_registers instead of
5599         store_vsx_register.
5600         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5601         new regno parameter.
5602         (store_ppc_registers): Call store_vsx_registers with -1 for the
5603         new regno parameter.
5604         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5605         (ppc_collect_vsxregset): Remove.
5606
5607 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5608
5609         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5610         offset fields.
5611         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5612         for vector register offset fields.
5613         (ppc64_fbsd_reg_offsets): Likewise.
5614         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5615         to vector register offset fields.
5616         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5617         to vector register offset fields.
5618         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5619         vector register offset fields.
5620         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5621         initializers for vector register offset fields.
5622         (rs6000_aix64_reg_offsets): Likewise.
5623         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5624         (ppc_supply_vrregset): Remove.
5625         (ppc_collect_vrregset): Remove.
5626         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5627         (ppc_linux_vrregset) : New function.
5628         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5629         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5630         (ppc32_linux_vrregset): Remove.
5631         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5632         and use result instead of ppc32_linux_vrregset.
5633         (ppc32_linux_reg_offsets): Remove initializers for vector register
5634         offset fields.
5635         (ppc64_linux_reg_offsets): Likewise.
5636         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5637         * ppc-linux-nat.c: Include regset.h.
5638         (gdb_vrregset_t): Adjust comment to account for little-endian
5639         mode.
5640         (supply_vrregset, fill_vrregset): Remove.
5641         (fetch_altivec_register, store_altivec_register): Remove.
5642         (fetch_altivec_registers): Add regno parameter. Get regset using
5643         ppc_linux_vrregset. Use regset to supply registers.
5644         (store_altivec_registers): Add regno parameter. Get regset using
5645         ppc_linux_vrregset. Use regset to collect registers.
5646         (fetch_register): Call fetch_altivec_registers instead of
5647         fetch_altivec_register.
5648         (store_register): Call store_altivec_registers instead of
5649         store_altivec_register.
5650         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5651         the new regno parameter.
5652         (store_ppc_registers): Call store_altivec_registers with -1 for
5653         the new regno parameter.
5654
5655 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5656
5657         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5658         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5659         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5660         (gdb_vrregset_t): Change array type size to
5661         PPC_LINUX_SIZEOF_VRREGSET.
5662         (gdb_vsxregset_t): Change array type size to
5663         PPC_LINUX_SIZEOF_VSXREGSET.
5664         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5665         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5666         PPC_LINUX_SIZEOF_VSXREGSET.
5667
5668 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5669
5670         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5671         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5672         nat/ppc-linux.c.
5673         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5674         ppc_linux_target_wordsize with tid.
5675         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5676         wordsize with tid.
5677         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5678         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5679         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5680         tid parameter. Remove static specifier.
5681         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5682         (ppc_linux_target_wordsize): New declaration.
5683
5684 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5685
5686         * arch/ppc-linux-common.c: New file.
5687         * arch/ppc-linux-common.h: New file.
5688         * arch/ppc-linux-tdesc.h: New file.
5689         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5690         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5691         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5692         arch/ppc-linux-tdesc.h.
5693         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5694         arch/ppc-linux-tdesc.h.
5695         (ppc_linux_nat_target::read_description): Remove target
5696         description matching code. Fill a ppc_linux_features struct and
5697         call ppc_linux_match_description with it. Move comment about ISA
5698         2.05 to ppc-linux-common.c.
5699         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5700         arch/ppc-linux-tdesc.h.
5701         (ppc_linux_core_read_description): Remove target description
5702         matching code. Fill a ppc_linux_features struct and call
5703         ppc_linux_match_description with it.
5704         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5705         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5706         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5707         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5708         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5709         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5710         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5711         (tdesc_powerpc_e500l): Remove.
5712
5713 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5714
5715         * ada-lang.c (catch_assert_command): Pass empty string instead
5716         of NULL for excep_string argument.
5717
5718 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5719
5720         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5721         the width of the requested register exceeds the width of the
5722         `ptrace' data type.
5723
5724 2018-05-21  Tom Tromey  <tom@tromey.com>
5725
5726         * printcmd.c (output_command): Remove.
5727         (output_command_const): Rename to output_command.
5728         * valprint.h (output_command): Rename from output_command_const.
5729         * tracepoint.c (trace_dump_actions): Call output_command.
5730
5731 2018-05-21  Tom Tromey  <tom@tromey.com>
5732
5733         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5734         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5735         * ada-lang.h (create_ada_exception_catchpoint): Update.
5736         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5737         std::string.
5738         (create_excep_cond_exprs, ~ada_catchpoint)
5739         (should_stop_exception, print_one_exception)
5740         (print_mention_exception, print_recreate_exception): Update.
5741         (ada_get_next_arg): Remove.
5742         (catch_ada_exception_command_split): Use std::string.  Change type
5743         of "excep_string", "cond_string".
5744         (catch_ada_exception_command): Update.
5745         (create_ada_exception_catchpoint): Change type of excep_string.
5746         (ada_exception_sal): Remove excep_string parameter.
5747         (~ada_catchpoint): Remove.
5748
5749 2018-05-21  Tom Tromey  <tom@tromey.com>
5750
5751         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5752         cleanup.
5753
5754 2018-05-21  Tom Tromey  <tom@tromey.com>
5755
5756         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5757         Return unique_xmalloc_ptr.
5758         (print_it_exception): Update.
5759
5760 2018-05-21  Tom Tromey  <tom@tromey.com>
5761
5762         * tracepoint.c (trace_dump_actions): Use std::string.
5763
5764 2018-05-21  Tom Tromey  <tom@tromey.com>
5765
5766         * symfile.c (reread_symbols): Use std::string for original_name.
5767
5768 2018-05-21  Tom Tromey  <tom@tromey.com>
5769
5770         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5771         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5772         constructor.
5773
5774 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5775
5776         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5777         instance to...
5778         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5779         * objfiles.c (get_objfile_bfd_data): Allocate
5780         objfile_per_bfd_storage with obstack_new when allocating on
5781         obstack.
5782
5783 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5784
5785         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5786         OBSTACK_ZALLOC.
5787         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5788         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5789         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5790         (add_pending): Likewise.
5791         (parse_symbol): Likewise.
5792         (parse_partial_symbols): Likewise.
5793         (psymtab_to_symtab_1): Likewise.
5794         (new_psymtab): Likewise.
5795         (elfmdebug_build_psymtabs): Likewise.
5796         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5797         * objfiles.c (get_objfile_bfd_data): Likewise.
5798         (objfile_register_static_link): Likewise.
5799         * psymtab.c (allocate_psymtab): Likewise.
5800         * stabsread.c (read_member_functions): Likewise.
5801         * xcoffread.c (xcoff_end_psymtab): Likewise.
5802
5803 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5804
5805         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5806         compiler supports std::is_trivially_constructible.
5807         * common/poison.h: Include obstack.h.
5808         (IsMallocable): Define to is_trivially_constructible if the
5809         compiler supports it, define to true_type otherwise.
5810         (xobnew): New.
5811         (XOBNEW): Redefine.
5812         (xobnewvec): New.
5813         (XOBNEWVEC): Redefine.
5814         * gdb_obstack.h (obstack_zalloc): New.
5815         (OBSTACK_ZALLOC): Redefine.
5816         (obstack_calloc): New.
5817         (OBSTACK_CALLOC): Redefine.
5818         (obstack_new): New.
5819         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5820         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5821         gdbarch.c.
5822         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5823         obstack_calloc/obstack_zalloc.
5824         (gdbarch_obstack_zalloc): Remove.
5825         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5826
5827 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5828
5829         * stack.c (backtrace_command_1): Remove useless variable int i.
5830
5831 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5832
5833         * stack.c (print_frame_info): Fix comment.
5834
5835 2018-05-18  Tom Tromey  <tom@tromey.com>
5836
5837         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5838         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5839         (~dwarf2_per_objfile): Update
5840         (dwarf2_get_dwz_file): Use new.
5841         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5842         unique_ptr.
5843
5844 2018-05-18  Tom Tromey  <tom@tromey.com>
5845
5846         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5847         unique_ptr.
5848         * dwarf2read.c (struct dwp_file): Add constructor and
5849         initializers.
5850         (open_and_init_dwp_file): Return a unique_ptr.
5851         (dwarf2_per_objfile, create_dwp_hash_table)
5852         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5853         (lookup_dwo_unit_in_dwp): Update.
5854         (open_and_init_dwp_file, get_dwp_file): Update.
5855
5856 2018-05-18  Tom Tromey  <tom@tromey.com>
5857
5858         * dwarf2read.c (dwarf2_per_objfile): Update.
5859         (struct mapped_index): Add initializers.
5860         (dwarf2_read_index): Use new.
5861         (dw2_symtab_iter_init): Update.
5862         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5863         unique_ptr.
5864
5865 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5866
5867         * dwarf2read.c (mapped_index) <total_size>: Remove.
5868
5869 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5870
5871         * unittests/format_pieces-selftests.c (test_format_specifier):
5872         Add ARI comments.
5873
5874 2018-05-18  Tom Tromey  <tom@tromey.com>
5875
5876         * c-typeprint.c (maybe_print_hole): New function.
5877         (c_print_type_struct_field_offset): Update.
5878         (c_type_print_base_struct_union): Call maybe_print_hole.
5879
5880 2018-05-17  Keith Seitz  <keiths@redhat.com>
5881
5882         * breakpoint.c (build_bpstat_chain): New function, moved from
5883         bpstat_stop_status.
5884         (bpstat_stop_status): Add optional parameter, `stop_chain'.
5885         If no stop chain is passed, call build_bpstat_chain to build it.
5886         * breakpoint.h (build_bpstat_chain): Declare.
5887         (bpstat_stop_status): Move documentation here from breakpoint.c.
5888         * infrun.c (handle_signal_stop): Before eliding inlined frames,
5889         build the stop chain and pass it to skip_inline_frames.
5890         Pass this stop chain to bpstat_stop_status.
5891         * inline-frame.c: Include breakpoint.h.
5892         (stopped_by_user_bp_inline_frame): New function.
5893         (skip_inline_frames): Add parameter `stop_chain'.
5894         Move documention to inline-frame.h.
5895         If non-NULL, use stopped_by_user_bp_inline_frame to determine
5896         whether the frame should be elided.
5897         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
5898         Add moved documentation and update for new parameter.
5899
5900 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5901
5902         PR cli/14975
5903         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5904         unittests/format_pieces-selftests.c.
5905         * common/format.h (format_piece) <operator==>: New.
5906         (format_pieces) <operator[]>: Remove.
5907         * common/format.c (format_pieces::format_pieces): Handle \e.
5908         * unittests/format_pieces-selftests.c: New.
5909
5910 2018-05-17  Tom Tromey  <tom@tromey.com>
5911
5912         PR symtab/23010:
5913         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5914         (dw2_instantiate_symtab): Add skip_partial parameter.
5915         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5916         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5917         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5918         (dw2_expand_symtabs_matching_one)
5919         (dw2_find_pc_sect_compunit_symtab)
5920         (dw2_debug_names_lookup_symbol)
5921         (dw2_debug_names_expand_symtabs_for_function): Update.
5922         (init_cutu_and_read_dies): Add skip_partial parameter.
5923         (process_psymtab_comp_unit, build_type_psymtabs_1)
5924         (process_skeletonless_type_unit, load_partial_comp_unit)
5925         (psymtab_to_symtab_1): Update.
5926         (load_full_comp_unit): Add skip_partial parameter.
5927         (process_imported_unit_die, dwarf2_read_addr_index)
5928         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5929         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5930         (read_signatured_type): Update.
5931
5932 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5933
5934         * value.c (release_value): Remove unused variable.
5935         (record_latest_value): Likewise.
5936         (access_value_history): Likewise.
5937         (preserve_values): Likewise.
5938
5939 2018-05-17  Tom Tromey  <tom@tromey.com>
5940
5941         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5942         Initialize.
5943
5944 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5945
5946         PR gdb/22286
5947         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5948         Also handle registers whose width is not a multiple of
5949         PTRACE_TYPE_RET.
5950         (linux_nat_trad_target::store_register): Likewise.
5951
5952 2018-05-16  Tom Tromey  <tom@tromey.com>
5953
5954         * gdbcore.h (core_bfd): Redefine.
5955         * corelow.c (core_target::close): Update.
5956         (core_target_open): Update.
5957         * progspace.h (struct program_space) <cbfd>: Now a
5958         gdb_bfd_ref_ptr.
5959
5960 2018-05-16  Tom Tromey  <tom@tromey.com>
5961
5962         PR cli/19551:
5963         * symfile-add-flags.h (enum symfile_add_flags)
5964         <SYMFILE_NOT_FILENAME>: New constant.
5965         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5966         objfile name from BFD.
5967         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5968         * minidebug.c (find_separate_debug_file_in_section): Put
5969         ".gnu_debugdata" into BFD's file name.
5970
5971 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5972
5973         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5974         Remove.
5975
5976 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5977
5978         PR binutils/21446
5979         * aarch64-tdep.c (aarch64_analyze_prologue,
5980         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5981         Indicate not interested in errors.
5982
5983 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5984
5985         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5986         Supply the MIPS_ZERO_REGNUM register.
5987
5988 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5989
5990         * mips-tdep.c (mask_address_var): Make variable static.
5991
5992 2018-05-14  Tom Tromey  <tom@tromey.com>
5993
5994         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5995
5996 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5997
5998         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5999         FXSAVE_ADDR for the mxcsr register.
6000
6001 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6002
6003         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6004
6005 2018-05-11  Pedro Alves  <palves@redhat.com>
6006
6007         * corelow.c (core_target) <core_target>: No longer inline.
6008         Initialize m_core_gdbarch, m_core_vec and build the section table
6009         here.
6010         <~core_target>: New.
6011         <core_gdbarch, get_core_register_section>: New methods.
6012         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6013         factored out from ...
6014         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6015         (core_ops): Delete.
6016         (sniff_core_bfd): Add gdbarch parameter.
6017         (core_close): Delete, merged into ...
6018         (core_target::close): ... here.  Delete self.
6019         (core_close_cleanup): Delete.
6020         (core_target_open): Allocate a core_target on the heap.  Use a
6021         unique_ptr instead of a cleanup.  Bits moved into the core_target
6022         ctor.  Adjust to use core_target methods instead of globals.
6023         (get_core_register_section): Rename to ...
6024         (core_target::get_core_register_section): ... this and adjust.
6025         (struct get_core_registers_cb_data): New.
6026         (get_core_registers_cb): Use it.  Use bool.
6027         (core_target::fetch_registers, core_target::files_info)
6028         (core_target::xfer_partial, core_target::read_description)
6029         (core_target::pid_to, core_target::thread_name): Adjust to
6030         reference class fields instead of globals.
6031         * target.h (struct target_ops_deleter, target_ops_up): New.
6032
6033 2018-05-11  Pedro Alves  <palves@redhat.com>
6034
6035         * corefile.c (core_file_command): Move to corelow.c.
6036         * corelow.c (the_core_target): Delete.
6037         (core_file_command): Moved from corefile.c.  Check exec_bfd
6038         instead of the_core_target.  Use target_detach instead of calling
6039         into the_core_target directly.
6040         (maybe_say_no_core_file_now): New.
6041         (core_target::detach): Use it.
6042         (_initialize_corelow): Remove references to the_core_target.
6043         * gdbcore.h (the_core_target): Delete.
6044
6045 2018-05-11  Tom Tromey  <tromey@redhat.com>
6046             Pedro Alves  <palves@redhat.com>
6047
6048         * corefile.c (core_bfd): Remove.
6049         * gdbcore.h (core_bfd): Now a macro.
6050         * progspace.h (struct program_space) <cbfd>: New field.
6051
6052 2018-05-11  Tom Tromey  <tom@tromey.com>
6053
6054         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6055         gdb::def_vector.
6056
6057 2018-05-10  Tom Tromey  <tom@tromey.com>
6058
6059         * configure: Rebuild.
6060         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6061
6062 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6063
6064         PR server/23158:
6065         * regformats/regdat.sh: Adjust script, following the addition
6066         of the new expedite_regs parameter to init_target_desc.
6067
6068 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6069     
6070         PR gdb/23127
6071         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
6072         set_gdbarch_significant_addr_bit.
6073         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
6074         set_gdbarch_significant_addr_bit.
6075         * utils.c (address_significant): Update to sign extend addr.
6076
6077 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
6078
6079         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
6080         (xtensa_linux_init_abi): Limit tdep->num_regs by
6081         tdep->num_nopriv_regs.
6082         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
6083         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
6084         not initialized.
6085
6086 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6087
6088         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6089
6090 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6091
6092         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6093         (I387_MXCSR_INIT_VAL): New constant.
6094         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6095         buffer if it was supplied by the inferior.
6096         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6097         (i387_xsave_get_clear_bv): New function.
6098         (i387_supply_xsave): Only read x87 control registers from the
6099         xsave buffer if the feature is enabled, and the state will have
6100         been written, otherwise, provide a suitable default.
6101         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6102         including x87 control registers.  Update control registers if they
6103         have changed from the default value, and mark features as enabled
6104         as required.
6105         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6106
6107 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6108
6109         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6110
6111 2018-05-07  Tom Tromey  <tom@tromey.com>
6112
6113         * configure: Rebuild.
6114         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6115
6116 2018-05-07  Tom Tromey  <tom@tromey.com>
6117
6118         PR tdep/20362:
6119         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6120         bit.  Use correct value for VDIV.
6121
6122 2018-05-04  Tom Tromey  <tom@tromey.com>
6123
6124         * configure: Rebuild.
6125         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6126
6127 2018-05-04  Tom Tromey  <tom@tromey.com>
6128
6129         * linux-record.c (record_linux_system_call) <case
6130         RECORD_SYS_RECVFROM>: Add "break".
6131
6132 2018-05-04  Tom Tromey  <tom@tromey.com>
6133
6134         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6135         Add missing "break".
6136         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6137         Add missing "break".
6138
6139 2018-05-04  Tom Tromey  <tom@tromey.com>
6140
6141         * rs6000-tdep.c (ppc_process_record_op4)
6142         (ppc_process_record_op63): Add fall-through comment.
6143
6144 2018-05-04  Tom Tromey  <tom@tromey.com>
6145
6146         * i386-tdep.c (i386_process_record): Add fall-through comment.
6147
6148 2018-05-04  Tom Tromey  <tom@tromey.com>
6149
6150         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6151         comment.
6152
6153 2018-05-04  Tom Tromey  <tom@tromey.com>
6154
6155         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6156         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6157         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6158         comment.
6159         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6160         comment.
6161         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6162         comment.
6163
6164 2018-05-04  Tom Tromey  <tom@tromey.com>
6165
6166         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6167
6168 2018-05-04  Tom Tromey  <tom@tromey.com>
6169
6170         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6171         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6172         * symfile.c (section_is_mapped): Fix fall-through comment.
6173         * stabsread.c (define_symbol, read_member_functions): Fix
6174         fall-through comment.
6175         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6176         comment.
6177         * remote.c (remote_wait_as): Fix fall-through comment.
6178         * p-exp.y (yylex): Fix fall-through comment.
6179         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6180         comment.
6181         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6182         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6183         * jv-exp.y (yylex): Fix fall-through comment.
6184         * go-exp.y (lex_one_token): Fix fall-through comment.
6185         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6186         fall-through comment.
6187         * f-exp.y (yylex): Fix fall-through comment.
6188         * dwarf2read.c (process_die): Fix fall-through comments.
6189         * dbxread.c (process_one_symbol): Fix fall-through comment.
6190         * d-exp.y (lex_one_token): Fix fall-through comment.
6191         * cp-name-parser.y (yylex): Fix fall-through comment.
6192         * coffread.c (coff_symtab_read): Fix fall-through comment.
6193         * c-exp.y (lex_one_token): Fix fall-through comment.
6194         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6195         comment.
6196         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6197         comment.
6198
6199 2018-05-04  Tom Tromey  <tom@tromey.com>
6200
6201         PR python/22730:
6202         * NEWS: Mention gdb.execute change.
6203         * gdbcmd.h (execute_control_command): Don't declare.
6204         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6205         execute_control_commands, execute_control_commands_to_string.
6206         * cli/cli-script.h (execute_control_commands)
6207         (execute_control_commands_to_string): Declare.
6208         (execute_control_command): Add from_tty parameter.
6209         * cli/cli-script.c (execute_control_commands)
6210         (execute_control_commands_to_string): New functions.
6211         (execute_user_command): Use execute_control_commands.
6212         (execute_control_command_1): Add "from_tty" parameter.  Update.
6213         (execute_control_command): Likewise.
6214
6215 2018-05-04  Tom Tromey  <tom@tromey.com>
6216
6217         PR python/22731:
6218         * NEWS: Mention that breakpoint commands are writable.
6219         * python/py-breakpoint.c (bppy_set_commands): New function.
6220         (breakpoint_object_getset) <"commands">: Use it.
6221
6222 2018-05-04  Tom Tromey  <tom@tromey.com>
6223
6224         * tracepoint.c (actions_command): Update.
6225         * mi/mi-cmd-break.c (mi_command_line_array)
6226         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6227         (mi_read_next_line): Remove.
6228         (mi_cmd_break_commands): Update.
6229         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6230         function_view.
6231         * cli/cli-script.c (get_command_line): Update.
6232         (process_next_line): Use function_view.  Constify.
6233         (recurse_read_control_structure, read_command_lines)
6234         (read_command_lines_1): Change argument types to function_view.
6235         (do_define_command, document_command): Update.
6236         * breakpoint.h (check_tracepoint_command): Don't declare.
6237         * breakpoint.c (check_tracepoint_command): Remove.
6238         (commands_command_1, create_tracepoint_from_upload): Update.
6239
6240 2018-05-04  Tom Tromey  <tom@tromey.com>
6241
6242         PR gdb/11750:
6243         * cli/cli-script.h (enum command_control_type) <define_control>:
6244         New constant.
6245         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6246         (build_command_line, execute_control_command_1)
6247         (process_next_line): Likewise.
6248         (do_define_command): New function, extracted from define_command.
6249         (define_command): Use it.
6250
6251 2018-05-04  Tom Tromey  <tom@tromey.com>
6252
6253         * tracepoint.c (actions_command): Update.
6254         * cli/cli-script.h (read_command_lines): Update.
6255         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6256         (MAX_TMPBUF): Remove define.
6257         (define_command): Use string_printf.
6258         (document_command): Likewise.
6259         * breakpoint.c (commands_command_1): Update.
6260
6261 2018-05-04  Tom Tromey  <tom@tromey.com>
6262
6263         * top.c (execute_command): Update.
6264         * cli/cli-script.h (print_command_lines): Now varargs.
6265         * cli/cli-script.c (print_command_lines): Now varargs.
6266         (execute_control_command_1) <case while_control, case if_control>:
6267         Update.
6268
6269 2018-05-04  Tom Tromey  <tom@tromey.com>
6270
6271         * tracepoint.c (all_tracepoint_actions): Rename from
6272         all_tracepoint_actions_and_cleanup.  Change return type.
6273         (actions_command, encode_actions_1, encode_actions)
6274         (trace_dump_actions, tdump_command): Update.
6275         * remote.c (remote_download_command_source): Update.
6276         * python/python.c (gdbpy_eval_from_control_command)
6277         (python_command, python_interactive_command): Update.
6278         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6279         * guile/guile.c (guile_command)
6280         (gdbscm_eval_from_control_command, guile_command): Update.
6281         * compile/compile.c (compile_code_command)
6282         (compile_print_command, compile_to_object): Update.
6283         * cli/cli-script.h (struct command_lines_deleter): New.
6284         (counted_command_line): New typedef.
6285         (struct command_line): Add constructor, destructor.
6286         <body_list>: Remove.
6287         <body_list_0, body_list_1>: New members.
6288         (command_line_up): Remove typedef.
6289         (read_command_lines, read_command_lines_1, get_command_line):
6290         Update.
6291         (copy_command_lines): Don't declare.
6292         * cli/cli-script.c (build_command_line): Use "new".
6293         (get_command_line): Return counted_command_line.
6294         (print_command_lines, execute_user_command)
6295         (execute_control_command_1, while_command, if_command): Update.
6296         (realloc_body_list): Remove.
6297         (process_next_line, recurse_read_control_structure): Update.
6298         (read_command_lines, read_command_lines_1): Return counted_command_line.
6299         (free_command_lines): Use "delete".
6300         (copy_command_lines): Remove.
6301         (define_command, document_command, show_user_1): Update.
6302         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6303         a counted_command_line.
6304         * breakpoint.h (counted_command_line): Remove typedef.
6305         (breakpoint_set_commands): Update.
6306         * breakpoint.c (check_no_tracepoint_commands)
6307         (validate_commands_for_breakpoint): Update.
6308         (breakpoint_set_commands): Change commands to be a
6309         counted_command_line.
6310         (commands_command_1, update_dprintf_command_list)
6311         (create_tracepoint_from_upload): Update.
6312
6313 2018-05-04  Tom Tromey  <tom@tromey.com>
6314
6315         * cli/cli-decode.h (cmd_list_element): New constructor.
6316         (~cmd_list_element): New destructor.
6317         (struct cmd_list_element): Add initializers.
6318         * cli/cli-decode.c (do_add_cmd): Use "new".
6319         (delete_cmd): Use "delete".
6320
6321 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6322             Pedro Alves <palves@redhat.com>
6323
6324         PR breakpoints/19806 and support for PR external/20207.
6325         * NEWS: Mention Aarch64 watchpoint improvements.
6326         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6327         watchpoints and PR external/20207 watchpoints.
6328         * nat/aarch64-linux-hw-point.c
6329         (kernel_supports_any_contiguous_range): New.
6330         (aarch64_watchpoint_offset): New.
6331         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6332         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6333         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6334         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6335         next_addr_orig_p.  Support PR external/20207 watchpoints.
6336         (aarch64_downgrade_regs): New.
6337         (aarch64_dr_state_insert_one_point): New parameters offset and
6338         addr_orig.
6339         (aarch64_dr_state_remove_one_point): Likewise.
6340         (aarch64_handle_breakpoint): Update caller.
6341         (aarch64_handle_aligned_watchpoint): Likewise.
6342         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6343         aligned_offset.
6344         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6345         aarch64_downgrade_regs.
6346         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6347         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6348         (DR_CONTROL_MASK): ... this.
6349         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6350         (unsigned int aarch64_watchpoint_offset): New prototype.
6351         (aarch64_linux_set_debug_regs): Remove const from state.
6352         * utils.c (align_up, align_down): Move to ...
6353         * common/common-utils.c (align_up, align_down): ... here.
6354         * utils.h (align_up, align_down): Move to ...
6355         * common/common-utils.h (align_up, align_down): ... here.
6356
6357 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6358
6359         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6360         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6361         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6362         Re-implement to match the ABI as summarized in GCC's
6363         gcc/config/sparc/sparc.c.  All callers updated.
6364         (sparc32_store_arguments): Remove assertion.
6365
6366 2018-05-04  Tom Tromey  <tom@tromey.com>
6367
6368         * printcmd.c: Don't include tui.h.
6369         (decode_format): Use skip_spaces.
6370
6371 2018-05-04  Tom Tromey  <tom@tromey.com>
6372
6373         PR gdb/22619:
6374         * printcmd.c (last_count): New global.
6375         (x_command): Use saved count when repeating.
6376
6377 2018-05-04  Tom Tromey  <tom@tromey.com>
6378
6379         * nto-procfs.c (do_closedir_cleanup): Remove.
6380         (procfs_pidlist): Use gdb_dir_up.
6381         * procfs.c (do_closedir_cleanup): Remove.
6382         (proc_update_threads): Use gdb_dir_up.
6383         * common/filestuff.h (struct gdb_dir_deleter): New.
6384         (gdb_dir_up): New typedef.
6385
6386 2018-05-04  Tom Tromey  <tom@tromey.com>
6387
6388         * ada-lang.c (print_mention_exception): Use std::string.
6389
6390 2018-05-04  Tom Tromey  <tom@tromey.com>
6391
6392         * ada-lang.c (create_excep_cond_exprs): Update.
6393         (ada_exception_catchpoint_cond_string): Use std::string.
6394
6395 2018-05-04  Tom Tromey  <tom@tromey.com>
6396
6397         * ada-lang.c (xget_renaming_scope): Return std::string.
6398         (old_renaming_is_invisible): Update.
6399
6400 2018-05-04  Tom Tromey  <tom@tromey.com>
6401
6402         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6403         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6404
6405 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6406
6407         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6408
6409 2018-05-04  Tom Tromey  <tom@tromey.com>
6410
6411         * remote.c (remote_query_supported_append): Change type.
6412         (remote_check_symbols): Update.
6413
6414 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6415
6416         PR gdb/11420
6417         * configure.ac: Prepend libpython.
6418         * python/python-config.py: Likewise.
6419         * configure: Regenerate.
6420
6421 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6422
6423         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6424
6425 2018-05-03  Pedro Alves  <palves@redhat.com>
6426
6427         * s390-linux-nat.c
6428         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6429         override.  Write 'true' instead of '1'.
6430         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6431         declaration.
6432
6433 2018-05-02  Pedro Alves  <palves@redhat.com>
6434
6435         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6436         add_inf_child_target.
6437         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6438         add_inf_child_target.
6439         * aix-thread.c (aix_thread_target_info): New.
6440         (aix_thread_target) <shortname, longname, doc>: Delete.
6441         <info>: New.
6442         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6443         add_inf_child_target.
6444         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6445         add_inf_child_target.
6446         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6447         add_inf_child_target.
6448         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6449         add_inf_child_target.
6450         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6451         add_inf_child_target.
6452         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6453         add_inf_child_target.
6454         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6455         add_inf_child_target.
6456         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6457         add_inf_child_target.
6458         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6459         add_inf_child_target.
6460         * bfd-target.c (target_bfd_target_info): New.
6461         (target_bfd) <shortname, longname, doc>: Delete.
6462         <info>: New.
6463         * bsd-kvm.c (bsd_kvm_target_info): New.
6464         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6465         <info>: New.
6466         (bsd_kvm_target::open): Rename to ...
6467         (bsd_kvm_target_open): ... this.  Adjust.
6468         * bsd-uthread.c (bsd_uthread_target_info): New.
6469         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6470         <info>: New.
6471         * corefile.c (core_file_command): Adjust.
6472         * corelow.c (core_target_info): New.
6473         (core_target) <shortname, longname, doc>: Delete.
6474         <info>: New.
6475         (core_target::open): Rename to ...
6476         (core_target_open): ... this.  Adjust.
6477         * ctf.c (ctf_target_info): New.
6478         (ctf_target) <shortname, longname, doc>: Delete.
6479         <info>: New.
6480         (ctf_target::open): Rename to ...
6481         (ctf_target_open): ... this.
6482         (_initialize_ctf): Adjust.
6483         * exec.c (exec_target_info): New.
6484         (exec_target) <shortname, longname, doc>: Delete.
6485         <info>: New.
6486         (exec_target::open): Rename to ...
6487         (exec_target_open): ... this.
6488         * gdbcore.h (core_target_open): Declare.
6489         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6490         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6491         add_inf_child_target.
6492         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6493         add_inf_child_target.
6494         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6495         add_inf_child_target.
6496         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6497         add_inf_child_target.
6498         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6499         add_inf_child_target.
6500         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6501         add_inf_child_target.
6502         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6503         add_inf_child_target.
6504         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6505         add_inf_child_target.
6506         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6507         add_inf_child_target.
6508         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6509         add_inf_child_target.
6510         * inf-child.c (inf_child_target_info): New.
6511         (inf_child_target::info): New.
6512         (inf_child_open_target): Remove 'target' parameter.  Use
6513         get_native_target instead.
6514         (inf_child_target::open): Delete.
6515         (add_inf_child_target): New.
6516         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6517         Delete.
6518         <info>: New.
6519         (add_inf_child_target): Declare.
6520         (inf_child_open_target): Declare.
6521         * linux-thread-db.c (thread_db_target_info): New.
6522         (thread_db_target) <shortname, longname, doc>: Delete.
6523         <info>: New.
6524         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6525         add_inf_child_target.
6526         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6527         add_inf_child_target.
6528         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6529         add_inf_child_target.
6530         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6531         add_inf_child_target.
6532         * make-target-delegates (print_class): Adjust.
6533         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6534         add_inf_child_target.
6535         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6536         add_inf_child_target.
6537         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6538         add_inf_child_target.
6539         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6540         add_inf_child_target.
6541         * nto-procfs.c (nto_native_target_info): New.
6542         (nto_procfs_target_native) <shortname, longname, doc>:
6543         Delete.
6544         <info>: New.
6545         (nto_procfs_target_info): New.
6546         (nto_procfs_target_procfs) <shortname, longname, doc>:
6547         Delete.
6548         <info>: New.
6549         (init_procfs_targets): Adjust.
6550         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6551         add_inf_child_target.
6552         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6553         add_inf_child_target.
6554         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6555         add_inf_child_target.
6556         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6557         add_inf_child_target.
6558         * ravenscar-thread.c (ravenscar_target_info): New.
6559         (ravenscar_thread_target) <shortname, longname, doc>:
6560         Delete.
6561         <info>: New.
6562         * record-btrace.c (record_btrace_target_info):
6563         (record_btrace_target) <shortname, longname, doc>: Delete.
6564         <info>: New.
6565         (record_btrace_target::open): Rename to ...
6566         (record_btrace_target_open): ... this.  Adjust.
6567         * record-full.c (record_longname, record_doc): New.
6568         (record_full_base_target) <shortname, longname, doc>: Delete.
6569         <info>: New.
6570         (record_full_target_info): New.
6571         (record_full_target): <shortname>: Delete.
6572         <info>: New.
6573         (record_full_core_open_1, record_full_open_1): Update comments.
6574         (record_full_base_target::open): Rename to ...
6575         (record_full_open): ... this.
6576         (cmd_record_full_restore): Update.
6577         (_initialize_record_full): Update.
6578         * remote-sim.c (remote_sim_target_info): New.
6579         (gdbsim_target) <shortname, longname, doc>: Delete.
6580         <info>: New.
6581         (gdbsim_target::open): Rename to ...
6582         (gdbsim_target_open): ... this.
6583         (_initialize_remote_sim): Adjust.
6584         * remote.c (remote_doc): New.
6585         (remote_target_info): New.
6586         (remote_target) <shortname, longname, doc>: Delete.
6587         <info>: New.
6588         (extended_remote_target_info): New.
6589         (extended_remote_target) <shortname, longname, doc>: Delete.
6590         <info>: New.
6591         (remote_target::open_1): Make static.  Adjust.
6592         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6593         * s390-linux-nat.c (_initialize_s390_nat): Use
6594         add_inf_child_target.
6595         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6596         add_inf_child_target.
6597         * sol-thread.c (thread_db_target_info): New.
6598         (sol_thread_target) <shortname, longname, doc>: Delete.
6599         <info>: New.
6600         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6601         add_inf_child_target.
6602         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6603         add_inf_child_target.
6604         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6605         add_inf_child_target.
6606         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6607         add_inf_child_target.
6608         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6609         add_inf_child_target.
6610         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6611         add_inf_child_target.
6612         * spu-linux-nat.c (_initialize_spu_nat): Use
6613         add_inf_child_target.
6614         * spu-multiarch.c (spu_multiarch_target_info): New.
6615         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6616         <info>: New.
6617         * target-delegates.c: Regenerate.
6618         * target.c: Include <unordered_map>.
6619         (target_ops_p): Delete.
6620         (DEF_VEC_P(target_ops_p)): Delete.
6621         (target_factories): New.
6622         (test_target_info): New.
6623         (test_target_ops::info): New.
6624         (open_target): Adjust to use target_factories.
6625         (add_target_with_completer): Rename to ...
6626         (add_target): ... this.  Change prototype.  Register target_info
6627         and open callback in target_factories.  Register target_info in
6628         command context instead of target_ops.
6629         (add_target): Delete old implementation.
6630         (add_deprecated_target_alias): Change prototype.  Adjust.
6631         (the_native_target): New.
6632         (set_native_target, get_native_target): New.
6633         (find_default_run_target): Use the_native_target.
6634         (find_attach_target, find_run_target): Simplify.
6635         (target_ops::open): Delete.
6636         (dummy_target_info): New.
6637         (dummy_target::shortname, dummy_target::longname)
6638         (dummy_target::doc): Delete.
6639         (dummy_target::info): New.
6640         (debug_target::shortname, debug_target::longname)
6641         (debug_target::doc): Delete.
6642         (debug_target::info): New.
6643         * target.h (struct target_info): New.
6644         (target_ops::~target_ops): Add comment.
6645         (target_ops::info): New.
6646         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6647         longer virtual.  Implement in terms of target_info.
6648         (set_native_target, get_native_target): Declare.
6649         (target_open_ftype): New.
6650         (add_target, add_target_with_completer)
6651         (add_deprecated_target_alias): Change prototype.
6652         (test_target) <shortname, longname, doc>: Delete.
6653         <info>: New.
6654         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6655         add_inf_child_target.
6656         * tracefile-tfile.c (tfile_target_info): New.
6657         (tfile_target) <shortname, longname, doc>: Delete.
6658         <info>: New.
6659         (tfile_target::open): Rename to ...
6660         (tfile_target_open): ... this.
6661         (_initialize_tracefile_tfile): Adjust.
6662         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6663         add_inf_child_target.
6664         * windows-nat.c (_initialize_windows_nat): Use
6665         add_inf_child_target.
6666         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6667         add_inf_child_target.
6668
6669 2018-05-02  Pedro Alves  <palves@redhat.com>
6670
6671         * linux-nat.h (linux_nat_target) <low_new_thread,
6672         low_delete_thread, low_new_fork, low_forget_process,
6673         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6674         New virtual methods.
6675         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6676         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6677         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6678         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6679         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6680         Delete.
6681         * linux-fork.c (delete_fork): Adjust to call low method.
6682         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6683         (linux_nat_new_fork, linux_nat_forget_process_hook)
6684         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6685         (linux_nat_status_is_event):
6686         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6687         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6688         to call low method.
6689         (sigtrap_is_event): Rename to ...
6690         (linux_nat_target::low_status_is_event): ... this.
6691         (linux_nat_set_status_is_event): Delete.
6692         (save_stop_reason, linux_nat_wait_1)
6693         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6694         low methods.
6695         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6696         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6697         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6698         (linux_nat_set_prepare_to_resume): Delete.
6699         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6700         low virtual methods.
6701         * amd64-linux-nat.c: Likewise.
6702         * arm-linux-nat.c: Likewise.
6703         * i386-linux-nat.c: Likewise.
6704         * ia64-linux-nat.c: Likewise.
6705         * mips-linux-nat.c: Likewise.
6706         * ppc-linux-nat.c: Likewise.
6707         * s390-linux-nat.c: Likewise.
6708         * sparc64-linux-nat.c: Likewise.
6709         * x86-linux-nat.c: Likewise.
6710         * x86-linux-nat.h: Include "nat/x86-linux.h".
6711         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6712         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6713         Override methods.
6714
6715 2018-05-02  Pedro Alves  <palves@redhat.com>
6716
6717         * target.h (target_ops)
6718         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6719         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6720         stopped_by_watchpoint, have_continuable_watchpoint,
6721         stopped_data_address, watchpoint_addr_within_range,
6722         can_accel_watchpoint_condition, can_run, thread_alive,
6723         has_all_memory, has_memory, has_stack, has_registers,
6724         has_execution, can_async_p, is_async_p, supports_non_stop,
6725         always_non_stop_p, can_execute_reverse, supports_multi_process,
6726         supports_enable_disable_tracepoint,
6727         supports_disable_randomization, supports_string_tracing,
6728         supports_evaluation_of_breakpoint_conditions,
6729         can_run_breakpoint_commands, filesystem_is_local,
6730         can_download_tracepoint, get_trace_state_variable_value,
6731         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6732         record_is_replaying, record_will_replay,
6733         augmented_libraries_svr4_read>: Adjust to return bool.
6734         * aarch64-linux-nat.c: All implementations adjusted.
6735         * aix-thread.c: All implementations adjusted.
6736         * arm-linux-nat.c: All implementations adjusted.
6737         * breakpoint.c: All implementations adjusted.
6738         * bsd-kvm.c: All implementations adjusted.
6739         * bsd-uthread.c: All implementations adjusted.
6740         * corelow.c: All implementations adjusted.
6741         * ctf.c: All implementations adjusted.
6742         * darwin-nat.c: All implementations adjusted.
6743         * darwin-nat.h: All implementations adjusted.
6744         * exec.c: All implementations adjusted.
6745         * fbsd-nat.c: All implementations adjusted.
6746         * fbsd-nat.h: All implementations adjusted.
6747         * gnu-nat.c: All implementations adjusted.
6748         * gnu-nat.h: All implementations adjusted.
6749         * go32-nat.c: All implementations adjusted.
6750         * ia64-linux-nat.c: All implementations adjusted.
6751         * inf-child.c: All implementations adjusted.
6752         * inf-child.h: All implementations adjusted.
6753         * inf-ptrace.c: All implementations adjusted.
6754         * inf-ptrace.h: All implementations adjusted.
6755         * linux-nat.c: All implementations adjusted.
6756         * linux-nat.h: All implementations adjusted.
6757         * mips-linux-nat.c: All implementations adjusted.
6758         * nto-procfs.c: All implementations adjusted.
6759         * ppc-linux-nat.c: All implementations adjusted.
6760         * procfs.c: All implementations adjusted.
6761         * ravenscar-thread.c: All implementations adjusted.
6762         * record-btrace.c: All implementations adjusted.
6763         * record-full.c: All implementations adjusted.
6764         * remote-sim.c: All implementations adjusted.
6765         * remote.c: All implementations adjusted.
6766         * s390-linux-nat.c: All implementations adjusted.
6767         * sol-thread.c: All implementations adjusted.
6768         * spu-multiarch.c: All implementations adjusted.
6769         * target-delegates.c: All implementations adjusted.
6770         * target.c: All implementations adjusted.
6771         * target.h: All implementations adjusted.
6772         * tracefile-tfile.c: All implementations adjusted.
6773         * tracefile.c: All implementations adjusted.
6774         * tracefile.h: All implementations adjusted.
6775         * windows-nat.c: All implementations adjusted.
6776         * x86-linux-nat.h: All implementations adjusted.
6777         * x86-nat.h: All implementations adjusted.
6778
6779 2018-05-02  Pedro Alves  <palves@redhat.com>
6780
6781         * make-target-delegates (scan_target_h): Don't trim lines here.
6782         Replace sequences of tabs and/or whitespace with a single
6783         whitespace.
6784         (top level, parsing methods): Trim each line before processing it
6785         here.
6786
6787 2018-05-02  Pedro Alves  <palves@redhat.com>
6788             John Baldwin  <jhb@freebsd.org>
6789
6790         * target.h (enum strata) <debug_stratum>: New.
6791         (struct target_ops) <all delegation methods>: Replace by C++
6792         virtual methods, and drop "to_" prefix.  All references updated
6793         throughout.
6794         <to_shortname, to_longname, to_doc, to_data,
6795         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6796         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6797         virtual methods.  All references updated throughout.
6798         <can_attach, supports_terminal_ours, can_create_inferior,
6799         get_thread_control_capabilities, attach_no_wait>: New
6800         virtual methods.
6801         <insert_breakpoint, remove_breakpoint>: Now
6802         TARGET_DEFAULT_NORETURN methods.
6803         <info_proc>: Now returns bool.
6804         <to_magic>: Delete.
6805         (OPS_MAGIC): Delete.
6806         (current_target): Delete.  All references replaced by references
6807         to ...
6808         (target_stack): ... this.  New.
6809         (target_shortname, target_longname): Adjust.
6810         (target_can_run): Now a function declaration.
6811         (default_child_has_all_memory, default_child_has_memory)
6812         (default_child_has_stack, default_child_has_registers)
6813         (default_child_has_execution): Remove target_ops parameter.
6814         (complete_target_initialization): Delete.
6815         (memory_breakpoint_target): New template class.
6816         (test_target_ops): Refactor as a C++ class with virtual methods.
6817         * make-target-delegates (NAME_PART): Tighten.
6818         (POINTER_PART, CP_SYMBOL): New.
6819         (SIMPLE_RETURN_PART): Reimplement.
6820         (VEC_RETURN_PART): Expect less.
6821         (RETURN_PART, VIRTUAL_PART): New.
6822         (METHOD): Adjust to C++ virtual methods.
6823         (scan_target_h): Remove reference to C99.
6824         (dname): Output "target_ops::" prefix.
6825         (write_function_header): Adjust to output a C++ class method.
6826         (write_declaration): New.
6827         (write_delegator): Adjust to output a C++ class method.
6828         (tdname): Output "dummy_target::" prefix.
6829         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6830         method.
6831         (tdefault_names, debug_names): Delete.
6832         (return_types, tdefaults, styles, argtypes_array): New.
6833         (top level): All methods are delegators.
6834         (print_class): New.
6835         (top level): Print dummy_target and debug_target classes.
6836         * target-delegates.c: Regenerate.
6837         * target-debug.h (target_debug_print_enum_info_proc_what)
6838         (target_debug_print_thread_control_capabilities)
6839         (target_debug_print_thread_info_p): New.
6840         * target.c (dummy_target): Delete.
6841         (the_dummy_target, the_debug_target): New.
6842         (target_stack): Now extern.
6843         (set_targetdebug): Push/unpush debug target.
6844         (default_child_has_all_memory, default_child_has_memory)
6845         (default_child_has_stack, default_child_has_registers)
6846         (default_child_has_execution): Remove target_ops parameter.
6847         (complete_target_initialization): Delete.
6848         (add_target_with_completer): No longer call
6849         complete_target_initialization.
6850         (target_supports_terminal_ours): Use regular delegation.
6851         (update_current_target): Delete.
6852         (push_target): No longer check magic number.  Don't call
6853         update_current_target.
6854         (unpush_target): Don't call update_current_target.
6855         (target_is_pushed): No longer check magic number.
6856         (target_require_runnable): Skip for all stratums over
6857         process_stratum.
6858         (target_ops::info_proc): New.
6859         (target_info_proc): Use find_target_at and
6860         find_default_run_target.
6861         (target_supports_disable_randomization): Use regular delegation.
6862         (target_get_osdata): Use find_target_at.
6863         (target_ops::open, target_ops::close, target_ops::can_attach)
6864         (target_ops::attach, target_ops::can_create_inferior)
6865         (target_ops::create_inferior, target_ops::can_run)
6866         (target_can_run): New.
6867         (default_fileio_target): Use regular delegation.
6868         (target_ops::fileio_open, target_ops::fileio_pwrite)
6869         (target_ops::fileio_pread, target_ops::fileio_fstat)
6870         (target_ops::fileio_close, target_ops::fileio_unlink)
6871         (target_ops::fileio_readlink): New.
6872         (target_fileio_open_1, target_fileio_unlink)
6873         (target_fileio_readlink): Always call the target method.  Handle
6874         FILEIO_ENOSYS.
6875         (return_zero, return_zero_has_execution): Delete.
6876         (init_dummy_target): Delete.
6877         (dummy_target::dummy_target, dummy_target::shortname)
6878         (dummy_target::longname, dummy_target::doc)
6879         (debug_target::debug_target, debug_target::shortname)
6880         (debug_target::longname, debug_target::doc): New.
6881         (target_supports_delete_record): Use regular delegation.
6882         (setup_target_debug): Delete.
6883         (maintenance_print_target_stack): Skip debug_stratum.
6884         (initialize_targets): Instantiate the_dummy_target and
6885         the_debug_target.
6886         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
6887         use target_stack.
6888         (target_auxv_search, fprint_target_auxv): Adjust.
6889         (info_auxv_command): Adjust to use target_stack.
6890         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
6891         * exceptions.c (print_flush): Handle a NULL target_stack.
6892         * regcache.c (target_ops_no_register): Refactor as class with
6893         virtual methods.
6894
6895         * exec.c (exec_target): New class.
6896         (exec_ops): Now an exec_target.
6897         (exec_open, exec_close_1, exec_get_section_table)
6898         (exec_xfer_partial, exec_files_info, exec_has_memory)
6899         (exec_make_note_section): Refactor as exec_target methods.
6900         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
6901         Delete.
6902         (exec_target::find_memory_regions): New.
6903         (_initialize_exec): Don't call init_exec_ops.
6904         * gdbcore.h (exec_file_clear): Delete.
6905
6906         * corefile.c (core_target): Delete.
6907         (core_file_command): Adjust.
6908         * corelow.c (core_target): New class.
6909         (the_core_target): New.
6910         (core_close): Remove target_ops parameter.
6911         (core_close_cleanup): Adjust.
6912         (core_target::close): New.
6913         (core_open, core_detach, get_core_registers, core_files_info)
6914         (core_xfer_partial, core_thread_alive, core_read_description)
6915         (core_pid_to_str, core_thread_name, core_has_memory)
6916         (core_has_stack, core_has_registers, core_info_proc): Rework as
6917         core_target methods.
6918         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6919         (_initialize_corelow): Initialize the_core_target.
6920         * gdbcore.h (core_target): Delete.
6921         (the_core_target): New.
6922
6923         * ctf.c: (ctf_target): New class.
6924         (ctf_ops): Now a ctf_target.
6925         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6926         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6927         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6928         methods.
6929         (init_ctf_ops): Delete.
6930         (_initialize_ctf): Don't call it.
6931         * tracefile-tfile.c (tfile_target): New class.
6932         (tfile_ops): Now a tfile_target.
6933         (tfile_open, tfile_close, tfile_files_info)
6934         (tfile_get_tracepoint_status, tfile_trace_find)
6935         (tfile_fetch_registers, tfile_xfer_partial)
6936         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6937         Refactor as tfile_target methods.
6938         (tfile_xfer_partial_features): Remove target_ops parameter.
6939         (init_tfile_ops): Delete.
6940         (_initialize_tracefile_tfile): Don't call it.
6941         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6942         (tracefile_has_stack, tracefile_has_registers)
6943         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6944         tracefile_target methods.
6945         (init_tracefile_ops): Delete.
6946         (tracefile_target::tracefile_target): New.
6947         * tracefile.h: Include "target.h".
6948         (tracefile_target): New class.
6949         (init_tracefile_ops): Delete.
6950
6951         * spu-multiarch.c (spu_multiarch_target): New class.
6952         (spu_ops): Now a spu_multiarch_target.
6953         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6954         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6955         (spu_search_memory, spu_mourn_inferior): Refactor as
6956         spu_multiarch_target methods.
6957         (init_spu_ops): Delete.
6958         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6959         complete_target_initialization.
6960
6961         * ravenscar-thread.c (ravenscar_thread_target): New class.
6962         (ravenscar_ops): Now a ravenscar_thread_target.
6963         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6964         (ravenscar_thread_alive, ravenscar_pid_to_str)
6965         (ravenscar_fetch_registers, ravenscar_store_registers)
6966         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6967         (ravenscar_stopped_by_hw_breakpoint)
6968         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6969         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6970         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6971         methods.
6972         (init_ravenscar_thread_ops): Delete.
6973         (_initialize_ravenscar): Remove references to
6974         init_ravenscar_thread_ops and complete_target_initialization.
6975
6976         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6977         (bsd_uthread_target): New class.
6978         (bsd_uthread_ops): Now a bsd_uthread_target.
6979         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6980         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6981         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6982         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6983         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6984         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6985         (bsd_uthread_target): Delete function.
6986         (_initialize_bsd_uthread): Remove reference to
6987         complete_target_initialization.
6988
6989         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6990         (target_bfd): ... this new class.
6991         (target_bfd_xfer_partial, target_bfd_get_section_table)
6992         (target_bfd_close): Refactor as target_bfd methods.
6993         (target_bfd::~target_bfd): New.
6994         (target_bfd_reopen): Adjust.
6995         (target_bfd::close): New.
6996
6997         * record-btrace.c (record_btrace_target): New class.
6998         (record_btrace_ops): Now a record_btrace_target.
6999         (record_btrace_open, record_btrace_stop_recording)
7000         (record_btrace_disconnect, record_btrace_close)
7001         (record_btrace_async, record_btrace_info)
7002         (record_btrace_insn_history, record_btrace_insn_history_range)
7003         (record_btrace_insn_history_from, record_btrace_call_history)
7004         (record_btrace_call_history_range)
7005         (record_btrace_call_history_from, record_btrace_record_method)
7006         (record_btrace_is_replaying, record_btrace_will_replay)
7007         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7008         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7009         (record_btrace_store_registers, record_btrace_prepare_to_store)
7010         (record_btrace_to_get_unwinder)
7011         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7012         (record_btrace_commit_resume, record_btrace_wait)
7013         (record_btrace_stop, record_btrace_can_execute_reverse)
7014         (record_btrace_stopped_by_sw_breakpoint)
7015         (record_btrace_supports_stopped_by_sw_breakpoint)
7016         (record_btrace_stopped_by_hw_breakpoint)
7017         (record_btrace_supports_stopped_by_hw_breakpoint)
7018         (record_btrace_update_thread_list, record_btrace_thread_alive)
7019         (record_btrace_goto_begin, record_btrace_goto_end)
7020         (record_btrace_goto, record_btrace_stop_replaying_all)
7021         (record_btrace_execution_direction)
7022         (record_btrace_prepare_to_generate_core)
7023         (record_btrace_done_generating_core): Refactor as
7024         record_btrace_target methods.
7025         (init_record_btrace_ops): Delete.
7026         (_initialize_record_btrace): Remove reference to
7027         init_record_btrace_ops.
7028         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7029         the execution_direction global.
7030         (record_full_base_target, record_full_target)
7031         (record_full_core_target): New classes.
7032         (record_full_ops): Now a record_full_target.
7033         (record_full_core_ops): Now a record_full_core_target.
7034         (record_full_target::detach, record_full_target::disconnect)
7035         (record_full_core_target::disconnect)
7036         (record_full_target::mourn_inferior, record_full_target::kill):
7037         New.
7038         (record_full_open, record_full_close, record_full_async): Refactor
7039         as methods of the record_full_base_target class.
7040         (record_full_resume, record_full_commit_resume): Refactor
7041         as methods of the record_full_target class.
7042         (record_full_wait, record_full_stopped_by_watchpoint)
7043         (record_full_stopped_data_address)
7044         (record_full_stopped_by_sw_breakpoint)
7045         (record_full_supports_stopped_by_sw_breakpoint)
7046         (record_full_stopped_by_hw_breakpoint)
7047         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7048         methods of the record_full_base_target class.
7049         (record_full_store_registers, record_full_xfer_partial)
7050         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7051         Refactor as methods of the record_full_target class.
7052         (record_full_can_execute_reverse, record_full_get_bookmark)
7053         (record_full_goto_bookmark, record_full_execution_direction)
7054         (record_full_record_method, record_full_info, record_full_delete)
7055         (record_full_is_replaying, record_full_will_replay)
7056         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7057         (record_full_stop_replaying): Refactor as methods of the
7058         record_full_base_target class.
7059         (record_full_core_resume, record_full_core_kill)
7060         (record_full_core_fetch_registers)
7061         (record_full_core_prepare_to_store)
7062         (record_full_core_store_registers, record_full_core_xfer_partial)
7063         (record_full_core_insert_breakpoint)
7064         (record_full_core_remove_breakpoint)
7065         (record_full_core_has_execution): Refactor
7066         as methods of the record_full_core_target class.
7067         (record_full_base_target::supports_delete_record): New.
7068         (init_record_full_ops): Delete.
7069         (init_record_full_core_ops): Delete.
7070         (record_full_save): Refactor as method of the
7071         record_full_base_target class.
7072         (_initialize_record_full): Remove references to
7073         init_record_full_ops and init_record_full_core_ops.
7074
7075         * remote.c (remote_target, extended_remote_target): New classes.
7076         (remote_ops): Now a remote_target.
7077         (extended_remote_ops): Now an extended_remote_target.
7078         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
7079         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
7080         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
7081         (remote_pass_signals, remote_set_syscall_catchpoint)
7082         (remote_program_signals, )
7083         (remote_thread_always_alive): Remove target_ops parameter.
7084         (remote_thread_alive, remote_thread_name)
7085         (remote_update_thread_list, remote_threads_extra_info)
7086         (remote_static_tracepoint_marker_at)
7087         (remote_static_tracepoint_markers_by_strid)
7088         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7089         (remote_open): Refactor as methods of remote_target.
7090         (extended_remote_open, extended_remote_detach)
7091         (extended_remote_attach, extended_remote_post_attach):
7092         (extended_remote_supports_disable_randomization)
7093         (extended_remote_create_inferior): : Refactor as method of
7094         extended_remote_target.
7095         (remote_set_permissions, remote_open_1, remote_detach)
7096         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7097         (remote_resume, remote_commit_resume, remote_stop)
7098         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7099         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7100         (remote_prepare_to_store, remote_store_registers)
7101         (remote_flash_erase, remote_flash_done, remote_files_info)
7102         (remote_kill, remote_mourn, remote_insert_breakpoint)
7103         (remote_remove_breakpoint, remote_insert_watchpoint)
7104         (remote_watchpoint_addr_within_range)
7105         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7106         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7107         (remote_supports_stopped_by_sw_breakpoint)
7108         (remote_stopped_by_hw_breakpoint)
7109         (remote_supports_stopped_by_hw_breakpoint)
7110         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7111         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7112         (remote_verify_memory): Refactor as methods of remote_target.
7113         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7114         parameter.
7115         (remote_xfer_partial, remote_get_memory_xfer_limit)
7116         (remote_search_memory, remote_rcmd, remote_memory_map)
7117         (remote_pid_to_str, remote_get_thread_local_address)
7118         (remote_get_tib_address, remote_read_description): Refactor as
7119         methods of remote_target.
7120         (remote_target::fileio_open, remote_target::fileio_pwrite)
7121         (remote_target::fileio_pread, remote_target::fileio_close): New.
7122         (remote_hostio_readlink, remote_hostio_fstat)
7123         (remote_filesystem_is_local, remote_can_execute_reverse)
7124         (remote_supports_non_stop, remote_supports_disable_randomization)
7125         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7126         (remote_supports_enable_disable_tracepoint)
7127         (remote_supports_string_tracing)
7128         (remote_can_run_breakpoint_commands, remote_trace_init)
7129         (remote_download_tracepoint, remote_can_download_tracepoint)
7130         (remote_download_trace_state_variable, remote_enable_tracepoint)
7131         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7132         (remote_trace_start, remote_get_trace_status)
7133         (remote_get_tracepoint_status, remote_trace_stop)
7134         (remote_trace_find, remote_get_trace_state_variable_value)
7135         (remote_save_trace_data, remote_get_raw_trace_data)
7136         (remote_set_disconnected_tracing, remote_core_of_thread)
7137         (remote_set_circular_trace_buffer, remote_traceframe_info)
7138         (remote_get_min_fast_tracepoint_insn_len)
7139         (remote_set_trace_buffer_size, remote_set_trace_notes)
7140         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7141         (remote_disable_btrace, remote_teardown_btrace)
7142         (remote_read_btrace, remote_btrace_conf)
7143         (remote_augmented_libraries_svr4_read, remote_load)
7144         (remote_pid_to_exec_file, remote_can_do_single_step)
7145         (remote_execution_direction, remote_thread_handle_to_thread_info):
7146         Refactor as methods of remote_target.
7147         (init_remote_ops, init_extended_remote_ops): Delete.
7148         (remote_can_async_p, remote_is_async_p, remote_async)
7149         (remote_thread_events, remote_upload_tracepoints)
7150         (remote_upload_trace_state_variables): Refactor as methods of
7151         remote_target.
7152         (_initialize_remote): Remove references to init_remote_ops and
7153         init_extended_remote_ops.
7154
7155         * remote-sim.c (gdbsim_target): New class.
7156         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7157         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7158         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7159         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7160         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7161         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7162         Refactor as methods of gdbsim_target.
7163         (gdbsim_ops): Now a gdbsim_target.
7164         (init_gdbsim_ops): Delete.
7165         (gdbsim_cntrl_c): Adjust.
7166         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7167
7168         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7169         (the_amd64_linux_nat_target): New.
7170         (amd64_linux_fetch_inferior_registers)
7171         (amd64_linux_store_inferior_registers): Refactor as methods of
7172         amd64_linux_nat_target.
7173         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7174         * i386-linux-nat.c: Don't include "linux-nat.h".
7175         (i386_linux_nat_target): New class.
7176         (the_i386_linux_nat_target): New.
7177         (i386_linux_fetch_inferior_registers)
7178         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7179         as methods of i386_linux_nat_target.
7180         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7181         * inf-child.c (inf_child_ops): Delete.
7182         (inf_child_fetch_inferior_registers)
7183         (inf_child_store_inferior_registers): Delete.
7184         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7185         methods of inf_child_target.
7186         (inf_child_target::supports_terminal_ours)
7187         (inf_child_target::terminal_init)
7188         (inf_child_target::terminal_inferior)
7189         (inf_child_target::terminal_ours_for_output)
7190         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7191         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7192         New.
7193         (inf_child_open, inf_child_disconnect, inf_child_close)
7194         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7195         (inf_child_post_startup_inferior, inf_child_can_run)
7196         (inf_child_pid_to_exec_file): Refactor as methods of
7197         inf_child_target.
7198         (inf_child_follow_fork): Delete.
7199         (inf_child_target::can_create_inferior)
7200         (inf_child_target::can_attach): New.
7201         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7202         (inf_child_target::has_stack, inf_child_target::has_registers)
7203         (inf_child_target::has_execution): New.
7204         (inf_child_fileio_open, inf_child_fileio_pwrite)
7205         (inf_child_fileio_pread, inf_child_fileio_fstat)
7206         (inf_child_fileio_close, inf_child_fileio_unlink)
7207         (inf_child_fileio_readlink, inf_child_use_agent)
7208         (inf_child_can_use_agent): Refactor as methods of
7209         inf_child_target.
7210         (return_zero, inf_child_target): Delete.
7211         (inf_child_target::inf_child_target): New.
7212         * inf-child.h: Include "target.h".
7213         (inf_child_target): Delete function prototype.
7214         (inf_child_target): New class.
7215         (inf_child_open_target, inf_child_mourn_inferior)
7216         (inf_child_maybe_unpush_target): Delete.
7217         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7218         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7219         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7220         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7221         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7222         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7223         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7224         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7225         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7226         methods of inf_ptrace_target.
7227         (inf_ptrace_target): Delete function.
7228         * inf-ptrace.h: Include "inf-child.h".
7229         (inf_ptrace_target): Delete function declaration.
7230         (inf_ptrace_target): New class.
7231         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7232         * linux-nat.c (linux_target): New.
7233         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7234         (linux_nat_target::~linux_nat_target): New.
7235         (linux_child_post_attach, linux_child_post_startup_inferior)
7236         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7237         (linux_child_remove_fork_catchpoint)
7238         (linux_child_insert_vfork_catchpoint)
7239         (linux_child_remove_vfork_catchpoint)
7240         (linux_child_insert_exec_catchpoint)
7241         (linux_child_remove_exec_catchpoint)
7242         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7243         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7244         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7245         (linux_nat_stopped_data_address)
7246         (linux_nat_stopped_by_sw_breakpoint)
7247         (linux_nat_supports_stopped_by_sw_breakpoint)
7248         (linux_nat_stopped_by_hw_breakpoint)
7249         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7250         (linux_nat_kill, linux_nat_mourn_inferior)
7251         (linux_nat_xfer_partial, linux_nat_thread_alive)
7252         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7253         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7254         (linux_child_static_tracepoint_markers_by_strid)
7255         (linux_nat_is_async_p, linux_nat_can_async_p)
7256         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7257         (linux_nat_supports_multi_process)
7258         (linux_nat_supports_disable_randomization, linux_nat_async)
7259         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7260         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7261         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7262         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7263         methods of linux_nat_target.
7264         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7265         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7266         parameter.
7267         (check_stopped_by_watchpoint): Adjust.
7268         (linux_xfer_partial): Delete.
7269         (linux_target_install_ops, linux_target, linux_nat_add_target):
7270         Delete.
7271         (linux_nat_target::linux_nat_target): New.
7272         * linux-nat.h: Include "inf-ptrace.h".
7273         (linux_nat_target): New.
7274         (linux_target, linux_target_install_ops, linux_nat_add_target):
7275         Delete function declarations.
7276         (linux_target): Declare global.
7277         * linux-thread-db.c (thread_db_target): New.
7278         (thread_db_target::thread_db_target): New.
7279         (thread_db_ops): Delete.
7280         (the_thread_db_target): New.
7281         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7282         (thread_db_update_thread_list, thread_db_pid_to_str)
7283         (thread_db_extra_thread_info)
7284         (thread_db_thread_handle_to_thread_info)
7285         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7286         (thread_db_resume): Refactor as methods of thread_db_target.
7287         (init_thread_db_ops): Delete.
7288         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7289         * x86-linux-nat.c: Don't include "linux-nat.h".
7290         (super_post_startup_inferior): Delete.
7291         (x86_linux_nat_target::~x86_linux_nat_target): New.
7292         (x86_linux_child_post_startup_inferior)
7293         (x86_linux_read_description, x86_linux_enable_btrace)
7294         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7295         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7296         methods of x86_linux_nat_target.
7297         (x86_linux_create_target): Delete.  Bits folded ...
7298         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7299         pointer.
7300         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7301         (x86_linux_nat_target): New class.
7302         (x86_linux_create_target): Delete.
7303         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7304         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7305         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7306         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7307         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7308         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7309         make extern.
7310         (x86_use_watchpoints): Delete.
7311         * x86-nat.h: Include "breakpoint.h" and "target.h".
7312         (x86_use_watchpoints): Delete.
7313         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7314         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7315         (x86_insert_watchpoint, x86_remove_watchpoint)
7316         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7317         (x86_stopped_by_hw_breakpoint): New declarations.
7318         (x86_nat_target): New template class.
7319
7320         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7321         (the_ppc_linux_nat_target): New.
7322         (ppc_linux_fetch_inferior_registers)
7323         (ppc_linux_can_use_hw_breakpoint)
7324         (ppc_linux_region_ok_for_hw_watchpoint)
7325         (ppc_linux_ranged_break_num_registers)
7326         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7327         (ppc_linux_insert_mask_watchpoint)
7328         (ppc_linux_remove_mask_watchpoint)
7329         (ppc_linux_can_accel_watchpoint_condition)
7330         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7331         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7332         (ppc_linux_watchpoint_addr_within_range)
7333         (ppc_linux_masked_watch_num_registers)
7334         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7335         (ppc_linux_read_description): Refactor as methods of
7336         ppc_linux_nat_target.
7337         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7338
7339         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7340         (procfs_target): New class.
7341         (the_procfs_target): New.
7342         (procfs_target): Delete function.
7343         (procfs_auxv_parse, procfs_attach, procfs_detach)
7344         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7345         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7346         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7347         (procfs_create_inferior, procfs_update_thread_list)
7348         (procfs_thread_alive, procfs_pid_to_str)
7349         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7350         (procfs_stopped_data_address, procfs_insert_watchpoint)
7351         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7352         (proc_find_memory_regions, procfs_info_proc)
7353         (procfs_make_note_section): Refactor as methods of procfs_target.
7354         (_initialize_procfs): Adjust.
7355         * sol-thread.c (sol_thread_target): New class.
7356         (sol_thread_ops): Now a sol_thread_target.
7357         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7358         (sol_thread_fetch_registers, sol_thread_store_registers)
7359         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7360         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7361         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7362         (init_sol_thread_ops): Delete.
7363         (_initialize_sol_thread): Adjust.  Remove references to
7364         init_sol_thread_ops and complete_target_initialization.
7365
7366         * windows-nat.c (windows_nat_target): New class.
7367         (windows_fetch_inferior_registers)
7368         (windows_store_inferior_registers, windows_resume, windows_wait)
7369         (windows_attach, windows_detach, windows_pid_to_exec_file)
7370         (windows_files_info, windows_create_inferior)
7371         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7372         (windows_close, windows_pid_to_str, windows_xfer_partial)
7373         (windows_get_tib_address, windows_get_ada_task_ptid)
7374         (windows_thread_name, windows_thread_alive): Refactor as
7375         windows_nat_target methods.
7376         (do_initial_windows_stuff): Adjust.
7377         (windows_target): Delete function.
7378         (_initialize_windows_nat): Adjust.
7379
7380         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7381         (darwin_mourn_inferior, darwin_kill_inferior)
7382         (darwin_create_inferior, darwin_attach, darwin_detach)
7383         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7384         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7385         (darwin_supports_multi_process): Refactor as darwin_nat_target
7386         methods.
7387         (darwin_resume_to, darwin_files_info): Delete.
7388         (_initialize_darwin_inferior): Rename to ...
7389         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7390         * darwin-nat.h: Include "inf-child.h".
7391         (darwin_nat_target): New class.
7392         (darwin_complete_target): Delete.
7393         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7394         (darwin_target): New.
7395         (i386_darwin_fetch_inferior_registers)
7396         (i386_darwin_store_inferior_registers): Refactor as methods of
7397         darwin_nat_target.
7398         (darwin_complete_target): Delete, with ...
7399         (_initialize_i386_darwin_nat): ... bits factored out here.
7400
7401         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7402         (the_alpha_linux_nat_target): New.
7403         (alpha_linux_register_u_offset): Refactor as
7404         alpha_linux_nat_target method.
7405         (_initialize_alpha_linux_nat): Adjust.
7406         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7407         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7408         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7409         methods of linux_nat_trad_target.
7410         (linux_trad_target): Delete.
7411         * linux-nat-trad.h (linux_trad_target): Delete function.
7412         (linux_nat_trad_target): New class.
7413         * mips-linux-nat.c (mips_linux_nat_target): New class.
7414         (super_fetch_registers, super_store_registers, super_close):
7415         Delete.
7416         (the_mips_linux_nat_target): New.
7417         (mips64_linux_regsets_fetch_registers)
7418         (mips64_linux_regsets_store_registers)
7419         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7420         (mips_linux_register_u_offset, mips_linux_read_description)
7421         (mips_linux_can_use_hw_breakpoint)
7422         (mips_linux_stopped_by_watchpoint)
7423         (mips_linux_stopped_data_address)
7424         (mips_linux_region_ok_for_hw_watchpoint)
7425         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7426         (mips_linux_close): Refactor as methods of mips_linux_nat.
7427         (_initialize_mips_linux_nat): Adjust to C++ification.
7428
7429         * aix-thread.c (aix_thread_target): New class.
7430         (aix_thread_ops): Now an aix_thread_target.
7431         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7432         (aix_thread_fetch_registers, aix_thread_store_registers)
7433         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7434         (aix_thread_thread_alive, aix_thread_pid_to_str)
7435         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7436         Refactor as methods of aix_thread_target.
7437         (init_aix_thread_ops): Delete.
7438         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7439         and complete_target_initialization.
7440         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7441         (rs6000_nat_target): New class.
7442         (the_rs6000_nat_target): New.
7443         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7444         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7445         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7446         (super_create_inferior): Delete.
7447         (_initialize_rs6000_nat): Adjust to C++ification.
7448
7449         * arm-linux-nat.c (arm_linux_nat_target): New class.
7450         (the_arm_linux_nat_target): New.
7451         (arm_linux_fetch_inferior_registers)
7452         (arm_linux_store_inferior_registers, arm_linux_read_description)
7453         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7454         (arm_linux_remove_hw_breakpoint)
7455         (arm_linux_region_ok_for_hw_watchpoint)
7456         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7457         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7458         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7459         arm_linux_nat_target.
7460         (_initialize_arm_linux_nat): Adjust to C++ification.
7461
7462         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7463         (the_aarch64_linux_nat_target): New.
7464         (aarch64_linux_fetch_inferior_registers)
7465         (aarch64_linux_store_inferior_registers)
7466         (aarch64_linux_child_post_startup_inferior)
7467         (aarch64_linux_read_description)
7468         (aarch64_linux_can_use_hw_breakpoint)
7469         (aarch64_linux_insert_hw_breakpoint)
7470         (aarch64_linux_remove_hw_breakpoint)
7471         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7472         (aarch64_linux_region_ok_for_hw_watchpoint)
7473         (aarch64_linux_stopped_data_address)
7474         (aarch64_linux_stopped_by_watchpoint)
7475         (aarch64_linux_watchpoint_addr_within_range)
7476         (aarch64_linux_can_do_single_step): Refactor as methods of
7477         aarch64_linux_nat_target.
7478         (super_post_startup_inferior): Delete.
7479         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7480
7481         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7482         (the_hppa_linux_nat_target): New.
7483         (hppa_linux_fetch_inferior_registers)
7484         (hppa_linux_store_inferior_registers): Refactor as methods of
7485         hppa_linux_nat_target.
7486         (_initialize_hppa_linux_nat): Adjust to C++ification.
7487
7488         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7489         (the_ia64_linux_nat_target): New.
7490         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7491         (ia64_linux_stopped_data_address)
7492         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7493         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7494         ia64_linux_nat_target methods.
7495         (super_xfer_partial): Delete.
7496         (_initialize_ia64_linux_nat): Adjust to C++ification.
7497
7498         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7499         (the_m32r_linux_nat_target): New.
7500         (m32r_linux_fetch_inferior_registers)
7501         (m32r_linux_store_inferior_registers): Refactor as
7502         m32r_linux_nat_target methods.
7503         (_initialize_m32r_linux_nat): Adjust to C++ification.
7504
7505         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7506         (the_m68k_linux_nat_target): New.
7507         (m68k_linux_fetch_inferior_registers)
7508         (m68k_linux_store_inferior_registers): Refactor as
7509         m68k_linux_nat_target methods.
7510         (_initialize_m68k_linux_nat): Adjust to C++ification.
7511
7512         * s390-linux-nat.c (s390_linux_nat_target): New class.
7513         (the_s390_linux_nat_target): New.
7514         (s390_linux_fetch_inferior_registers)
7515         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7516         (s390_insert_watchpoint, s390_remove_watchpoint)
7517         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7518         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7519         (s390_auxv_parse, s390_read_description): Refactor as methods of
7520         s390_linux_nat_target.
7521         (_initialize_s390_nat): Adjust to C++ification.
7522
7523         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7524         (the_sparc_linux_nat_target): New.
7525         (_initialize_sparc_linux_nat): Adjust to C++ification.
7526         * sparc-nat.c (sparc_fetch_inferior_registers)
7527         (sparc_store_inferior_registers): Remove target_ops parameter.
7528         * sparc-nat.h (sparc_fetch_inferior_registers)
7529         (sparc_store_inferior_registers): Remove target_ops parameter.
7530         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7531         (the_sparc64_linux_nat_target): New.
7532         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7533
7534         * spu-linux-nat.c (spu_linux_nat_target): New class.
7535         (the_spu_linux_nat_target): New.
7536         (spu_child_post_startup_inferior, spu_child_post_attach)
7537         (spu_child_wait, spu_fetch_inferior_registers)
7538         (spu_store_inferior_registers, spu_xfer_partial)
7539         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7540         methods.
7541         (_initialize_spu_nat): Adjust to C++ification.
7542
7543         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7544         (the_tilegx_linux_nat_target): New.
7545         (fetch_inferior_registers, store_inferior_registers):
7546         Refactor as methods.
7547         (_initialize_tile_linux_nat): Adjust to C++ification.
7548
7549         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7550         (the_xtensa_linux_nat_target): New.
7551         (xtensa_linux_fetch_inferior_registers)
7552         (xtensa_linux_store_inferior_registers): Refactor as
7553         xtensa_linux_nat_target methods.
7554         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7555
7556         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7557         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7558         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7559         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7560         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7561         (fbsd_stopped_by_sw_breakpoint)
7562         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7563         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7564         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7565         (fbsd_post_startup_inferior, fbsd_post_attach)
7566         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7567         (fbsd_set_syscall_catchpoint)
7568         (super_xfer_partial, super_resume, super_wait)
7569         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7570         (fbsd_handle_debug_trap): Remove target_ops parameter.
7571         (fbsd_nat_add_target): Delete.
7572         * fbsd-nat.h: Include "inf-ptrace.h".
7573         (fbsd_nat_add_target): Delete.
7574         (USE_SIGTRAP_SIGINFO): Define.
7575         (fbsd_nat_target): New class.
7576
7577         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7578         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7579         (amd64bsd_target): Delete.
7580         * amd64-bsd-nat.h: New file.
7581         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7582         "x86-bsd-nat.h".
7583         (amd64_fbsd_nat_target): New class.
7584         (the_amd64_fbsd_nat_target): New.
7585         (amd64fbsd_read_description): Refactor as method of
7586         amd64_fbsd_nat_target.
7587         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7588         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7589         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7590         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7591         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7592         (i386bsd_target): Delete.
7593         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7594         (i386bsd_fetch_inferior_registers)
7595         (i386bsd_store_inferior_registers): Declare.
7596         (i386_bsd_nat_target): New class.
7597         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7598         (the_i386_fbsd_nat_target): New.
7599         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7600         i386_fbsd_nat_target methods.
7601         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7602         (_initialize_i386fbsd_nat): Adjust to C++ification.
7603         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7604         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7605         (_initialize_x86_bsd_nat): Adjust to C++ification.
7606         * x86-bsd-nat.h: Include "x86-nat.h".
7607         (x86bsd_target): Delete declaration.
7608         (x86bsd_nat_target): New class.
7609
7610         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7611         (the_aarch64_fbsd_nat_target): New.
7612         (aarch64_fbsd_fetch_inferior_registers)
7613         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7614         aarch64_fbsd_nat_target.
7615         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7616         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7617         (the_alpha_bsd_nat_target): New.
7618         (alphabsd_fetch_inferior_registers)
7619         (alphabsd_store_inferior_registers): Refactor as
7620         alpha_bsd_nat_target methods.
7621         (_initialize_alphabsd_nat): Refactor as methods of
7622         alpha_bsd_nat_target.
7623         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7624         (the_amd64_nbsd_nat_target): New.
7625         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7626         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7627         (the_amd64_obsd_nat_target): New.
7628         (_initialize_amd64obsd_nat): Adjust to C++ification.
7629         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7630         (the_arm_fbsd_nat_target): New.
7631         (arm_fbsd_fetch_inferior_registers)
7632         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7633         (_initialize_arm_fbsd_nat): Refactor as methods of
7634         arm_fbsd_nat_target.
7635         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7636         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7637         (the_arm_netbsd_nat_target): New.
7638         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7639         arm_netbsd_nat_target.
7640         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7641         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7642         (the_hppa_nbsd_nat_target): New.
7643         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7644         hppa_nbsd_nat_target methods.
7645         (_initialize_hppanbsd_nat): Adjust to C++ification.
7646         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7647         (the_hppa_obsd_nat_target): New.
7648         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7649         methods of hppa_obsd_nat_target.
7650         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7651         add_target.
7652         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7653         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7654         add_target.
7655         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7656         (_initialize_i386obsd_nat): Use add_target.
7657         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7658         (the_m68k_bsd_nat_target): New.
7659         (m68kbsd_fetch_inferior_registers)
7660         (m68kbsd_store_inferior_registers): Refactor as methods of
7661         m68k_bsd_nat_target.
7662         (_initialize_m68kbsd_nat): Adjust to C++ification.
7663         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7664         (the_mips_fbsd_nat_target): New.
7665         (mips_fbsd_fetch_inferior_registers)
7666         (mips_fbsd_store_inferior_registers): Refactor as methods of
7667         mips_fbsd_nat_target.
7668         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7669         add_target.
7670         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7671         (the_mips_nbsd_nat_target): New.
7672         (mipsnbsd_fetch_inferior_registers)
7673         (mipsnbsd_store_inferior_registers): Refactor as methods of
7674         mips_nbsd_nat_target.
7675         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7676         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7677         (the_mips64_obsd_nat_target): New.
7678         (mips64obsd_fetch_inferior_registers)
7679         (mips64obsd_store_inferior_registers): Refactor as methods of
7680         mips64_obsd_nat_target.
7681         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7682         add_target.
7683         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7684         nbsd_nat_target.
7685         * nbsd-nat.h: Include "inf-ptrace.h".
7686         (nbsd_nat_target): New class.
7687         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7688         (obsd_wait): Refactor as methods of obsd_nat_target.
7689         (obsd_add_target): Delete.
7690         * obsd-nat.h: Include "inf-ptrace.h".
7691         (obsd_nat_target): New class.
7692         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7693         (the_ppc_fbsd_nat_target): New.
7694         (ppcfbsd_fetch_inferior_registers)
7695         (ppcfbsd_store_inferior_registers): Refactor as methods of
7696         ppc_fbsd_nat_target.
7697         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7698         add_target.
7699         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7700         (the_ppc_nbsd_nat_target): New.
7701         (ppcnbsd_fetch_inferior_registers)
7702         (ppcnbsd_store_inferior_registers): Refactor as methods of
7703         ppc_nbsd_nat_target.
7704         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7705         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7706         (the_ppc_obsd_nat_target): New.
7707         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7708         methods of ppc_obsd_nat_target.
7709         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7710         add_target.
7711         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7712         (the_sh_nbsd_nat_target): New.
7713         (shnbsd_fetch_inferior_registers)
7714         (shnbsd_store_inferior_registers): Refactor as methods of
7715         sh_nbsd_nat_target.
7716         (_initialize_shnbsd_nat): Adjust to C++ification.
7717         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7718         (inf_ptrace_xfer_partial): Delete.
7719         (sparc_xfer_partial, sparc_target): Delete.
7720         * sparc-nat.h (sparc_fetch_inferior_registers)
7721         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7722         (sparc_target): Delete function declaration.
7723         (sparc_target): New template class.
7724         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7725         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7726         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7727         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7728         add_target.
7729         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7730         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7731         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7732         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7733         add_target.
7734         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7735         (the_vax_bsd_nat_target): New.
7736         (vaxbsd_fetch_inferior_registers)
7737         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7738         methods.
7739         (_initialize_vaxbsd_nat): Adjust to C++ification.
7740
7741         * bsd-kvm.c (bsd_kvm_target): New class.
7742         (bsd_kvm_ops): Now a bsd_kvm_target.
7743         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7744         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7745         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7746         bsd_kvm_target.
7747         (bsd_kvm_return_one): Delete.
7748         (bsd_kvm_add_target): Adjust to C++ification.
7749
7750         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7751         (nto_procfs_target_procfs): New classes.
7752         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7753         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7754         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7755         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7756         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7757         (procfs_remove_hw_breakpoint, procfs_resume)
7758         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7759         (procfs_kill_inferior, procfs_store_registers)
7760         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7761         as methods of nto_procfs_target.
7762         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7763         (nto_native_ops): Delete.
7764         (procfs_open, procfs_native_open): Delete.
7765         (nto_native_ops): Now an nto_procfs_target_native.
7766         (init_procfs_targets): Adjust to C++ification.
7767         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7768         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7769         Refactor as methods of nto_procfs_target.
7770
7771         * go32-nat.c (go32_nat_target): New class.
7772         (the_go32_nat_target): New.
7773         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7774         (go32_store_registers, go32_xfer_partial, go32_files_info)
7775         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7776         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7777         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7778         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7779         (go32_target): Delete.
7780         (_initialize_go32_nat): Adjust to C++ification.
7781
7782         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7783         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7784         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7785         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7786         gnu_nat_target.
7787         (gnu_target): Delete.
7788         * gnu-nat.h (gnu_target): Delete.
7789         (gnu_nat_target): New class.
7790         * i386-gnu-nat.c (gnu_base_target): New.
7791         (i386_gnu_nat_target): New class.
7792         (the_i386_gnu_nat_target): New.
7793         (_initialize_i386gnu_nat): Adjust to C++ification.
7794
7795 2018-05-02  Pedro Alves  <palves@redhat.com>
7796
7797         * bfd-target.c (target_bfd_xclose): Rename to ...
7798         (target_bfd_close): ... this.
7799         (target_bfd_reopen): Adjust.
7800         * target.c (target_close): Remove references to to_xclose.
7801         * target.h (target_ops::to_xclose): Delete.
7802         (target_ops::to_close): Update comments.
7803
7804 2018-05-02  Pedro Alves  <palves@redhat.com>
7805
7806         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7807         "linux-nat.h".
7808         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7809         * inf-ptrace.c (inf_ptrace_register_u_offset)
7810         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7811         (inf_ptrace_store_register, inf_ptrace_store_registers)
7812         (inf_ptrace_trad_target): Move to ...
7813         * linux-nat-trad.c: ... this new file.
7814         * linux-nat-trad.h: New file.
7815         * linux-nat.c (linux_target_install_ops): Make extern.
7816         (linux_trad_target): Delete.
7817         * linux-nat.h (linux_trad_target): Delete declaration.
7818         (linux_target_install_ops): Declare.
7819         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7820         "linux-nat.h".
7821
7822 2018-05-02  Pedro Alves  <palves@redhat.com>
7823
7824         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7825         procfs_target/add_target here.
7826         * procfs.c (procfs_target): Make static.
7827         (_initialize_procfs): Call add_target here.
7828         * procfs.h (struct target_ops): Remove forward declaration.
7829         (procfs_target): Remove declaration.
7830         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7831
7832 2018-05-02  Pedro Alves  <palves@redhat.com>
7833
7834         * procfs.c (procfs_stopped_by_watchpoint)
7835         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7836         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7837         Forward declare.
7838         (procfs_use_watchpoints): Delete, move contents...
7839         (procfs_target): ... here.
7840         * procfs.h (procfs_use_watchpoints): Delete declaration.
7841         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7842         procfs_use_watchpoints.
7843         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7844         procfs_use_watchpoints.
7845
7846 2018-05-02  Tom Tromey  <tom@tromey.com>
7847
7848         PR python/20084:
7849         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7850         and var_zuinteger_unlimited.
7851         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7852         and PARAM_ZUINTEGER_UNLIMITED.
7853         (set_parameter_value): Handle var_zuinteger and
7854         var_zuinteger_unlimited.
7855         (add_setshow_generic): Likewise.
7856         (parmpy_init): Likewise.
7857
7858 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7859
7860         PR rust/23124
7861         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7862         pointer is not null before dereferencing it.
7863
7864 2018-04-30  Tom Tromey  <tom@tromey.com>
7865
7866         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7867         is_mi_like_p.
7868
7869 2018-04-30  Tom Tromey  <tom@tromey.com>
7870
7871         * breakpoint.c (mention): Remove use of is_mi_like_p.
7872         (print_mention_ranged_breakpoint): Likewise.
7873         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
7874         of is_mi_like_p.
7875
7876 2018-04-30  Tom Tromey  <tom@tromey.com>
7877
7878         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
7879
7880 2018-04-30  Tom Tromey  <tom@tromey.com>
7881
7882         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
7883         (info_spu_event_command): Remove some uses of is_mi_like_p.
7884
7885 2018-04-30  Tom Tromey  <tom@tromey.com>
7886
7887         * python/py-framefilter.c (py_print_single_arg)
7888         (enumerate_locals, py_print_args, py_print_frame): Remove some
7889         uses of is_mi_like_p.
7890
7891 2018-04-30  Tom Tromey  <tom@tromey.com>
7892
7893         * ui-out.c: Update.
7894         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
7895         * ui-out.h (ui_out::is_mi_like_p): Now const.
7896         (ui_out::do_is_mi_like_p): Now const.
7897         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
7898
7899 2018-04-30  Tom Tromey  <tom@tromey.com>
7900
7901         * varobj.c (varobj_set_visualizer): Use new_reference.
7902         * python/python.c (gdbpy_decode_line): Use new_reference.
7903         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
7904         new_reference.
7905
7906 2018-04-30  Tom Tromey  <tom@tromey.com>
7907
7908         * varobj.c (install_new_value): Use new_reference.
7909         * value.h (value_incref): Return void.  Swap intro comment with
7910         value_decref.
7911         * value.c (set_value_parent): Use new_reference.
7912         (value_incref): Return void.  Update intro comment.
7913         (release_value): Use new_reference.
7914         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7915
7916 2018-04-30  Tom Tromey  <tom@tromey.com>
7917
7918         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7919         * gdb_bfd.h (new_bfd_ref): Remove.
7920         (gdb_bfd_open): Update comment.
7921         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7922         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7923         (gdb_bfd_fdopenr): Use new_reference.
7924         * exec.c (exec_file_attach): Use new_reference.
7925
7926 2018-04-30  Tom Tromey  <tom@tromey.com>
7927
7928         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7929         method.
7930
7931 2018-04-30  Tom Tromey  <tom@tromey.com>
7932
7933         * jit.c (jit_read_code_entry): Use type_align.
7934         * i386-tdep.c (i386_gdbarch_init): Don't call
7935         set_gdbarch_long_long_align_bit.
7936         * gdbarch.sh: Remove long_long_align_bit.
7937         * gdbarch.c, gdbarch.h: Rebuild.
7938         * arc-tdep.c (arc_type_align): New function.
7939         (arc_gdbarch_init): Use arc_type_align.  Don't call
7940         set_gdbarch_long_long_align_bit.
7941
7942 2018-04-30  Tom Tromey  <tom@tromey.com>
7943
7944         * rust-lang.c (rust_type_alignment): Remove.
7945         (rust_composite_type): Use type_align.
7946
7947 2018-04-30  Tom Tromey  <tom@tromey.com>
7948
7949         * NEWS: Mention Type.align.
7950         * python/py-type.c (typy_get_alignof): New function.
7951         (type_object_getset): Add "alignof".
7952
7953 2018-04-30  Tom Tromey  <tom@tromey.com>
7954
7955         PR exp/17095:
7956         * NEWS: Update.
7957         * std-operator.def (UNOP_ALIGNOF): New operator.
7958         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7959         New.
7960         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7961         * c-lang.c (c_op_print_tab): Add alignof.
7962         * c-exp.y (ALIGNOF): New token.
7963         (exp): Add "ALIGNOF" production.
7964         (ident_tokens): Add _Alignof and alignof.
7965
7966 2018-04-30  Tom Tromey  <tom@tromey.com>
7967
7968         * i386-tdep.c (i386_type_align): New function.
7969         (i386_gdbarch_init): Update.
7970         * gdbarch.sh (type_align): New method.
7971         * gdbarch.c, gdbarch.h: Rebuild.
7972         * arch-utils.h (default_type_align): Declare.
7973         * arch-utils.c (default_type_align): New function.
7974         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7975         (struct type) <align_log2>: New field.
7976         <instance_flags>: Now a bitfield.
7977         (TYPE_RAW_ALIGN): New macro.
7978         (type_align, type_raw_align, set_type_align): Declare.
7979         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7980         functions.
7981         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7982         (get_alignment, maybe_set_alignment): New functions.
7983         (read_structure_type, read_enumeration_type, read_array_type)
7984         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7985         (read_subrange_type, read_base_type): Set type alignment.
7986
7987 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7988
7989         * dwarf2read.c (read_index_from_section): Use bool.
7990
7991 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7992
7993         PR gdb/22950
7994         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7995         with #ifdef.
7996
7997 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7998
7999         PR build/22873
8000         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8001         last step, and do it atomically.
8002
8003 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8004
8005         * compile/compile-c-types.c (convert_int, convert_float):
8006         Update for C FE v1.
8007
8008 2018-04-27  Tom Tromey  <tom@tromey.com>
8009
8010         PR rust/22545:
8011         * rust-lang.c (rust_inclusive_range_type_p): New function.
8012         (rust_range): Handle inclusive ranges.
8013         (rust_compute_range): Likewise.
8014         * rust-exp.y (struct rust_op) <inclusive>: New field.
8015         (DOTDOTEQ): New constant.
8016         (range_expr): Add "..=" productions.
8017         (operator_tokens): Add "..=" token.
8018         (ast_range): Add "inclusive" parameter.
8019         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8020         ranges.
8021         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8022         bounds values.
8023         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8024         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8025         Update comments.
8026         * expprint.c (print_subexp_standard): Handle new bounds values.
8027         (dump_subexp_body_standard): Likewise.
8028
8029 2018-04-27  Tom Tromey  <tom@tromey.com>
8030
8031         * configure: Rebuild.
8032         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8033         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8034         "OVERRIDE".
8035         (class symbol_needs_eval_context): Likewise.
8036         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8037         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8038         "virtual".
8039         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8040         "override".
8041         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8042         * aarch64-tdep.c (instruction_reader::read): Use "override".
8043         (instruction_reader_test::read): Likewise.
8044         * arm-tdep.c (instruction_reader::read): Use "override".
8045         (instruction_reader_thumb::read): Likewise.
8046
8047 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8048
8049         PR remote/9665
8050         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8051         instead of remote_send.
8052         (remote_send): Remove.
8053
8054 2018-04-26  Pedro Alves  <palves@redhat.com>
8055
8056         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8057         find_function_start_sal instead of find_pc_line.
8058
8059 2018-04-26  Pedro Alves  <palves@redhat.com>
8060
8061         * breakpoint.c (set_breakpoint_location_function): Handle
8062         mst_data_gnu_ifunc.
8063         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8064         * elfread.c (elf_symtab_read): Give data symbols with
8065         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8066         (elf_rel_plt_read): Update comment.
8067         * linespec.c (convert_linespec_to_sals): Handle
8068         mst_data_gnu_ifunc.
8069         (minsym_found): Handle mst_data_gnu_ifunc.
8070         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
8071         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
8072         * parse.c (find_minsym_type_and_address): Handle
8073         mst_data_gnu_ifunc.
8074         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
8075         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
8076         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
8077         comment.
8078         <mst_data_gnu_ifunc>: New enumerator.
8079
8080 2018-04-26  Pedro Alves  <palves@redhat.com>
8081
8082         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
8083         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
8084         'want_trampoline' parameter by a lookup_msym_prefer parameter.
8085         Handle it.
8086         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8087         (lookup_minimal_symbol_by_pc): Adjust.
8088         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8089         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8090         * minsyms.h (lookup_msym_prefer): New enum.
8091         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8092         parameter by a lookup_msym_prefer parameter.
8093
8094 2018-04-26  Pedro Alves  <palves@redhat.com>
8095
8096         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8097         ends in "@plt" instead of looking at the symbol's section.
8098
8099 2018-04-26  Pedro Alves  <palves@redhat.com>
8100
8101         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8102         all references.
8103         (find_pc_partial_function_gnu_ifunc): Rename to ...
8104         (find_pc_partial_function): ... this, and remove references to
8105         'is_gnu_ifunc_p'.
8106         (find_pc_partial_function): Delete old implementation.
8107         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8108
8109 2018-04-26  Pedro Alves  <palves@redhat.com>
8110
8111         * linespec.c (struct bound_minimal_symbol_search_key): New.
8112         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8113         skip first line if we found a GNU ifunc minimal symbol by name.
8114         (compare_msymbols): Change parameters to work with a destructured
8115         lhs minsym.
8116         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8117         functions.
8118
8119 2018-04-26  Pedro Alves  <palves@redhat.com>
8120
8121         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8122         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8123         address/name.
8124         (add_location_to_breakpoint): Store the minsym and the objfile in
8125         the breakpoint location.
8126         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8127         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8128         Record the minsym in the sal.
8129         * symtab.h (symtab_and_line) <msymbol>: New field.
8130
8131 2018-04-26  Pedro Alves  <palves@redhat.com>
8132
8133         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8134         unless we actually resolved the ifunc.
8135
8136 2018-04-26  Pedro Alves  <palves@redhat.com>
8137
8138         * c-exp.y (variable production): Prefer ifunc minsyms over
8139         regular function symbols.
8140         * symtab.c (find_gnu_ifunc): New function.
8141         * minsyms.h (lookup_msym_prefer): New enum.
8142         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8143         parameter by a lookup_msym_prefer parameter.
8144         * symtab.h (find_gnu_ifunc): New declaration.
8145
8146 2018-04-26  Pedro Alves  <palves@redhat.com>
8147
8148         * blockframe.c (find_gnu_ifunc_target_type): New function.
8149         (find_function_type): New.
8150         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8151         return a value with a memory address.
8152         (eval_call): For calls to GNU ifunc functions, try to find the
8153         type of the target function from the type that the resolver
8154         returns.
8155         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8156         symbols.
8157         * infcall.c (find_function_return_type): Delete.
8158         (find_function_addr): Add 'function_type' parameter.  For calls to
8159         GNU ifunc functions, try to find the type of the target function
8160         from the type that the resolver returns, and return it via
8161         FUNCTION_TYPE.
8162         (call_function_by_hand_dummy): Adjust to use the function type
8163         returned by find_function_addr.
8164         (find_function_addr): Add 'function_type' parameter and move
8165         description here.
8166         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8167         declarations.
8168
8169 2018-04-26  Pedro Alves  <palves@redhat.com>
8170
8171         * c-exp.y (variable production): Skip finding an alias for ifunc
8172         symbols.
8173
8174 2018-04-26  Pedro Alves  <palves@redhat.com>
8175
8176         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8177
8178 2018-04-25  Pedro Alves  <palves@redhat.com>
8179
8180         * infcmd.c (kill_command): Print the pid as string, not the whole
8181         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8182         message.
8183         * remote.c (remote_detach_1): Print the pid as string, not the
8184         whole thread's ptid.
8185
8186 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8187             Sergio Durigan Junior  <sergiodj@redhat.com>
8188             Pedro Alves  <palves@redhat.com>
8189
8190         * infcmd.c (kill_command): Print message when inferior has
8191         been killed.
8192         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8193         '1'.
8194         (add_inferior): Improve message printed when
8195         'print_inferior_events' is on.
8196         (exit_inferior): Remove message printed when
8197         'print_inferior_events' is on.
8198         (detach_inferior): Improve message printed when
8199         'print_inferior_events' is on.
8200         (initialize_inferiors): Use 'add_inferior_silent' to set
8201         'current_inferior_'.
8202         * inferior.h (print_inferior_events): Declare here as
8203         'extern'.
8204         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8205         '[Detaching...]' messages when 'print_inferior_events' is on.
8206         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8207         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8208         'Detaching after fork from child...', replace it by '... from
8209         parent...'.
8210         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8211         prefix/suffix when printing 'Detaching...' messages.  Print
8212         them when 'print_inferior_events' is on.
8213         * remote.c (remote_detach_1): Print message when detaching
8214         from inferior and '!is_fork_parent'.
8215
8216 2018-04-24  Tom Tromey  <tom@tromey.com>
8217
8218         * cli-out.h: Reindent.
8219
8220 2018-04-24  Tom Tromey  <tom@tromey.com>
8221
8222         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8223         (cli_ui_out::do_field_string): Use fputs_filtered.
8224         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8225
8226 2018-04-23  Tom Tromey  <tom@tromey.com>
8227
8228         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8229         gdb::unique_xmalloc_ptr.
8230
8231 2018-04-23  Tom Tromey  <tom@tromey.com>
8232
8233         * configure: Rebuild.
8234
8235 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8236
8237         PR gdb/23095
8238         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8239         prepare_for_testing.  Set normal_bp to r_debug_state if target
8240         is bsd.
8241
8242 2018-04-21  Pedro Alves  <palves@redhat.com>
8243             Rajendra SY  <rajendra.sy@gmail.com>
8244
8245         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8246         * remote.c (extended_remote_attach): In all-stop mode, mark the
8247         thread as executing.
8248
8249 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8250
8251         * thread.c (thread_apply_all_command): Fix comment.
8252         (thread_command): Fix comment.
8253
8254 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8255
8256         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8257         parameter.
8258         * features/aarch64-core.c (create_feature_aarch64_core):
8259         Regenerate.
8260         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8261         Likewise.
8262         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8263         Likewise.
8264         * features/i386/32bit-avx512.c
8265         (create_feature_i386_32bit_avx512): Likewise.
8266         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8267         Likewise.
8268         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8269         Likewise.
8270         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8271         Likewise.
8272         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8273         Likewise.
8274         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8275         Likewise.
8276         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8277         Likewise.
8278         * features/i386/64bit-avx512.c
8279         (create_feature_i386_64bit_avx512): Likewise.
8280         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8281         Likewise.
8282         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8283         Likewise.
8284         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8285         Likewise.
8286         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8287         Likewise.
8288         * features/i386/64bit-segments.c
8289         (create_feature_i386_64bit_segments): Likewise.
8290         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8291         Likewise.
8292         * features/i386/x32-core.c
8293         (create_feature_i386_x32_core): Likewise.
8294         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8295         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8296         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8297         * target-descriptions.c: In generated code, don't pass xml
8298         filename.
8299
8300 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8301
8302         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8303         (print_xml_feature::visit_post): Likewise.
8304         (print_xml_feature::visit): Likewise.
8305         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8306         (print_xml_feature): Add new class.
8307         * regformats/regdat.sh: Null xmltarget on feature targets.
8308         * target-descriptions.c (struct target_desc): Add xmltarget.
8309         (maintenance_check_tdesc_xml_convert): Add unittest function.
8310         (tdesc_get_features_xml): Add function to get xml.
8311         (maintenance_check_xml_descriptions): Test xml generation.
8312         * xml-tdesc.c (string_read_description_xml): Add function.
8313         * xml-tdesc.h (string_read_description_xml): Add declaration.
8314
8315 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8316
8317         * features/Makefile: Add feature marker to targets with new style
8318         target descriptions.
8319         * regformats/aarch64.dat: Regenerate.
8320         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8321         * regformats/i386/amd64-avx-linux.dat: Likewise.
8322         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8323         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8324         * regformats/i386/amd64-linux.dat: Likewise.
8325         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8326         * regformats/i386/amd64.dat: Likewise.
8327         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8328         * regformats/i386/i386-avx-linux.dat: Likewise.
8329         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8330         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8331         * regformats/i386/i386-linux.dat: Likewise.
8332         * regformats/i386/i386-mmx-linux.dat: Likewise.
8333         * regformats/i386/i386-mpx-linux.dat: Likewise.
8334         * regformats/i386/i386.dat: Likewise.
8335         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8336         * regformats/i386/x32-avx-linux.dat: Likewise.
8337         * regformats/i386/x32-linux.dat: Likewise.
8338         * regformats/tic6x-c62x-linux.dat: Likewise.
8339         * regformats/tic6x-c64x-linux.dat: Likewise.
8340         * regformats/tic6x-c64xp-linux.dat: Likewise.
8341         * regformats/regdat.sh: Parse feature marker.
8342
8343 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8344
8345         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8346         (tdesc_osabi_name): Likewise.
8347         * target-descriptions.c (tdesc_architecture_name): Add new
8348         function.
8349         (tdesc_osabi_name): Likewise.
8350
8351 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8352
8353         * common/tdesc.c (tdesc_predefined_type): Move to here.
8354         (tdesc_named_type): Likewise.
8355         (tdesc_create_vector): Likewise.
8356         (tdesc_create_struct): Likewise.
8357         (tdesc_set_struct_size): Likewise.
8358         (tdesc_create_union): Likewise.
8359         (tdesc_create_flags): Likewise.
8360         (tdesc_create_enum): Likewise.
8361         (tdesc_add_field): Likewise.
8362         (tdesc_add_typed_bitfield): Likewise.
8363         (tdesc_add_bitfield): Likewise.
8364         (tdesc_add_flag): Likewise.
8365         (tdesc_add_enum_value): Likewise.
8366         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8367         (struct tdesc_type_vector): Likewise.
8368         (struct tdesc_type_field): Likewise.
8369         (struct tdesc_type_with_fields): Likewise.
8370         (tdesc_create_enum): Add declaration.
8371         (tdesc_add_typed_bitfield): Likewise.
8372         (tdesc_add_enum_value): Likewise.
8373         * target-descriptions.c (tdesc_type_field): Move from here.
8374         (tdesc_type_builtin): Likewise.
8375         (tdesc_type_vector): Likewise.
8376         (tdesc_type_with_fields): Likewise.
8377         (tdesc_predefined_types): Likewise.
8378         (tdesc_named_type): Likewise.
8379         (tdesc_create_vector): Likewise.
8380         (tdesc_create_struct): Likewise.
8381         (tdesc_set_struct_size): Likewise.
8382         (tdesc_create_union): Likewise.
8383         (tdesc_create_flags): Likewise.
8384         (tdesc_create_enum): Likewise.
8385         (tdesc_add_field): Likewise.
8386         (tdesc_add_typed_bitfield): Likewise.
8387         (tdesc_add_bitfield): Likewise.
8388         (tdesc_add_flag): Likewise.
8389         (tdesc_add_enum_value): Likewise.
8390         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8391         (tdesc_add_typed_bitfield): Likewise.
8392         (tdesc_add_enum_value): Likewise.
8393
8394 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8395
8396         * common/tdesc.c (tdesc_feature::accept): Move to here.
8397         (tdesc_feature::operator==): Likewise.
8398         (tdesc_create_reg): Likewise.
8399         * common/tdesc.h (tdesc_type_kind): Likewise.
8400         (struct tdesc_type): Likewise.
8401         (struct tdesc_feature): Likewise.
8402         * regformats/regdat.sh: Create a feature.
8403         * target-descriptions.c (tdesc_type_kind): Move from here.
8404         (tdesc_type): Likewise.
8405         (tdesc_type_up): Likewise.
8406         (tdesc_feature): Likewise.
8407         (tdesc_create_reg): Likewise.
8408
8409 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8410
8411         * Makefile.in: Add arch/tdesc.c
8412         * common/tdesc.c: New file.
8413         * common/tdesc.h (tdesc_element_visitor): Move to here.
8414         (tdesc_element): Likewise.
8415         (tdesc_reg): Likewise.
8416         (tdesc_reg_up): Likewise.
8417         * regformats/regdef.h (reg): Add offset to constructors.
8418         * target-descriptions.c (tdesc_element_visitor): Move from here.
8419         (tdesc_element): Likewise.
8420         (tdesc_reg): Likewise.
8421         (tdesc_reg_up): Likewise.
8422
8423 2018-04-17  Tom Tromey  <tom@tromey.com>
8424
8425         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8426         discriminant field.
8427
8428 2018-04-17  Tom Tromey  <tom@tromey.com>
8429
8430         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8431
8432 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8433
8434         * symtab.c (print_symbol_info): Skip printing filename and line
8435         number when `last' is NULL.
8436         (symtab_symbol_info): Use empty string instead of NULL for first
8437         invocation of print_symbol_info.
8438         (rbreak_command): Pass NULL to `last' parameter of
8439         print_symbol_info.
8440
8441 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8442
8443         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8444         instead of nullptr.
8445
8446 2018-04-16  Pedro Alves  <palves@redhat.com>
8447
8448         * MAINTAINERS (sh): Remove.
8449         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8450         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8451         (ALLDEPFILES): Remove sh64-tdep.c.
8452         * NEWS: Mentions that support for SH-5/SH64 is removed.
8453         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8454         (sh*-*-openbsd*): Ditto.
8455         (sh64-*-elf*): Remove.
8456         (sh*): Remove.
8457         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8458         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8459         * sh-tdep.c: No longer include "sh64-tdep.h".
8460         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8461         * sh64-tdep.c, sh64-tdep.h: Remove files.
8462
8463 2018-04-16  Pedro Alves  <palves@redhat.com>
8464
8465         * MAINTAINERS: Remove m88k.
8466         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8467         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8468         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8469         * NEWS: Mention that support for m88k was removed.
8470         * configure.host (m88*-*-*): Remove support.
8471         * configure.nat (m88k-*-*): Remove support.
8472         * configure.tgt (m88*-*-openbsd*): Remove.
8473         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8474
8475 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8476
8477         * configure.tgt (x86_tobjs): New variable.
8478         (amd64_tobjs, i386_tobjs): Use it.
8479
8480 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8481
8482         * symtab.c (print_symbol_info): Precede the symbol definition by
8483         the line number when available.
8484         * NEWS: Advertise this enhancement.
8485
8486 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8487
8488         * NEWS (New options): announce set/show record btrace cpu.
8489         * btrace.c: Include record-btrace.h.
8490         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8491         the vendor is unknown.
8492         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8493         Maybe overwrite the btrace configuration's cpu.
8494         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8495         (btrace_fetch): Add cpu parameter.  Update callers.
8496         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8497         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8498         errata workarounds if the vendor is unknown.
8499         * python/py-record-btrace.c: Include record-btrace.h.
8500         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8501         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8502         * record-btrace.c (record_btrace_cpu_state_kind): New.
8503         (record_btrace_cpu): New.
8504         (set_record_btrace_cpu_cmdlist): New.
8505         (record_btrace_get_cpu): New.
8506         (require_btrace_thread, record_btrace_info)
8507         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8508         (cmd_set_record_btrace_cpu_none): New.
8509         (cmd_set_record_btrace_cpu_auto): New.
8510         (cmd_set_record_btrace_cpu): New.
8511         (cmd_show_record_btrace_cpu): New.
8512         (_initialize_record_btrace): Initialize set/show record btrace cpu
8513         commands.
8514         * record-btrace.h (record_btrace_get_cpu): New.
8515
8516 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8517
8518         * record.c (set_record_command): Fix typo in message.
8519
8520 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8521
8522         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8523
8524 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8525
8526         * infrun.c (process_event_stop_test): Call
8527         gdbarch_in_indirect_branch_thunk.
8528         * gdbarch.sh (in_indirect_branch_thunk): New.
8529         * gdbarch.c: Regenerated.
8530         * gdbarch.h: Regenerated.
8531         * x86-tdep.h: New.
8532         * x86-tdep.c: New.
8533         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8534         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8535         (ALLDEPFILES): Add x86-tdep.c.
8536         * arch-utils.h (default_in_indirect_branch_thunk): New.
8537         * arch-utils.c (default_in_indirect_branch_thunk): New.
8538         * i386-tdep: Include x86-tdep.h.
8539         (i386_in_indirect_branch_thunk): New.
8540         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8541         function.
8542         * amd64-tdep: Include x86-tdep.h.
8543         (amd64_in_indirect_branch_thunk): New.
8544         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8545
8546 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8547
8548         PR gdb/23053
8549         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8550         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8551         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8552         regression.
8553
8554 2018-04-12  Tom Tromey  <tom@tromey.com>
8555
8556         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8557         (rust_evaluate_subexp): Likewise.
8558
8559 2018-04-12  Pedro Alves  <palves@redhat.com>
8560
8561         * procfs.c (procfs_detach): Make forward declaration's prototype
8562         match definition's protototype.
8563         (proc_get_LDT_entry): Remove stale do_cleanups call.
8564
8565 2018-04-12  Pedro Alves  <palves@redhat.com>
8566
8567         * target.h (target_ops::to_has_exited): Delete.
8568         (target_has_exited): Delete.
8569         * target-delegates.c: Regenerate.
8570
8571 2018-04-11  Pedro Alves  <palves@redhat.com>
8572
8573         * target.c (fileio_fh_t::t): Add comment.
8574         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8575         (target_fileio_close): Handle a NULL target.
8576         (invalidate_fileio_fh): New.
8577         (target_close): Call it.
8578         * remote.c (remote_hostio_send_command): No longer check whether
8579         remote_desc is open.
8580
8581 2018-04-11  Pedro Alves  <palves@redhat.com>
8582
8583         * target.c (fileio_fh_t): Make it a named struct instead of a
8584         typedef.
8585         (fileio_fh_t::is_closed): New method.
8586         (DEF_VEC_O (fileio_fh_t)): Remove.
8587         (fileio_fhandles): Now a std::vector.
8588         (is_closed_fileio_fh): Delete.
8589         (acquire_fileio_fd): Adjust.  Rename parameters.
8590         (release_fileio_fd): Adjust.
8591         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8592         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8593         (target_fileio_close): Adjust.
8594
8595 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8596
8597         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8598         index.
8599
8600 2018-04-10  Pedro Alves  <palves@redhat.com>
8601
8602         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8603         (scoped_finish_thread_state): New class.
8604         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8605         cleanup.
8606         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8607         (fetch_inferior_event, normal_stop): Likewise.
8608         * thread.c (finish_thread_state_cleanup): Delete.
8609
8610 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8611             Pedro Alves  <palves@redhat.com>
8612
8613         * value.c: Include "selftest.h" and "common/array-view.h".
8614         (struct range) <operator ==>: New.
8615         (test_ranges_contain): New.
8616         (check_ranges_vector): New.
8617         (test_insert_into_bit_range_vector): New.
8618         (_initialize_values): Register selftests.
8619         * common/array-view.h (operator==, operator!=): New.
8620
8621 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8622
8623         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8624         an iterator.
8625         * inline-frame.c: Include <algorithm>.
8626         (struct inline_state): Add constructor.
8627         (inline_state_s): Remove.
8628         (DEF_VEC_O(inline_state_s)): Remove.
8629         (inline_states): Change type to std::vector.
8630         (find_inline_frame_state): Adjust to std::vector.
8631         (allocate_inline_frame_state): Remove.
8632         (clear_inline_frame_state): Adjust to std::vector.
8633         (skip_inline_frames): Adjust to std::vector.
8634
8635 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8636
8637         * tracepoint.h (struct trace_state_variable): Add constructor.
8638         <name>: Change type to std::string.
8639         * tracepoint.c (tsv_s): Remove.
8640         (DEF_VEC_O(tsv_s)): Remove.
8641         (tvariables): Change to std::vector.
8642         (create_trace_state_variable): Adjust to std::vector.
8643         (find_trace_state_variable): Likewise.
8644         (find_trace_state_variable_by_number): Likewise.
8645         (delete_trace_state_variable): Likewise.
8646         (trace_variable_command): Adjust to std::string.
8647         (delete_trace_variable_command): Likewise.
8648         (tvariables_info_1): Adjust to std::vector.
8649         (save_trace_state_variables): Likewise.
8650         (start_tracing): Likewise.
8651         (merge_uploaded_trace_state_variables): Adjust to std::vector
8652         and std::string.
8653         * target.h (struct target_ops)
8654         <to_download_trace_state_variable>: Pass reference to
8655         trace_state_variable.
8656         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8657         * target-delegates.c: Re-generate.
8658         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8659         (mi_tsv_deleted): Likewise.
8660         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8661         * remote.c (remote_download_trace_state_variable): Change
8662         pointer to reference and adjust.
8663         * make-target-delegates (parse_argtypes): Handle references.
8664         (write_function_header): Likewise.
8665         (munge_type): Likewise.
8666
8667 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8668
8669         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8670         string_view-selftests.c.
8671         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8672         testsuite.
8673         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8674         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8675         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8676         * unittests/basic_string_view/element_access/char/1.cc:
8677         Likewise.
8678         * unittests/basic_string_view/element_access/char/empty.cc:
8679         Likewise.
8680         * unittests/basic_string_view/element_access/char/front_back.cc:
8681         Likewise.
8682         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8683         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8684         Likewise.
8685         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8686         Likewise.
8687         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8688         Likewise.
8689         * unittests/basic_string_view/operations/compare/char/1.cc:
8690         Likewise.
8691         * unittests/basic_string_view/operations/compare/char/13650.cc:
8692         Likewise.
8693         * unittests/basic_string_view/operations/copy/char/1.cc:
8694         Likewise.
8695         * unittests/basic_string_view/operations/data/char/1.cc:
8696         Likewise.
8697         * unittests/basic_string_view/operations/find/char/1.cc:
8698         Likewise.
8699         * unittests/basic_string_view/operations/find/char/2.cc:
8700         Likewise.
8701         * unittests/basic_string_view/operations/find/char/3.cc:
8702         Likewise.
8703         * unittests/basic_string_view/operations/find/char/4.cc:
8704         Likewise.
8705         * unittests/basic_string_view/operations/rfind/char/1.cc:
8706         Likewise.
8707         * unittests/basic_string_view/operations/rfind/char/2.cc:
8708         Likewise.
8709         * unittests/basic_string_view/operations/rfind/char/3.cc:
8710         Likewise.
8711         * unittests/basic_string_view/operations/substr/char/1.cc:
8712         Likewise.
8713         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8714         * unittests/string_view-selftests.c: New file.
8715
8716 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8717
8718         * unittests/basic_string_view/capacity/1.cc: New file.
8719         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8720         * unittests/basic_string_view/cons/char/1.cc: New file.
8721         * unittests/basic_string_view/cons/char/2.cc: New file.
8722         * unittests/basic_string_view/cons/char/3.cc: New file.
8723         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8724         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8725         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8726         * unittests/basic_string_view/element_access/char/1.cc: New file.
8727         * unittests/basic_string_view/element_access/char/2.cc: New file.
8728         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8729         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8730         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8731         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8732         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8733         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8734         * unittests/basic_string_view/include.cc: New file.
8735         * unittests/basic_string_view/inserters/char/1.cc: New file.
8736         * unittests/basic_string_view/inserters/char/2.cc: New file.
8737         * unittests/basic_string_view/inserters/char/3.cc: New file.
8738         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8739         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8740         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8741         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8742         * unittests/basic_string_view/literals/types.cc: New file.
8743         * unittests/basic_string_view/literals/values.cc: New file.
8744         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8745         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8746         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8747         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8748         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8749         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8750         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8751         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8752         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8753         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8754         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8755         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8756         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8757         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8758         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8759         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8760         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8761         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8762         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8763         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8764         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8765         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8766         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8767         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8768         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8769         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8770         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8771         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8772         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8773         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8774         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8775         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8776         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8777         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8778         * unittests/basic_string_view/operators/char/2.cc: New file.
8779         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8780         * unittests/basic_string_view/range_access/char/1.cc: New file.
8781         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8782         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8783         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8784         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8785         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8786         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8787         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8788         * unittests/basic_string_view/typedefs.cc: New file.
8789         * unittests/basic_string_view/types/1.cc: New file.
8790
8791 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8792
8793         * common/gdb_string_view.h: Remove libstdc++ implementation
8794         details, adjust to gdb reality.
8795         * common/gdb_string_view.tcc: Likewise.
8796         * cli/cli-script.c (struct string_view): Remove.
8797         (user_args) <m_args>: Change element type to gdb::string_view.
8798         (user_args::insert_args): Adjust.
8799
8800 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8801
8802         * common/gdb_string_view.h: New file.
8803         * common/gdb_string_view.tcc: New file.
8804
8805 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8806
8807         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8808         * configure: Re-generate.
8809
8810 2018-04-09  Pedro Alves  <palves@redhat.com>
8811
8812         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8813         (set_target_gdbarch): Call
8814         gdb::observers::architecture_changed.notify instead of
8815         observer_notify_architecture_changed.
8816
8817 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8818
8819         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8820         (do_restore_current_traceframe_cleanup): Remove.
8821         (restore_current_traceframe_cleanup_dtor): Remove.
8822         (make_cleanup_restore_current_traceframe): Remove.
8823         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8824         New.
8825         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8826         * infrun.c (fetch_inferior_event): Use
8827         scoped_restore_current_traceframe.
8828
8829 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8830
8831         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8832         Remove.
8833         <n_allocated_type_units>: Remove.
8834         <all_type_units>: Change to std::vector.
8835         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8836         to std::vector change.
8837         (dwarf2_per_objfile::get_cutu): Likewise.
8838         (dwarf2_per_objfile::get_tu): Likewise.
8839         (create_signatured_type_table_from_index): Likewise.
8840         (create_signatured_type_table_from_debug_names): Likewise.
8841         (dw2_symtab_iter_next): Likewise.
8842         (dw2_print_stats): Likewise.
8843         (dw2_expand_all_symtabs): Likewise.
8844         (dw2_expand_marked_cus): Likewise.
8845         (dw2_debug_names_iterator::next): Likewise.
8846         (dwarf2_initialize_objfile): Likewise.
8847         (add_signatured_type_cu_to_table): Likewise.
8848         (create_all_type_units): Likewise.
8849         (add_type_unit): Likewise.
8850         (struct tu_abbrev_offset): Add constructor.
8851         (build_type_psymtabs_1): Adjust to std::vector change.
8852         (print_tu_stats): Likewise.
8853         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8854         (write_debug_names): Likewise.
8855
8856 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8857
8858         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8859         Make an std::vector.
8860         <n_comp_units>: Remove.
8861         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8862         to std::vector change.
8863         (dwarf2_per_objfile::get_cutu): Likewise.
8864         (dwarf2_per_objfile::get_cu): Likewise.
8865         (create_cus_from_index): Likewise.
8866         (create_addrmap_from_index): Likewise.
8867         (create_addrmap_from_aranges): Likewise.
8868         (dwarf2_read_index): Likewise.
8869         (dw2_find_last_source_symtab): Likewise.
8870         (dw2_map_symtabs_matching_filename): Likewise.
8871         (dw2_symtab_iter_next): Likewise.
8872         (dw2_print_stats): Likewise.
8873         (dw2_expand_all_symtabs): Likewise.
8874         (dw2_expand_symtabs_with_fullname): Likewise.
8875         (dw2_expand_marked_cus): Likewise.
8876         (dw2_map_symbol_filenames): Likewise.
8877         (create_cus_from_debug_names): Likewise.
8878         (dwarf2_read_debug_names): Likewise.
8879         (dw2_debug_names_iterator::next): Likewise.
8880         (dwarf2_initialize_objfile): Likewise.
8881         (set_partial_user): Likewise.
8882         (dwarf2_build_psymtabs_hard): Likewise.
8883         (read_comp_units_from_section): Remove arguments, adjust to
8884         std::vector change.
8885         (create_all_comp_units): Adjust to std::vector and
8886         read_comp_units_from_section changes.
8887         (dwarf2_find_containing_comp_unit): Adjust to std::vector
8888         change.
8889         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8890         (psyms_seen_size): Likewise.
8891         (write_gdbindex): Likewise.
8892         (write_debug_names): Likewise.
8893
8894 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8895
8896         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
8897         with dwarf2_per_objfile.
8898         (create_cus_from_index): Likewise.
8899         (create_signatured_type_table_from_index): Likewise.
8900         (dwarf2_read_index): Likewise.
8901         (dwarf2_initialize_objfile): Likewise.
8902         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
8903         per_cu rather than get_dwarf2_per_objfile.
8904
8905 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8906
8907         * dwarf2read.h (struct signatured_type): Forward declare.
8908         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
8909         New methods.
8910         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8911         (dw2_get_cutu): ...this.
8912         (dwarf2_per_objfile::get_cu): Rename from...
8913         (dw2_get_cu): ...this.
8914         (dwarf2_per_objfile::get_tu): New.
8915         (create_addrmap_from_index): Adjust.
8916         (create_addrmap_from_aranges): Adjust.
8917         (dw2_find_last_source_symtab): Adjust.
8918         (dw2_map_symtabs_matching_filename): Adjust.
8919         (dw2_symtab_iter_next): Adjust.
8920         (dw2_print_stats): Adjust.
8921         (dw2_expand_all_symtabs): Adjust.
8922         (dw2_expand_symtabs_with_fullname): Adjust.
8923         (dw2_expand_marked_cus): Adjust.
8924         (dw_expand_symtabs_matching_file_matcher): Adjust.
8925         (dw2_map_symbol_filenames): Adjust.
8926         (dw2_debug_names_iterator::next): Adjust.
8927         (dwarf2_initialize_objfile): Adjust.
8928         (set_partial_user): Adjust.
8929         (dwarf2_build_psymtabs_hard): Adjust.
8930
8931 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8932
8933         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8934         Remove unused variables.
8935         (dw2_map_symtabs_matching_filename): Likewise.
8936         (dwarf2_record_block_ranges): Likewise.
8937         (dwarf2_read_addr_index): Likewise.
8938         (follow_die_offset): Likewise.
8939
8940 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8941
8942         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8943         to symbol_file_add_main.
8944
8945 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8946
8947         PR mi/22299
8948         * mi/mi-console.c (do_fputc_async_safe): New.
8949         (mi_console_file::write_async_safe): New.
8950         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8951         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8952         New.
8953         * ui-file.c (ui_file::putstrn): Adjust call to
8954         fputstrn_unfiltered.
8955         * utils.c (printchar): Replace do_fputs and do_fprintf
8956         parameters by do_fputc.
8957         (fputstr_filtered): Adjust call to printchar.
8958         (fputstr_unfiltered): Likewise.
8959         (fputstrn_filtered): Likewise.
8960         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8961         printchar.
8962         * utils.h (do_fputc_ftype): New typedef.
8963         (fputstrn_unfiltered): Add do_fputc parameter.
8964
8965 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8966
8967         * regformats/i386/i386-avx.dat: Remove.
8968
8969 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8970
8971         PR gdb/22979
8972         * amd64-tdep.c (amd64_none_init_abi): New function.
8973         (amd64_x32_none_init_abi): New function.
8974         (_initialize_amd64_tdep): Register handlers for x86-64 and
8975         x64_32 with GDB_OSABI_NONE.
8976         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8977         GDB_OSABI_NONE osabi.
8978
8979 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8980
8981         PR gdb/22980
8982         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8983         GDB_OSABI_NONE.
8984         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8985         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8986
8987 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8988
8989         * common/byte-vector.h (char_vector): New type.
8990         * target.h (target_read_alloc): Return
8991         gdb::optional<byte_vector>.
8992         (target_read_stralloc): Return gdb::optional<char_vector>.
8993         (target_get_osdata): Return gdb::optional<char_vector>.
8994         * target.c (target_read_alloc_1): Templatize.  Replacement
8995         manual memory management with vector.
8996         (target_read_alloc): Change return type, adjust.
8997         (target_read_stralloc): Change return type, adjust.
8998         (target_get_osdata): Change return type, adjust.
8999         * auxv.c (struct auxv_info) <length>: Remove.
9000         <data>: Change type to gdb::optional<byte_vector>.
9001         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9002         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9003         (target_auxv_search): Adjust.
9004         (fprint_target_auxv): Adjust.
9005         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9006         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9007         (linux_make_corefile_notes): Adjust.
9008         * osdata.c (get_osdata): Adjust.
9009         * remote.c (remote_get_threads_with_qxfer): Adjust.
9010         (remote_memory_map): Adjust.
9011         (remote_traceframe_info): Adjust.
9012         (btrace_read_config): Adjust.
9013         (remote_read_btrace): Adjust.
9014         (remote_pid_to_exec_file): Adjust.
9015         * solib-aix.c (solib_aix_get_library_list): Adjust.
9016         * solib-dsbt.c (decode_loadmap): Don't free buf.
9017         (dsbt_get_initial_loadmaps): Adjust.
9018         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9019         * solib-target.c (solib_target_current_sos): Adjust.
9020         * tracepoint.c (sdata_make_value): Adjust.
9021         * xml-support.c (xinclude_start_include): Adjust.
9022         (xml_fetch_content_from_file): Adjust.
9023         * xml-support.h (xml_fetch_another): Change return type.
9024         (xml_fetch_content_from_file): Change return type.
9025         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9026         * xml-tdesc.c (file_read_description_xml): Adjust.
9027         (fetch_available_features_from_target): Change return type.
9028         (target_fetch_description_xml): Adjust.
9029         (target_read_description_xml): Adjust.
9030
9031 2018-04-06  Tom Tromey  <tom@tromey.com>
9032
9033         * value.c (~value): Update.
9034         (struct value) <contents>: Now unique_xmalloc_ptr.
9035         (value_contents_bits_eq, allocate_value_contents)
9036         (value_contents_raw, value_contents_all_raw)
9037         (value_contents_for_printing, value_contents_for_printing_const)
9038         (set_value_enclosing_type): Update.
9039
9040 2018-04-06  Tom Tromey  <tom@tromey.com>
9041
9042         * value.c (range_s): Remove typedef, VEC.
9043         (struct range): Add operator<.
9044         (range_lessthan): Remove.
9045         (ranges_contain): Change type.
9046         (~value): Update.
9047         (struct value) <unavailable, optimized_out>: Now std::vector.
9048         (value_entirely_available)
9049         (value_entirely_covered_by_range_vector)
9050         (value_entirely_unavailable, value_entirely_optimized_out):
9051         Update.
9052         (insert_into_bit_range_vector): Change argument type.
9053         (find_first_range_overlap): Likewise.
9054         (struct ranges_and_idx, value_contents_bits_eq)
9055         (require_not_optimized_out, require_available): Update.
9056         (ranges_copy_adjusted): Change argument types.
9057         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9058
9059 2018-04-06  Tom Tromey  <tom@tromey.com>
9060
9061         * value.c (~value): Update.
9062         (struct value) <parent>: Now a value_ref_ptr.
9063         (value_parent, set_value_parent, value_address, value_copy):
9064         Update.
9065
9066 2018-04-06  Tom Tromey  <tom@tromey.com>
9067
9068         * value.c (struct value): Add constructor, destructor, and member
9069         initializers.
9070         (allocate_value_lazy, value_decref): Update.
9071
9072 2018-04-06  Tom Tromey  <tom@tromey.com>
9073
9074         * value.c (struct value) <released, next>: Remove.
9075         (all_values): Now a std::vector.
9076         (allocate_value_lazy): Update.
9077         (value_next): Remove.
9078         (value_mark, value_free_to_mark, release_value)
9079         (value_release_to_mark): Update.
9080
9081 2018-04-06  Tom Tromey  <tom@tromey.com>
9082
9083         * value.h (fetch_subexp_value, value_release_to_mark): Update.
9084         (free_value_chain): Remove.
9085         * value.c (free_value_chain): Remove.
9086         (value_release_to_mark): Return a std::vector.
9087         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9088         std::vector.
9089         (check_condition): Update.
9090         * eval.c (fetch_subexp_value): Change "val_chain" to a
9091         std::vector.
9092         * breakpoint.c (update_watchpoint): Update.
9093         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9094
9095 2018-04-06  Tom Tromey  <tom@tromey.com>
9096
9097         * value.h (free_all_values): Remove.
9098         * value.c (free_all_values): Remove.
9099
9100 2018-04-06  Tom Tromey  <tom@tromey.com>
9101
9102         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9103         (value_history_chain, value_history_count): Remove.
9104         (value_history): New global.
9105         (record_latest_value, access_value_history, show_values)
9106         (preserve_values): Update.
9107
9108 2018-04-06  Tom Tromey  <tom@tromey.com>
9109
9110         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9111         * varobj.c (varobj_set_display_format, varobj_set_value)
9112         (install_default_visualizer, construct_visualizer)
9113         (install_new_value, ~varobj, varobj_get_value_type)
9114         (my_value_of_variable, varobj_editable_p): Update.
9115         * c-varobj.c (c_describe_child, c_value_of_variable)
9116         (cplus_number_of_children, cplus_describe_child): Update.
9117         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9118         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9119         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9120
9121 2018-04-06  Tom Tromey  <tom@tromey.com>
9122
9123         * printcmd.c (last_examine_address): Change type to
9124         value_ref_ptr.
9125         (do_examine, x_command): Update.
9126
9127 2018-04-06  Tom Tromey  <tom@tromey.com>
9128
9129         * value.c (release_value): Update.
9130         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9131         (struct bpstats) <val>: Now a value_ref_ptr.
9132         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9133         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9134         (~watchpoint, print_it_watchpoint, watch_command_1)
9135         (invalidate_bp_value_on_memory_change): Update.
9136
9137 2018-04-06  Tom Tromey  <tom@tromey.com>
9138
9139         * varobj.c (varobj_clear_saved_item)
9140         (update_dynamic_varobj_children, install_new_value, ~varobj):
9141         Update.
9142         * value.h (value_incref): Move declaration earlier.
9143         (value_decref): Rename from value_free.
9144         (struct value_ref_policy): New.
9145         (value_ref_ptr): New typedef.
9146         (struct value_deleter): Remove.
9147         (gdb_value_up): Remove typedef.
9148         (release_value): Change return type.
9149         (release_value_or_incref): Remove.
9150         * value.c (set_value_parent): Update.
9151         (value_incref): Change return type.
9152         (value_decref): Rename from value_free.
9153         (value_free_to_mark, free_all_values, free_value_chain): Update.
9154         (release_value): Return value_ref_ptr.
9155         (release_value_or_incref): Remove.
9156         (record_latest_value, set_internalvar, clear_internalvar):
9157         Update.
9158         * stack.c (info_frame_command): Don't call value_free.
9159         * python/py-value.c (valpy_dealloc, valpy_new)
9160         (value_to_value_object): Update.
9161         * printcmd.c (do_examine): Update.
9162         * opencl-lang.c (lval_func_free_closure): Update.
9163         * mi/mi-main.c (register_changed_p): Don't call value_free.
9164         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9165         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9166         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9167         value_free.
9168         * guile/scm-value.c (vlscm_free_value_smob)
9169         (vlscm_scm_from_value): Update.
9170         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9171         (frame_unwind_register_unsigned, get_frame_register_bytes)
9172         (put_frame_register_bytes): Don't call value_free.
9173         * findvar.c (address_from_register): Don't call value_free.
9174         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9175         * dwarf2loc.c (entry_data_value_free_closure)
9176         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9177         (dwarf2_evaluate_loc_desc_full): Update.
9178         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9179         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9180         (~watchpoint, watch_command_1)
9181         (invalidate_bp_value_on_memory_change): Update.
9182         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9183
9184 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9185
9186         PR gdb/23022
9187         * warning.m4: Add -Wno-error=deprecated-register.
9188         * configure: Re-generate.
9189
9190 2018-04-05  Tom Tromey  <tom@tromey.com>
9191
9192         * linespec.h: Remove include of "vec.h".
9193
9194 2018-04-05  Tom Tromey  <tom@tromey.com>
9195
9196         * linespec.c (typep): Remove typedef.
9197         (find_methods, find_superclass_methods): Take a std::vector.
9198         (find_method): Use std::vector.
9199
9200 2018-04-05  Tom Tromey  <tom@tromey.com>
9201
9202         * utils.c (compare_strings): Remove.
9203         * utils.h (compare_strings): Remove.
9204         * objc-lang.h (find_imps): Update.
9205         * objc-lang.c (find_methods): Take a std::vector.
9206         (uniquify_strings, find_imps): Likewise.
9207         * linespec.c (find_methods): Take a std::vector.
9208         (decode_objc): Use std::vector.
9209         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9210         a std::vector.
9211         (find_method, find_function_symbols): Use std::vector.
9212
9213 2018-04-05  Tom Tromey  <tom@tromey.com>
9214
9215         * completer.c (completion_tracker::completion_tracker): Remove
9216         cast.
9217         (completion_tracker::discard_completions): Likewise.
9218         * breakpoint.c (ambiguous_names_p): Remove cast.
9219         * ada-lang.c (_initialize_ada_language): Remove cast.
9220         * utils.h (streq): Update.
9221         (streq_hash): Add new declaration.
9222         * utils.c (streq): Return bool.
9223         (streq_hash): New function.
9224
9225 2018-04-05  Tom Tromey  <tom@tromey.com>
9226
9227         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9228         Remove a string copy.
9229
9230 2018-04-05  Tom Tromey  <tom@tromey.com>
9231
9232         * linespec.c (filter_results): Use std::vector.
9233         (decode_line_2, decode_line_full): Update.
9234
9235 2018-04-05  Tom Tromey  <tom@tromey.com>
9236
9237         * linespec.c (canonical_to_fullform): Return std::string.
9238         (filter_results): Update.
9239         (struct decode_line_2_item): Add constructor.
9240         <fullform, displayform>: Now std::string.
9241         (decode_line_2_compare_items): Now a std::sort comparator.
9242         (decode_line_2): Update.
9243
9244 2018-04-05  Tom Tromey  <tom@tromey.com>
9245
9246         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9247         (unexpected_linespec_error): Update.
9248         (linespec_parse_basic, parse_linespec): Update.
9249
9250 2018-04-05  Tom Tromey  <tom@tromey.com>
9251
9252         * linespec.c (linespec_parse_basic): Reindent.
9253
9254 2018-04-05  Tom Tromey  <tom@tromey.com>
9255
9256         * minsyms.h (iterate_over_minimal_symbols): Update.
9257         * minsyms.c (iterate_over_minimal_symbols): Take a
9258         gdb::function_view.
9259         * linespec.c (struct collect_minsyms): Remove.
9260         (compare_msyms): Now a std::sort comparator.
9261         (add_minsym): Add parameters.
9262         (search_minsyms_for_name): Update.  Use std::vector.
9263
9264 2018-04-03  Tom Tromey  <tom@tromey.com>
9265
9266         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9267         gdb::byte_vector.
9268
9269 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9270
9271         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9272
9273 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9274
9275         PR gdb/16959
9276         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9277         printing static type.
9278
9279 2018-04-01  Tom Tromey  <tom@tromey.com>
9280
9281         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9282         (rs6000_xfer_shared_libraries): Update.
9283
9284 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9285
9286         * common/gdb_vecs.h (char_ptr): Remove.
9287         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9288
9289 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9290
9291         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9292         with std::vector.
9293         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9294
9295 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9296
9297         * tracepoint.h (struct uploaded_tp): Initialize fields.
9298         <actions, step_actions, cmd_strings>: Change type to
9299         std::vector<char *>.
9300         * tracepoint.c (get_uploaded_tp): Allocate with new.
9301         (free_uploaded_tps): Free with delete.
9302         (parse_tracepoint_definition): Adjust to std::vector change.
9303         * breakpoint.c (read_uploaded_action): Likewise.
9304         (create_tracepoint_from_upload): Likewise.
9305         * ctf.c (ctf_write_uploaded_tp): Likewise.
9306         (SET_ARRAY_FIELD): Likewise.
9307         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9308
9309 2018-03-30  Tom Tromey  <tom@tromey.com>
9310
9311         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9312         std::unique_ptr.
9313         (svr4_keep_data_in_core): Update.
9314         (svr4_read_so_list): Update.
9315
9316 2018-03-30  Tom Tromey  <tom@tromey.com>
9317
9318         * windows-nat.c (handle_output_debug_string, handle_exception):
9319         Update.
9320         * target.h (target_read_string): Update.
9321         * target.c (target_read_string): Change "string" to
9322         unique_xmalloc_ptr.
9323         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9324         Update.
9325         * solib-frv.c (frv_current_sos): Update.
9326         * solib-dsbt.c (dsbt_current_sos): Update.
9327         * solib-darwin.c (darwin_current_sos): Update.
9328         * linux-thread-db.c (inferior_has_bug): Update.
9329         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9330         Update.  Remove alloca.
9331         * ada-lang.c (ada_main_name): Update.
9332
9333 2018-03-30  Tom Tromey  <tom@tromey.com>
9334
9335         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9336         (struct dwo_file_deleter): New.
9337         (dwo_file_up): New typedef.
9338         (open_and_init_dwo_file): Use dwo_file_up.
9339         (free_dwo_file_cleanup): Remove.
9340
9341 2018-03-30  Tom Tromey  <tom@tromey.com>
9342
9343         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9344         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9345
9346 2018-03-30  Tom Tromey  <tom@tromey.com>
9347
9348         * dwarf2read.c (class free_cached_comp_units): New class.
9349         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9350         (free_cached_comp_units): Remove function.
9351
9352 2018-03-30  Tom Tromey  <tom@tromey.com>
9353
9354         * utils.h (make_cleanup_unpush_target): Remove.
9355         * inf-ptrace.c (struct target_unpusher): New.
9356         (target_unpush_up) New typedef.
9357         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9358         target_unpush_up.
9359         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9360
9361 2018-03-27  Tom Tromey  <tom@tromey.com>
9362
9363         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9364
9365 2018-03-27  Pedro Alves  <palves@redhat.com>
9366             Tom Tromey  <tom@tromey.com>
9367
9368         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9369         destructor.  Now a class.
9370         (gdb_readline_wrapper_cleanup): Remove function.
9371         (gdb_readline_wrapper): Remove cleanups.
9372
9373 2018-03-27  Tom Tromey  <tom@tromey.com>
9374
9375         * typeprint.h (struct type_print_options) <local_typedefs,
9376         global_typedefs>: Remove "struct" keyword.
9377         (class typedef_hash_table): New class.
9378         (recursively_update_typedef_hash, add_template_parameters)
9379         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9380         (find_typedef_in_hash): Don't declare.
9381         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9382         (typedef_hash_table::recursively_update): Rename from
9383         recursively_update_typedef_hash.  Now a member.
9384         (typedef_hash_table::add_template_parameters): Rename from
9385         add_template_parameters.  Now a member.
9386         (typedef_hash_table::typedef_hash_table): Now a constructor;
9387         rename from create_typedef_hash.
9388         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9389         rename from free_typedef_hash.
9390         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9391         (do_free_global_table): Remove.
9392         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9393         from copy_type_recursive.
9394         (create_global_typedef_table): Remove.
9395         (typedef_hash_table::find_global_typedef): Now a member of
9396         typedef_hash_table.
9397         (typedef_hash_table::find_typedef): Rename from
9398         find_typedef_in_hash; now a member.
9399         (whatis_exp): Update.
9400         * extension.h (struct ext_lang_type_printers): Add constructor and
9401         destructor.
9402         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9403         declare.
9404         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9405         Now a constructor; rename from start_ext_lang_type_printers.
9406         (ext_lang_type_printers): Now a destructor; rename from
9407         free_ext_lang_type_printers.
9408         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9409         Update.
9410         (c_type_print_base_struct_union): Update.  Remove cleanups.
9411
9412 2018-03-27  Tom Tromey  <tom@tromey.com>
9413
9414         * dwarf-index-write.c: Include <cmath>.
9415
9416 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9417
9418         * NEWS: Add entry describing new "set|show varsize-limit" command.
9419         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9420         command.
9421         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9422         "set variable".
9423
9424 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9425
9426         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9427         dwarf-index-write.c
9428         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9429         * dwarf-index-common.c: New file.
9430         * dwarf-index-common.h: New file.
9431         * dwarf-index-write.c: New file.
9432         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9433         (struct dwarf2_section_info): Move from here.
9434         (dwarf2_section_info_def): Likewise.
9435         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9436         (offset_type): Likewise.
9437         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9438         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9439         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9440         (byte_swap): Likewise.
9441         (MAYBE_SWAP): Likewise.
9442         (dwarf2_per_cu_ptr): Likewise.
9443         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9444         (struct tu_stats): Likewise.
9445         (struct dwarf2_per_objfile): Likewise.
9446         (struct dwarf2_per_cu_data): Likewise.
9447         (struct signatured_type): Likewise.
9448         (sig_type_ptr): Likewise.
9449         (DEF_VEC_P (sig_type_ptr)): Likewise.
9450         (INDEX4_SUFFIX): Likewise.
9451         (INDEX5_SUFFIX): Likewise.
9452         (DEBUG_STR_SUFFIX): Likewise.
9453         (dwarf2_read_section): Make non-static.
9454         (mapped_index_string_hash): Move from here.
9455         (dwarf5_djb_hash): Likewise.
9456         (file_write): Likewise.
9457         (class data_buf): Likewise.
9458         (struct symtab_index_entry): Likewise.
9459         (struct mapped_symtab): Likewise.
9460         (find_slot): Likewise.
9461         (hash_expand): Likewise.
9462         (add_index_entry): Likewise.
9463         (uniquify_cu_indices): Likewise.
9464         (class c_str_view): Likewise.
9465         (class c_str_view_hasher): Likewise.
9466         (class vector_hasher): Likewise.
9467         (write_hash_table): Likewise.
9468         (psym_index_map): Likewise.
9469         (struct addrmap_index_data): Likewise.
9470         (add_address_entry): Likewise.
9471         (add_address_entry_worker): Likewise.
9472         (write_address_map): Likewise.
9473         (symbol_kind): Likewise.
9474         (write_psymbols): Likewise.
9475         (struct signatured_type_index_data): Likewise.
9476         (write_one_signatured_type): Likewise.
9477         (recursively_count_psymbols): Likewise.
9478         (recursively_write_psymbols): Likewise.
9479         (class debug_names): Likewise.
9480         (check_dwarf64_offsets): Likewise.
9481         (psyms_seen_size): Likewise.
9482         (write_gdbindex): Likewise.
9483         (write_debug_names): Likewise.
9484         (assert_file_size): Likewise.
9485         (write_psymtabs_to_index): Likewise.
9486         (save_gdb_index_command): Likewise.
9487         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9488         command.
9489         * dwarf2read.h: New file.
9490
9491 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9492
9493         PR gdb/22670
9494         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9495         symbol name if the CU's language stores symbol names in linkage
9496         format.
9497         * language.h (struct language_defn)
9498         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9499         all instances of this struct.
9500
9501 2018-03-26  Tom Tromey  <tom@tromey.com>
9502
9503         * stack.c (backtrace_command_1): Remove verbose code.
9504
9505 2018-03-26  Tom Tromey  <tom@tromey.com>
9506
9507         * python/py-framefilter.c (py_print_type): Don't catch
9508         exceptions.  Return void.
9509         (py_print_value): Likewise.
9510         (py_print_single_arg): Likewise.
9511         (enumerate_args): Don't catch exceptions.
9512         (py_print_args): Likewise.
9513         (py_print_frame): Likewise.
9514         (gdbpy_apply_frame_filter): Catch exceptions here.
9515
9516 2018-03-26  Tom Tromey  <tom@tromey.com>
9517
9518         * stack.c (_initialize_stack): Remove trailing newlines from help
9519         text.  Add "Usage" line to "backtrace" help.
9520
9521 2018-03-26  Tom Tromey  <tom@tromey.com>
9522
9523         PR python/16486:
9524         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9525
9526 2018-03-26  Tom Tromey  <tom@tromey.com>
9527
9528         * python/py-framefilter.c (py_print_single_arg): Return
9529         EXT_LANG_BT_ERROR from catch.
9530
9531 2018-03-26  Tom Tromey  <tom@tromey.com>
9532
9533         PR backtrace/15584:
9534         * stack.c (backtrace_command_1): Move some code into no-filters
9535         "if".
9536
9537 2018-03-26  Tom Tromey  <tom@tromey.com>
9538
9539         * python/py-framefilter.c (throw_quit_or_print_exception): New
9540         function.
9541         (gdbpy_apply_frame_filter): Use it.
9542
9543 2018-03-26  Tom Tromey  <tom@tromey.com>
9544
9545         PR cli/17716:
9546         * python/py-framefilter.c (py_print_type, py_print_value)
9547         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9548         RETURN_MASK_ERROR.
9549
9550 2018-03-26  Tom Tromey  <tom@tromey.com>
9551
9552         * python/py-framefilter.c (enumerate_args): Use
9553         gdb::unique_xmalloc_ptr.
9554
9555 2018-03-26  Tom Tromey  <tom@tromey.com>
9556
9557         * python/py-framefilter.c (py_print_frame): Return
9558         EXT_LANG_BT_OK.
9559         (gdbpy_apply_frame_filter): Update comment.
9560         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9561         Remove.
9562         <EXT_LANG_BT_NO_FILTERS>: Change value.
9563
9564 2018-03-26  Tom Tromey  <tom@tromey.com>
9565
9566         PR backtrace/15582:
9567         * stack.c (backtrace_command): Parse "hide" argument.
9568         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9569         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9570         constant.
9571
9572 2018-03-26  Tom Tromey  <tom@tromey.com>
9573
9574         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9575         add "flags".
9576         (backtrace_command): Remove "fulltrace", add "flags".
9577
9578 2018-03-26  Tom Tromey  <tom@tromey.com>
9579
9580         * stack.c (backtrace_command): Rewrite command line parsing.
9581
9582 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9583
9584         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9585
9586 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9587
9588         * filename-seen-cache.h: Add include guard.
9589
9590 2018-03-26  Keith Seitz  <keiths@redhat.com>
9591
9592         * symfile.c (place_section): Remove "struct" from section_addr_info
9593         in comment.
9594         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9595         "struct" keyword from section_addr_info.
9596
9597 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9598
9599         * regformats/regdef.h (reg): Add constructors.
9600
9601 2018-03-25  Pedro Alves  <palves@redhat.com>
9602
9603         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9604         if then/else bodies in var_func_name extraction.
9605
9606 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9607
9608         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9609         lookup_minimal_symbol() to find symbol entry.
9610         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9611
9612 2018-03-23  Keith Seitz  <keiths@redhat.com>
9613
9614         PR c++/22968
9615         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9616         nested type definitions for C++, too.
9617
9618 2018-03-23  Tom Tromey  <tom@tromey.com>
9619
9620         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9621         a typedef.
9622         (macho_register_oso): Remove.
9623         (macho_symtab_read): Take a std::vector.
9624         (oso_el_compare_name): Now a std::sort comparator.
9625         (macho_symfile_read_all_oso): Take a std::vector.
9626         (macho_symfile_read): Use std::vector.  Remove cleanups.
9627
9628 2018-03-22  Tom Tromey  <tom@tromey.com>
9629
9630         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9631         (record_full_goto_bookmark): Use std::string.
9632
9633 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9634
9635         PR tdep/18295
9636         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9637         a single mask.
9638
9639 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9640
9641         * rs6000-tdep.c (store_insn_p): New function.
9642         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9643         and cr_reg to their unshifted values. Use store_insn_p to
9644         match LR saves using either R1 or fdata->alloca_reg. Use
9645         store_insn_p to match CR saves. Set alloca_reg_offset
9646         when alloca_reg and framep are set. Remove lr_reg shift
9647         when assigning to fdata->lr_register.
9648
9649 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9650
9651         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9652         command line args instead of emitting a warning.
9653
9654 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9655
9656         * tracepoint.h (struct static_tracepoint_marker): Initialize
9657         fields, define default constructor, move constructor and move
9658         assignment, disable the rest.
9659         <str_id, extra>: Make std::string.
9660         (release_static_tracepoint_marker): Remove.
9661         (free_current_marker): Remove.
9662         * tracepoint.c (free_current_marker): Remove.
9663         (parse_static_tracepoint_marker_definition): Adjust to
9664         std::string, use new hex2str overload.
9665         (release_static_tracepoint_marker): Remove.
9666         (print_one_static_tracepoint_marker): Get marker by reference
9667         and adjust to std::string.
9668         (info_static_tracepoint_markers_command): Adjust to std::vector
9669         changes
9670         * target.h (static_tracepoint_marker_p): Remove typedef.
9671         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9672         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9673         bool.
9674         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9675         * target-debug.h
9676         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9677         (target_debug_print_std_vector_static_tracepoint_marker): New.
9678         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9679         to...
9680         (target_debug_print_static_tracepoint_marker_p): ... this.
9681         * target-delegates.c: Re-generate.
9682         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9683         Make std::string.
9684         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9685         (decode_static_tracepoint_spec): Adjust to std::vector.
9686         (tracepoint_print_one_detail): Adjust to std::string.
9687         (strace_marker_decode_location): Adjust to std::string.
9688         (update_static_tracepoint): Adjust to std::string, remove call
9689         to release_static_tracepoint_marker.
9690         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9691         Adjust to std::vector.
9692         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9693         (remote_static_tracepoint_markers_by_strid): Adjust to
9694         std::vector.
9695         * common/rsp-low.h (hex2str): New overload with explicit count
9696         of bytes.
9697         * common/rsp-low.c (hex2str): New overload with explicit count
9698         of bytes.
9699         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9700         (_initialize_rsp_low_selftests): Add test_hex2str test.
9701         * unittests/tracepoint-selftests.c
9702         (test_parse_static_tracepoint_marker_definition): Adjust to
9703         std::string.
9704
9705 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9706
9707         * tracepoint.c (parse_static_tracepoint_marker_definition):
9708         Consider case where the definition is followed by more
9709         definitions.
9710         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9711         tracepoint-selftests.c.
9712         * unittests/tracepoint-selftests.c: New.
9713
9714 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9715
9716         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9717         Carvalho.
9718
9719 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9720
9721         * symtab.c (find_pc_sect_line): fixed indentation.
9722
9723 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9724
9725         * symtab.c (find_pc_sect_line): now uses binary search.
9726
9727 2018-03-19  Tom Tromey  <tom@tromey.com>
9728
9729         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9730         "IDENT" production.
9731
9732 2018-03-19  Pedro Alves  <palves@redhat.com>
9733             Tom Tromey  <tom@tromey.com>
9734
9735         * unittests/observable-selftests.c: New file.
9736         * common/observable.h: New file.
9737         * observable.h: New file.
9738         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9739         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9740         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9741         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9742         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9743         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9744         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9745         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9746         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9747         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9748         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9749         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9750         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9751         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9752         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9753         tui/tui-interp.c, valops.c: Update all users.
9754         * tui/tui-hooks.c (tui_bp_created_observer)
9755         (tui_bp_deleted_observer, tui_bp_modified_observer)
9756         (tui_inferior_exit_observer, tui_before_prompt_observer)
9757         (tui_normal_stop_observer, tui_register_changed_observer):
9758         Remove.
9759         (tui_observers_token): New global.
9760         (attach_or_detach, tui_attach_detach_observers): New functions.
9761         (tui_install_hooks, tui_remove_hooks): Use
9762         tui_attach_detach_observers.
9763         * record-btrace.c (record_btrace_thread_observer): Remove.
9764         (record_btrace_thread_observer_token): New global.
9765         * observer.sh: Remove.
9766         * observer.c: Rename to observable.c.
9767         * observable.c (namespace gdb_observers): Define new objects.
9768         (observer_debug): Move into gdb_observers namespace.
9769         (struct observer, struct observer_list, xalloc_observer_list_node)
9770         (xfree_observer_list_node, generic_observer_attach)
9771         (generic_observer_detach, generic_observer_notify): Remove.
9772         (_initialize_observer): Update.
9773         Don't include observer.inc.
9774         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9775         (clean mostlyclean): Likewise.
9776         (observer.h, observer.inc): Remove targets.
9777         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9778         (COMMON_SFILES): Use observable.c, not observer.c.
9779         * .gitignore: Remove observer.h.
9780
9781 2018-03-18  Tom Tromey  <tom@tromey.com>
9782
9783         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9784         gdb::def_vector.
9785         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9786
9787 2018-03-17  Tom Tromey  <tom@tromey.com>
9788
9789         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9790
9791 2018-03-17  Tom Tromey  <tom@tromey.com>
9792
9793         * target.c (class scoped_target_fd): New.
9794         (target_fileio_close_cleanup): Remove.
9795         (target_fileio_read_alloc_1): Use scoped_target_fd.
9796
9797 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9798
9799         * silent-rules.mk: New.
9800         * Makefile.in: Include silent-rules.mk
9801         (srcdir, VPATH, top_srcdir): Move up.
9802         (COMPILE): Add ECHO_CXX.
9803         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9804         (init.c): Add ECHO_INIT_C.
9805         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9806         (version.c): Add ECHO_GEN.
9807         (printcmd.o): Add ECHO_CXX.
9808         (target-float.o): Add ECHO_CXX.
9809         (ada-exp.o): Add ECHO_CXX.
9810         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9811         (insight$(EXEEXT)): Add ECHO_CXXLD.
9812         * gnulib/configure.ac: Add AM_SILENT_RULES.
9813         * gnulib/aclocal.m4: Re-generate.
9814         * gnulib/configure: Re-generate.
9815         * gnulib/import/Makefile.in: Re-generate.
9816
9817 2018-03-16  Tom Tromey  <tom@tromey.com>
9818
9819         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9820         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9821         * utils.c (do_free_section_addr_info)
9822         (make_cleanup_free_section_addr_info): Remove.
9823         * symfile.h (struct other_sections): Add constructor.
9824         (struct section_addr_info): Remove.
9825         (section_addr_info): New typedef.
9826         (struct sym_fns) <sym_offsets>: Change type of parameter.
9827         (build_section_addr_info_from_objfile)
9828         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9829         (default_symfile_offsets, symbol_file_add)
9830         (symbol_file_add_from_bfd)
9831         (build_section_addr_info_from_section_table): Update.
9832         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9833         * symfile.c (alloc_section_addr_info): Remove.
9834         (build_section_addr_info_from_section_table): Change return type.
9835         Update.
9836         (build_section_addr_info_from_bfd)
9837         (build_section_addr_info_from_objfile): Likewise.
9838         (free_section_addr_info): Remove.
9839         (relative_addr_info_to_section_offsets): Change type of "addrs".
9840         (addrs_section_compar): Now a std::sort comparator.
9841         (addrs_section_sort): Change return type.
9842         (addr_info_make_relative): Change type of "addrs".  Update.
9843         (default_symfile_offsets, syms_from_objfile_1)
9844         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9845         (symbol_file_add_separate): Update.
9846         (symbol_file_add): Change type of "addrs".  Update.
9847         (add_symbol_file_command): Update.  Remove cleanups.
9848         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9849         cleanups.
9850         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9851         * solib.c (solib_read_symbols): Update.
9852         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9853         * machoread.c (macho_symfile_offsets): Update.
9854         * jit.c (jit_bfd_try_read_symtab): Update.
9855
9856 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9857
9858         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9859         unittests/utils-selftests.c.
9860         * unittests/utils-selftests.c: New file.
9861
9862 2018-03-14  Tom Tromey  <tom@tromey.com>
9863
9864         PR cli/14977:
9865         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9866         for NULL.
9867
9868 2018-03-14  Tom Tromey  <tom@tromey.com>
9869
9870         PR cli/19918:
9871         * printcmd.c (printf_pointer): Allow "-" in format.
9872
9873 2018-03-14  Tom Tromey  <tom@tromey.com>
9874
9875         * printcmd.c (_initialize_printcmd): Add usage to printf.
9876
9877 2018-03-14  Yao Qi  <qiyao@sourceware.org>
9878
9879         * MAINTAINERS: Update my email address.
9880
9881 2018-03-13  Tom Tromey  <tom@tromey.com>
9882
9883         * machoread.c (macho_check_dsym): Change filenamep to a
9884         std::string*.
9885         (macho_symfile_read): Update.
9886         * symfile.c (load_command): Use std::string.
9887
9888 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9889
9890         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
9891         to error message string.
9892         (riscv_register_name): Use xsnprintf instead of sprintf.
9893         (riscv_insn::fetch_instruction): Use gdb_assert instead of
9894         internal_error.
9895         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
9896         error.
9897         (riscv_push_dummy_call): Likewise.
9898
9899 2018-03-12  Tom Tromey  <tom@tromey.com>
9900
9901         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
9902         Use gdb::byte_vector.
9903         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
9904
9905 2018-03-12  Yao Qi  <yao.qi@linaro.org>
9906
9907         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
9908         parameter type to readable_regcache.
9909         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9910         the declaration.
9911
9912 2018-03-11  Tom Tromey  <tom@tromey.com>
9913
9914         * dwarf2read.c (struct nextfield): Add initializers.
9915         (struct nextfnfield): Remove.
9916         (struct fnfieldlist): Add initializers.  Remove "length" and
9917         "head", use std::vector.
9918         (struct decl_field_list): Remove.
9919         (struct field_info): Add initializers.
9920         <fields, baseclasses>: Now std::vector.
9921         <nbaseclasses, nfnfields, typedef_field_list_count,
9922         nested_types_list_count>: Remove.
9923         (dwarf2_add_field, dwarf2_add_type_defn)
9924         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9925         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9926         (process_structure_scope): Update.
9927
9928 2018-03-11  Tom Tromey  <tom@tromey.com>
9929
9930         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9931         for use by std::sort.
9932         (build_type_psymtabs_1): Use std::vector.
9933
9934 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9935
9936         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9937         and LIBMPFR in the printed configuration.
9938
9939 2018-03-08  Tom Tromey  <tom@tromey.com>
9940
9941         * source.c (get_filename_and_charpos): Use scoped_fd.
9942         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9943         (procfs_pidlist): Likewise.
9944         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9945         (iterate_over_mappings): Likewise.
9946
9947 2018-03-08  Tom Tromey  <tom@tromey.com>
9948
9949         * infcall.c (struct call_return_meta_info)
9950         <stack_temporaries_enabled>: Remove.
9951         (get_call_return_value, call_function_by_hand_dummy): Update.
9952         * thread.c (disable_thread_stack_temporaries): Remove.
9953         (enable_thread_stack_temporaries): Remove.
9954         (thread_stack_temporaries_enabled_p): Return bool.
9955         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9956         (get_last_thread_stack_temporary): Update.
9957         * eval.c (evaluate_subexp): Update.
9958         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9959         class, not a function.
9960         (value_ptr, value_vec): Remove typedefs.
9961         (class thread_info) <stack_temporaries_enabled>: Now bool.
9962         <stack_temporaries>: Now a std::vector.
9963         (thread_stack_temporaries_enabled_p)
9964         (value_in_thread_stack_temporaries): Return bool.
9965
9966 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9967
9968         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9969         (getpkt_or_notif_sane_1): Likewise.
9970
9971 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9972
9973         * build-id.c (build_id_to_debug_bfd): Use std::string.
9974
9975 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9976
9977         * build-id.c (find_separate_debug_file_by_buildid): Return
9978         std::string.
9979         * build-id.h (find_separate_debug_file_by_buildid): Return
9980         std::string.
9981         * coffread.c (coff_symfile_read): Adjust to std::string.
9982         * elfread.c (elf_symfile_read): Adjust to std::string.
9983         * symfile.c (separate_debug_file_exists): Change parameter to
9984         std::string.
9985         (find_separate_debug_file): Return std::string.
9986         (find_separate_debug_file_by_debuglink): Return std::string.
9987         * symfile.h (find_separate_debug_file_by_debuglink): Return
9988         std::string.
9989
9990 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9991
9992         * common/xml-utils.c (xml_escape_text): Move code to...
9993         (xml_escape_text_append): ... this new function.
9994         * common/xml-utils.h (xml_escape_text_append): New declaration.
9995         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9996         New function.
9997         (_initialize_xml_utils): register test_xml_escape_text_append as
9998         a selftest.
9999
10000 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10001
10002         * defs.h: Remove MAX_REGISTER_SIZE.
10003         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10004         asserts.
10005         * python/py-unwind.c (pyuw_sniffer): Likewise.
10006
10007 2018-03-07  Tom Tromey  <tom@tromey.com>
10008
10009         * linux-tdep.c (linux_info_proc): Update.
10010         * target.h (struct target_ops) <to_fileio_readlink>: Return
10011         optional<string>.
10012         (target_fileio_readlink): Return optional<string>.
10013         * remote.c (remote_hostio_readlink): Return optional<string>.
10014         * inf-child.c (inf_child_fileio_readlink): Return
10015         optional<string>.
10016         * target.c (target_fileio_readlink): Return optional<string>.
10017
10018 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10019
10020         * regcache.c (cooked_read_test): Add riscv to the list of
10021         architectures that have a save_reggroup.
10022
10023 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10024
10025         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10026         value is not a dynamic class object.
10027
10028 2018-03-06  Tom Tromey  <tom@tromey.com>
10029
10030         * rust-exp.y: Formatting fixes.
10031
10032 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10033
10034         * riscv-tdep.c (riscv_register_name): Remove target description
10035         support.
10036         (riscv_gdbarch_init): Remove target description check.
10037
10038 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10039
10040         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10041         comment.
10042         * riscv-tdep.h: Likewise.
10043
10044 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10045
10046         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10047         (riscv_pseudo_register_write): Delete.
10048         (riscv_gdbarch_init): Remove all use of pseudo registers.
10049
10050 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10051
10052         * record-btrace.c (btrace_print_lines): Replace cleanup
10053         parameter with RAII equivalents.
10054         (btrace_insn_history): Replace cleanup with RAII equivalents.
10055         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10056         make_cleanup_ui_out_tuple_begin_end): Remove.
10057         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10058         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10059         make_cleanup_ui_out_list_begin_end): Remove.
10060
10061 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10062
10063         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10064         parameter types to std::vector.  Use bool.
10065         (record_btrace_wait): Replace VEC(tp_t) with
10066         std::vector<thread_info *>.
10067         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10068
10069 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10070
10071         * record-btrace.c (record_btrace_disable_callback): Remove.
10072         (struct scoped_btrace_disable): New.
10073         (record_btrace_open): Use scoped_btrace_disable.
10074
10075 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10076
10077         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
10078         reading values from registers.
10079
10080 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10081
10082         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
10083         where appropriate.
10084
10085 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10086
10087         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10088         change parameter type.  Use GDB's print functions, and use
10089         core_addr_to_string where appropriate.
10090         (riscv_push_dummy_call): Use core_addr_to_string where
10091         appropriate, update call to riscv_print_arg_location, and reindent
10092         a few lines.
10093         (riscv_return_value): Update call to riscv_print_arg_location.
10094
10095 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10096             Tim Newsome <tim@sifive.com>
10097             Albert Ou <a0u@eecs.berkeley.edu>
10098             Darius Rad <darius@bluespec.com>
10099
10100         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10101         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10102         (ALLDEPFILES): Add riscv-tdep.c
10103         * configure.tgt: Add riscv support.
10104         * riscv-tdep.c: New file.
10105         * riscv-tdep.h: New file.
10106         * NEWS: Mention new target.
10107         * MAINTAINERS: Add entry for riscv.
10108
10109 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10110
10111         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10112         fields within aggregates.
10113
10114 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10115
10116         * record-btrace.c (btrace_print_lines): Change type of flags to
10117         gdb_disassembly_flags.
10118
10119 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10120
10121         * fbsd-nat.c: Include "inf-ptrace.h".
10122         (USE_SIGTRAP_SIGINFO): Conditionally define.
10123         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10124         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10125         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10126         function.
10127         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10128         Likewise.
10129         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10130         Likewise.
10131         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10132         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10133         "supports_stopped_by_hw_breakpoint" target methods.
10134
10135 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10136
10137         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10138         * fbsd-nat.c (debug_fbsd_nat): New variable.
10139         (show_fbsd_nat_debug): New function.
10140         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10141         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10142
10143 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10144
10145         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10146         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10147         prototype.
10148         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10149         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10150         method.
10151
10152 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10153
10154         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10155         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10156
10157 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10158
10159         * charset.c (struct charset_vector): New.
10160         (charsets): Change type to charset_vector.
10161         (find_charset_names): Adjust.
10162         (add_one): Adjust.
10163         (_initialize_charset): Adjust.
10164
10165 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10166
10167         * progspace.h (struct program_space) <deleted_solibs>: Change
10168         type to std::vector<std::string>.
10169         * progspace.c (clear_program_space_solib_cache): Adjust.
10170         * breakpoint.c (print_solib_event): Adjust.
10171         (check_status_catch_solib): Adjust.
10172         * solib.c (update_solib_list): Adjust.
10173         * ui-out.h (class ui_out) <field_string>: New overload.
10174         * ui-out.c (ui_out::field_string): New overload.
10175
10176 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10177
10178         * progspace.h (struct program_space): Add constructor and
10179         destructor, initialize fields.
10180         (add_program_space): Remove.
10181         * progspace.c (add_program_space): Rename to...
10182         (program_space::program_space): ... this.
10183         (release_program_space): Rename to...
10184         (program_space::~program_space): ... this.
10185         (delete_program_space): Use delete to delete program_space.
10186         (initialize_progspace): Use new to allocate program_space.
10187         * inferior.c (add_inferior_with_spaces): Likewise.
10188         (clone_inferior_command): Likewise.
10189         * infrun.c (follow_fork_inferior): Likewise.
10190         (handle_vfork_child_exec_or_exit): Likewise.
10191
10192 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10193
10194         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10195         (delim_string_to_char_ptr_vec): Return std::vector of
10196         gdb::unique_xmalloc_ptr.
10197         (dirnames_to_char_ptr_vec_append): Take std::vector of
10198         gdb::unique_xmalloc_ptr.
10199         (dirnames_to_char_ptr_vec): Return std::vector of
10200         gdb::unique_xmalloc_ptr.
10201         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10202         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10203         (delim_string_to_char_ptr_vec): Return an std::vector of
10204         gdb::unique_xmalloc_ptr, adjust the code.
10205         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10206         gdb::unique_xmalloc_ptr, adjust the code.
10207         (dirnames_to_char_ptr_vec): Return an std::vector of
10208         gdb::unique_xmalloc_ptr, adjust the code.
10209         * auto-load.c (auto_load_safe_path_vec): Change type to
10210         std::vector of gdb::unique_xmalloc_ptr.
10211         (auto_load_expand_dir_vars): Return an std::vector of
10212         gdb::unique_xmalloc_ptr, adjust the code.
10213         (auto_load_safe_path_vec_update): Adjust.
10214         (filename_is_in_auto_load_safe_path_vec): Adjust.
10215         (auto_load_objfile_script_1): Adjust.
10216         * build-id.c (build_id_to_debug_bfd): Adjust.
10217         * linux-thread-db.c (thread_db_load_search): Adjust.
10218         * source.c (add_path): Adjust.
10219         (openp): Adjust.
10220         * symfile.c (find_separate_debug_file): Adjust.
10221         * utils.c (do_free_char_ptr_vec): Remove.
10222         (make_cleanup_free_char_ptr_vec): Remove.
10223
10224 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10225
10226         PR gdb/22907
10227         * common/pathstuff.c: Conditionally include "<windows.h>".
10228
10229 2018-03-01  Georg Sauthoff  <mail@georg.so>
10230
10231         PR gdb/22888
10232         * gcore.in: Quote variables and switch interpreter to bash.
10233
10234 2018-03-01  Tom Tromey  <tom@tromey.com>
10235
10236         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10237         assertion.  Add assertion for discriminant_index.
10238         (quirk_rust_enum): Use correct base type name in univariant case.
10239
10240 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10241
10242         * record.c (get_call_history_modifiers): Return a
10243         record_print_flags.
10244         (cmd_record_call_history): Adjust.
10245         * record-btrace.c (record_btrace_call_history): Adjust.
10246         (record_btrace_call_history_range): Adjust.
10247         (record_btrace_call_history_from): Adjust.
10248         * target-debug.h (target_debug_print_record_print_flags): New.
10249         * target-delegates.c: Re-generate.
10250         * target.c (target_call_history): Change flags type.
10251         (target_call_history_from): Likewise.
10252         (target_call_history_range): Likewise.
10253         * target.h (struct target_ops) <target_call_history>: Likewise.
10254         (target_call_history_from): Likewise.
10255         (target_call_history_range): Likewise.
10256
10257 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10258             Simon Marchi  <simon.marchi@polymtl.ca>
10259
10260         * common/common-utils.c: Include "sys/stat.h".
10261         (is_regular_file): Move here from "source.c"; change return
10262         type to "bool".
10263         * common/common-utils.h (is_regular_file): New prototype.
10264         * common/pathstuff.c (contains_dir_separator): New function.
10265         * common/pathstuff.h (contains_dir_separator): New prototype.
10266         * source.c: Don't include "sys/stat.h".
10267         (is_regular_file): Move to "common/common-utils.c".
10268
10269 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10270
10271         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10272         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10273         * auto-load.c: Include "common/pathstuff.h".
10274         * common/common-def.h (current_directory): Move here.
10275         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10276         function.
10277         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10278         prototype.
10279         * common/pathstuff.c: New file.
10280         * common/pathstuff.h: New file.
10281         * compile/compile.c: Include "common/pathstuff.h".
10282         * defs.h (current_directory): Move to "common/common-defs.h".
10283         * dwarf2read.c: Include "common/pathstuff.h".
10284         * exec.c: Likewise.
10285         * guile/scm-safe-call.c: Likewise.
10286         * linux-thread-db.c: Likewise.
10287         * main.c: Likewise.
10288         * nto-tdep.c: Likewise.
10289         * objfiles.c: Likewise.
10290         * source.c: Likewise.
10291         * symtab.c: Likewise.
10292         * utils.c: Include "common/pathstuff.h".
10293         (gdb_realpath): Move to "common/pathstuff.c".
10294         (gdb_realpath_keepfile): Likewise.
10295         (gdb_abspath): Likewise.
10296         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10297         (gdb_realpath_keepfile): Likewise.
10298         (gdb_abspath): Likewise.
10299
10300 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10301
10302         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10303         wildcard process pid for super_resume for kernels with a
10304         specific bug.
10305
10306 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10307
10308         * compile/compile.c (get_args): Add additional comments
10309         explaining function.
10310
10311 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10312             Tom Tromey  <tom@tromey.com>
10313
10314         * target.h (memory_write_request_s): Remove typedef.  Don't define
10315         VEC.
10316         (target_write_memory_blocks): Change argument to std::vector.
10317         (struct memory_write_request): Add constructor.
10318         * target-memory.c (compare_block_starting_address): Return bool.
10319         Change argument types.
10320         (claim_memory): Change arguments to use std::vector.
10321         (split_regular_and_flash_blocks, blocks_to_erase)
10322         (compute_garbled_blocks): Likewise.
10323         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10324         (target_write_memory_blocks): Change argument to std::vector.
10325         * symfile.c (struct load_section_data): Add constructor and
10326         destructor.  Use std::vector for "requests".
10327         (struct load_progress_data): Add initializers.
10328         (load_section_callback): Update.  Use "new".
10329         (clear_memory_write_data): Remove.
10330         (generic_load): Update.
10331
10332 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10333
10334         * arch/aarch64.h: Use common/tdesc.h.
10335
10336 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10337
10338         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10339         architecture with a 64-bit ABI.
10340
10341 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10342
10343         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10344         ahead of target description loading.
10345
10346 2018-02-26  Tom Tromey  <tom@tromey.com>
10347
10348         * stack.c (backtrace_command_1): Update.
10349         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10350         of "flags".
10351         * python/py-framefilter.c (py_print_frame)
10352         (gdbpy_apply_frame_filter): Change type of "flags".
10353         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10354         of "flags".
10355         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10356         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10357         * extension.h (enum frame_filter_flag): Rename from
10358         frame_filter_flags.
10359         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10360         (apply_ext_lang_frame_filter): Change type of "flags".
10361         * extension.c (apply_ext_lang_frame_filter): Change type of
10362         "flags".
10363         * extension-priv.h (struct extension_language_ops)
10364         <apply_frame_filter>: Change type of "flags".
10365
10366 2018-02-26  Tom Tromey  <tom@tromey.com>
10367
10368         PR python/16497:
10369         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10370         off-by-one in py_end computation.
10371         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10372         PRINT_MORE_FRAMES.
10373         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10374         constant.
10375
10376 2018-02-26  Tom Tromey  <tom@tromey.com>
10377
10378         * dwarf2read.c (struct variant_field): New.
10379         (struct nextfield) <variant>: New field.
10380         (dwarf2_add_field): Handle DW_TAG_variant_part.
10381         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10382         discriminated union.
10383         (read_structure_type): Handle DW_TAG_variant_part.
10384         (handle_struct_member_die): New function, extracted from
10385         process_structure_scope.  Handle DW_TAG_variant.
10386         (process_structure_scope): Handle discriminated unions.  Call
10387         handle_struct_member_die.
10388
10389 2018-02-26  Tom Tromey  <tom@tromey.com>
10390
10391         * rust-lang.h (rust_last_path_segment): Declare.
10392         * rust-lang.c (rust_last_path_segment): Now public.  Change
10393         contract.
10394         (struct disr_info): Remove.
10395         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10396         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10397         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10398         (rust_enum_p, rust_enum_variant): New function.
10399         (rust_underscore_fields): Remove "offset" parameter.
10400         (rust_print_enum): New function.
10401         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10402         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10403         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10404         enums.
10405         (rust_internal_print_type): New function, from rust_print_type.
10406         Remove enum code.
10407         (rust_print_type): Call rust_internal_print_type.
10408         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10409         Update enum handling.
10410         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10411         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10412         (rust_union_quirks): New functions.
10413         (process_full_comp_unit, process_full_type_unit): Call
10414         rust_union_quirks.
10415         (process_structure_scope): Update rust_unions if necessary.
10416
10417 2018-02-26  Tom Tromey  <tom@tromey.com>
10418
10419         * value.h (value_union_variant): Declare.
10420         * valops.c (value_union_variant): New function.
10421         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10422         (struct discriminant_info): New.
10423         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10424         enumerator.
10425         (struct main_type) <flag_discriminated_union>: New field.
10426
10427 2018-02-26  Tom Tromey  <tom@tromey.com>
10428
10429         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10430         unittests/unpack-selftests.c.
10431         * unittests/unpack-selftests.c: New file.
10432         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10433
10434 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10435
10436         * dwarf2read.c (struct partial_die_info) <read>: New method.
10437         (read_partial_die): Remove the declaration.
10438         (load_partial_dies): Update.
10439         (partial_die_info::partial_die_info):
10440         (read_partial_die): Change it to partial_die_info::read.
10441
10442 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10443
10444         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10445         (fixup_partial_die): Remove declaration.
10446         (scan_partial_symbols): Update.
10447         (partial_die_parent_scope): Likewise.
10448         (partial_die_full_name): Likewise.
10449         (fixup_partial_die): Change it to partial_die_info::fixup.
10450
10451 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10452
10453         * dwarf2read.c (read_partial_die): Update the declaration.
10454         (load_partial_dies): Caller update.
10455         (read_partial_die): Remove one argument abbrev_len.
10456
10457 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10458
10459         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10460         assignment operator.
10461         (load_partial_dies): Use ctor and copy ctor.
10462         (read_partial_die): Update.
10463         (dwarf2_cu::find_partial_die): Use ctor.
10464
10465 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10466
10467         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10468         (find_partial_die_in_comp_unit): Change it to
10469         dwarf2_cu::find_partial_die.
10470         (find_partial_die): Update.
10471
10472 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10473
10474         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10475         is NULL.
10476
10477 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10478
10479         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10480
10481 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10482
10483         * arch/amd64.h: Use common/tdesc.h.
10484         * arch/i386.c: Likewise.
10485         * arch/i386.h: Likewise.
10486         * arch/tic6x.c: Likewise.
10487         * arch/tdesc.h: Move file from here...
10488         * common/tdesc.h: ...to here.
10489         * features/aarch64-core.c: Regenerate.
10490         * features/aarch64-fpu.c: Regenerate.
10491         * features/i386/32bit-avx.c: Regenerate.
10492         * features/i386/32bit-avx512.c: Regenerate.
10493         * features/i386/32bit-core.c: Regenerate.
10494         * features/i386/32bit-linux.c: Regenerate.
10495         * features/i386/32bit-mpx.c: Regenerate.
10496         * features/i386/32bit-pkeys.c: Regenerate.
10497         * features/i386/32bit-sse.c: Regenerate.
10498         * features/i386/64bit-avx.c: Regenerate.
10499         * features/i386/64bit-avx512.c: Regenerate.
10500         * features/i386/64bit-core.c: Regenerate.
10501         * features/i386/64bit-linux.c: Regenerate.
10502         * features/i386/64bit-mpx.c: Regenerate.
10503         * features/i386/64bit-pkeys.c: Regenerate.
10504         * features/i386/64bit-segments.c: Regenerate.
10505         * features/i386/64bit-sse.c: Regenerate.
10506         * features/i386/x32-core.c: Regenerate.
10507         * features/tic6x-c6xp.c: Regenerate.
10508         * features/tic6x-core.c: Regenerate.
10509         * features/tic6x-gp.c: Regenerate.
10510         * target-descriptions.c: Use common/tdesc.h.
10511         * target-descriptions.h: Likewise.
10512
10513 2018-02-24  Tom Tromey  <tom@tromey.com>
10514
10515         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10516         (try_thread_db_load_from_dir, thread_db_load_search): Use
10517         std::string.
10518         (info_auto_load_libthread_db_compare): Return bool.  Change
10519         argument types.
10520         (info_auto_load_libthread_db): Use std::vector, std::string.
10521         Remove cleanups.
10522
10523 2018-02-24  Tom Tromey  <tom@tromey.com>
10524
10525         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10526         std::string.
10527         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10528         std::string*.
10529         * gdbarch.c: Rebuild.
10530         * gdbarch.h: Rebuild.
10531         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10532         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10533         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10534         std::string*.
10535
10536 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10537
10538         * gdbtypes.h (sect_offset): Change type to uint64_t.
10539         (sect_offset_str): New function.
10540         * dwarf2read.c (create_addrmap_from_aranges): Use
10541         sect_offset_str.
10542         (error_check_comp_unit_head): Likewise.
10543         (create_debug_type_hash_table): Likewise.
10544         (read_cutu_die_from_dwo): Likewise.
10545         (init_cutu_and_read_dies): Likewise.
10546         (init_cutu_and_read_dies_no_follow): Likewise.
10547         (process_psymtab_comp_unit_reader): Likewise.
10548         (partial_die_parent_scope): Likewise.
10549         (peek_die_abbrev): Likewise.
10550         (process_queue): Likewise.
10551         (dwarf2_physname): Likewise.
10552         (read_namespace_alias): Likewise.
10553         (read_import_statement): Likewise.
10554         (create_dwo_cu_reader): Likewise.
10555         (create_cus_hash_table): Likewise.
10556         (lookup_dwo_cutu): Likewise.
10557         (inherit_abstract_dies): Likewise.
10558         (read_func_scope): Likewise.
10559         (read_call_site_scope): Likewise.
10560         (dwarf2_add_member_fn): Likewise.
10561         (read_common_block): Likewise.
10562         (read_module_type): Likewise.
10563         (read_typedef): Likewise.
10564         (read_subrange_type): Likewise.
10565         (load_partial_dies): Likewise.
10566         (read_partial_die): Likewise.
10567         (find_partial_die): Likewise.
10568         (read_str_index): Likewise.
10569         (dwarf2_string_attr): Likewise.
10570         (build_error_marker_type): Likewise.
10571         (lookup_die_type): Likewise.
10572         (dump_die_shallow): Likewise.
10573         (follow_die_ref): Likewise.
10574         (dwarf2_fetch_die_loc_sect_off): Likewise.
10575         (dwarf2_fetch_constant_bytes): Likewise.
10576         (follow_die_sig): Likewise.
10577         (get_signatured_type): Likewise.
10578         (get_DW_AT_signature_type): Likewise.
10579         (dwarf2_find_containing_comp_unit): Likewise.
10580         (set_die_type): Likewise.
10581
10582 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10583
10584         * arch/aarch64.c: Include "common-defs.h".
10585         * arch/amd64.c: Likewise.
10586         * arch/i386.c: Likewise.
10587
10588 2018-02-21  Tom Tromey  <tom@tromey.com>
10589
10590         * value.h: (extract_field_op): Update.
10591         * eval.c (extract_field_op): Return a const char *.
10592         * expression.h (parse_expression_for_completion): Update.
10593         * completer.c (complete_expression): Update.
10594         (add_struct_fields): Make fieldname const.
10595         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10596         (mark_completion_tag, parse_exp_in_context_1): Update.
10597         (parse_expression_for_completion): Change "name" to
10598         unique_xmalloc_ptr*.
10599
10600 2018-02-21  Tom Tromey  <tom@tromey.com>
10601
10602         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10603
10604 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10605
10606         * avr-tdep.c (avr_read_pc): Change parameter type to
10607         readable_regcache.
10608         * gdbarch.sh (read_pc): Likewise.
10609         * gdbarch.c: Re-generated.
10610         * gdbarch.h: Re-generated.
10611         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10612         readable_regcache.
10613         * ia64-tdep.c (ia64_read_pc): Likewise.
10614         * mips-tdep.c (mips_read_pc): Likewise.
10615         * spu-tdep.c (spu_read_pc): Likewise.
10616
10617 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10618
10619         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10620         * regcache-dump.c: New file.
10621         * regcache.c: Move register_dump to regcache-dump.c.
10622         (maintenance_print_registers): Likewise.
10623         (maintenance_print_raw_registers): Likewise.
10624         (maintenance_print_cooked_registers): Likewise.
10625         (maintenance_print_register_groups): Likewise.
10626         (maintenance_print_remote_registers): Likewise.
10627         (_initialize_regcache): Likewise.
10628         * regcache.h (register_dump): Moved from regcache.c.
10629
10630 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10631
10632         * regcache.c (regcache::regcache): Update.
10633         (regcache::invalidate): Move it to detached_regcache::invalidate.
10634         (get_thread_arch_aspace_regcache): Update.
10635         (regcache::raw_update): Update.
10636         (regcache::cooked_read): Remove some code.
10637         (regcache::cooked_read_value): Likewise.
10638         (regcache::raw_write): Remove assert on m_readonly_p.
10639         (regcache::raw_supply_integer): Move it to
10640         detached_regcache::raw_supply_integer.
10641         (regcache::raw_supply_zeroed): Likewise.
10642         * regcache.h (detached_regcache) <raw_supply_integer>: New
10643         declaration.
10644         <raw_supply_zeroed, invalidate>: Likewise.
10645         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10646         <invalidate>: Likewise.
10647         <m_readonly_p>: Removed.
10648
10649 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10650
10651         * infcmd.c (get_return_value): Let stop_regs point to
10652         get_current_regcache.
10653         * regcache.c (regcache::regcache): Remove.
10654         (register_dump_reg_buffer): New class.
10655         (regcache_print): Adjust.
10656         * regcache.h (regcache): Remove constructors.
10657
10658 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10659
10660         * regcache.c (class register_dump): New class.
10661         (register_dump_regcache, register_dump_none): New class.
10662         (register_dump_remote, register_dump_groups): New class.
10663         (regcache_print): Update.
10664         * regcache.h (regcache_dump_what): Move it to regcache.c.
10665         (regcache) <dump>: Remove.
10666
10667 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10668
10669         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10670          reg_buffer_rw *.
10671         (jit_unwind_reg_set_impl): Call raw_supply.
10672         (jit_frame_sniffer): Use reg_buffer_rw.
10673         * record-full.c (record_full_core_regbuf): Change its type.
10674         (record_full_core_open_1): Use reg_buffer_rw.
10675         (record_full_close): Likewise.
10676         (record_full_core_fetch_registers): Use regcache->raw_supply.
10677         (record_full_core_store_registers): Likewise.
10678         * regcache.c (regcache::get_register_status): Move it to
10679         reg_buffer.
10680         (regcache_raw_set_cached_value): Remove.
10681         (regcache::raw_set_cached_value): Remove.
10682         (regcache::raw_write): Call raw_supply.
10683         (regcache::raw_supply): Move it to reg_buffer_rw.
10684         * regcache.h (regcache_raw_set_cached_value): Remove.
10685         (reg_buffer_rw): New class.
10686
10687 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10688
10689         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10690         readonly_detached_regcache.
10691         (dummy_frame_prev_register): Use regcache->cooked_read.
10692         * frame.c (frame_save_as_regcache): Change return type.
10693         (frame_pop): Update.
10694         * frame.h (frame_save_as_regcache): Update declaration.
10695         * inferior.h (get_infcall_suspend_state_regcache): Update
10696         declaration.
10697         * infrun.c (infcall_suspend_state) <registers>: use
10698         readonly_detached_regcache.
10699         (save_infcall_suspend_state): Don't use regcache_dup.
10700         (get_infcall_suspend_state_regcache): Change return type.
10701         * linux-fork.c (struct fork_info) <savedregs>: Change to
10702         readonly_detached_regcache.
10703         <pc>: New field.
10704         (fork_save_infrun_state): Don't use regcache_dup.
10705         (info_checkpoints_command): Adjust.
10706         * mi/mi-main.c (register_changed_p): Update declaration.
10707         (mi_cmd_data_list_changed_registers): Use
10708         readonly_detached_regcache.
10709         (register_changed_p): Change parameter type to
10710         readonly_detached_regcache.
10711         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10712         readonly_detached_regcache.
10713         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10714         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10715         New.
10716         (regcache::save): Move it to reg_buffer.
10717         (regcache::restore): Change parameter type.
10718         (regcache_dup): Remove.
10719         * regcache.h (reg_buffer) <save>: New method.
10720         (readonly_detached_regcache): New class.
10721         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10722         readonly_detached_regcache.
10723         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10724
10725 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10726
10727         * frame.c (frame_save_as_regcache): Use regcache method save.
10728         (frame_pop): Use regcache method restore.
10729         * infrun.c (restore_infcall_suspend_state): Likewise.
10730         * linux-fork.c (fork_load_infrun_state): Likewise.
10731         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10732         save.
10733         * regcache.c (regcache_save): Remove.
10734         (regcache::restore): More asserts.
10735         (regcache_cpy): Remove.
10736         * regcache.h (regcache_save): Remove the declaration.
10737         (regcache::restore): Move from private to public.
10738         Remove the friend declaration of regcache_cpy.
10739         (regcache_cpy): Remove declaration.
10740
10741 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10742
10743         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10744         parameter type to 'readable_regcache *'.
10745         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10746         * arm-tdep.c (arm_neon_quad_read): Likewise.
10747         (arm_pseudo_read): Likewise.
10748         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10749         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10750         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10751         * gdbarch.c: Re-generated.
10752         * gdbarch.h: Re-generated.
10753         * gdbarch.sh (pseudo_register_read): Change parameter type to
10754         'readable_regcache *'.
10755         (pseudo_register_read_value): Likewise.
10756         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10757         (h8300_pseudo_register_read): Likewise.
10758         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10759         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10760         (i386_pseudo_register_read_into_value): Likewise.
10761         (i386_pseudo_register_read_value): Likewise.
10762         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10763         declaration.
10764         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10765         * m32c-tdep.c (m32c_raw_read): Likewise.
10766         (m32c_read_flg): Likewise.
10767         (m32c_banked_register): Likewise.
10768         (m32c_banked_read): Likewise.
10769         (m32c_sb_read): Likewise.
10770         (m32c_part_read): Likewise.
10771         (m32c_cat_read): Likewise.
10772         (m32c_r3r2r1r0_read): Likewise.
10773         (m32c_pseudo_register_read): Likewise.
10774         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10775         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10776         (mep_pseudo_cr64_read): Likewise.
10777         (mep_pseudo_register_read): Likewise.
10778         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10779         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10780         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10781         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10782         (regcache::cooked_read): Likewise.
10783         (regcache::cooked_read_value): Likewise.
10784         (regcache_cooked_read_signed):
10785         (regcache::cooked_read): Likewise.
10786         * regcache.h (readable_regcache): New class.
10787         (regcache): Inherit readable_regcache.  Move some methods to
10788         readable_regcache.
10789         * rl78-tdep.c (rl78_pseudo_register_read): Change
10790         parameter type to 'readable_regcache *'.
10791         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10792         (e500_pseudo_register_read): Change parameter type to
10793         'readable_regcache *'.
10794         (dfp_pseudo_register_read): Likewise.
10795         (vsx_pseudo_register_read): Likewise.
10796         (efpr_pseudo_register_read): Likewise.
10797         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10798         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10799         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10800         (sh64_pseudo_register_read): Likewise.
10801         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10802         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10803         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10804         (spu_pseudo_register_read): Likewise.
10805         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10806         (xtensa_pseudo_register_read): Likewise.
10807
10808 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10809
10810         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10811         (regcache::arch): Move it to reg_buffer::arch.
10812         (regcache::register_buffer): Likewise.
10813         (regcache::assert_regnum): Likewise.
10814         (regcache::num_raw_registers): Likewise.
10815         * regcache.h (reg_buffer): New class.
10816         (regcache): Inherit reg_buffer.
10817
10818 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10819
10820         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10821         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10822
10823 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10824
10825         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10826
10827 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10828
10829         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10830         (SFILES): Remove common/*.c files.
10831         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10832         * common/common.host: Add common reference.
10833         * configure.ac: Likewise.
10834         * configure: Regenerate.
10835
10836 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10837
10838         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10839         (block_initialize_namespace): Use new.
10840         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10841         (dwarf2_free_objfile): Use delete.
10842         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10843         (copy_type_recursive): Use new.
10844         * gdb_obstack.h (allocate_on_obstack): New.
10845
10846 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10847
10848         PR gdb/22849
10849         * inferior.c (exit_inferior_1): Reset inf->control.
10850
10851 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10852
10853         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10854         declaration.
10855
10856 2018-02-14  Pedro Alves  <palves@redhat.com>
10857
10858         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10859         frame_cleanup_after_sniffer on exception.
10860
10861 2018-02-14  Tom Tromey  <tom@tromey.com>
10862
10863         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10864         const.
10865         (solib_bfd_open): Make pathname const.
10866         * solib.c (solib_bfd_open): Make pathname const.
10867         * solib-spu.c (spu_bfd_fopen): Make name const.
10868         (spu_bfd_open): Make pathname const.
10869         * solib-darwin.c (darwin_bfd_open): Make pathname const.
10870         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
10871
10872 2018-02-14  Tom Tromey  <tom@tromey.com>
10873
10874         * symfile.c (symfile_bfd_open): Update.
10875         * source.h (openp, source_full_path_of, find_and_open_source):
10876         Change argument type to unique_xmalloc_ptr.
10877         * source.c (openp): Take a unique_xmalloc_ptr.
10878         (source_full_path_of, find_and_open_source): Likewise.
10879         (open_source_file, symtab_to_fullname): Update.
10880         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
10881         unique_xmalloc_ptr.
10882         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
10883         (exec_file_find): Update.
10884         * psymtab.c (psymtab_to_fullname): Update.
10885         * nto-tdep.h (nto_find_and_open_solib): Update.
10886         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
10887         unique_xmalloc_ptr.
10888         * exec.c (exec_file_attach): Update.
10889         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
10890         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
10891
10892 2018-02-14  Tom Tromey  <tom@tromey.com>
10893
10894         * solib.c: Include source.h.
10895         * nto-tdep.c: Include source.h.
10896         * mi/mi-cmd-env.c: Include source.h.
10897         * infcmd.c: Include source.h.
10898         * exec.c: Include source.h.
10899         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
10900         (add_path, directory_switch, source_path, init_source_path): Move
10901         declarations...
10902         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
10903         (add_path, directory_switch, source_path, init_source_path):
10904         ...here.
10905
10906 2018-02-14  Tom Tromey  <tom@tromey.com>
10907
10908         * solist.h (exec_file_find, solib_find): Return
10909         unique_xmalloc_ptr.
10910         (solib_bfd_fopen): Take a const char *.
10911         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10912         (exec_file_find, solib_find): Likewise.
10913         (solib_bfd_fopen): Do not take ownership of "pathname".
10914         (solib_bfd_open): Use unique_xmalloc_ptr.
10915         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10916         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10917         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10918         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10919
10920 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10921
10922         * ada-lang.c (name_match_type_from_name): Remove reference to
10923         ada_name_for_lookup in function's documentation.
10924         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10925
10926 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10927
10928         * defs.h (enum openp_flags): New enum.
10929         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10930         Move to enum openp_flags.
10931         (openp_flags): New enum flags.
10932         (openp): Change parameter type to openp_flags.
10933         * source.c (openp): Change parameter type to openp_flags.
10934         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10935         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10936
10937 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10938
10939         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10940         per-command.
10941
10942 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10943
10944         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10945         into...
10946         (class dwarf2_queue_guard): ...the destructor of this new class.
10947         (dw2_do_instantiate_symtab): Create instance of the new class
10948         dwarf2_queue_guard, remove cleanup.
10949
10950 2018-02-09  Tom Tromey  <tom@tromey.com>
10951
10952         * source.c (find_source_lines): Don't reference past the end of
10953         the vector.
10954
10955 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10956
10957         * remote.c (remote_btrace_maybe_reopen): Change error message.
10958         * btrace.c (btrace_enable): Likewise.
10959         (parse_xml_btrace): Likewise.
10960         (parse_xml_btrace_conf): Likewise.
10961
10962 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10963
10964         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10965         (linux_enable_pt, linux_enable_bts): Call
10966         diagnose_perf_event_open_fail.
10967
10968 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10969
10970         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10971         Remove parameter and change return type.  Update callers.  Move it.
10972         (linux_enable_bts, linux_enable_pt): Improve error message.
10973         (linux_enable_pt): Remove zero buffer size check.
10974         (linux_enable_btrace): Improve error messages.  Remove NULL return
10975         check.
10976
10977 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10978
10979         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10980         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10981         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10982         (linux_supports_pt, linux_supports_btrace): Remove.
10983         (linux_enable_bts): Call cpu_supports_bts.
10984         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10985         * remote.c (remote_supports_btrace): Remove.
10986         (init_remote_ops): Remove remote_supports_btrace.
10987         * target-delegates.c: Regenerated.
10988         * target.c (target_supports_btrace): Remove.
10989         * target.h (target_ops) <to_supports_btrace>: Remove
10990         (target_supports_btrace): Remove.
10991         * x86-linux-nat.c (x86_linux_create_target): Remove
10992         linux_supports_btrace.
10993
10994 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10995
10996         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10997         btrace failed.
10998         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10999         exception and use message in own exception.
11000
11001 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11002
11003         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11004         (perf_event_pt_event_type): Use gdb_file_up.
11005         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11006         scoped_fd, and scoped_mmap.
11007
11008 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11009
11010         * common/scoped_mmap.h: New.
11011         * unittests/scoped_mmap-selftest.c: New.
11012         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11013         unittests/scoped_mmap-selftest.c.
11014
11015 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11016
11017         * common/scoped_fd.h: New.
11018         * unittests/scoped_fd-selftest.c: New.
11019         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11020         unittests/scoped_fd-selftest.c.
11021
11022 2018-02-09  Tom Tromey  <tom@tromey.com>
11023
11024         * auto-load.c (auto_load_section_scripts): Use
11025         gdb::unique_xmalloc_ptr.
11026
11027 2018-02-09  Tom Tromey  <tom@tromey.com>
11028
11029         * auto-load.c (execute_script_contents): Use std::string.
11030
11031 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11032
11033         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11034         Python function, rather than a new command.
11035
11036 2018-02-08  Tom Tromey  <tom@tromey.com>
11037
11038         * solib.c (solib_find_1): Use std::string.
11039         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11040
11041 2018-02-08  Tom Tromey  <tom@tromey.com>
11042
11043         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11044
11045 2018-02-08  Tom Tromey  <tom@tromey.com>
11046
11047         * source.c (find_source_lines): Use gdb::def_vector.
11048
11049 2018-02-08  Tom Tromey  <tom@tromey.com>
11050
11051         * macrocmd.c (struct temporary_macro_definition): New.
11052         (macro_define_command): Use temporary_macro_definition.  Remove
11053         cleanups.
11054         (free_macro_definition_ptr): Remove.
11055
11056 2018-02-08  Tom Tromey  <tom@tromey.com>
11057
11058         * macroexp.c (maybe_expand): Use std::string.
11059
11060 2018-02-08  Tom Tromey  <tom@tromey.com>
11061
11062         * macroexp.c (struct macro_buffer): Add initializers for some
11063         members.
11064         (init_buffer, init_shared_buffer, free_buffer)
11065         (free_buffer_return_text): Remove.
11066         (macro_buffer): New constructors.
11067         (~macro_buffer): New destructor.
11068         (macro_buffer::set_shared): New method.
11069         (macro_buffer::resize_buffer, macro_buffer::appendc)
11070         (macro_buffer::appendmem): Now methods, not free functions.
11071         (set_token, append_tokens_without_splicing, stringify)
11072         (macro_stringify): Update.
11073         (gather_arguments): Change return type.  Remove argc_p argument,
11074         add args_ptr argument.  Use std::vector.
11075         (substitute_args): Remove argc argument.  Accept std::vector.
11076         (expand): Update.  Use std::vector.
11077         (scan, macro_expand, macro_expand_next): Update.
11078
11079 2018-02-08  Tom Tromey  <tom@tromey.com>
11080
11081         * symtab.c (default_collect_symbol_completion_matches_break_on):
11082         Use unique_xmalloc_ptr.
11083         * macroscope.h: (sal_macro_scope, user_macro_scope)
11084         (default_macro_scope): Return unique_xmalloc_ptr.
11085         * macroscope.c (sal_macro_scope, user_macro_scope)
11086         (default_macro_scope): Return unique_xmalloc_ptr.
11087         * macroexp.h (macro_expand, macro_expand_once): Return
11088         unique_xmalloc_ptr.
11089         * macroexp.c (macro_expand, macro_expand_once): Return
11090         unique_xmalloc_ptr.
11091         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11092         (info_macro_command, info_macros_command): Use
11093         unique_xmalloc_ptr.
11094         * compile/compile-c-support.c (write_macro_definitions): Use
11095         unique_xmalloc_ptr.
11096         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11097
11098 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11099
11100         * value.c (value_static_field): Assign field type instead of
11101         containing type when returning an optimized out value.
11102
11103 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11104
11105         * ft32-tdep.c (ft32_read_pc): Remove.
11106         (ft32_write_pc): Remove.
11107         (ft32_gdbarch_init): Update.
11108         * m32r-tdep.c (m32r_read_pc): Remove.
11109         (m32r_gdbarch_init): Update.
11110         * mep-tdep.c (mep_read_pc): Remove.
11111         (mep_gdbarch_init): Update.
11112         * microblaze-tdep.c (microblaze_write_pc): Remove.
11113         (microblaze_gdbarch_init): Update.
11114         * mn10300-tdep.c (mn10300_read_pc): Remove.
11115         (mn10300_write_pc): Remove.
11116         (mn10300_gdbarch_init): Update.
11117         * moxie-tdep.c (moxie_read_pc): Remove.
11118         (moxie_write_pc): Remove.
11119         (moxie_gdbarch_init): Update.
11120
11121 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11122
11123         * expprint.c (print_subexp_standard): Handle
11124         OP_F77_UNDETERMINED_ARGLIST.
11125         (dump_subexp_body_standard): Likewise.
11126
11127 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11128
11129         * target-descriptions.c (tdesc_element_visitor) Add empty
11130         implementations.
11131         (tdesc_type): Move make_gdb_type from here.
11132         (tdesc_type_builtin): Likewise.
11133         (tdesc_type_vector): Likewise.
11134         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11135         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11136         (make_gdb_type_union): Likewise.
11137         (make_gdb_type_flags): Likewise.
11138         (make_gdb_type_enum): Likewise.
11139         (make_gdb_type): New function.
11140         (tdesc_register_type): Use static make_gdb_type.
11141
11142 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11143
11144         * infcmd.c (default_print_one_register_info): Align natural-format
11145         column values consistently one under another.
11146         (pad_to_column): New function.
11147
11148 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11149
11150         * dwarf2read.c (dwarf2_physname): Move commment.
11151
11152 2018-02-01  Leszek Swirski  <leszeks@google.com>
11153
11154         * varobj.c (varobj_formatted_print_options): Allow recursive
11155         pretty printing if pretty printing is enabled.
11156
11157 2018-02-01  Leszek Swirski  <leszeks@google.com>
11158
11159         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11160         names after a structop as a filename.
11161
11162 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11163
11164         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11165         (arm_record_coproc_data_proc): Likewise.
11166
11167 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11168
11169         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11170
11171 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11172
11173         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11174         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11175
11176 2018-01-31  Pedro Alves  <palves@redhat.com>
11177
11178         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11179         * inflow.c (child_terminal_save_inferior): Wrap reference to
11180         tcgetpgrp in HAVE_TERMIOS_H.
11181         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11182         _WIN32.
11183         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11184         always iterate over all inferiors.
11185         (gdbsim_cntrl_c): Adjust.
11186         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11187
11188 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11189
11190         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11191         index type is objfile-owned if the element type is as well.
11192
11193 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11194
11195         GDB 8.1 released.
11196
11197 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11198
11199         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11200         "features/s390x-linux64.c".
11201         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11202         s390_linux32 and s390x_linux64.
11203         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11204         default tdesc.
11205         * s390-tdep.c: Include "features/s390-linux32.c" and
11206         "features/s390x-linux64.c".
11207         (s390_tdesc_valid): Add check for tdesc_has_registers.
11208         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11209         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11210         tdesc_s390x_linux64.
11211         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11212         tdesc_s390x_linux64 to...
11213         * s390-tdep.h: ...here.
11214
11215 2018-01-30  Pedro Alves  <palves@redhat.com>
11216
11217         PR gdb/13211
11218         * config.in, configure: Regenerate.
11219         * configure.ac: Check for getpgid.
11220         * go32-nat.c (go32_pass_ctrlc): New.
11221         (go32_target): Install it.
11222         * inf-child.c (inf_child_target): Install
11223         child_terminal_save_inferior, child_pass_ctrlc and
11224         child_interrupt.
11225         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11226         (inf_ptrace_target): No longer install it.
11227         * infcmd.c (interrupt_target_1): Adjust.
11228         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11229         (child_interrupt): Declare.
11230         (inferior::terminal_state): New.
11231         * inflow.c (struct terminal_info): Update comments.
11232         (inferior_process_group): Delete.
11233         (terminal_is_ours): Delete.
11234         (gdb_tty_state): New.
11235         (child_terminal_init): Adjust.
11236         (is_gdb_terminal, sharing_input_terminal_1)
11237         (sharing_input_terminal): New functions.
11238         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11239         Set the process's actual process group in the foreground if
11240         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11241         mark terminal as the inferior's if not sharing GDB's terminal.
11242         Don't check attach_flag.
11243         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11244         pass down a target_terminal_state.
11245         (child_terminal_save_inferior): New, factored out from ...
11246         (child_terminal_ours_1): ... this.  Handle
11247         target_terminal_state::is_ours_for_output.
11248         (child_interrupt, child_pass_ctrlc): New.
11249         (inflow_inferior_exit): Clear the inferior's terminal_state.
11250         (copy_terminal_info): Copy the inferior's terminal state.
11251         (_initialize_inflow): Remove reference to terminal_is_ours.
11252         * inflow.h (inferior_process_group): Delete.
11253         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11254         * procfs.c (procfs_target): Don't install procfs_interrupt.
11255         (procfs_interrupt): Delete.
11256         * remote.c (remote_serial_quit_handler): Adjust.
11257         (remote_interrupt): Remove ptid parameter.  Adjust.
11258         * target-delegates.c: Regenerate.
11259         * target.c: Include "terminal.h".
11260         (target_terminal::terminal_state): Rename to ...
11261         (target_terminal::m_terminal_state): ... this.
11262         (target_terminal::init): Adjust.
11263         (target_terminal::inferior): Adjust to per-inferior
11264         terminal_state.
11265         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11266         (target_terminal::ours, target_terminal::ours_for_output): Use
11267         target_terminal_is_ours_kind.
11268         (target_interrupt): Remove ptid parameter.  Adjust.
11269         (default_target_pass_ctrlc): Adjust.
11270         * target.h (target_ops::to_terminal_save_inferior): New field.
11271         (target_ops::to_interrupt): Remove ptid_t parameter.
11272         (target_interrupt): Remove ptid_t parameter.  Update comment.
11273         (target_pass_ctrlc): Update comment.
11274         * target/target.h (target_terminal_state): New scoped enum,
11275         factored out of ...
11276         (target_terminal::terminal_state): ... here.
11277         (target_terminal::inferior): Update comments.
11278         (target_terminal::restore_inferior): New.
11279         (target_terminal::is_inferior, target_terminal::is_ours)
11280         (target_terminal::is_ours_for_output): Adjust.
11281         (target_terminal::scoped_restore_terminal_state): Adjust to
11282         rename, and call restore_inferior() instead of inferior().
11283         (target_terminal::scoped_restore_terminal_state::m_state): Change
11284         type.
11285         (target_terminal::terminal_state): Rename to ...
11286         (target_terminal::m_terminal_state): ... this and change type.
11287
11288 2018-01-30  Pedro Alves  <palves@redhat.com>
11289
11290         * linux-nat.c (wait_for_signal): New function.
11291         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11292         directly.
11293         (async_terminal_is_ours)
11294         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11295         (linux_nat_add_target): Don't override
11296         to_terminal_inferior/to_terminal_ours.
11297
11298 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11299
11300         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11301
11302 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11303
11304         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11305         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11306         dwarf2_per_objfile_free here.
11307         (dwarf2_per_objfile_free): Remove.
11308         (_initialize_dwarf2_read): Don't register
11309         dwarf2_per_objfile_free as a registry cleanup.
11310
11311 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11312
11313         Avoid compilation errors in MinGW native builds
11314
11315         The error is triggered by including python-internal.h, and the
11316         error message is:
11317
11318              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11319                       from build-gnulib/import/math.h:27,
11320                       from d:/usr/Python26/include/pyport.h:235,
11321                       from d:/usr/Python26/include/Python.h:58,
11322                       from python/python-internal.h:94,
11323                       from python/py-arch.c:24:
11324              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11325         using ::hypot;
11326                 ^~~~~
11327
11328         This happens because Python headers define 'hypot' to expand t
11329         '_hypot' in the Windows builds.
11330         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11331         'hypoth'.  This avoids a compilation error.
11332
11333 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11334
11335         * MAINTAINERS (Write After Approval): Fix ordering.
11336
11337 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11338
11339         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11340
11341 2018-01-26  Alan Modra  <amodra@gmail.com>
11342
11343         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11344         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11345         Remove nop.  Make const.  Comment.
11346         (powerpc32_plt_stub_so_2): New.
11347         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11348         Correct count.  Update uses.
11349         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11350         Move common code reading PLT entry word.  Correct
11351         powerpc32_plt_stub PLT address calculation.
11352         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11353         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11354         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11355         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11356         (ppc64_standard_linkage8): Likewise.
11357         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11358         Correct insns description.
11359         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11360
11361 2018-01-24  Pedro Alves  <palves@redhat.com>
11362
11363         GCC PR libstdc++/83906
11364         * gdbtypes.c (operator==(const dynamic_prop &,
11365         const dynamic_prop &)): New.
11366         (operator==(const range_bounds &, const range_bounds &)): New.
11367         (check_types_equal): Use them instead of memcmp.
11368         * gdbtypes.h (operator==(const dynamic_prop &,
11369         const dynamic_prop &)): Declare.
11370         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11371         (operator==(const range_bounds &, const range_bounds &)): Declare.
11372         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11373
11374 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11375
11376         * s390-linux-tdep.c (s390_record_address_mask)
11377         (s390_record_calc_disp_common, s390_record_calc_disp)
11378         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11379         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11380         (s390_process_record): Move to s390-tdep.c.
11381         (s390_linux_init_abi_any): Adjust.
11382         * s390-tdep.c (s390_record_address_mask)
11383         (s390_record_calc_disp_common, s390_record_calc_disp)
11384         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11385         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11386         (s390_process_record): Moved from s390-linux-tdep.c
11387         (s390_gdbarch_init): Adjust.
11388
11389 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11390
11391         * s390-linux-nat.c (s390-tdep.h): New include.
11392         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11393         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11394         (ALLDEPFILES): Add s390-tdep.c.
11395         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11396         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11397         * s390-tdep.h: ...this.  New file.
11398         * s390-linux-tdep.c (s390-tdep.h): New include.
11399         (_initialize_s390_tdep): Rename to...
11400         (_initialize_s390_linux_tdep): ...this and adjust.
11401         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11402         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11403         s390-tdep.h.
11404         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11405         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11406         (s390_is_partial_instruction, s390_software_single_step)
11407         (is_non_branch_ril, s390_displaced_step_copy_insn)
11408         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11409         (s390_prologue_data, s390_addr, s390_store, s390_load)
11410         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11411         (s390_register_call_saved, s390_guess_tracepoint_registers)
11412         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11413         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11414         (s390_pseudo_register_name, s390_pseudo_register_type)
11415         (s390_pseudo_register_read, s390_pseudo_register_write)
11416         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11417         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11418         (s390_addr_bits_remove, s390_address_class_type_flags)
11419         (s390_address_class_type_flags_to_name)
11420         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11421         (s390_function_arg_float, s390_function_arg_vector)
11422         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11423         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11424         (s390_frame_align, s390_register_return_value, s390_return_value)
11425         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11426         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11427         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11428         (s390_trad_frame_prev_register, s390_unwind_cache)
11429         (s390_prologue_frame_unwind_cache)
11430         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11431         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11432         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11433         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11434         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11435         (s390_frame_base_address, s390_local_base_address)
11436         (s390_frame_base, s390_gcc_target_options)
11437         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11438         (s390_validate_reg_range, s390_tdesc_valid)
11439         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11440         * s390-tdep.c: ...this.  New file.
11441
11442 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11443
11444         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11445         (s390_process_record, s390_gdbarch_tdep_alloc)
11446         (s390_linux_init_abi_any): Use/set new hook.
11447
11448 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11449
11450         * s390-linux-tdep.c (osabi.h): New include.
11451         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11452         (s390_linux_init_abi_any): New functions.
11453         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11454
11455 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11456
11457         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11458         tdesc_has_registers check
11459
11460 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11461
11462         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11463         (s390_validate_reg_range): New macro.
11464         (s390_gdbarch_init): Adjust.
11465
11466 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11467
11468         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11469         (s390_gdbarch_tdep_alloc): Adjust.
11470         (s390_gdbarch_init): Adjust.
11471
11472 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11473
11474         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11475         <have_tdb>: Change type to bool.
11476         (s390_gdbarch_tdep_alloc): Adjust.
11477         (s390_gdbarch_init): Adjust.
11478
11479 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11480
11481         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11482         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11483         (s390_gdbarch_tdep_alloc): New function.
11484         (s390_gdbarch_init): Allocate tdep at start and use its fields
11485         instead of separate variables.
11486
11487 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11488
11489         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11490         when looking for cached gdbarch and add comment for remaining.
11491
11492 2018-01-22  Pedro Alves  <palves@redhat.com>
11493             Sergio Durigan Junior  <sergiodj@redhat.com>
11494
11495         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11496         case.
11497
11498 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11499
11500         * MAINTAINERS: Update my company e-mail address.
11501
11502 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11503
11504         * regcache.c (cooked_write_test): New function.
11505         (_initialize_regcache): Register the test.
11506
11507 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11508
11509         * ia64-tdep.c (ia64_pseudo_register_read): Call
11510         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11511         * m32c-tdep.c (m32c_cat_read): Likewise.
11512         (m32c_r3r2r1r0_read): Likewise.
11513         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11514         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11515
11516 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11517
11518         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11519         method raw_read instead of regcache_raw_read.
11520         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11521         * arm-tdep.c (arm_neon_quad_read): Likewise.
11522         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11523         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11524         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11525         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11526         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11527         (i386_pseudo_register_read_into_value): Likewise.
11528         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11529         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11530         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11531         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11532         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11533         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11534         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11535         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11536         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11537
11538 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11539
11540         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11541         * configure.tgt: Remove target mt.
11542         * mt-tdep.c: Remove.
11543         * regcache.c (cooked_read_test): Remove the check for mt.
11544
11545 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11546
11547         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11548         instead of gdbarch_pseudo_register_read_value.
11549
11550 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11551
11552         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11553         language is Ada.
11554
11555 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11556
11557         * linespec.c (create_sals_line_offset): Remove code that preserved
11558         the symtab_and_line's line number.
11559
11560 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11561
11562         * varobj.c (varobj_create): Don't set valid_block when creating a
11563         floating varobj.
11564
11565 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11566
11567         * varobj.c (varobj_create): Remove out of date comment.
11568
11569 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11570
11571         PR mi/20395
11572         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11573         updating innermost block.
11574         * parse.c (innermost_block_tracker::update): Take extra type
11575         parameter, and check types match before updating innermost block.
11576         (write_dollar_variable): Update innermost block for registers.
11577         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11578         (innermost_block_tracker::innermost_block_tracker): Initialise
11579         m_types member.
11580         (innermost_block_tracker::reset): Take type parameter.
11581         (innermost_block_tracker::update): Take type parameter, and pass
11582         type through as needed.
11583         (innermost_block_tracker::m_types): New member.
11584         * varobj.c (varobj_create): Pass type when reseting innermost
11585         block.
11586
11587 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11588
11589         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11590         * ada-lang.c (resolve_subexp): Likewise.
11591         * breakpoint.c (set_breakpoint_condition) Likewise.
11592         (watch_command_1) Likewise.
11593         * c-exp.y (variable): Likewise.
11594         * d-exp.y (PrimaryExpression): Likewise.
11595         * f-exp.y (variable): Likewise.
11596         * go-exp.y (variable): Likewise.
11597         * m2-exp.y (variable): Likewise.
11598         * objfiles.c (objfile::~objfile): Likewise.
11599         * p-exp.y (variable): Likewise.
11600         * parse.c (innermost_block): Change type.
11601         * parser-defs.h (class innermost_block_tracker): New.
11602         (innermost_block): Change to innermost_block_tracker.
11603         * printcmd.c (display_command): Switch to innermost_block API.
11604         (do_one_display): Likewise.
11605         * rust-exp.y (do_one_display): Likewise.
11606         * symfile.c (clear_symtab_users): Likewise.
11607         * varobj.c (varobj_create): Switch to innermost_block API, replace
11608         use of innermost_block with block stored on varobj object.
11609
11610 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11611
11612         * expression.h (innermost_block): Remove declaration.
11613         * varobj.c: Add 'parser-defs.h' include.
11614
11615 2018-01-19  Tom Tromey  <tom@tromey.com>
11616
11617         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11618         symbols in the static and global blocks.
11619
11620 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11621
11622         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11623         gdb_ptrace.h, and move including gdb_wait.h ...
11624         * nat/linux-ptrace.h: ... to here.
11625
11626 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11627
11628         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11629         inf_ptrace_detach_success.
11630         (inf_ptrace_detach_success): Add inferior parameter, use it
11631         instead of inferior_ptid, pass it to detach_inferior.
11632         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11633         parameter.
11634         * inferior.c (detach_inferior): Add overload that takes an
11635         inferior object.
11636         * inferior.h (detach_inferior): Likewise.
11637         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11638         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11639         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11640
11641 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11642
11643         * target.h (struct target_ops) <to_detach>: Add inferior
11644         parameter.
11645         (target_detach): Likewise.
11646         * target.c (dispose_inferior): Pass inferior down.
11647         (target_detach): Pass inferior down.  Assert that it is equal to
11648         the current inferior.
11649         * aix-thread.c (aix_thread_detach): Pass inferior down.
11650         * corefile.c (core_file_command): Pass current_inferior() down.
11651         * corelow.c (core_detach): Add inferior parameter.
11652         * darwin-nat.c (darwin_detach): Likewise.
11653         * gnu-nat.c (gnu_detach): Likewise.
11654         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11655         * infcmd.c (detach_command): Pass current_inferior() down to
11656         target_detach.
11657         * infrun.c (follow_fork_inferior): Pass parent_inf to
11658         target_detach.
11659         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11660         target_detach.
11661         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11662         * linux-thread-db.c (thread_db_detach): Likewise.
11663         * nto-procfs.c (procfs_detach): Likewise.
11664         * procfs.c (procfs_detach): Likewise.
11665         * record.c (record_detach): Likewise.
11666         * record.h (struct inferior): Forward-declare.
11667         (record_detach): Add inferior parameter.
11668         * remote-sim.c (gdbsim_detach): Likewise.
11669         * remote.c (remote_detach_1): Likewise.
11670         (remote_detach): Likewise.
11671         (extended_remote_detach): Likewise.
11672         * sol-thread.c (sol_thread_detach): Likewise.
11673         * target-debug.h (target_debug_print_inferior_p): New macro.
11674         * target-delegates.c: Re-generate.
11675         * top.c (kill_or_detach): Pass inferior down to target_detach.
11676         * windows-nat.c (windows_detach): Add inferior parameter.
11677
11678 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11679
11680         * target.h (struct target_ops) <to_detach>: Remove args
11681         parameter.
11682         (target_detach): Likewise.
11683         * target.c (dispose_inferior): Adjust.
11684         (target_detach): Remove args parameter, adjust.
11685         * aix-thread.c (aix_thread_detach): Adjust.
11686         * corefile.c (core_file_command): Adjust.
11687         * corelow.c (core_detach): Adjust.
11688         * darwin-nat.c (darwin_detach): Adjust.
11689         * gnu-nat.c (gnu_detach): Adjust.
11690         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11691         * infcmd.c (detach_command): Adjust
11692         * infrun.c (follow_fork_inferior): Adjust.
11693         (handle_vfork_child_exec_or_exit): Adjust.
11694         * linux-fork.c (linux_fork_detach): Remove args parameter.
11695         * linux-fork.h (linux_fork_detach): Likewise.
11696         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11697         * linux-thread-db.c (thread_db_detach): Likewise.
11698         * nto-procfs.c (procfs_detach): Likewise.
11699         * procfs.c (procfs_detach): Likewise.
11700         (do_detach): Remove signo parameter.
11701         * record.c (record_detach): Remove args parameter.
11702         * record.h (record_detach): Likewise.
11703         * remote-sim.c (gdbsim_detach): Likewise.
11704         * remote.c (remote_detach_1): Likewise.
11705         (remote_detach): Likewise.
11706         (extended_remote_detach): Likewise.
11707         * sol-thread.c (sol_thread_detach): Likewise.
11708         * target-delegates.c: Re-generate.
11709         * top.c (struct qt_args) <args>: Remove field.
11710         (kill_or_detach): Don't pass args.
11711         (quit_force): Don't set args.
11712         * windows-nat.c (windows_detach): Remove args parameter.
11713
11714 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11715
11716         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11717         (arm_linux_init_abi): Install it.
11718
11719 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11720
11721         * osabi.c (gdb_osabi_names): Extend the regexp for
11722         arm-linux-gnueabihf.
11723
11724 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11725
11726         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11727         m_abbrevs.
11728         (abbrev_table::add_abbrev): Update.
11729         (abbrev_table::lookup_abbrev): Update.
11730
11731 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11732
11733         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11734
11735 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11736
11737         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11738         to "std::string".
11739
11740 2018-01-17  Tom Tromey  <tom@tromey.com>
11741
11742         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11743
11744 2018-01-17  Tom Tromey  <tom@tromey.com>
11745
11746         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11747         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11748         (create_array_type_with_stride): Update.
11749         * dwarf2read.c (set_die_type): Update.
11750
11751 2018-01-17  Tom Tromey  <tom@tromey.com>
11752
11753         * dwarf2read.c (delayed_method_info): Remove typedef.
11754         (dwarf2_cu::method_info): Now a std::vector.
11755         (add_to_method_list): Update.
11756         (free_delayed_list): Remove.
11757         (compute_delayed_physnames): Update.
11758         (process_full_comp_unit, process_full_type_unit): Clear the method
11759         list.  Remove cleanups.
11760         (psymtab_include_file_name): Add name_holder parameter.  Use
11761         unique_xmalloc_ptr.
11762         (dwarf_decode_lines): Update.
11763
11764 2018-01-17  Tom Tromey  <tom@tromey.com>
11765             Simon Marchi  <simon.marchi@ericsson.com>
11766
11767         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11768         (dwarf2_per_objfile::free_cached_comp_units)
11769         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11770         (init_cutu_and_read_dies_no_follow): Update.
11771         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11772         (dwarf2_cu::~dwarf2_cu): New.
11773         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11774         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11775
11776 2018-01-17  Tom Tromey  <tom@tromey.com>
11777             Simon Marchi  <simon.marchi@ericsson.com>
11778
11779         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11780         (struct die_reader_specs) <abbrev_table>: New member.
11781         (struct abbrev_table): Add constructor.
11782         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11783         <abbrev_obstack>: Now an auto_obstack.
11784         (abbrev_table_up): New typedef.
11785         (init_cu_die_reader): Add abbrev_table parameter.
11786         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11787         Add result_dwo_abbrev_table.
11788         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11789         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11790         Update.
11791         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11792         parameter.
11793         (skip_children): Update.
11794         (abbrev_table::alloc_abbrev): Rename from
11795         abbrev_table_alloc_abbrev.
11796         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11797         (abbrev_table::lookup_abbrev): Rename from
11798         abbrev_table_lookup_abbrev.
11799         (abbrev_table_read_table): Return abbrev_table_up.
11800         (abbrev_table_free, abbrev_table_free_cleanup)
11801         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11802         (load_partial_dies): Update.
11803
11804 2018-01-17  Tom Tromey  <tom@tromey.com>
11805
11806         * dwarf2read.c (dwarf2_compute_name): Update comment.
11807         (read_func_scope, read_variable): Update.
11808         (new_symbol): Remove.
11809         (new_symbol_full): Rename to new_symbol.
11810
11811 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11812
11813         PR gdb/16577
11814         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11815         a warning instead of throwing an error, set section size to 0 and return
11816         NULL.
11817         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11818
11819 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11820
11821         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11822         std::string.
11823         (linux_ptrace_attach_fail_reason_string): Likewise.
11824         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11825         Likewise.
11826         (linux_ptrace_attach_fail_reason_string): Likewise.
11827         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11828
11829 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11830
11831         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11832
11833 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11834
11835         PR gdb/21559
11836         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11837         checking for fs_base/gs_base fields in struct user_regs_struct.
11838         * configure: Regenerate.
11839
11840 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11841
11842         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11843         function.
11844         (aarch64_linux_init_abi): Install it to gdbarch hook
11845         gcc_target_options.
11846
11847 2018-01-15  Pedro Alves  <palves@redhat.com>
11848
11849         * common/signals-state-save-restore.c
11850         (save_original_signals_state): Fix typos.
11851
11852 2017-01-12  Tom Tromey  <tom@tromey.com>
11853             Sergio Durigan Junior  <sergiodj@redhat.com>
11854
11855         * Makefile.in (install-only): Install gdb-add-index.
11856
11857 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11858
11859         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11860
11861 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11862
11863         * infrun.c (keep_going_pass_signal): Clear step-over info when
11864         insert_breakpoints fails.
11865
11866 2018-01-11  Pedro Alves  <palves@redhat.com>
11867
11868         PR gdb/22583
11869         * infrun.c (resume): Rename to ...
11870         (resume_1): ... this.
11871         (resume): Reimplement as wrapper around resume_1.
11872
11873 2018-01-11  Pedro Alves  <palves@redhat.com>
11874
11875         PR remote/22597
11876         * remote.c (remote_parse_stop_reply): Default to the last-set
11877         general thread instead of to 'magic_null_ptid'.
11878
11879 2018-01-10  Pedro Alves  <palves@redhat.com>
11880
11881         * language.h (language_get_symbol_name_matcher): Rename ...
11882         (get_symbol_name_matcher): ... this.
11883         * language.c (language_get_symbol_name_matcher): Ditto.
11884         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
11885         callers adjusted.
11886
11887 2018-01-10  Pedro Alves  <palves@redhat.com>
11888
11889         PR gdb/22670
11890         * dwarf2read.c
11891         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
11892         Adjust to use language_get_symbol_name_matcher instead of
11893         language_defn::la_get_symbol_name_matcher.
11894         * language.c (language_get_symbol_name_matcher): If in Ada mode
11895         and the lookup name is a verbatim match, return Ada's matcher.
11896         * language.h (language_get_symbol_name_matcher): Adjust comment.
11897         (ada_lookup_name_info::verbatim_p):: New method.
11898
11899 2018-01-10  Pedro Alves  <palves@redhat.com>
11900
11901         PR gdb/22670
11902         * ada-lang.c (ada_collect_symbol_completion_matches): If the
11903         minsym's language is language_auto or language_cplus, pass down
11904         language_ada instead.
11905         * symtab.c (compare_symbol_name): Don't frob symbol language here.
11906
11907 2018-01-10  Pedro Alves  <palves@redhat.com>
11908
11909         PR gdb/22670
11910         * minsyms.c (linkage_name_str): New function.
11911         (iterate_over_minimal_symbols): Use it.
11912
11913 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11914
11915         * NEWS: Document that 'info proc' now works on FreeBSD.
11916
11917 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11918
11919         * configure.ac: Check for kinfo_getfile in libutil.
11920         * configure: Regenerate.
11921         * config.in: Regenerate.
11922         * fbsd-nat.c: Include "fbsd-tdep.h".
11923         (fbsd_fetch_cmdline): New.
11924         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11925         rather than calling error.
11926         (fbsd_info_proc): New.
11927         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11928         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11929         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11930
11931 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11932
11933         * fbsd-nat.c (struct free_deleter): Remove.
11934         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11935
11936 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11937
11938         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11939         NULL for an empty pathname.
11940
11941 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11942
11943         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11944         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11945         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11946         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11947         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11948         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11949         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11950         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11951         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11952         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11953         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11954         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11955         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11956         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11957         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11958
11959 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11960
11961         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11962         (gnu_xfer_auxv): New function.
11963         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11964         TARGET_OBJECT_AUXV.
11965
11966 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11967             Simon Marchi  <simon.marchi@ericsson.com>
11968
11969         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11970         common/selftest.c.
11971         (COMMON_OBS): Remove selftest.o.
11972         * configure.ac: Append selftest-arch.c and common/selftest.c to
11973         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11974         * configure: Re-generated.
11975         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11976         GDB_SELF_TEST.
11977         (maintenance_info_selftests): Likewise.
11978
11979 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11980
11981         * ada-valprint.c (val_print_packed_array_elements): Use
11982         proper number of elements when printing an array indexed
11983         by an enumeration type.
11984
11985 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11986
11987         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11988         (dw2_get_file_names_reader): Adjust.
11989         (lookup_dwo_signatured_type): Adjust.
11990         (lookup_dwp_signatured_type): Adjust.
11991         (lookup_signatured_type): Adjust.
11992         (create_type_unit_group): Adjust.
11993         (get_type_unit_group): Adjust.
11994         (process_psymtab_comp_unit_reader): Adjust.
11995         (build_type_psymtabs_reader): Adjust.
11996         (scan_partial_symbols): Adjust.
11997         (add_partial_symbol): Adjust.
11998         (add_partial_subprogram): Adjust.
11999         (peek_die_abbrev): Adjust.
12000         (fixup_go_packaging): Adjust.
12001         (process_imported_unit_die): Adjust.
12002         (dwarf2_compute_name): Adjust.
12003         (dwarf2_physname): Adjust.
12004         (read_import_statement): Adjust.
12005         (handle_DW_AT_stmt_list): Adjust.
12006         (read_file_scope): Adjust.
12007         (read_func_scope): Adjust.
12008         (read_lexical_block_scope): Adjust.
12009         (read_call_site_scope): Adjust.
12010         (read_variable): Adjust.
12011         (dwarf2_rnglists_process): Adjust.
12012         (dwarf2_ranges_process): Adjust.
12013         (dwarf2_ranges_read): Adjust.
12014         (dwarf2_get_pc_bounds): Adjust.
12015         (dwarf2_record_block_ranges): Adjust.
12016         (dwarf2_add_field): Adjust.
12017         (dwarf2_add_member_fn): Adjust.
12018         (read_structure_type): Adjust.
12019         (process_structure_scope): Adjust.
12020         (read_enumeration_type): Adjust.
12021         (read_array_type): Adjust.
12022         (mark_common_block_symbol_computed): Adjust.
12023         (read_common_block): Adjust.
12024         (read_namespace_type): Adjust.
12025         (read_namespace): Adjust.
12026         (read_module_type): Adjust.
12027         (read_tag_pointer_type): Adjust.
12028         (read_tag_ptr_to_member_type): Adjust.
12029         (read_tag_string_type): Adjust.
12030         (read_subroutine_type): Adjust.
12031         (read_typedef): Adjust.
12032         (read_base_type): Adjust.
12033         (attr_to_dynamic_prop): Adjust.
12034         (read_subrange_type): Adjust.
12035         (read_unspecified_type): Adjust.
12036         (dwarf2_read_abbrevs): Adjust.
12037         (load_partial_dies): Adjust.
12038         (read_partial_die): Adjust.
12039         (find_partial_die): Adjust.
12040         (guess_partial_die_structure_name): Adjust.
12041         (fixup_partial_die): Adjust.
12042         (read_attribute_value): Adjust.
12043         (read_addr_index): Adjust.
12044         (read_addr_index_from_leb128): Adjust.
12045         (read_str_index): Adjust.
12046         (dwarf2_string_attr): Adjust.
12047         (get_debug_line_section): Adjust.
12048         (dwarf_decode_line_header): Adjust.
12049         (lnp_state_machine::check_line_address): Adjust.
12050         (dwarf_decode_lines_1): Adjust.
12051         (dwarf_decode_lines): Adjust.
12052         (dwarf2_start_symtab): Adjust.
12053         (var_decode_location): Adjust.
12054         (new_symbol_full): Adjust.
12055         (dwarf2_const_value_data): Adjust.
12056         (dwarf2_const_value_attr): Adjust.
12057         (dwarf2_const_value): Adjust.
12058         (die_type): Adjust.
12059         (die_containing_type): Adjust.
12060         (build_error_marker_type): Adjust.
12061         (lookup_die_type): Adjust.
12062         (guess_full_die_structure_name): Adjust.
12063         (anonymous_struct_prefix): Adjust.
12064         (determine_prefix): Adjust.
12065         (dwarf2_name): Adjust.
12066         (follow_die_ref_or_sig): Adjust.
12067         (follow_die_offset): Adjust.
12068         (follow_die_ref): Adjust.
12069         (follow_die_sig_1): Adjust.
12070         (follow_die_sig): Adjust.
12071         (get_signatured_type): Adjust.
12072         (get_DW_AT_signature_type): Adjust.
12073         (decode_locdesc): Adjust.
12074         (dwarf_decode_macros): Adjust.
12075         (cu_debug_loc_section): Adjust.
12076         (fill_in_loclist_baton): Adjust.
12077         (dwarf2_symbol_mark_computed): Adjust.
12078         (init_one_comp_unit): Don't assign
12079         dwarf2_cu::dwarf2_per_objfile.
12080         (set_die_type): Adjust.
12081
12082 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12083
12084         * dwarf2read.c (struct mapped_debug_names): Add constructor.
12085         <dwarf2_per_objfile>: New field.
12086         (dwarf2_per_objfile): Remove global.
12087         (get_dwarf2_per_objfile): New function.
12088         (set_dwarf2_per_objfile): New function.
12089         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12090         dwarf2_per_objfile.
12091         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12092         (read_abbrev_offset): Likewise.
12093         (read_indirect_string): Likewise.
12094         (read_indirect_line_string): Likewise.
12095         (read_indirect_string_at_offset): Likewise.
12096         (read_indirect_string_from_dwz): Likewise.
12097         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12098         dwarf2_per_objfile.
12099         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12100         (create_all_comp_units): Change objfile parameter to
12101         dwarf2_per_objfile.
12102         (create_all_type_units): Likewise.
12103         (process_queue): Add dwarf2_per_objfile parameter.
12104         (read_and_check_comp_unit_head): Likewise.
12105         (lookup_dwo_unit_in_dwp): Likewise.
12106         (get_dwp_file): Likewise.
12107         (process_cu_includes): Likewise.
12108         (struct free_dwo_file_cleanup_data): New struct.
12109         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12110         set_dwarf2_per_objfile.
12111         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12112         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12113         context, adjust calls.
12114         (dw2_instantiate_symtab): Likewise.
12115         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12116         (dw2_get_cu): Likewise.
12117         (create_cu_from_index_list): Change objfile parameter to
12118         dwarf2_per_objfile.
12119         (create_cus_from_index_list): Get dwarf2_per_objfile from
12120         context, adjust calls.
12121         (create_cus_from_index): Likewise.
12122         (create_signatured_type_table_from_index): Change objfile
12123         parameter to dwarf2_per_objfile.
12124         (create_signatured_type_table_from_debug_names): Change objfile
12125         parameter to dwarf2_per_objfile.
12126         (create_addrmap_from_index): Likewise.
12127         (create_addrmap_from_aranges): Likewise.
12128         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12129         (dw2_setup): Remove.
12130         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12131         context.
12132         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12133         get_dwarf2_per_objfile.
12134         (dw2_forget_cached_source_info): Likewise.
12135         (dw2_map_symtabs_matching_filename): Likewise.
12136         (struct dw2_symtab_iterator) <index>: Remove.
12137         <dwarf2_per_objfile>: New field.
12138         (dw2_symtab_iter_init): Replace index parameter with
12139         dwarf2_per_objfile.
12140         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12141         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12142         (dw2_print_stats): Likewise.
12143         (dw2_dump): Likewise.
12144         (dw2_expand_symtabs_for_function): Likewise.
12145         (dw2_expand_all_symtabs): Likewise.
12146         (dw2_expand_symtabs_with_fullname): Likewise.
12147         (dw2_expand_marked_cus): Replace index and objfile parameters
12148         with dwarf2_per_objfile.
12149         (dw_expand_symtabs_matching_file_matcher): Add
12150         dwarf2_per_objfile parameter and adjust calls.
12151         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12152         adjust calls.
12153         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12154         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12155         adjust calls.
12156         (create_cus_from_debug_names_list): Replace objfile parameter
12157         with dwarf2_per_objfile and adjust calls.
12158         (create_cus_from_debug_names): Likewise.
12159         (dwarf2_read_debug_names): Likewise.
12160         (mapped_debug_names::namei_to_name): Adjust call.
12161         (dw2_debug_names_iterator::next): Likewise.
12162         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12163         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12164         (dw2_debug_names_dump): Likewise.
12165         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12166         (dw2_debug_names_expand_symtabs_matching): Likewise.
12167         (dwarf2_initialize_objfile): Likewise.
12168         (dwarf2_build_psymtabs): Likewise.
12169         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12170         this_cu.
12171         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12172         (read_and_check_comp_unit_head): Likewise.
12173         (read_abbrev_offset): Likewise.
12174         (create_debug_type_hash_table): Likewise.
12175         (create_debug_types_hash_table): Likewise.
12176         (create_all_type_units): Replace objfile parameter with
12177         dwarf2_per_objfile.
12178         (add_type_unit): Add dwarf2_per_objfile parameter.
12179         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12180         with dwarf2_per_objfile.
12181         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12182         (lookup_dwp_signatured_type): Likewise.
12183         (lookup_signatured_type): Likewise.
12184         (read_cutu_die_from_dwo): Likewise.
12185         (init_tu_and_read_dwo_dies): Likewise.
12186         (init_cutu_and_read_dies): Likewise.
12187         (init_cutu_and_read_dies_no_follow): Likewise.
12188         (allocate_type_unit_groups_table): Add objfile parameter.
12189         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12190         (get_type_unit_group): Likewise.
12191         (process_psymtab_comp_unit): Update call.
12192         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12193         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12194         (print_tu_stats): Likewise.
12195         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12196         in void* parameter.
12197         (build_type_psymtabs): Change objfile parameter to
12198         dwarf2_per_objfile.
12199         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12200         passed in void* parameter.
12201         (process_skeletonless_type_units): Change objfile parameter to
12202         dwarf2_per_objfile.
12203         (set_partial_user): Likewise.
12204         (dwarf2_build_psymtabs_hard): Likewise.
12205         (read_comp_units_from_section): Likewise.
12206         (create_all_comp_units): Likewise.
12207         (scan_partial_symbols): Update calls.
12208         (add_partial_symbol): Likewise.
12209         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12210         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12211         (process_queue): Add dwarf2_per_objfile parameter.
12212         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12213         (compute_compunit_symtab_includes): Likewise.
12214         (process_cu_includes): Add dwarf2_per_objfile parameter.
12215         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12216         (process_full_type_unit): Likewise.
12217         (process_imported_unit_die): Update call.
12218         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12219         (read_file_scope): Likewise.
12220         (allocate_dwo_file_hash_table): Add objfile parameter.
12221         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12222         (create_cus_hash_table): Likewise.
12223         (create_dwp_hash_table): Likewise.
12224         (create_dwo_unit_in_dwp_v1): Likewise.
12225         (create_dwp_v2_section): Likewise.
12226         (create_dwo_unit_in_dwp_v2): Likewise.
12227         (lookup_dwo_unit_in_dwp): Likewise.
12228         (try_open_dwop_file): Likewise.
12229         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12230         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12231         cleanup to include a reference to dwarf2_per_objfile.
12232         (open_dwp_file): Add dwarf2_per_objfile parameter.
12233         (open_and_init_dwp_file): Likewise.
12234         (get_dwp_file): Likewise.
12235         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12236         (queue_and_load_all_dwo_tus): Update call.
12237         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12238         data.
12239         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12240         (dwarf2_ranges_process): Likewise.
12241         (dwarf2_get_pc_bounds): Likewise.
12242         (mark_common_block_symbol_computed): Likewise.
12243         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12244         (dwarf2_read_abbrevs): Update call.
12245         (read_partial_die): Use dwarf2_per_objfile from cu.
12246         (find_partial_die): Likewise.
12247         (fixup_partial_die): Likewise.
12248         (read_attribute_value): Likewise.
12249         (read_indirect_string_at_offset_from): Add objfile parameter.
12250         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12251         parameter.
12252         (read_indirect_string_from_dwz): Add objfile parameter.
12253         (read_indirect_string): Add objfile parameter.
12254         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12255         (read_addr_index): Use dwarf2_per_objfile from cu.
12256         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12257         call dw2_setup.
12258         (read_str_index): Use dwarf2_per_objfile from cu.
12259         (get_debug_line_section): Likewise.
12260         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12261         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12262         (new_symbol_full): Use dwarf2_per_objfile from cu.
12263         (build_error_marker_type): Likewise.
12264         (lookup_die_type): Likewise.
12265         (determine_prefix): Likewise.
12266         (follow_die_offset): Likewise.
12267         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12268         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12269         (dwarf2_fetch_die_type_sect_off): Likewise.
12270         (dwarf2_get_die_type): Likewise.
12271         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12272         (get_signatured_type): Likewise.
12273         (get_DW_AT_signature_type): Likewise.
12274         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12275         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12276         (cu_debug_loc_section): Likewise.
12277         (fill_in_loclist_baton): Likewise.
12278         (dwarf2_symbol_mark_computed): Likewise.
12279         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12280         dwarf2_per_objfile.
12281         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12282         parameter.
12283         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12284         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12285         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12286         (set_die_type): Use dwarf2_free_objfile from cu.
12287         (get_die_type_at_offset): Likewise.
12288         (dwarf2_per_objfile_free): Don't assign global variable.
12289         (debug_names) <constructor>: Add dwarf2_per_objfile
12290         parameter, update m_debugstrlookup construction.
12291         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12292         parameter.
12293         <m_dwarf2_per_objfile>: New field.
12294         <lookup>: Use m_dwarf2_per_objfile.
12295         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12296         (psyms_seen_size): Likewise.
12297         (write_gdbindex): Replace objfile parameter with
12298         dwarf2_per_objfile.
12299         (write_debug_names): Likewise.
12300         (write_psymtabs_to_index): Likewise.
12301         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12302         calls.
12303
12304 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12305
12306         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12307         <dwarf2_per_objfile>: New field.
12308         (struct dwarf2_per_cu_data) <objfile>: Remove.
12309         <dwarf2_per_objfile>: New field.
12310         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12311         of objfile.
12312         (create_signatured_type_table_from_index): Likewise.
12313         (create_debug_type_hash_table): Likewise.
12314         (fill_in_sig_entry_from_dwo_entry): Likewise.
12315         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12316         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12317         objfile.
12318         (create_partial_symtab): Access objfile through
12319         dwarf2_per_objfile.
12320         (process_psymtab_comp_unit_reader): Likewise.
12321         (read_comp_units_from_section): Likewise.
12322         (scan_partial_symbols): Likewise.
12323         (add_partial_symbol): Likewise.
12324         (add_partial_subprogram): Likewise.
12325         (peek_die_abbrev): Likewise.
12326         (fixup_go_packaging): Likewise.
12327         (process_full_comp_unit): Likewise.
12328         (process_full_type_unit): Likewise.
12329         (process_imported_unit_die): Likewise.
12330         (dwarf2_compute_name): Likewise.
12331         (dwarf2_physname): Likewise.
12332         (read_import_statement): Likewise.
12333         (create_cus_hash_table): Assign dwarf2_physname instead of
12334         objfile.
12335         (read_func_scope): Access objfile through dwarf2_per_objfile.
12336         (read_lexical_block_scope): Likewise.
12337         (read_call_site_scope): Likewise.
12338         (read_variable): Likewise.
12339         (dwarf2_rnglists_process): Likewise.
12340         (dwarf2_ranges_process): Likewise.
12341         (dwarf2_ranges_read): Likewise.
12342         (dwarf2_record_block_ranges): Likewise.
12343         (dwarf2_add_field): Likewise.
12344         (dwarf2_add_member_fn): Likewise.
12345         (read_structure_type): Likewise.
12346         (process_structure_scope): Likewise.
12347         (read_enumeration_type): Likewise.
12348         (read_array_type): Likewise.
12349         (read_common_block): Likewise.
12350         (read_namespace_type): Likewise.
12351         (read_namespace): Likewise.
12352         (read_module_type): Likewise.
12353         (read_tag_pointer_type): Likewise.
12354         (read_tag_ptr_to_member_type): Likewise.
12355         (read_tag_string_type): Likewise.
12356         (read_subroutine_type): Likewise.
12357         (read_typedef): Likewise.
12358         (read_base_type): Likewise.
12359         (attr_to_dynamic_prop): Likewise.
12360         (read_subrange_type): Likewise.
12361         (read_unspecified_type): Likewise.
12362         (load_partial_dies): Likewise.
12363         (read_partial_die): Likewise.
12364         (find_partial_die): Likewise.
12365         (guess_partial_die_structure_name): Likewise.
12366         (fixup_partial_die): Likewise.
12367         (read_attribute_value): Likewise.
12368         (read_addr_index_from_leb128): Likewise.
12369         (dwarf2_read_addr_index): Likewise.
12370         (dwarf2_string_attr): Likewise.
12371         (lnp_state_machine::check_line_address): Likewise.
12372         (dwarf_decode_lines_1): Likewise.
12373         (dwarf_decode_lines): Likewise.
12374         (dwarf2_start_symtab): Likewise.
12375         (var_decode_location): Likewise.
12376         (new_symbol_full): Likewise.
12377         (dwarf2_const_value_data): Likewise.
12378         (dwarf2_const_value_attr): Likewise.
12379         (dwarf2_const_value): Likewise.
12380         (die_type): Likewise.
12381         (die_containing_type): Likewise.
12382         (lookup_die_type): Likewise.
12383         (guess_full_die_structure_name): Likewise.
12384         (anonymous_struct_prefix): Likewise.
12385         (dwarf2_name): Likewise.
12386         (follow_die_ref_or_sig): Likewise.
12387         (follow_die_offset): Likewise.
12388         (follow_die_ref): Likewise.
12389         (dwarf2_fetch_die_loc_sect_off): Likewise.
12390         (dwarf2_fetch_constant_bytes): Likewise.
12391         (dwarf2_fetch_die_type_sect_off): Likewise.
12392         (dwarf2_get_die_type): Likewise.
12393         (follow_die_sig): Likewise.
12394         (decode_locdesc): Likewise.
12395         (dwarf2_per_cu_objfile): Likewise.
12396         (dwarf2_per_cu_text_offset): Likewise.
12397         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12398         objfile.
12399         (set_die_type): Access objfile through
12400         dwarf2_per_objfile.
12401
12402 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12403
12404         * valprint.c (converted_character_d): Remove typedef.
12405         (DEF_VEC_O (converted_character_d)): Remove.
12406         (count_next_character): Use std::vector.
12407         (print_converted_chars_to_obstack): Likewise.
12408         (generic_printstr): Likewise.
12409
12410 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12411
12412         * xml-support.h (struct gdb_xml_value): Add constructor.
12413         <value>: Change type to unique_xmalloc_ptr.
12414         (gdb_xml_value_s): Remove typedef.
12415         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12416         (gdb_xml_element_start_handler): Change parameter type to
12417         std::vector.
12418         (xml_find_attribute): Likewise.
12419         * xml-support.c (xml_find_attribute): Change parameter type to
12420         std::vector and adjust.
12421         (gdb_xml_values_cleanup): Remove.
12422         (gdb_xml_parser::start_element): Adjust to std::vector.
12423         (xinclude_start_include): Change paraeter type to std::vector
12424         and adjust.
12425         * btrace.c (check_xml_btrace_version): Likewise.
12426         (parse_xml_btrace_block): Likewise.
12427         (parse_xml_btrace_pt_config_cpu): Likewise.
12428         (parse_xml_btrace_pt): Likewise.
12429         (parse_xml_btrace_conf_bts): Likewise.
12430         (parse_xml_btrace_conf_pt): Likewise.
12431         * memory-map.c (memory_map_start_memory): Likewise.
12432         (memory_map_start_property): Likewise.
12433         * osdata.c (osdata_start_osdata): Likewise.
12434         (osdata_start_item): Likewise.
12435         (osdata_start_column): Likewise.
12436         * remote.c (start_thread): Likewise.
12437         * solib-aix.c (library_list_start_library): Likewise.
12438         (library_list_start_list): Likewise.
12439         * solib-svr4.c (library_list_start_library): Likewise.
12440         (svr4_library_list_start_list): Likewise.
12441         * solib-target.c (library_list_start_segment): Likewise.
12442         (library_list_start_section): Likewise.
12443         (library_list_start_library): Likewise.
12444         (library_list_start_list): Likewise.
12445         * tracepoint.c (traceframe_info_start_memory): Likewise.
12446         (traceframe_info_start_tvar): Likewise.
12447         * xml-syscall.c (syscall_start_syscall): Likewise.
12448         * xml-tdesc.c (tdesc_start_target): Likewise.
12449         (tdesc_start_feature): Likewise.
12450         (tdesc_start_reg): Likewise.
12451         (tdesc_start_union): Likewise.
12452         (tdesc_start_struct): Likewise.
12453         (tdesc_start_flags): Likewise.
12454         (tdesc_start_enum): Likewise.
12455         (tdesc_start_field): Likewise.
12456         (tdesc_start_enum_value): Likewise.
12457         (tdesc_start_vector): Likewise.
12458
12459 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12460
12461         * extension.h (struct xmethod_worker) <clone>: Remove.
12462         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12463         Remove.
12464         (python_xmethod_worker::clone): Remove.
12465         * valops.c (find_overload_match): Use std::move instead of
12466         clone.
12467
12468 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12469
12470         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12471         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12472         <free_xmethod_worker_data>: Remove.
12473         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12474         <get_xmethod_arg_types>: Remove.
12475         <get_xmethod_result_type>: Remove.
12476         <invoke_xmethod>: Remove.
12477         * extension.c (new_xmethod_worker): Remove.
12478         (clone_xmethod_worker): Remove.
12479         (get_matching_xmethod_workers): Return void, pass std::vector by
12480         pointer.
12481         (get_xmethod_arg_types): Rename to...
12482         (xmethod_worker::get_arg_types): ... this, and adjust.
12483         (get_xmethod_result_type): Rename to...
12484         (xmethod_worker::get_result_type): ... this, and adjust.
12485         (invoke_xmethod): Remove.
12486         (free_xmethod_worker): Remove.
12487         (free_xmethod_worker_vec): Remove.
12488         * extension.h (enum ext_lang_rc): Move here from
12489         extension-priv.h.
12490         (struct xmethod_worker): Add constructor and destructor.
12491         <data>: Remove.
12492         <value>: Remove.
12493         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12494         virtual pure methods.
12495         <get_arg_types, get_result_type>: New methods.
12496         (xmethod_worker_ptr): Remove typedef.
12497         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12498         (xmethod_worker_vec): Remove typedef.
12499         (xmethod_worker_up): New typedef.
12500         (invoke_xmethod): Remove.
12501         (clone_xmethod_worker): Remove.
12502         (free_xmethod_worker): Remove.
12503         (free_xmethod_worker_vec): Remove.
12504         (get_xmethod_arg_types): Remove.
12505         (get_xmethod_result_type): Remove.
12506         * valops.c (find_method_list): Use std::vector, don't use
12507         intermediate vector.
12508         (value_find_oload_method_list): Use std::vector.
12509         (find_overload_match): Use std::vector.
12510         (find_oload_champ): Use std::vector.
12511         * value.c (value_free): Use operator delete.
12512         (value_of_xmethod): Rename to...
12513         (value_from_xmethod): ... this.  Don't assign
12514         xmethod_worker::value, take rvalue-reference.
12515         (result_type_of_xmethod): Adjust.
12516         (call_xmethod): Adjust.
12517         * value.h: Include extension.h.
12518         (struct xmethod_worker): Don't forward-declare.
12519         (value_of_xmethod): Rename to...
12520         (value_from_xmethod): ... this, take rvalue-reference.
12521         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12522         (struct python_xmethod_worker): ... this, add constructor and
12523         destructor.
12524         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12525         (gdbpy_free_xmethod_worker_data): Rename to...
12526         (python_xmethod_worker::~python_xmethod_worker): ... this and
12527         adjust.
12528         (gdbpy_clone_xmethod_worker_data): Rename to...
12529         (python_xmethod_worker::clone): ... this and adjust.
12530         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12531         temporary vector.
12532         (gdbpy_get_xmethod_arg_types): Rename to...
12533         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12534         (gdbpy_get_xmethod_result_type): Rename to...
12535         (python_xmethod_worker::do_get_result_type): ... this and
12536         adjust.
12537         (gdbpy_invoke_xmethod): Rename to...
12538         (python_xmethod_worker::invoke): ... this and adjust.
12539         (new_python_xmethod_worker): Rename to...
12540         (python_xmethod_worker::python_xmethod_worker): ... this and
12541         adjust.
12542         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12543         Remove.
12544         (gdbpy_free_xmethod_worker_data): Remove.
12545         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12546         (gdbpy_get_xmethod_arg_types): Remove.
12547         (gdbpy_get_xmethod_result_type): Remove.
12548         (gdbpy_invoke_xmethod): Remove.
12549         * python/python.c (python_extension_ops): Remove obsolete
12550         callbacks.
12551
12552 2018-01-05  Pedro Alves  <palves@redhat.com>
12553
12554         PR gdb/18653
12555         * common/signals-state-save-restore.c
12556         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12557         find a custom handler preinstalled, instead of internal erroring.
12558         But only warn if !quiet.
12559         * common/signals-state-save-restore.h
12560         (save_original_signals_state): New parameter 'quiet'.
12561         * main.c (captured_main_1): Move save_original_signals_state call
12562         after option handling, and pass QUIET.
12563
12564 2018-01-05  Pedro Alves  <palves@redhat.com>
12565
12566         * spu-tdep.c (spu_catch_start): Pass
12567         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12568
12569 2018-01-05  Pedro Alves  <palves@redhat.com>
12570
12571         PR gdb/22670
12572         * ada-lang.c (literal_symbol_name_matcher): New function.
12573         (ada_get_symbol_name_matcher): Use it for
12574         symbol_name_match_type::SEARCH_NAME.
12575         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12576         it down instead of assuming symbol_name_match_type::FULL.
12577         * block.h (block_lookup_symbol): New parameter 'match_type'.
12578         * c-valprint.c (print_unpacked_pointer): Use
12579         lookup_symbol_search_name instead of lookup_symbol.
12580         * compile/compile-object-load.c (get_out_value_type): Pass down
12581         symbol_name_match_type::SEARCH_NAME.
12582         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12583         symbol_name_match_type::FULL.
12584         * cp-support.c (cp_get_symbol_name_matcher): Handle
12585         symbol_name_match_type::SEARCH_NAME.
12586         * infrun.c (insert_exception_resume_breakpoint): Use
12587         lookup_symbol_search_name.
12588         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12589         * psymtab.c (maintenance_check_psymtabs): Use
12590         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12591         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12592         SYMBOL_SEARCH_NAME.
12593         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12594         if symbol_name_match_type::SEARCH_NAME.
12595         (lookup_symbol_in_language): Pass down
12596         symbol_name_match_type::FULL.
12597         (lookup_symbol_search_name): New.
12598         (lookup_language_this): Pass down
12599         symbol_name_match_type::SEARCH_NAME.
12600         (lookup_symbol_aux, lookup_local_symbol): New parameter
12601         'match_type'.  Pass it down.
12602         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12603         (lookup_symbol_search_name): New declaration.
12604         (lookup_symbol_in_block): New 'match_type' parameter.
12605
12606 2018-01-05  Pedro Alves  <palves@redhat.com>
12607
12608         PR gdb/22670
12609         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12610         ada_lookup_symbol.
12611         (ada_lookup_symbol): Reimplement in terms of
12612         ada_lookup_symbol_list, bits factored out from
12613         ada_lookup_encoded_symbol.
12614
12615 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12616
12617         * ada-exp.y (write_object_renaming): When subscripting an array
12618         using a symbol as the index, pass the block in call to
12619         ada_lookup_encoded_symbol when looking that symbol up.
12620
12621 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12622
12623         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12624         TYPE_INDEX_TYPE.
12625
12626 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12627
12628         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12629         the case where VALUE_LVAL (val0) is not lval_memory.
12630
12631 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12632
12633         * ada-valprint.c (print_optional_low_bound): Handle
12634         character-indexed array printing like boolean-indexed array
12635         printing.
12636
12637 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12638
12639         * NEWS: Create a new section for the next release branch.
12640         Rename the section of the current branch, now that it has
12641         been cut.
12642
12643 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12644
12645         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12646         * version.in: Bump version to 8.1.50.DATE-git.
12647
12648 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12649
12650         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12651         Add field.
12652         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12653         Add field.
12654         (default_exception_support_info) <catch_handlers_sym>: Add field.
12655         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12656         (ada_exception_name_addr_1): Add "catch handlers" handling.
12657         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12658         Update all callers.
12659         (create_excep_cond_exprs) <ex>: Add parameter.
12660         (re_set_exception): Update create_excep_cond_exprs call.
12661         (print_it_exception, print_one_exception, print_mention_exception)
12662         (print_recreate_exception): Add "catch handler" handling.
12663         (allocate_location_catch_handlers, re_set_catch_handlers)
12664         (check_status_catch_handlers, print_it_catch_handlers)
12665         (print_one_catch_handlers, print_mention_catch_handlers)
12666         (print_recreate_catch_handlers): New function.
12667         (catch_handlers_breakpoint_ops): New variable.
12668         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12669         Add parameter.  Add "catch handler" handling.
12670         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12671         Add "catch handler" handling.
12672         (ada_exception_catchpoint_cond_string): Add "catch handler"
12673         handling.
12674         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12675         call.
12676         (catch_ada_handlers_command): New function.
12677         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12678         operations structure.
12679         (_initialize_ada_language): Add "catch handlers" command entry.
12680         * NEWS: Document "catch handlers" feature.
12681
12682 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12683
12684         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12685         account when creating the array type of the slice.
12686         (ada_value_slice): Likewise.
12687
12688 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12689
12690         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12691         New enum value.
12692         (create_array_type_with_stride): Add byte_stride_prop parameter.
12693         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12694         New parameter.  Update all callers in this file.
12695         (array_type_has_dynamic_stride): New function.
12696         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12697         of arrays with dynamic byte strides.
12698         * dwarf2read.c (read_array_type): Add support for dynamic
12699         DW_AT_byte_stride attributes.
12700
12701 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12702
12703         * dwarf2read.c (read_unspecified_type): Treat
12704         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12705
12706 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12707
12708         Update copyright year range in all GDB files.
12709
12710 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12711
12712         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12713         and gdb/testsuite/gdb.base/step-line.c.
12714
12715 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12716
12717         * copyright.py (main): Dump the contents of
12718         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12719         even if BY_HAND is empty.
12720
12721 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12722
12723         * top.c (print_gdb_version): Update Copyright year in version
12724         message.
12725
12726 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12727
12728         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12729
12730 For older changes see ChangeLog-2017.
12731 \f
12732 Local Variables:
12733 mode: change-log
12734 left-margin: 8
12735 fill-column: 74
12736 version-control: never
12737 coding: utf-8
12738 End: