(Ada) assigning packed array aggregate with variable as component
[external/binutils.git] / gdb / ChangeLog
1 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
2
3         * ada-lang.c (value_assign_to_component): In the case of
4         big-endian targets, extract the bits of the given VAL
5         using an src_offset of zero if container is not a scalar.
6
7 2018-09-06  Simon Ser  <contact@emersion.fr>
8
9         PR gdb/23105
10         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
11         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
12         * fbsd-tdep.c (fbsd_make_note_desc): New.
13         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
14         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
15         * target.h (enum target_object) Add FreeBSD-specific
16         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
17
18 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
19
20         * compile/compile-c.h (generate_c_for_variable_locations):
21         Change reference to pointer.
22         * compile/compile-c-support.c (compile_program) <compute>:
23         Likewise.
24         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
25         (generate_c_for_for_one_variable): Likewise
26         (generate_c_for_variable_locations): Likewise
27         * compile/compile-c-types.c (compile_c_instance::convert_type):
28         Likewise
29         * compile/compile-cplus-symbols.c (convert_one_symbol):
30         std::move the scope passed to enter_scope.
31         * compile/compile-cplus-types.c
32         (compile_cplus_instance::enter_scope): Make parameter
33         rvalue-reference.
34         (compile_cplus_instance::new_scope): Change reference to
35         pointer.
36         (compile_cplus_instance::convert_type): Likewise
37         (compile_cplus_convert_typedef): std::move the scope passed to
38         enter_scope.
39         (compile_cplus_convert_struct_or_union): Likewise.
40         (compile_cplus_convert_enum): Likewise.
41         (compile_cplus_convert_namespace): Likewise.
42         * compile/compile-cplus.h (compile_cplus_instance)
43         <enter_scope>: Make parameter rvalue-reference.
44         * compile/compile-internal.h (compile_instance)
45         <get_cached_type>: Likewise
46         * compile/compile-loc2c.c (push): Likewise
47         (pushf): Likewise
48         (unary): Likewise
49         (binary): Likewise
50         (print_label): Likewise
51         (pushf_register_address): Likewise
52         (pushf_register): Likewise
53         (do_compile_dwarf_expr_to_c): Likewise
54         (compile_dwarf_expr_to_c): Likewise
55         (compile_dwarf_bounds_to_c): Likewise
56         * compile/compile.c (compile_instance::get_cached_type):
57         Likewise
58         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
59         (compile_dwarf_bounds_to_c): Likewise
60         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
61         (dwarf2_compile_property_to_c): Likewise
62         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
63         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
64         Likewise
65
66 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
67
68         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
69         * tui/tui-data.c (init_content_element): Don't initialize it.
70
71 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
72
73         * tui/tui-data.h (struct tui_win_info)
74         <detail::opaque>: Remove.
75         * tui/tui-data.c (init_win_info): Remove assignment.
76
77 2018-09-05  Tom Tromey  <tom@tromey.com>
78
79         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
80         -Wformat-nonliteral.
81         * target-float.c (host_float_ops<T>::to_string)
82         (host_float_ops<T>::from_string): Use
83         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
84         * configure: Rebuild.
85
86 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
87
88         * printcmd.c (printf_c_string): Use
89         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
90         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
91
92 2018-09-05  Tom Tromey  <tom@tromey.com>
93
94         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
95
96 2018-09-05  Tom de Vries  <tdevries@suse.de>
97
98         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
99         with resolve_abstract_p == true.
100         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
101         defaulting to false. Propagate resolve_abstract_p to
102         dwarf2_fetch_die_loc_sect_off.
103         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
104         parameter, defaulting to false.
105         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
106         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
107         parameter.
108         * dwarf2read.h (struct die_info): Forward-declare.
109         (die_info_ptr): New typedef.
110         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
111
112 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
113
114         GDB 8.2 released.
115
116 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
117             Pedro Alves  <palves@redhat.com>
118
119         * gnulib/Makefile.in (aclocal_m4_deps): Move to
120         "aclocal-m4-deps.mk".  Include file here.
121         $(srcdir)/aclocal.m4: Add "configure.ac".
122         * gnulib/aclocal-m4-deps.mk: New file.
123         * gnulib/update-gnulib.sh: Automatically update
124         "aclocal-m4-deps.mk".
125
126 2018-09-04  Tom Tromey  <tom@tromey.com>
127
128         * configure: Rebuild.
129         * configure.ac: Remove multi-ice code.
130
131 2018-09-04  Tom Tromey  <tom@tromey.com>
132
133         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
134         (ada-exp.o): Update.
135
136 2018-09-04  Tom Tromey  <tom@tromey.com>
137
138         * Makefile.in (printcmd.o, target-float.o): Remove.
139         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
140
141 2018-09-04  Tom Tromey  <tom@tromey.com>
142
143         * gnulib/Makefile.in: Remove obsolete comment.
144         * Makefile.in: Remove obsolete comment.
145
146 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
147
148         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
149         line with '+'.
150
151 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
152
153         * riscv-tdep.c: Add 'prologue-value.h' include.
154         (struct riscv_unwind_cache): New struct.
155         (riscv_debug_unwinder): New global.
156         (riscv_scan_prologue): Update arguments, capture register details
157         from prologue scan.
158         (riscv_skip_prologue): Reformat arguments line, move end of
159         prologue calculation into riscv_scan_prologue.
160         (riscv_frame_cache): Update return type, create
161         riscv_unwind_cache, scan the prologue, and fill in remaining cache
162         details.
163         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
164         (riscv_frame_prev_register): Use the trad_frame within the
165         riscv_unwind_cache.
166         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
167         flag.
168
169 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
170
171         * trad-frame.h (trad_frame_set_realreg): Declare.
172         (trad_frame_set_addr): Declare.
173         * trad-frame.c (trad_frame_set_realreg): Define new function.
174         (trad_frame_set_addr): Define new function.
175         (trad_frame_set_reg_realreg): Use new function.
176         (trad_frame_set_reg_addr): Use new function.
177
178 2018-09-01  Keith Seitz  <keiths@redhat.com>
179
180         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
181         pulongest instead of "%lld".
182         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
183         ATTRIBUTE_UNUSED.
184
185 2018-08-31  Tom Tromey  <tom@tromey.com>
186
187         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
188         variant part type.
189
190 2018-08-31  Pedro Alves  <palves@redhat.com>
191
192         * gdbarch.h: Regenerate.
193
194 2018-08-31  Pedro Alves  <palves@redhat.com>
195
196         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
197         * target.h (Hardware watchpoint interfaces): Describe
198         continuable/steppable/non-steppable watchpoints.
199         * gdbarch.h, gdbarch.c: Regenerate.
200
201 2018-08-31  Pedro Alves  <palves@redhat.com>
202
203         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
204         Delete.
205         * s390-linux-nat.c
206         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
207         * target.h (target_ops::have_continuable_watchpoint): Delete.
208         (target_have_continuable_watchpoint): Delete.
209         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
210         * target-delegates.c: Regenerate.
211
212 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
213
214         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
215         the files present in "gnulib/import/m4/".
216
217 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
218
219         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
220         c.sw, c.swsp, and c.sdsp.
221
222 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
223
224         * riscv-tdep.c (struct riscv_inferior_data): Delete.
225         (riscv_read_misa_reg): Don't cache value read into inferior data.
226         (riscv_new_inferior_data): Delete.
227         (riscv_inferior_data_cleanup): Delete.
228         (riscv_inferior_data): Delete.
229         (riscv_invalidate_inferior_data): Delete.
230         (_initialize_riscv_tdep): Remove initialisation of inferior data.
231
232 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
233
234         * compile/compile-cplus-types.c
235         (compile_cplus_instance::leave_scope): Take the address of scope
236         object.
237         (compile_cplus_instance::convert_qualified_base): Compare quals
238         to 0.
239
240 2018-08-30  Keith Seitz  <keiths@redhat.com>
241
242         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
243         Use "%s" and host_address_to_string instead of "%p" in printf.
244
245 2018-08-29  Keith Seitz  <keiths@redhat.com>
246
247         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
248         and compile-cplus-types.c.
249         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
250         * c-lang.c (cplus_language_defn): Set C++ compile functions.
251         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
252         Declare.
253         * compile/compile-c-support.c: Include compile-cplus.h.
254         (load_libcompile): Templatize.
255         (get_compile_context): "New" function.
256         (c_get_compile_context): Use get_compile_context.
257         (cplus_get_compile_context): New function.
258         (cplus_push_user_expression, cplus_pop_user_expression)
259         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
260         (cplus_compute_program): Define new structs/functions.
261         * compile/compile-cplus-symmbols.c: New file.
262         * compile/compile-cplus-types.c: New file.
263         * compile/compile-cplus.h: New file.
264         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
265         Declare.
266         * compile/compile-object-load.c (get_out_value_type): Use
267         strncmp_iw when comparing symbol names.
268         (compile_object_load): Add mst_bss and mst_data.
269         * compile/compile.c (_initialize_compile): Remove
270         -Wno-implicit-function-declaration from `compile_args'.
271         * compile/gcc-cp-plugin.h: New file.
272         * NEWS: Mention C++ compile support and new debug options.
273
274 2018-08-29  Keith Seitz  <keiths@redhat.com>
275
276         * linespec.c (collect_info::add_symbol): Make virtual.
277         (struct symbol_searcher_collect_info): New struct.
278         (symbol_searcher::find_all_symbols): New method.
279         * symtab.h (class symbol_searcher): New class.
280
281 2018-08-29  Keith Seitz  <keiths@redhat.com>
282
283         * linespec.c (struct linespec) <function_symbols, label_symbols>:
284         Change to vector of block_symbol.  Update all users.
285         (struct collect_info) <symbols>: Likewise.
286         (collect_info::add_symbol): Take block_symbol as argument.
287         Update all callers.
288         (decode_compound_collector) <m_symbols>: Change type to vector
289         of block_symbol.  Update all users.
290         (decode_compound_collector::operator ()): Change parameter type
291         to block_symbol.
292         (find_method, find_function_symbols, find_linespec_symbols)
293         (find_label_symbols_in_block, find_label_symbols): Change symbol
294         vectors to block_symbol vectors.
295         * symtab.h (symbol_found_callback_ftype): Change parameter type to
296         block_symbol.
297
298 2018-08-29  Keith Seitz  <keiths@redhat.com>
299
300         * linespec.c (symbolp): Remove typedef and VEC definitions.
301         (bound_minimal_symbol_d): Likewise.
302
303 2018-08-29  Keith Seitz  <keiths@redhat.com>
304
305         * linespec.c (decode_compound_collector::decode_compound_collector):
306         Remove initialization for `m_symtabs'.
307         (decode_compound_collector::release_symbols): Change return type
308         to std::vector.  Update all callers.
309         (class decode_compound_collector) <m_symbols>: Change type to
310         std::vector.
311         (lookup_prefix_sym): Change return type to std::vector.  Update all
312         callers.
313         (compare_symbols): Remove.
314         (std_compare_symbols): Rename to `compare_symbols'.
315         (find_method): Change `sym_classes' parameter to std::vector.
316         Update all callers.  Use std::sort to sort sym_classes.
317         (find_linespec_symbols): Remove cleanup.
318
319 2018-08-29  Keith Seitz  <keiths@redhat.com>
320
321         * linespec.c (struct linespec) <minimal_symbols>: Change type to
322         std::vector.  Update all users.
323         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
324         (struct collect_info) <minimal_symbols>: Likewise.
325         (compare_msymbols): Return bool.  Change parameters to const
326         bound_minimal_symbol references.
327         (find_method, find_function_symbols, find_linespec_symbols): Change
328         `minsyms' parameter to std::vector.  Update all callers.
329
330 2018-08-29  Keith Seitz  <keiths@redhat.com>
331
332         * linespec.c (struct linespec) <label_symbols>: Change type to
333         std::vector.  Update all users.
334         (find_label_symbols_in_block): Change `result' parameter to
335         std::vector.  Update all callers.
336         (find_label_symbols): Return std::vector.  Update all callers.
337
338 2018-08-29  Keith Seitz  <keiths@redhat.com>
339
340         * linespec.c (struct linespec) <function_symbols>: Change type to
341         std::vector.  Update all users.
342         (struct collect_info) <function_symbols>: Likewise.
343         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
344         (std_compare_symbols): New function.
345         (find_method, find_function_symbols, find_linespec_symbols)
346         (find_label_symbols_in_block): Change `symbols' parameter to
347         std::vector.  Update all callers.
348         (find_label_symbols): Likewise for `function_symbols' and
349         `label_funcs_ret'.
350
351 2018-08-29  Keith Seitz  <keiths@redhat.com>
352
353         * linespec.c (symtab_vector_up): Define.
354         (struct linespec) <file_symtabs>: Change type to std::vector *.
355         Update all uses.
356         (struct collect_info) <file_symtabs>: Likewise.
357         (collect_symtabs_from_filename): Return symtab_vector_up.
358         Update all callers.
359         (decode_objc): Remove cleanup.
360         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
361         (symtab_collector::release_symtabs): Return symtab_vector_up.
362         Update all callers.
363         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
364         Update all users.
365         (collect_symtabs_from_filename, symtabs_from_filename): Return
366         symtab_vector_up.  Update all callers.
367
368 2018-08-29  Tom Tromey  <tom@tromey.com>
369
370         * csky-tdep.c (csky_analyze_prologue): Use
371         core_addr_to_string_nz.
372
373 2018-08-29  Tom Tromey  <tom@tromey.com>
374
375         * windows-nat.c (struct xlate_exception) <them>: Change type to
376         DWORD.
377         (xlate): Fix formatting.  Remove last entry.
378         (struct xlate_exception, xlate): Comment out.
379         (windows_nat_target::resume): Use ranged for.
380
381 2018-08-29  Jim Wilson  <jimw@sifive.com>
382
383         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
384         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
385         of NT_PRFPREG.
386         (riscv_linux_nat_target::store_registers): Likewise.
387
388 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
389
390         PR gdb/23555
391         PR gdb/23558
392         * gnulib/aclocal.m4: Regenerate.
393         * gnulib/config.in: Regenerate.
394         * gnulib/configure: Regenerate.
395         * gnulib/import/Makefile.am: Update.
396         * gnulib/import/Makefile.in: Update.
397         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
398         * gnulib/import/_Noreturn.h: ... this.
399         * gnulib/import/alloca.in.h: Update.
400         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
401         * gnulib/import/arg-nonnull.h: ... this.
402         * gnulib/import/assure.h: Update.
403         * gnulib/import/at-func.c: Update.
404         * gnulib/import/basename-lgpl.c: Update.
405         * gnulib/import/extra/snippet/c++defs.h: Rename to...
406         * gnulib/import/c++defs.h: ... this.
407         * gnulib/import/canonicalize-lgpl.c: Update.
408         * gnulib/import/cdefs.h: Update.
409         * gnulib/import/chdir-long.c: Update.
410         * gnulib/import/chdir-long.h: Update.
411         * gnulib/import/cloexec.c: Update.
412         * gnulib/import/cloexec.h: Update.
413         * gnulib/import/close.c: Update.
414         * gnulib/import/closedir.c: Update.
415         * gnulib/import/config.charset: Update.
416         * gnulib/import/dirent-private.h: Update.
417         * gnulib/import/dirent.in.h: Update.
418         * gnulib/import/dirfd.c: Update.
419         * gnulib/import/dirname-lgpl.c: Update.
420         * gnulib/import/dirname.h: Update.
421         * gnulib/import/dosname.h: Update.
422         * gnulib/import/dup-safer-flag.c: Update.
423         * gnulib/import/dup-safer.c: Update.
424         * gnulib/import/dup.c: Update.
425         * gnulib/import/dup2.c: Update.
426         * gnulib/import/errno.in.h: Update.
427         * gnulib/import/error.c: Update.
428         * gnulib/import/error.h: Update.
429         * gnulib/import/exitfail.c: Update.
430         * gnulib/import/exitfail.h: Update.
431         * gnulib/import/extra/update-copyright: Update.
432         * gnulib/import/fchdir.c: Update.
433         * gnulib/import/fcntl.c: Update.
434         * gnulib/import/fcntl.in.h: Update.
435         * gnulib/import/fd-hook.c: Update.
436         * gnulib/import/fd-hook.h: Update.
437         * gnulib/import/fd-safer-flag.c: Update.
438         * gnulib/import/fd-safer.c: Update.
439         * gnulib/import/fdopendir.c: Update.
440         * gnulib/import/filename.h: Update.
441         * gnulib/import/filenamecat-lgpl.c: Update.
442         * gnulib/import/filenamecat.h: Update.
443         * gnulib/import/flexmember.h: Update.
444         * gnulib/import/float+.h: Update.
445         * gnulib/import/float.c: Update.
446         * gnulib/import/float.in.h: Update.
447         * gnulib/import/fnmatch.c: Update.
448         * gnulib/import/fnmatch.in.h: Update.
449         * gnulib/import/fnmatch_loop.c: Update.
450         * gnulib/import/fpucw.h: Update.
451         * gnulib/import/frexp.c: Update.
452         * gnulib/import/frexpl.c: Update.
453         * gnulib/import/fstat.c: Update.
454         * gnulib/import/fstatat.c: Update.
455         * gnulib/import/getcwd-lgpl.c: Update.
456         * gnulib/import/getcwd.c: Update.
457         * gnulib/import/getdtablesize.c: Update.
458         * gnulib/import/getlogin_r.c: Update.
459         * gnulib/import/getprogname.c: Update.
460         * gnulib/import/getprogname.h: Update.
461         * gnulib/import/gettext.h: Update.
462         * gnulib/import/gettimeofday.c: Update.
463         * gnulib/import/glob-libc.h: Update.
464         * gnulib/import/glob.c: Update.
465         * gnulib/import/glob.in.h: Update.
466         * gnulib/import/glob_internal.h: Update.
467         * gnulib/import/glob_pattern_p.c: Update.
468         * gnulib/import/globfree.c: Update.
469         * gnulib/import/hard-locale.c: Update.
470         * gnulib/import/hard-locale.h: Update.
471         * gnulib/import/intprops.h: Update.
472         * gnulib/import/inttypes.in.h: Update.
473         * gnulib/import/isnan.c: Update.
474         * gnulib/import/isnand-nolibm.h: Update.
475         * gnulib/import/isnand.c: Update.
476         * gnulib/import/isnanl-nolibm.h: Update.
477         * gnulib/import/isnanl.c: Update.
478         * gnulib/import/itold.c: Update.
479         * gnulib/import/libc-config.h: Update.
480         * gnulib/import/limits.in.h: Update.
481         * gnulib/import/localcharset.c: Update.
482         * gnulib/import/localcharset.h: Update.
483         * gnulib/import/localtime-buffer.c: Update.
484         * gnulib/import/localtime-buffer.h: Update.
485         * gnulib/import/lstat.c: Update.
486         * gnulib/import/m4/00gnulib.m4: Update.
487         * gnulib/import/m4/__inline.m4: Update.
488         * gnulib/import/m4/absolute-header.m4: Update.
489         * gnulib/import/m4/alloca.m4: Update.
490         * gnulib/import/m4/builtin-expect.m4: Update.
491         * gnulib/import/m4/canonicalize.m4: Update.
492         * gnulib/import/m4/chdir-long.m4: Update.
493         * gnulib/import/m4/close.m4: Update.
494         * gnulib/import/m4/closedir.m4: Update.
495         * gnulib/import/m4/configmake.m4: Update.
496         * gnulib/import/m4/d-ino.m4: Update.
497         * gnulib/import/m4/d-type.m4: Update.
498         * gnulib/import/m4/dirent_h.m4: Update.
499         * gnulib/import/m4/dirfd.m4: Update.
500         * gnulib/import/m4/dirname.m4: Update.
501         * gnulib/import/m4/double-slash-root.m4: Update.
502         * gnulib/import/m4/dup.m4: Update.
503         * gnulib/import/m4/dup2.m4: Update.
504         * gnulib/import/m4/eealloc.m4: Update.
505         * gnulib/import/m4/environ.m4: Update.
506         * gnulib/import/m4/errno_h.m4: Update.
507         * gnulib/import/m4/error.m4: Update.
508         * gnulib/import/m4/exponentd.m4: Update.
509         * gnulib/import/m4/exponentl.m4: Update.
510         * gnulib/import/m4/extensions.m4: Update.
511         * gnulib/import/m4/extern-inline.m4: Update.
512         * gnulib/import/m4/fchdir.m4: Update.
513         * gnulib/import/m4/fcntl-o.m4: Update.
514         * gnulib/import/m4/fcntl.m4: Update.
515         * gnulib/import/m4/fcntl_h.m4: Update.
516         * gnulib/import/m4/fdopendir.m4: Update.
517         * gnulib/import/m4/filenamecat.m4: Update.
518         * gnulib/import/m4/flexmember.m4: Update.
519         * gnulib/import/m4/float_h.m4: Update.
520         * gnulib/import/m4/fnmatch.m4: Update.
521         * gnulib/import/m4/fnmatch_h.m4: Update.
522         * gnulib/import/m4/fpieee.m4: Update.
523         * gnulib/import/m4/frexp.m4: Update.
524         * gnulib/import/m4/frexpl.m4: Update.
525         * gnulib/import/m4/fstat.m4: Update.
526         * gnulib/import/m4/fstatat.m4: Update.
527         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
528         * gnulib/import/m4/getcwd-path-max.m4: Update.
529         * gnulib/import/m4/getcwd.m4: Update.
530         * gnulib/import/m4/getdtablesize.m4: Update.
531         * gnulib/import/m4/getlogin.m4: Update.
532         * gnulib/import/m4/getlogin_r.m4: Update.
533         * gnulib/import/m4/getpagesize.m4: Update.
534         * gnulib/import/m4/getprogname.m4: Update.
535         * gnulib/import/m4/gettimeofday.m4: Update.
536         * gnulib/import/m4/glibc21.m4: Update.
537         * gnulib/import/m4/glob.m4: Update.
538         * gnulib/import/m4/glob_h.m4: Update.
539         * gnulib/import/m4/gnulib-cache.m4: Update.
540         * gnulib/import/m4/gnulib-common.m4: Update.
541         * gnulib/import/m4/gnulib-comp.m4: Update.
542         * gnulib/import/m4/gnulib-tool.m4: Update.
543         * gnulib/import/m4/hard-locale.m4: Update.
544         * gnulib/import/m4/include_next.m4: Update.
545         * gnulib/import/m4/inttypes-pri.m4: Update.
546         * gnulib/import/m4/inttypes.m4: Update.
547         * gnulib/import/m4/isnand.m4: Update.
548         * gnulib/import/m4/isnanl.m4: Update.
549         * gnulib/import/m4/largefile.m4: Update.
550         * gnulib/import/m4/limits-h.m4: Update.
551         * gnulib/import/m4/localcharset.m4: Update.
552         * gnulib/import/m4/locale-fr.m4: Update.
553         * gnulib/import/m4/locale-ja.m4: Update.
554         * gnulib/import/m4/locale-zh.m4: Update.
555         * gnulib/import/m4/localtime-buffer.m4: Update.
556         * gnulib/import/m4/longlong.m4: Update.
557         * gnulib/import/m4/lstat.m4: Update.
558         * gnulib/import/m4/malloc.m4: Update.
559         * gnulib/import/m4/malloca.m4: Update.
560         * gnulib/import/m4/math_h.m4: Update.
561         * gnulib/import/m4/mbrtowc.m4: Update.
562         * gnulib/import/m4/mbsinit.m4: Update.
563         * gnulib/import/m4/mbsrtowcs.m4: Update.
564         * gnulib/import/m4/mbstate_t.m4: Update.
565         * gnulib/import/m4/memchr.m4: Update.
566         * gnulib/import/m4/memmem.m4: Update.
567         * gnulib/import/m4/mempcpy.m4: Update.
568         * gnulib/import/m4/memrchr.m4: Update.
569         * gnulib/import/m4/mkdir.m4: Update.
570         * gnulib/import/m4/mkstemp.m4: Update.
571         * gnulib/import/m4/mmap-anon.m4: Update.
572         * gnulib/import/m4/mode_t.m4: Update.
573         * gnulib/import/m4/msvc-inval.m4: Update.
574         * gnulib/import/m4/msvc-nothrow.m4: Update.
575         * gnulib/import/m4/multiarch.m4: Update.
576         * gnulib/import/m4/nocrash.m4: Update.
577         * gnulib/import/m4/off_t.m4: Update.
578         * gnulib/import/m4/onceonly.m4: Update.
579         * gnulib/import/m4/open-cloexec.m4: Update.
580         * gnulib/import/m4/open.m4: Update.
581         * gnulib/import/m4/openat.m4: Update.
582         * gnulib/import/m4/opendir.m4: Update.
583         * gnulib/import/m4/pathmax.m4: Update.
584         * gnulib/import/m4/rawmemchr.m4: Update.
585         * gnulib/import/m4/readdir.m4: Update.
586         * gnulib/import/m4/readlink.m4: Update.
587         * gnulib/import/m4/realloc.m4: Update.
588         * gnulib/import/m4/rename.m4: Update.
589         * gnulib/import/m4/rewinddir.m4: Update.
590         * gnulib/import/m4/rmdir.m4: Update.
591         * gnulib/import/m4/save-cwd.m4: Update.
592         * gnulib/import/m4/secure_getenv.m4: Update.
593         * gnulib/import/m4/setenv.m4: Update.
594         * gnulib/import/m4/signal_h.m4: Update.
595         * gnulib/import/m4/ssize_t.m4: Update.
596         * gnulib/import/m4/stat-time.m4: Update.
597         * gnulib/import/m4/stat.m4: Update.
598         * gnulib/import/m4/std-gnu11.m4: Update.
599         * gnulib/import/m4/stdbool.m4: Update.
600         * gnulib/import/m4/stddef_h.m4: Update.
601         * gnulib/import/m4/stdint.m4: Update.
602         * gnulib/import/m4/stdio_h.m4: Update.
603         * gnulib/import/m4/stdlib_h.m4: Update.
604         * gnulib/import/m4/strchrnul.m4: Update.
605         * gnulib/import/m4/strdup.m4: Update.
606         * gnulib/import/m4/strerror.m4: Update.
607         * gnulib/import/m4/string_h.m4: Update.
608         * gnulib/import/m4/strstr.m4: Update.
609         * gnulib/import/m4/strtok_r.m4: Update.
610         * gnulib/import/m4/sys_socket_h.m4: Update.
611         * gnulib/import/m4/sys_stat_h.m4: Update.
612         * gnulib/import/m4/sys_time_h.m4: Update.
613         * gnulib/import/m4/sys_types_h.m4: Update.
614         * gnulib/import/m4/tempname.m4: Update.
615         * gnulib/import/m4/time_h.m4: Update.
616         * gnulib/import/m4/unistd-safer.m4: Update.
617         * gnulib/import/m4/unistd_h.m4: Update.
618         * gnulib/import/m4/warn-on-use.m4: Update.
619         * gnulib/import/m4/wchar_h.m4: Update.
620         * gnulib/import/m4/wchar_t.m4: Update.
621         * gnulib/import/m4/wctype_h.m4: Update.
622         * gnulib/import/m4/wint_t.m4: Update.
623         * gnulib/import/malloc.c: Update.
624         * gnulib/import/malloc/scratch_buffer.h: Update.
625         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
626         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
627         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
628         * gnulib/import/malloca.c: Update.
629         * gnulib/import/malloca.h: Update.
630         * gnulib/import/malloca.valgrind: Update.
631         * gnulib/import/math.in.h: Update.
632         * gnulib/import/mbrtowc.c: Update.
633         * gnulib/import/mbsinit.c: Update.
634         * gnulib/import/mbsrtowcs-impl.h: Update.
635         * gnulib/import/mbsrtowcs-state.c: Update.
636         * gnulib/import/mbsrtowcs.c: Update.
637         * gnulib/import/memchr.c: Update.
638         * gnulib/import/memmem.c: Update.
639         * gnulib/import/mempcpy.c: Update.
640         * gnulib/import/memrchr.c: Update.
641         * gnulib/import/mkdir.c: Update.
642         * gnulib/import/mkstemp.c: Update.
643         * gnulib/import/msvc-inval.c: Update.
644         * gnulib/import/msvc-inval.h: Update.
645         * gnulib/import/msvc-nothrow.c: Update.
646         * gnulib/import/msvc-nothrow.h: Update.
647         * gnulib/import/open.c: Update.
648         * gnulib/import/openat-die.c: Update.
649         * gnulib/import/openat-priv.h: Update.
650         * gnulib/import/openat-proc.c: Update.
651         * gnulib/import/openat.c: Update.
652         * gnulib/import/openat.h: Update.
653         * gnulib/import/opendir.c: Update.
654         * gnulib/import/pathmax.h: Update.
655         * gnulib/import/pipe-safer.c: Update.
656         * gnulib/import/rawmemchr.c: Update.
657         * gnulib/import/readdir.c: Update.
658         * gnulib/import/readlink.c: Update.
659         * gnulib/import/realloc.c: Update.
660         * gnulib/import/ref-add.sin: Update.
661         * gnulib/import/ref-del.sin: Update.
662         * gnulib/import/rename.c: Update.
663         * gnulib/import/rewinddir.c: Update.
664         * gnulib/import/rmdir.c: Update.
665         * gnulib/import/same-inode.h: Update.
666         * gnulib/import/save-cwd.c: Update.
667         * gnulib/import/save-cwd.h: Update.
668         * gnulib/import/scratch_buffer.h: Update.
669         * gnulib/import/secure_getenv.c: Update.
670         * gnulib/import/setenv.c: Update.
671         * gnulib/import/signal.in.h: Update.
672         * gnulib/import/stat-time.c: Update.
673         * gnulib/import/stat-time.h: Update.
674         * gnulib/import/stat-w32.c: Update.
675         * gnulib/import/stat-w32.h: Update.
676         * gnulib/import/stat.c: Update.
677         * gnulib/import/stdbool.in.h: Update.
678         * gnulib/import/stddef.in.h: Update.
679         * gnulib/import/stdint.in.h: Update.
680         * gnulib/import/stdio.in.h: Update.
681         * gnulib/import/stdlib.in.h: Update.
682         * gnulib/import/str-two-way.h: Update.
683         * gnulib/import/strchrnul.c: Update.
684         * gnulib/import/strdup.c: Update.
685         * gnulib/import/streq.h: Update.
686         * gnulib/import/strerror-override.c: Update.
687         * gnulib/import/strerror-override.h: Update.
688         * gnulib/import/strerror.c: Update.
689         * gnulib/import/string.in.h: Update.
690         * gnulib/import/stripslash.c: Update.
691         * gnulib/import/strnlen1.c: Update.
692         * gnulib/import/strnlen1.h: Update.
693         * gnulib/import/strstr.c: Update.
694         * gnulib/import/strtok_r.c: Update.
695         * gnulib/import/sys_stat.in.h: Update.
696         * gnulib/import/sys_time.in.h: Update.
697         * gnulib/import/sys_types.in.h: Update.
698         * gnulib/import/tempname.c: Update.
699         * gnulib/import/tempname.h: Update.
700         * gnulib/import/time.in.h: Update.
701         * gnulib/import/unistd--.h: Update.
702         * gnulib/import/unistd-safer.h: Update.
703         * gnulib/import/unistd.in.h: Update.
704         * gnulib/import/unsetenv.c: Update.
705         * gnulib/import/verify.h: Update.
706         * gnulib/import/extra/snippet/warn-on-use.h: Update.
707         * gnulib/import/wchar.in.h: Update.
708         * gnulib/import/wctype.in.h: Update.
709         * gnulib/import/xalloc-oversized.h: Update.
710         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
711         "53e2c179f26a890fa6685af4b6c1397ee370433b".
712
713 2018-08-16  Gary Benson <gbenson@redhat.com>
714
715         PR gdb/13000:
716         * gdb/main.c (captured_main_1): Exit with nonzero status
717         in batch mode if the last command to be executed failed.
718         * NEWS: Mention the above.
719
720 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
721
722         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
723         end of warning message.
724
725 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
726
727         PR gdb/22943:
728         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
729         (aarch64_extract_return_value): Use
730         aapcs_is_vfp_call_or_return_candidate.
731         (aarch64_return_in_memory): Likewise.
732         (aarch64_store_return_value): Likewise.
733
734 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
735
736         * aarch64-tdep.c
737         (aapcs_is_vfp_call_or_return_candidate): Make static
738         (pass_in_v_or_stack): Remove function.
739         (pass_in_v_vfp_candidate): New function.
740         (aarch64_push_dummy_call): Check for float register candidates.
741
742 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
743
744         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
745         (aapcs_is_vfp_call_or_return_candidate_1): New function.
746         (aapcs_is_vfp_call_or_return_candidate): Likewise.
747
748 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
749
750         PR build/23399
751         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
752         (struct ipa_sym_addresses): Rename to...
753         (struct ipa_sym_addresses_common): ... this.
754         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
755
756 2018-08-28  Tom Tromey  <tom@tromey.com>
757
758         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
759         (token_fifo): Now a std::vector.
760         (yylex, c_parse): Update.
761         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
762         (token_fifo): Now a std::vector.
763         (yylex, d_parse): Update.
764         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
765         (token_fifo): Now a std::vector.
766         (yylex, go_parse): Update.
767
768 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
769
770         * parser-defs.h (struct type_stack) <elements>: Change type to
771         std::vector<union type_stack_elt>.
772         <depth, size>: Remove.
773         * parse.c (parse_exp_in_context_1): Adjust.
774         (type_stack_reserve): Remove.
775         (check_type_stack_depth): Remove.
776         (insert_into_type_stack): Adjust to std::vector.
777         (insert_type): Likewise.
778         (push_type): Likewise.
779         (push_type_int): Likewise.
780         (insert_type_address_space): Likewise.
781         (pop_type): Likewise.
782         (pop_type_int): Likewise.
783         (pop_typelist): Likewise.
784         (pop_type_stack): Likewise.
785         (append_type_stack): Likewise.
786         (push_type_stack): Likewise.
787         (get_type_stack): Likewise.
788         (type_stack_cleanup): Likewise.
789         (push_typelist): Likewise.
790         (follow_types): Likewise.
791         (_initialize_parse): Likewise.
792
793 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
794
795         * NEWS: Mention csky target.
796
797 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
798             Hafiz Abid Qadeer  <abidh@codesourcery.com>
799             Don Breazeal  <donb@codesourcery.com>
800
801         * csky-linux-tdep.c: New file.
802         * csky-tdep.c: Likewise.
803         * csky-tdep.h: Likewise.
804         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
805         csky-tdep.o.
806         (HFILES_NO_SRCDIR): Add csky-tdep.h.
807         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
808         * configure.tgt: Add csky support.
809
810 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
811
812         * python/py-framefilter.c (py_print_frame): Print frame architecture
813         when printing on an MI output.
814
815 2018-08-27  Tom Tromey  <tom@tromey.com>
816
817         PR build/23087:
818         * configure: Rebuild.
819         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
820
821 2018-08-27  Tom Tromey  <tom@tromey.com>
822
823         * aarch64-linux-tdep.c
824         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
825         casts to int.
826
827 2018-08-27  Tom Tromey  <tom@tromey.com>
828
829         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
830         unsigned.
831         (ppc64_standard_linkage1, ppc64_standard_linkage2)
832         (ppc64_standard_linkage3, ppc64_standard_linkage4)
833         (ppc64_standard_linkage5, ppc64_standard_linkage6)
834         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
835         unsigned.
836
837 2018-08-27  Tom Tromey  <tom@tromey.com>
838
839         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
840         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
841
842 2018-08-27  Tom Tromey  <tom@tromey.com>
843
844         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
845         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
846         ULONGEST_MAX.
847         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
848         ULONGEST_MAX.
849         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
850         ULONGEST_MAX.
851         * sparc-linux-tdep.c (sparc32_linux_sigframe)
852         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
853         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
854         ULONGEST_MAX.
855         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
856         (ppc64_linux_sigaction_tramp_frame)
857         (ppc32_linux_sighandler_tramp_frame)
858         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
859         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
860         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
861         * mn10300-linux-tdep.c (am33_linux_sigframe)
862         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
863         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
864         * mips-linux-tdep.c (mips_linux_o32_sigframe)
865         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
866         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
867         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
868         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
869         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
870         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
871         * microblaze-linux-tdep.c
872         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
873         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
874         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
875         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
876         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
877         * common/common-types.h (ULONGEST_MAX): New define.
878         (CORE_ADDR_MAX): Fix formatting.
879         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
880         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
881         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
882         (arm_linux_rt_sigreturn_tramp_frame)
883         (arm_eabi_linux_sigreturn_tramp_frame)
884         (arm_eabi_linux_rt_sigreturn_tramp_frame)
885         (thumb2_eabi_linux_sigreturn_tramp_frame)
886         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
887         (arm_linux_restart_syscall_tramp_frame)
888         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
889         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
890         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
891         ULONGEST_MAX.
892         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
893
894 2018-08-27  Tom Tromey  <tom@tromey.com>
895
896         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
897         CORE_ADDR_MAX.
898         * mips-tdep.c (mips_deal_with_atomic_sequence)
899         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
900         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
901         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
902         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
903         CORE_ADDR_MAX.
904         * aarch64-tdep.c (aarch64_software_single_step): Use
905         CORE_ADDR_MAX.
906
907 2018-08-27  Tom Tromey  <tom@tromey.com>
908
909         * linespec.c (complete_linespec_component): Add cast to "char".
910         * completer.c (completion_tracker::build_completion_result): Add
911         cast to "char".
912
913 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
914
915         * solist.h (struct solist, struct target_so_ops): Fix
916         indentation.
917
918 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
919
920         * ada-tasks.c (ada_task_info_s): Remove typedef.
921         (DEF_VEC_O(ada_task_info_s)): Remove.
922         (struct ada_tasks_inferior_data): Initialize fields.
923         <task_list>: Make an std::vector.
924         (get_ada_tasks_inferior_data): Allocate with new.
925         (ada_get_task_number): Adjust.
926         (get_task_number_from_id): Likewise.
927         (valid_task_id): Likewise.
928         (ada_get_task_info_from_ptid): Likewise.
929         (iterate_over_live_ada_tasks): Likewise.
930         (add_ada_task): Likewise.
931         (read_known_tasks): Likewise.
932         (ada_build_task_list): Likewise.
933         (print_ada_task_info): Likewise.
934         (info_task): Likewise.
935         (task_command_1): Likewise.
936
937 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
938
939         * ada-lang.c (add_angle_brackets): Return std::string.
940
941 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
942
943         * python/py-threadevent.c (py_get_event_thread): Initialize
944         pythread.
945
946 2018-08-24  Pedro Alves  <palves@redhat.com>
947
948         * python/py-bpevent.c (create_breakpoint_event_object): Use
949         copy-initialization.
950         * python/py-continueevent.c (emit_continue_event): Use
951         copy-initialization.
952         * python/py-exitedevent.c (create_exited_event_object): Return a
953         gdbpy_ref<>.
954         (emit_exited_event): Use copy-initialization.
955         * python/py-inferior.c (python_new_inferior)
956         (python_inferior_deleted, add_thread_object): Use
957         copy-initialization.
958         * python/py-infevents.c (create_inferior_call_event_object)
959         (create_register_changed_event_object)
960         (create_memory_changed_event_object): Return a gdbpy_ref<>.
961         (emit_inferior_call_event, emit_memory_changed_event)
962         (emit_register_changed_event): Use copy-initialization.
963         * python/py-newobjfileevent.c (create_new_objfile_event_object):
964         Return a gdbpy_ref<>.
965         (emit_new_objfile_event): Use copy-initialization.
966         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
967         (emit_clear_objfiles_event): Use copy-initialization.
968         * python/py-signalevent.c (create_signal_event_object): Use
969         copy-initialization.
970         * python/py-threadevent.c (create_thread_event_object): Use
971         copy-initialization.
972
973 2018-08-24  Pedro Alves  <palves@redhat.com>
974             Simon Marchi  <simon.marchi@ericsson.com>
975
976         PR gdb/23379
977         * python/py-continueevent.c: Include "gdbthread.h".
978         (create_continue_event_object): Add intro comment.  Add 'ptid'
979         parameter.  Use it to find thread to pass to
980         create_thread_event_object.
981         (emit_continue_event): Pass PTID down to
982         create_continue_event_object.
983         * python/py-event.h (py_get_event_thread): Declare.
984         (create_thread_event_object): Remove default from 'thread'
985         parameter.
986         * python/py-stopevent.c (create_stop_event_object): Use
987         py_get_event_thread.
988         * python/py-threadevent.c (get_event_thread): Rename to ...
989         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
990         and use it to find the thread.
991         (create_thread_event_object): Assert that THREAD isn't null.
992         Don't find the event thread here.
993
994 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
995
996         * block.h (blockrange, blockranges): New struct declarations.
997         (struct block): Add new field named `ranges'.
998         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
999         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
1000         macros for accessing ranges in struct block.
1001         (make_blockranges): New declaration.
1002         block.c (make_blockranges): New function.
1003         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
1004         for block.
1005         * symtab.h (find_pc_partial_function): Add new parameter `block'.
1006         * blockframe.c (cache_pc_function_block): New static global.
1007         (clear_pc_function_cache): Clear cache_pc_function_block.
1008         (find_pc_partial_function): Move comment to symtab.h.  Add
1009         support for non-contiguous blocks.
1010         * cli/cli-cmds.c (block.h): Include.
1011         (print_disassembly): Handle printing of non-contiguous blocks.
1012         (disassemble_current_function): Likewise.
1013         (disassemble_command): Likewise.
1014
1015         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
1016         BLOCK_START.
1017         * blockframe.c (get_pc_function_start): Likewise.
1018         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
1019         (gcc_symbol_address): Likewise.
1020         * compile/compile-object-run.c (compile_object_run): Likewise.
1021         * compile/compile.c (get_expr_block_and_pc): Likewise.
1022         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
1023         (func_addr_to_tail_call_list): Likewise.
1024         * findvar.c (default_read_var_value): Likewise.
1025         * inline-frame.c (inline_frame_this_id): Likewise.
1026         (skip-inline_frames): Likewise.
1027         * infcmd.c (until_next_command): Likewise.
1028         * linespec.c (convert_linespec_to_sals): Likewise.
1029         * parse.c (parse_exp_in_context_1): Likewise.
1030         * printcmd.c (build_address_symbolic): likewise.
1031         (info_address_command): Likewise.
1032         symtab.c (find_function_start_sal): Likewise.
1033         (skip_prologue_sal): Likewise.
1034         (find_function_alias_target): Likewise.
1035         (find_gnu_ifunc): Likewise.
1036         * stack.c (find_frame_funname): Likewise.
1037         * symtab.c (fixup_symbol_section): Likewise.
1038         (find_function_start_sal): Likewise.
1039         (skip_prologue_sal): Likewsie.
1040         (find_function_alias_target): Likewise.
1041         (find_gnu_ifunc): Likewise.
1042         * tracepoint.c (info_scope_command): Likewise.
1043         * value.c (value_fn_field): Likewise.
1044
1045         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
1046         in place of find_pc_partial_function.
1047         * blockframe.c (find_function_entry_range_from_pc): New function.
1048         * symtab.h (find_function_entry_range_from_pc): Declare and document.
1049         * objfiles.c (objfile_relocate1): Relocate start and end addresses
1050         for each range in a block.
1051
1052
1053 2018-08-23  Xavier Roirand  <roirand@adacore.com>
1054
1055         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
1056         incrementation.
1057
1058 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1059
1060         * solib-svr4.c (read_program_headers_from_bfd): Return
1061         gdb::optional<gdb::byte_vector>.
1062         (svr4_exec_displacement): Adjust.
1063
1064 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1065
1066         * solib-svr4.c (read_program_header): Return
1067         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
1068         (find_program_interpreter): Return
1069         gdb::optional<gdb::byte_vector>.
1070         (scan_dyntag_auxv): Adjust.
1071         (enable_break): Adjust.
1072         (svr4_exec_displacement): Adjust.
1073
1074 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1075
1076         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
1077         * inf-child.c (inf_child_target::terminal_save_inferior): New.
1078
1079 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1080
1081         * guile/scm-string.c (gdbscm_scm_from_printf): Use
1082         string_vprintf.
1083         * guile/scm-utils.c (gdbscm_printf): Likewise.
1084         * serial.c (serial_printf): Likewise.
1085         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
1086
1087 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
1088
1089         * stack.c (print_frame): Print frame architecture when printing on
1090         an MI output.
1091         * NEWS: Mention new "arch" attribute in frame output.
1092
1093 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1094
1095         * arch/aarch64.h (aarch64_regnum): Update comment.
1096
1097 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1098
1099         * NEWS: Add SVE to 8.2 section.
1100
1101 2018-08-21  Pedro Alves  <palves@redhat.com>
1102
1103         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
1104         out from gdbscm_parse_function_args.
1105         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
1106         gdbscm_parse_function_args_1.
1107
1108 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
1109
1110         PR gdb/17816
1111         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
1112         operator.
1113
1114 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
1115
1116         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
1117
1118 2018-08-19  Michael Spang  <spang@google.com>
1119
1120         PR gdb/11786
1121         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
1122         for PT_TLS segments.
1123
1124 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
1125
1126         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
1127         dwarf_variable_value.
1128         * dwarf2-frame.c (class dwarf_expr_executor):
1129         Add override for dwarf_variable_value.
1130         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1131         (class symbol_needs_eval_context): Likewise.
1132         (indirect_synthetic_pointer): Add forward declaration.
1133         (sect_variable_value): New function.
1134         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1135         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1136         for DW_OP_GNU_variable_value.
1137
1138 2018-08-16  Tom Tromey  <tom@tromey.com>
1139
1140         * top.c (read_command_file): Update.
1141         (command_line_input): Remove "repeat" argument.
1142         * ada-lang.c (get_selections): Update.
1143         * linespec.c (decode_line_2): Update.
1144         * defs.h (command_line_input): Remove argument.
1145         * cli/cli-script.c (read_next_line): Update.
1146         * python/py-gdb-readline.c: Update.
1147
1148 2018-08-17  Tom Tromey  <tom@tromey.com>
1149
1150         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1151         command_line_input.
1152
1153 2018-08-15  Tom Tromey  <tom@tromey.com>
1154
1155         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1156
1157 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1158
1159         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1160         If used, use find_pc_partial_function to find address range
1161         to disassemble.
1162         * mi/mi-main.c (mi_cmd_list_features): Report
1163         "data-disassemble-a-option" feature.
1164         * NEWS: Mention new -data-disassemble option -a.
1165
1166 2018-08-13  Tom Tromey  <tom@tromey.com>
1167
1168         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1169
1170 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1171
1172         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1173         (aarch64_linux_collect_sve_regset): Likewise.
1174         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1175         * regcache.h (regcache_map_entry_size): New function.
1176
1177 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1178
1179         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1180         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1181         (SVE_HEADER_VL_LENGTH): Likewise.
1182         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1183         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1184         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1185         (SVE_HEADER_SIZE_OFFSET): Likewise.
1186         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1187         (SVE_HEADER_VL_OFFSET): Likewise.
1188         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1189         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1190         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1191         (SVE_HEADER_SIZE): Likewise.
1192         (aarch64_linux_core_read_vq): Add function.
1193         (aarch64_linux_core_read_description): Check for SVE section.
1194
1195 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1196
1197         * aarch64-fbsd-tdep.c
1198         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1199         collect_size.
1200         * aarch64-linux-tdep.c
1201         (aarch64_linux_iterate_over_regset_sections): Likewise.
1202         * alpha-linux-tdep.c
1203         (alpha_linux_iterate_over_regset_sections):
1204         * alpha-nbsd-tdep.c
1205         (alphanbsd_iterate_over_regset_sections): Likewise.
1206         * amd64-fbsd-tdep.c
1207         (amd64fbsd_iterate_over_regset_sections): Likewise.
1208         * amd64-linux-tdep.c
1209         (amd64_linux_iterate_over_regset_sections): Likewise.
1210         * arm-bsd-tdep.c
1211         (armbsd_iterate_over_regset_sections): Likewise.
1212         * arm-fbsd-tdep.c
1213         (arm_fbsd_iterate_over_regset_sections): Likewise.
1214         * arm-linux-tdep.c
1215         (arm_linux_iterate_over_regset_sections): Likewise.
1216         * corelow.c (get_core_registers_cb): Likewise.
1217         (core_target::fetch_registers): Likewise.
1218         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
1219         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
1220         * gdbarch.h (void): Regenerate.
1221         * gdbarch.sh: Add supply_size and collect_size.
1222         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
1223         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
1224         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
1225         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
1226         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
1227         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
1228         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
1229         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
1230         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
1231         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
1232         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
1233         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
1234         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
1235         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
1236         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
1237         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
1238         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
1239         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
1240         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
1241         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
1242         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
1243         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
1244         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
1245         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
1246         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
1247         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
1248         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
1249         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
1250         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
1251         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
1252
1253 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
1254
1255         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
1256         with string_printf.
1257
1258 2018-08-10  Keith Seitz  <keiths@redhat.com>
1259
1260         * compile/compile-c-support.c (add_code_header, add_code_footer):
1261         Move into policy class.
1262         (c_push_user_expression, pop_user_expression_nop)
1263         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
1264         (compile_program): New host class.
1265         (c_compile_program): New typedef.
1266         (c_compute_porgram): Use c_compile_program.
1267
1268 2018-08-10  Keith Seitz  <keiths@redhat.com>
1269
1270         * compile/compile-internal.h (compile_instance::~compile_instance):
1271         Remove calls to htab_delete.
1272         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
1273         * compile.c (compile_instance::compile_instance): Initialize
1274         htab unique pointers.
1275         (compile_instance::get_cached_type, compile_instance::insert_type)
1276         (compile_instance::error_symbol_once): Update for unique_ptr.
1277
1278 2018-08-10  Keith Seitz  <keiths@redhat.com>
1279
1280         * compile/compile-c-symbols.c (struct symbol_error)
1281         (hash_symbol_error, eq_symbol_error, del_symbol_error)
1282         (compile_instance::insert_symbol_error)
1283         (compile_instance::error_symbol_once): Move to ...
1284         * compile/compile.c: ... here.
1285
1286 2018-08-10  Keith Seitz  <keiths@redhat.com>
1287
1288         * compile/compile-c-support.c (c_get_compile_context): Use `new'
1289         instead of `new_compile_instance'.
1290         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
1291         Update description.
1292         If the symbol error map is not initialized, create it.
1293         (generate_c_for_for_one_symbol): Do not check/initialize
1294         the symbol error map.
1295         * compile/compile-c-types.c (compile_c_instance): Make a class.
1296         Update all callers.
1297         (compile_instance::compile_instance): Initialize the type cache.
1298         (get_cached_type): New function.
1299         (insert_type): Update description.
1300         (compile_c_instance::m_default_cflags): Define.
1301         (convert_type): Update description.  Use get_cached_type.
1302         (delete_instance): Moved to destructor.
1303         (new_compile_instance): Moved to constructor.
1304         * compile/compile-c.h (compile_c_instance): Make class inheriting
1305         from compile_instance.
1306         <base>: Remove field.
1307         <type_map, symbol_err_map>: Move to base class.
1308         <c_plugin>: Rename to `m_plugin' and remove pointer type.
1309         * compile/compile-internal.h (compile_instance): Make class.
1310         <type_map_t, symbol_err_map_t>: Define.
1311         <fe>: Rename to `m_gcc_fe'.
1312         <scope, block, gcc_target_options>: Add `m_' prefix.
1313         <m_type_map, m_symbol_err_map>: New fields, moved from
1314         compile_c_instance.
1315         <destroy>: Remove.
1316         (convert_type, new_compile_instance): Remove.
1317         * compile/compile.c (cleanup_compile_instance): Remove.
1318         (compile_to_object): Use unique_ptr to eliminate cleanups.
1319         (compile_instance::set_print_callback, compile_instance::version)
1320         (compile_instance::set_verbose)
1321         (compile_instance::set_driver_filename)
1322         (compile_instance::set_triplet_regexp)
1323         (compile_instance::set_arguments)
1324         (compile_instance::set_source_file)
1325         (compile_instance::compile): Define.
1326
1327 2018-08-10  Keith Seitz  <keiths@redhat.com>
1328
1329         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
1330         * compile/compile-c-types.c: Define GCC_METHODN macros and include
1331         gcc-c-fe.def to define C plugin.
1332         (delete_instance): Delete `c_plugin'.
1333         (new_compile_instance): Initialize `c_plugin'.
1334         * compile/compile-c.h: Include gcc_c_plugin.h.
1335         (struct compile_c_instance) <c_plugin>: New member.
1336         * gcc-c-plugin.h: New file.
1337         Update all callers with API change.
1338
1339 2018-08-10  Keith Seitz  <keiths@redhat.com>
1340
1341         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
1342         (HFILES_NO_SRCDIR): ... to here.
1343         Add compile-internal.h and compile-c.h.
1344         * compile/compile-c-support.c: Include compile-c.h.
1345         * compile/compile-c-symbols.c: Include compile-c.h.
1346         (generate_c_for_variable_locations): Update comment.
1347         * compile/compile-c-types.c: Include compile-c.h.
1348         * compile/compile-c.h: New file -- moved C language declarations
1349         from other files here.
1350         * compile/compile-internal.h: Do not include hashtab.h or
1351         common/enum-flags.h.
1352         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
1353         (gcc_convert_symbol, gcc_symbol_address)
1354         (generate_c_for_variable_locations, c_get_mode_for_size)
1355         (c_get_range_decl_name): Definitions moved to compile-c.h.
1356         * compile/compile-loc2c.c: Include compile-c.h.
1357
1358 2018-08-10  Keith Seitz  <keiths@redhat.com>
1359
1360         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
1361         (c_symbol_substitution_name): ... this.
1362         Update all callers.
1363
1364 2018-08-10  Keith Seitz  <keiths@redhat.com>
1365
1366         * compile/compile-c-support.c (c_compute_program): Use
1367         unique_xmalloc_ptr to eliminate cleanup.
1368         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
1369         Return a unique_xmalloc_ptr and eliminate cleanup.
1370         * compile/compile-internal.h (generate_c_for_variable_locations):
1371         Return unique_xmalloc_ptr and update description.
1372
1373 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
1374
1375         * corelow.c (core_target::get_core_register_section): Rename
1376         min_size to section_min_size.
1377
1378 2018-08-09  Jim Wilson  <jimw@sifive.com>
1379
1380         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
1381         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
1382         * NEWS: Mention new GNU/Linux RISC-V target.
1383         * configure.host: Add riscv*-*-linux*.
1384         * configure.nat: Add riscv*.
1385         * configure.tgt: Add riscv*-*-linux*.
1386         * riscv-linux-nat.c: New file.
1387         * riscv-linux-tdep.c: New file.
1388
1389 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1390
1391         * infrun.c (resume): Make static, add forward declaration.
1392         (proceed): Update header comment.
1393         * infrun.h (resume): Delete declaration.
1394
1395 2018-08-09  Tom Tromey  <tom@tromey.com>
1396
1397         * riscv-tdep.h: Minor formatting fixes.
1398
1399 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
1400
1401         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
1402         * dwarf-index-cache.c (create_dir_and_check): Likewise.
1403         (test_mkdir_recursive): Likewise.
1404         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
1405
1406 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1407
1408         * valarith.c (value_subscripted_rvalue): If an array is not in
1409         memory, and we don't know the upper bound, then we can't know that
1410         the requested element exists or not.
1411
1412 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
1413
1414         * target.c (str_comma_list_concat_elem): Fix typo in comment.
1415         (target_options_to_string): Add comment.
1416
1417 2018-08-08  Tom Tromey  <tom@tromey.com>
1418
1419         * unittests/scoped_mmap-selftests.c: Check result of "write".
1420
1421 2018-08-08  Jim Wilson  <jimw@sifive.com>
1422
1423         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
1424         (decode_register_index_short): New.
1425         (decode_j_type_insn, decode_cj_type_insn): New.
1426         (decode_b_type_insn, decode_cb_type_insn): New.
1427         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
1428         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
1429         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
1430         is_c_sw_insn instead of is_sw_insn.
1431         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
1432         (riscv_software_single_step): New.
1433         * riscv-tdep.h (riscv_software_single_step): Declare.
1434
1435         * riscv-tdep.c (riscv_isa_xlen): Drop static.
1436         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
1437
1438 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
1439
1440         PR gdb/18050:
1441         * target.c (dispose_inferior): Don't dispose of inferiors that are
1442         already killed.
1443
1444 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1445
1446         * remote.c (remote_target::download_tracepoint): Change char* to
1447         const char*.
1448
1449 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
1450
1451         * target.h (target_options_to_string): Return an std::string.
1452         * target.c (str_comma_list_concat_elem): Return void, use
1453         std::string.
1454         (do_option): Likewise.
1455         (target_options_to_string): Return an std::string.
1456         * linux-nat.c (linux_nat_target::wait): Adjust.
1457         * target-debug.h (target_debug_print_options): Adjust.
1458
1459 2018-08-07  Tom Tromey  <tom@tromey.com>
1460
1461         * Makefile.in (CPPFLAGS): New variable.
1462         (INTERNAL_CPPFLAGS): Use it.
1463
1464 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1465
1466         * NEWS: Mention the index cache.
1467
1468 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1469
1470         * common/pathstuff.h (get_standard_cache_dir): New.
1471         * common/pathstuff.c (get_standard_cache_dir): New.
1472         * build-id.h (build_id_to_string): New.
1473         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
1474         DEBUG_STR_SUFFIX): Move to here.
1475         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
1476         DEBUG_STR_SUFFIX): Move from there.
1477         (write_psymtabs_to_index): Make non-static, add basename
1478         parameter.  Write to temporary files, rename when done.
1479         (save_gdb_index_command): Adjust call to
1480         write_psymtabs_to_index.
1481         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
1482         field.
1483         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
1484         (get_gdb_index_contents_from_cache): New.
1485         (get_gdb_index_contents_from_cache_dwz): New.
1486         (dwarf2_initialize_objfile): Read index from cache.
1487         (dwarf2_build_psymtabs): Save to index.
1488         * dwarf-index-cache.h: New file.
1489         * dwarf-index-cache.c: New file.
1490         * dwarf-index-write.h: New file.
1491
1492 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1493
1494         * gnulib/aclocal.m4: Re-generate.
1495         * gnulib/config.in: Re-generate.
1496         * gnulib/configure: Re-generate.
1497         * gnulib/import/Makefile.am: Re-generate.
1498         * gnulib/import/Makefile.in: Re-generate.
1499         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
1500         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1501         * gnulib/import/m4/mkdir.m4: New file.
1502         * gnulib/import/mkdir.c: New file.
1503         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
1504         module.
1505
1506 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1507
1508         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
1509         * common/scoped_mmap.c: New file.
1510         * common/scoped_mmap.h (destroy): New method.
1511         (~scoped_mmap, reset): Use destroy.
1512         (scoped_mmap): New move constructor.
1513         (mmap_file): New declaration.
1514         * unittests/scoped_mmap-selftests.c (test_normal,
1515         test_invalid_filename, run_tests): New functions.
1516         (_initialize_scoped_mmap_selftests): Register selftest.
1517
1518 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1519
1520         * dwarf2read.c (read_gdb_index_from_section): Rename to...
1521         (read_gdb_index_from_buffer): ... this.  Remove section
1522         parameter, add buffer parameter.
1523         (get_gdb_index_contents_ftype,
1524         get_gdb_index_contents_dwz_ftype): New typedefs.
1525         (dwarf2_read_gdb_index): Add callback parameters to get the
1526         index contents.
1527         (get_gdb_index_contents_from_section): New.
1528         (dwarf2_initialize_objfile): Update call to
1529         dwarf2_read_gdb_index.
1530
1531 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
1532
1533         * common/filestuff.h (gdb_fopen_cloexec): New overload.
1534         (gdb_open_cloexec): Likewise.
1535         * nat/linux-osdata.c (command_from_pid): Use string_printf.
1536         (commandline_from_pid): Likewise.
1537         (linux_xfer_osdata_threads): Likewise.
1538         (linux_xfer_osdata_fds): Likewise.
1539         * ada-lang.c (is_package_name): Likewise.
1540         * auxv.c (procfs_xfer_auxv): Likewise.
1541         * breakpoint.c (print_one_breakpoint_location): Use
1542         uiout::field_fmt.
1543         (print_one_catch_solib): Use string_printf.
1544         * coff-pe-read.c (add_pe_exported_sym): Likewise.
1545         (add_pe_forwarded_sym): Likewise.
1546         * dwarf2read.c (create_type_unit_group): Likewise.
1547         (build_error_marker_type): Likewise.
1548         * infcall.c (get_function_name): Likewise.
1549         * valprint.c (print_converted_chars_to_obstack): Likewise.
1550         * xtensa-tdep.c (xtensa_register_type): Likewise.
1551
1552 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
1553
1554         * remote.c (remote_target::download_tracepoint): Fix format
1555         string errors.
1556
1557 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1558
1559         * tracefile.c: Include common/byte-vector.h.
1560         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
1561         with trace_regblock_size if needed.  Update uses of buf.
1562
1563 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1564
1565         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
1566         std::vector<unsigned char>.
1567         * tracepoint.c (collection_list::collection_list): Remove
1568         m_regs_mask initializer from initializer list.  Resize
1569         m_regs_mask using the largest remote register number.
1570         (collection_list::add_remote_register): Remove size check on
1571         m_regs_mask.  Use at to access element.
1572         (collection_list::stringify): Change type of temp_buf to
1573         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
1574         stringify the register mask.  Use pack_hex_byte for the register
1575         mask.
1576
1577 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1578
1579         * tracepoint.h (class collection_list) <add_register>: Remove.
1580         <add_remote_register, add_ax_registers, add_local_register>:
1581         Declare.
1582         <add_memrange>: Add scope parameter.
1583         * tracepoint.c (encode_actions_1): Likewise.
1584         (collection_list::add_register): Rename to ...
1585         (collection_list::add_remote_register): ... this.  Update
1586         comment.
1587         (collection_list::add_ax_registers, add_local_register): New
1588         methods.
1589         (collection_list::add_memrange): Add scope parameter.  Call
1590         add_local_register instead of add_register.
1591         (finalize_tracepoint_aexpr): New function.
1592         (collection_list::collect_symbol): Update calls to add_memrange.
1593         Call add_local_register instead of add_register.  Call
1594         add_ax_registers.  Call finalize_tracepoint_aexpr.
1595         (encode_actions_1): Get remote regnos for $reg action.  Call
1596         add_remote_register, add_ax_registers, and add_local_register.
1597         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
1598         (validate_actionline): Call finalize_tracepoint_aexpr.
1599
1600 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1601
1602         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
1603         Replace array buf with gdb::char_vector buf, of size
1604         get_remote_packet_size ().  Replace references to buf and
1605         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
1606         and xsnprintf with snprintf.  Raise errors if the buffer is too
1607         small.
1608
1609 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1610
1611         * remote.c (remote_target::download_tracepoint): Fix the has_more
1612         predicate in the QTDP action list iteration.
1613
1614 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
1615
1616         * remote.c (remote_target::download_tracepoint): Fix indentation
1617         in for block.
1618
1619 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1620
1621         * proc-api.c (_initialize_proc_api): Remove c, unused.
1622         * procfs.c (procfs_init_inferior): Remove signals, unused.
1623         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
1624         unused.
1625
1626 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
1627             Andrew Burgess  <andrew.burgess@embecosm.com>
1628
1629         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
1630         'W_STOPCODE (0)' as this could be ambiguous.
1631
1632 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
1633
1634         * ser-tcp.c (net_open): Fix thinko when deciding whether to
1635         disable TCP's Nagle algorithm (use "ai_protocol" instead of
1636         "ai_socktype").
1637
1638 2018-08-02  Tom Tromey  <tom@tromey.com>
1639
1640         PR symtab/16842.
1641         * dwarf2read.c (read_func_scope): Set symtab on template parameter
1642         symbols.
1643         (process_structure_scope): Likewise.
1644
1645 2018-08-02  Xavier Roirand  <roirand@adacore.com>
1646
1647         PR gdb/22629:
1648         * darwin-nat.c (darwin_kill_inferior): Fix handling of
1649         kill inferior.
1650
1651 2018-08-02  Tom Tromey  <tom@tromey.com>
1652
1653         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
1654         (darwin_suspend_inferior, darwin_resume_inferior)
1655         (darwin_decode_notify_message, darwin_resume_inferior_threads)
1656         (darwin_check_new_threads): Check result of get_darwin_inferior.
1657
1658 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
1659
1660         GDB 8.1.1 released.
1661
1662 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
1663
1664         * varobj.c (varobj_get_path_expr_parent): Report an error if
1665         parent is a dynamic varobj.
1666
1667 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1668
1669         * gnulib/aclocal.m4: Re-generate.
1670         * gnulib/config.in: Re-generate.
1671         * gnulib/configure: Re-generate.
1672         * gnulib/import/Makefile.in: Re-generate.
1673         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
1674         * gnulib/import/m4/onceonly.m4: Re-generate.
1675
1676 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
1677
1678         * target-descriptions.c (struct xml_test_tdesc): New.
1679         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
1680         (record_xml_tdesc): Update.
1681         (maintenance_check_xml_descriptions): Update.
1682         * target-descriptions.h (record_xml_tdesc): Update comment.
1683
1684 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1685
1686         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
1687         checking array bounds are defined.
1688
1689 2018-07-30  Tom Tromey  <tom@tromey.com>
1690
1691         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
1692         irreflexivity violation.
1693
1694 2018-07-30  Tom Tromey  <tom@tromey.com>
1695
1696         * cli/cli-decode.c (lookup_cmd): Remove lint code.
1697         * value.c (unpack_long): Remove lint code.
1698         * valops.c (value_ind): Remove lint code.
1699         * valarith.c (value_x_binop, value_x_unop, value_equal)
1700         (value_pos): Remove lint code.
1701
1702 2018-07-28  Tom de Vries  <tdevries@suse.de>
1703
1704         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
1705         with undefined upper bound as <optimized out>.
1706
1707 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
1708
1709         * gcore.in: Rename variable "name" to "prefix".  Expand
1710         "usage" text.
1711
1712 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
1713
1714         * windows-nat.c (windows_nat_target::create_inferior): Update to
1715         call close() in global namespace.
1716
1717 2018-07-26  Tom Tromey  <tom@tromey.com>
1718
1719         * dwarf-index-write.c (add_address_entry): Don't add objfile
1720         offsets.
1721         * dbxread.c (find_stab_function): Rename from
1722         find_stab_function_addr.  Return a bound_minimal_symbol.
1723         (read_dbx_symtab): Use raw_text_low, raw_text_high.
1724         Don't add objfile offsets.
1725         (end_psymtab): Use raw_text_low, raw_text_high,
1726         MSYMBOL_VALUE_RAW_ADDRESS.
1727         (read_ofile_symtab): Update.
1728         (process_one_symbol): Update.
1729         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
1730         offsets.
1731         (dw2_relocate): Remove.
1732         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
1733         searching addrmap.
1734         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
1735         Update.
1736         (process_psymtab_comp_unit_reader, add_partial_symbol)
1737         (add_partial_subprogram, dwarf2_ranges_read): Update.
1738         (load_partial_dies): Update.
1739         (add_address_entry): Don't add objfile offsets.
1740         (dwarf2_build_include_psymtabs): Update.
1741         (create_addrmap_from_aranges): Don't add objfile offsets.
1742         (dw2_find_pc_sect_compunit_symtab): Update.
1743         * mdebugread.c (parse_symbol): Don't add objfile offsets.
1744         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
1745         Update.
1746         (parse_partial_symbols): Don't add objfile offsets.  Use
1747         raw_text_low, raw_text_high.  Update.
1748         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
1749         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
1750         or call 'relocate' quick function.  Clear psymbol_map.
1751         * psympriv.h (struct partial_symbol) <address>: Add section
1752         offset.
1753         <set_unrelocated_address>: Rename from set_address.
1754         <raw_text_low, raw_text_high>: New methods.
1755         <text_low, text_high>: Add objfile parameter.
1756         (add_psymbol_to_bcache): Add 'section' parameter.  Call
1757         set_unrelocated_address.
1758         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1759         (find_pc_psymbol): Update.
1760         (fixup_psymbol_section, relocate_psymtabs): Remove.
1761         (dump_psymtab, psym_functions): Update.
1762         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
1763         parameter.
1764         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1765         (start_psymtab_common): Update.
1766         * symfile-debug.c (debug_qf_relocate): Remove.
1767         (debug_sym_quick_functions): Update.
1768         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
1769         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
1770         Update.
1771
1772 2018-07-26  Tom Tromey  <tromey@redhat.com>
1773
1774         * dbxread.c (end_psymtab): Use text_high_valid and
1775         text_low_valid.
1776         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
1777         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
1778         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1779         Update comment.
1780         <text_low_valid, text_high_valid>: New fields.
1781         <set_text_low, set_text_high>: Update.
1782         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
1783
1784 2018-07-26  Tom Tromey  <tom@tromey.com>
1785
1786         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
1787         Update.
1788         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
1789         textlow and texthigh fields.
1790         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
1791         Update.
1792         * mdebugread.c (parse_lines, parse_partial_symbols)
1793         (psymtab_to_symtab_1): Update.
1794         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
1795         Rename fields.  Update comment.  Now private.
1796         <text_low, text_high, set_text_low, set_text_high>: New methods.
1797         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1798         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
1799         (start_psymtab_common, maintenance_info_psymtabs)
1800         (maintenance_check_psymtabs): Update.
1801         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
1802         texthigh fields.
1803         (scan_xcoff_symtab): Update.
1804
1805 2018-07-26  Tom Tromey  <tromey@redhat.com>
1806
1807         * psympriv.h (struct partial_symbol) <unrelocated_address,
1808         address, set_address>: New methods.
1809         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
1810         (fixup_psymbol_section, relocate_psymtabs): Update.
1811         (print_partial_symbols): Add 'objfile' parameter.  Update.
1812         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
1813         Update.
1814
1815 2018-07-26  Tom Tromey  <tom@tromey.com>
1816
1817         * dwarf-index-write.c (write_psymbols, debug_names::insert)
1818         (debug_names::write_psymbols): Update.
1819         * psympriv.h (struct partial_symbol): Derive from
1820         general_symbol_info.
1821         <obj_section>: New method.
1822         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
1823         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
1824         (find_pc_sect_psymbol, fixup_psymbol_section)
1825         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
1826         (print_partial_symbols, recursively_search_psymtabs)
1827         (compare_psymbols, psymbol_hash, psymbol_compare)
1828         (add_psymbol_to_bcache, maintenance_check_psymtabs)
1829         (psymbol_name_matches, psym_fill_psymbol_map): Update.
1830
1831 2018-07-26  Tom Tromey  <tromey@redhat.com>
1832
1833         * dbxread.c (end_psymtab): Remove dead code.
1834
1835 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
1836
1837         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
1838         DWARF unwinders are disabled.
1839         * dwarf2-frame.c: Add dwarf2read.h include.
1840         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
1841         disabled.
1842         (dwarf2_frame_unwinders_enabled_p): Define.
1843         (show_dwarf_unwinders_enabled_p): New function.
1844         (_initialize_dwarf2_frame): Register switch to control DWARF
1845         unwinder use.
1846         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
1847         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
1848         (show_dwarf_cmdlist): Remove static keyword.
1849         * dwarf2read.h (set_dwarf_cmdlist): Declare.
1850         (show_dwarf_cmdlist): Declare.
1851         * NEWS: Document new feature.
1852
1853 2018-07-26  Tom de Vries  <tdevries@suse.de>
1854
1855         PR breakpoints/23366
1856         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
1857
1858 2018-07-26  Tom de Vries  <tdevries@suse.de>
1859
1860         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
1861         DW_AT_count can't be translated to a dynamic prop.
1862
1863 2018-07-25  Tom de Vries  <tdevries@suse.de>
1864
1865         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
1866         try/catch.
1867
1868 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
1869
1870         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
1871
1872 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
1873
1874         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
1875
1876 2018-07-24  Keith Seitz  <keiths@redhat.comt
1877
1878         PR symtab/23010
1879         * dwarf2read.c (dw2_add_symbol_to_list): New function.
1880         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
1881         instead of add_symbol_to_list.
1882         (read_file_scope): Call prepare_one_comp_unit before reading
1883         any other DIEs.
1884
1885 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
1886
1887         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
1888
1889 2018-07-24  Tom Tromey  <tom@tromey.com>
1890
1891         * utils.c (malloc, realloc, free): Don't declare.
1892         * configure, config.in: Rebuild.
1893         * configure.ac: Don't check for declarations of free, malloc, or
1894         realloc.
1895
1896 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1897
1898         * aarch64-linux-nat.c
1899         (aarch64_linux_nat_target::stopped_data_address): Remove unused
1900         variable.
1901         * arm-linux-nat.c (fetch_regs): Likewise.
1902         (store_regs): Likewise.
1903         (fetch_vfp_regs): Likewise.
1904         (store_vfp_regs): Likewise.
1905         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
1906         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
1907         (arm_linux_nat_target::insert_watchpoint): Likewise.
1908         (arm_linux_nat_target::remove_watchpoint): Likewise.
1909         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
1910         Likewise.
1911         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
1912         Likewise.
1913         * ppc-linux-nat.c (fetch_register): Likewise.
1914         (fetch_all_gp_regs): Likewise.
1915         (fetch_ppc_registers): Likewise.
1916         (store_all_gp_regs): Likewise.
1917         (store_ppc_registers): Likewise.
1918         (hwdebug_insert_point): Likewise.
1919         (can_use_watchpoint_cond_accel): Likewise.
1920         * remote-sim.c (gdb_os_write_stdout): Likewise.
1921
1922 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
1923             Tom Tromey  <tom@tromey.com>
1924
1925         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
1926         test for it.
1927         * configure: Rebuild.
1928
1929 2018-07-22  Tom Tromey  <tom@tromey.com>
1930
1931         * regformats/regdat.sh: Define xmltarget_${name} inside
1932         #ifndef IN_PROCESS_AGENT.
1933
1934 2018-07-22  Tom Tromey  <tom@tromey.com>
1935
1936         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
1937
1938 2018-07-22  Tom Tromey  <tom@tromey.com>
1939
1940         * symfile.c (reread_symbols): Notify iter, not objfile.
1941
1942 2018-07-22  Tom Tromey  <tom@tromey.com>
1943
1944         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
1945         Use arch_ops.
1946         (ravenscar_thread_target::prepare_to_store): Likewise.
1947
1948 2018-07-22  Tom Tromey  <tom@tromey.com>
1949
1950         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
1951         unused variable.  Call value_fetch_lazy when needed.
1952         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
1953         Remove unused variable.  Call value_fetch_lazy when needed.
1954
1955 2018-07-22  Tom Tromey  <tom@tromey.com>
1956
1957         * m32c-tdep.c (mark_dma): Return void.
1958         (make_regs): Remove unused declarations.
1959
1960 2018-07-22  Tom Tromey  <tom@tromey.com>
1961
1962         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
1963         cmdscm_get_valid_command_smob_arg_unsafe for effect.
1964         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
1965         bkscm_get_valid_block_smob_arg_unsafe for effect.
1966
1967 2018-07-22  Tom Tromey  <tom@tromey.com>
1968
1969         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
1970         value_type.
1971
1972 2018-07-22  Tom Tromey  <tom@tromey.com>
1973
1974         * windows-nat.c (saved_context): Conditionally define.
1975         * remote.c (remote_target::remote_btrace_maybe_reopen):
1976         Conditionally declare "warned".
1977         * inflow.c (sigquit_ours): Conditionally define.
1978         (new_tty): Move "tty" declaration inside #if.
1979         * guile/guile.c (guile_datadir): Conditionally define.
1980         * charset.c (set_be_le_names): Move some declarations inside #if.
1981         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
1982         #if.
1983         (parse_xml_btrace_conf): Likewise.
1984
1985 2018-07-22  Tom Tromey  <tom@tromey.com>
1986
1987         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
1988
1989 2018-07-22  Tom Tromey  <tom@tromey.com>
1990
1991         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
1992         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
1993         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
1994         * buildsym-legacy.c (get_macro_table): Remove unused variable.
1995         * stack.c (frame_apply_level_command): Remove unused variable.
1996         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
1997         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
1998         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
1999         unused variable.
2000         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
2001         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
2002         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
2003         variable.
2004         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
2005         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
2006         variable.
2007         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
2008         Remove unused variable.
2009         * cli/cli-script.c (recurse_read_control_structure): Remove unused
2010         variable.
2011         * common/tdesc.c (print_xml_feature::visit): Remove unused
2012         variable.
2013         * compile/compile-object-load.c (store_regs): Remove unused
2014         variables.
2015         * complaints.c (clear_complaints): Remove unused variable.
2016         * corelow.c (core_target_open): Remove unused variable.
2017         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
2018         variable.
2019         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
2020         variable.
2021         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
2022         variable.
2023         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
2024         variable.
2025         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
2026         variable.
2027         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
2028         variable.
2029         * ia64-tdep.c (examine_prologue): Remove unused variable.
2030         * infcall.c (run_inferior_call): Remove unused variable.
2031         * inferior.c (exit_inferior): Remove unused variable.
2032         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
2033         * linespec.c (decode_line_2): Remove unused variable.
2034         * linux-nat.c (super_close): Remove.
2035         * linux-tdep.c (linux_info_proc): Remove unused variable.
2036         * mi/mi-main.c (mi_execute_command): Remove unused variable.
2037         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
2038         Remove unused variable.
2039         * parse.c (find_minsym_type_and_address): Remove unused variable.
2040         * printcmd.c (info_symbol_command, printf_floating): Remove unused
2041         variable.
2042         * python/py-breakpoint.c (bppy_set_commands): Remove unused
2043         variable.
2044         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
2045         variables.
2046         * record-btrace.c (record_btrace_target::store_registers): Remove
2047         unused variable.
2048         (cmd_show_record_btrace_cpu): Remove unused variable.
2049         * riscv-tdep.c (riscv_register_reggroup_p)
2050         (riscv_push_dummy_call, riscv_return_value): Remove unused
2051         variable.
2052         * rust-exp.y (literal): Remove unused variable.
2053         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
2054         unused variable.
2055         <STRUCTOP_ANONYMOUS>: Likewise.
2056         * s390-linux-tdep.c (s390_linux_init_abi_31)
2057         (s390_linux_init_abi_64): Remove unused variable.
2058         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
2059         (file_select_thread, net_windows_open, _initialize_ser_windows):
2060         Remove unused variables.
2061         * symtab.c (find_pc_sect_line): Remove unused variable.
2062         * target-memory.c (compute_garbled_blocks): Remove unused
2063         variable.
2064         (target_write_memory_blocks): Remove unused variable.
2065         * target.c (target_stack::unpush): Remove unused variables.
2066         * tracepoint.c (start_tracing, all_tracepoint_actions)
2067         (merge_uploaded_trace_state_variables)
2068         (print_one_static_tracepoint_marker): Remove unused variable.
2069         * unittests/basic_string_view/element_access/char/1.cc (test01):
2070         Remove unused variable.
2071         * windows-nat.c (windows_continue, windows_add_all_dlls)
2072         (do_initial_windows_stuff, windows_nat_target::create_inferior):
2073         Remove unused variables.
2074
2075 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
2076
2077         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
2078         attr_profile in HAVE_ELF.
2079         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
2080         HAVE_ELF.
2081
2082 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
2083
2084         * frame.c (frame_register_unwind): Change parameter name.
2085         (frame_unwind_register): Likewise.
2086         (frame_unwind_register_value): Likewise.
2087         (frame_unwind_register_signed): Likewise.
2088         (frame_unwind_register_unsigned): Likewise.
2089         * frame.h (frame_register_unwind): Likewise.
2090         (frame_unwind_register): Likewise.
2091         (frame_unwind_register_value): Likewise.
2092         (frame_unwind_register_signed): Likewise.
2093         (frame_unwind_register_unsigned): Likewise.
2094         (frame_unwind_arch): Likewise.
2095
2096 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2097
2098         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
2099         ISA maintenance.
2100
2101 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2102
2103         * mips-linux-nat.c (mips_linux_nat_target::read_description):
2104         Call `get_ptrace_pid' rather than extracting the ptrace PID by
2105         hand.
2106
2107 2018-07-20  Keith Seitz  <keiths@redhat.com>
2108
2109         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
2110         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
2111         m_compunit_symtab, m_language>: Add "m_" prefix.
2112         Update all uses.
2113         * buildsym.c: Update all uses.
2114
2115 2018-07-20  Tom Tromey  <tom@tromey.com>
2116
2117         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
2118         * buildsym.h (record_line_ftype): Remove typedef.
2119
2120 2018-07-20  Tom Tromey  <tom@tromey.com>
2121
2122         * buildsym-legacy.h (augment_type_symtab): Don't declare.
2123         (end_expandable_symtab): Likewise.
2124         (end_symtab_get_static_block): Likewise.
2125         (end_symtab_from_static_block): Likewise.
2126         * buildsym-legacy.c (augment_type_symtab): Remove.
2127         (end_expandable_symtab): Remove.
2128         (end_symtab_get_static_block): Remove.
2129         (end_symtab_from_static_block): Remove.
2130
2131 2018-07-20  Tom Tromey  <tom@tromey.com>
2132
2133         * dwarf2read.c: Include buildsym.h.
2134         (struct dwarf2_cu) <builder>: New method.
2135         (fixup_go_packaging): Update.
2136         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2137         use scoped_free_pendings.
2138         (using_directives): Add "cu" parameter, remove "language".
2139         (read_import_statement, setup_type_unit_groups, )
2140         (read_func_scope, read_lexical_block_scope)
2141         (dwarf2_record_block_ranges, read_namespace): Update.
2142         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2143         (lnp_state_machine::handle_end_sequence): Update.
2144         (class lnp_state_machine) <m_cu>: New member.
2145         <m_record_line_callback>: Remove.
2146         <m_currently_recording_lines>: New member.
2147         (lnp_state_machine::handle_set_file): Update.
2148         (noop_record_line): Remove.
2149         (dwarf_record_line_p): Add cu parameter.
2150         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2151         (lnp_state_machine::record_line)
2152         (lnp_state_machine::lnp_state_machine)
2153         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2154         (dwarf_decode_lines): Update.
2155         (dwarf2_start_subfile): Add cu parameter.
2156         (dwarf2_start_symtab, new_symbol): Update.
2157         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2158         Remove dwarf2_per_objfile parameter.
2159         (dwarf_decode_macros): Update.
2160
2161 2018-07-20  Tom Tromey  <tom@tromey.com>
2162
2163         * stabsread.c (define_symbol): Update.
2164         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2165         * dwarf2read.c (new_symbol): Update.
2166         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2167         * cp-namespace.c: Include buildsym.h.
2168         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2169         * buildsym-legacy.c (get_buildsym_compunit): New function.
2170
2171 2018-07-20  Tom Tromey  <tom@tromey.com>
2172
2173         * xcoffread.c: Include buildsym-legacy.h.
2174         * windows-nat.c: Include buildsym-legacy.h.
2175         * stabsread.c: Include buildsym-legacy.h.
2176         * mdebugread.c: Include buildsym-legacy.h.
2177         * buildsym-legacy.h: New file.
2178         * buildsym-legacy.c: New file, from buildsym.c.
2179         * go32-nat.c: Include buildsym-legacy.h.
2180         * dwarf2read.c: Include buildsym-legacy.h.
2181         * dbxread.c: Include buildsym-legacy.h.
2182         * cp-namespace.c: Include buildsym-legacy.h.
2183         * coffread.c: Include buildsym-legacy.h.
2184         * buildsym.h: Move some contents to buildsym-legacy.h.
2185         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2186         buildsym-legacy.c.
2187         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2188
2189 2018-07-20  Tom Tromey  <tom@tromey.com>
2190
2191         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2192         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2193         (buildsym_compunit::buildsym_compunit)
2194         (buildsym_compunit::~buildsym_compunit)
2195         (buildsym_compunit::get_macro_table): Define.
2196
2197 2018-07-20  Tom Tromey  <tom@tromey.com>
2198
2199         * buildsym.c (reset_symtab_globals): Remove.
2200         (buildsym_compunit::end_symtab_from_static_block): Update.
2201         (buildsym_compunit::augment_type_symtab): Update.
2202         (end_symtab_from_static_block): Call free_buildsym_compunit.
2203         (augment_type_symtab, end_symtab, end_expandable_symtab):
2204         Likewise.
2205
2206 2018-07-20  Tom Tromey  <tom@tromey.com>
2207
2208         * arch-utils.c: Do not include buildsym.h.
2209         * mipsread.c: Do not include buildsym.h.
2210         * machoread.c: Do not include buildsym.h.
2211         * elfread.c: Do not include buildsym.h.
2212
2213 2018-07-20  Tom Tromey  <tom@tromey.com>
2214
2215         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
2216         initialization.
2217         (buildsym_compunit): Add new constructor.
2218         (struct buildsym_compunit) <get_last_source_file, finish_block,
2219         record_block_range, start_subfile, patch_subfile_names,
2220         push_subfile, pop_subfile, record_line, get_compunit_symtab,
2221         set_last_source_start_addr, get_last_source_start_addr,
2222         get_local_using_directives, set_local_using_directives,
2223         get_global_using_directives, outermost_context_p,
2224         get_current_context_stack, get_context_stack_depth,
2225         get_current_subfile, get_local_symbols, get_file_symbols,
2226         get_global_symbols, record_debugformat, record_producer,
2227         push_context, pop_context, end_symtab_get_static_block,
2228         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
2229         New public methods.
2230         <record_pending_block, finish_block_internal, make_blockvector,
2231         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
2232         private methods.
2233         Update all users.
2234
2235 2018-05-22  Tom Tromey  <tom@tromey.com>
2236
2237         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2238         parameter.
2239         (finish_block_internal): Update.
2240
2241 2018-07-20  Tom Tromey  <tom@tromey.com>
2242
2243         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
2244         parameter.
2245         (finish_block_internal): Update.
2246
2247 2018-07-20  Tom Tromey  <tom@tromey.com>
2248
2249         * buildsym.h (EXTERN): Don't define or undef.
2250         * buildsym.c (EXTERN): Don't define.
2251
2252 2018-07-20  Tom Tromey  <tom@tromey.com>
2253
2254         * buildsym.c: Remove TODO comment.
2255
2256 2018-07-20  Tom Tromey  <tom@tromey.com>
2257
2258         * coffread.c (coff_symtab_read): Update.
2259         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
2260         (xcoff_new_init): Update.
2261         * mipsread.c (mipscoff_new_init): Update.
2262         * mdebugread.c (mdebug_build_psymtabs): Update.
2263         * elfread.c (elf_new_init): Update.
2264         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
2265         Update.
2266         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
2267         (coffstab_build_psymtabs, elfstab_build_psymtabs)
2268         (stabsect_build_psymtabs): Update.
2269         * buildsym.h (buildsym_init): Don't declare.
2270         * buildsym.c: Update comment.
2271         (prepare_for_building): Remove.
2272         (start_symtab, restart_symtab): Update.
2273         (reset_symtab_globals): Update comment.
2274         (buildsym_init): Remove.
2275
2276 2018-07-20  Tom Tromey  <tom@tromey.com>
2277
2278         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
2279         * stabsread.c (patch_block_stabs, define_symbol, read_type)
2280         (read_enum_type, common_block_start, common_block_end)
2281         (cleanup_undefined_types_1, finish_global_stabs): Update.
2282         * mdebugread.c (psymtab_to_symtab_1): Update.
2283         * dwarf2read.c (fixup_go_packaging, read_func_scope)
2284         (read_lexical_block_scope, new_symbol): Update.
2285         * dbxread.c (process_one_symbol): Update.
2286         * coffread.c (coff_symtab_read, process_coff_symbol)
2287         (coff_read_enum_type): Update.
2288         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
2289         declare.
2290         (get_local_symbols, get_file_symbols, get_global_symbols): New
2291         functions.
2292         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
2293         m_global_symbols.
2294         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
2295         (~scoped_free_pendings): Update.
2296         (finish_block, prepare_for_building, reset_symtab_globals)
2297         (end_symtab_get_static_block, end_symtab_with_blockvector)
2298         (augment_type_symtab, push_context): Update.
2299         (get_local_symbols, get_file_symbols, get_global_symbols): New
2300         functions.
2301         (buildsym_init): Update.
2302
2303 2018-07-20  Tom Tromey  <tom@tromey.com>
2304
2305         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
2306         (process_full_type_unit): Likewise.
2307         (dwarf2_start_symtab): Set list_in_scope.
2308
2309 2018-07-20  Tom Tromey  <tom@tromey.com>
2310
2311         * dwarf2read.c (process_psymtab_comp_unit_reader)
2312         (build_type_psymtabs_reader): Do not set list_in_scope.
2313
2314 2018-07-20  Tom Tromey  <tom@tromey.com>
2315
2316         * buildsym.c (free_pendings): Remove.
2317         (add_symbol_to_list, scoped_free_pendings)
2318         (finish_block_internal, buildsym_init): Update.
2319
2320 2018-07-20  Tom Tromey  <tom@tromey.com>
2321
2322         * xcoffread.c (read_xcoff_symtab): Update.
2323         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
2324         Update.
2325         * dbxread.c (process_one_symbol): Update.
2326         * coffread.c (coff_symtab_read): Update.
2327         * buildsym.h (finish_block): Update.
2328         * buildsym.c (finish_block): Remove "listhead" argument.
2329         (end_symtab_get_static_block): Update.
2330
2331 2018-07-20  Tom Tromey  <tom@tromey.com>
2332
2333         * buildsym.h (class scoped_free_pendings): Remove constructor.
2334         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
2335         method.
2336         <m_pending_block_obstack, m_pending_blocks>: New members.
2337         (pending_block_obstack, pending_blocks): Remove.
2338         (scoped_free_pendings::scoped_free_pendings): Default.
2339         (~scoped_free_pendings): Update.
2340         (free_pending_blocks): Remove.
2341         (finish_block_internal, record_pending_block, make_blockvector)
2342         (end_symtab_get_static_block, augment_type_symtab, push_context)
2343         (buildsym_init): Update.
2344
2345 2018-07-20  Tom Tromey  <tom@tromey.com>
2346
2347         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
2348         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
2349         members.
2350         (pending_addrmap, pending_addrmap_obstack)
2351         (pending_addrmap_interesting): Remove.
2352         (scoped_free_pendings, record_block_range, make_blockvector)
2353         (prepare_for_building, reset_symtab_globals, buildsym_init):
2354         Update.
2355
2356 2018-07-20  Tom Tromey  <tom@tromey.com>
2357
2358         * xcoffread.c (process_linenos): Update.
2359         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
2360         * mdebugread.c (psymtab_to_symtab_1): Update.
2361         * dwarf2read.c (setup_type_unit_groups)
2362         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
2363         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
2364         * dbxread.c (process_one_symbol): Update.
2365         * coffread.c (coff_symtab_read, enter_linenos)
2366         (process_coff_symbol): Update.
2367         * buildsym.h (current_subfile): Don't declare.
2368         (get_current_subfile): Declare.
2369         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
2370         member.
2371         (start_subfile, free_buildsym_compunit, push_subfile)
2372         (prepare_for_building, start_symtab): Update.
2373         (get_current_subfile): New function.
2374
2375 2018-07-20  Tom Tromey  <tom@tromey.com>
2376
2377         * coffread.c (coff_symtab_read): Update.
2378         * xcoffread.c (read_xcoff_symtab): Update.
2379         * dwarf2read.c (new_symbol): Update.
2380         (read_func_scope, read_lexical_block_scope): Update.
2381         * dbxread.c (process_one_symbol): Update.
2382         * buildsym.h (context_stack, context_stack_depth): Don't declare.
2383         (outermost_context_p): Remove macro.
2384         (outermost_context_p, get_current_context_stack)
2385         (get_context_stack_depth): Declare.
2386         (pop_context): Return struct context_stack.
2387         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
2388         member.
2389         (context_stack_size): Remove.
2390         (INITIAL_CONTEXT_STACK_SIZE): Remove.
2391         (prepare_for_building, end_symtab_get_static_block)
2392         (augment_type_symtab, push_context): Update.
2393         (pop_context): Return struct context_stack.
2394         (outermost_context_p, get_current_context_stack)
2395         (get_context_stack_depth): New functions.
2396         (buildsym_init): Update.
2397
2398 2018-07-20  Tom Tromey  <tom@tromey.com>
2399
2400         * rust-exp.y: Now a pure parser.  Update all rules.
2401         (%union): Move earlier.
2402         (current_parser, work_obstack): Remove globals.
2403         (rust_parser, ~rust_parser): Update.
2404         (class rust_parser) <copy_name, concat3, crate_name, super_name,
2405         lex_character, lex_number, lex_string, lex_identifier,
2406         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
2407         convert_name, convert_params_to_expression,
2408         convert_ast_to_expression, ast_basic_type, ast_operation,
2409         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
2410         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
2411         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
2412         ast_array_type, ast_slice_type, ast_reference_type,
2413         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
2414         (rust_parse): Update.
2415         (rustyyerror, rustyylex): Add parser parameter.
2416         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
2417         (rust_lex_stringish_test, rust_lex_test_sequence)
2418         (rust_lex_test_trailing_dot, rust_lex_test_completion)
2419         (rust_lex_test_push_back, rust_lex_tests): Update.
2420
2421 2018-07-19  Pedro Alves  <palves@redhat.com>
2422
2423         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
2424         gdb::unique_xmalloc_ptr.
2425         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
2426         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
2427         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
2428         copy-initialization.
2429         * guile/scm-pretty-print.c (ppscm_print_children): Use
2430         gdb::unique_xmalloc_ptr instead of cleanups.
2431         (gdbscm_apply_val_pretty_printer): Remove cleanups.
2432         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
2433         gdb::unique_xmalloc_ptr.
2434         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2435         Adjust to use gdb::unique_xmalloc_ptr.
2436         * guile/scm-utils.c (extract_arg): Adjust.
2437         * guile/scm-value.c (gdbscm_value_field): Adjust to use
2438         gdb::unique_xmalloc_ptr instead of a cleanup.
2439
2440 2018-07-19  Tom Tromey  <tom@tromey.com>
2441
2442         * utils.c (do_value_free_to_mark)
2443         (make_cleanup_value_free_to_mark): Remove.
2444         * utils.h (make_cleanup_value_free_to_mark): Remove.
2445
2446 2018-07-19  Pedro Alves  <palves@redhat.com>
2447
2448         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
2449         forwarding reference.
2450
2451 2018-07-18  Pedro Alves  <palves@redhat.com>
2452
2453         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
2454         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
2455         cleanup.
2456
2457 2018-07-18  Pedro Alves  <palves@redhat.com>
2458
2459         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
2460         exceptions.
2461         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
2462         (gdbscm_wrap): New.
2463         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
2464         directly instead of a cleanup.
2465         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
2466         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
2467         (vlscm_binop_gdbthrow): New, factored out from ...
2468         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
2469         (vlscm_rich_compare): Use gdbscm_wrap.
2470         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
2471         instead of a cleanup.
2472         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
2473         cleanup.
2474         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
2475         Use xfree directly instead of a cleanup.
2476         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
2477         Adjust to use gdbscm_wrap and scoped_value_mark.
2478         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
2479         (gdbscm_value_address, gdbscm_value_dereference)
2480         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
2481         scoped_value_mark.
2482         (gdbscm_value_dynamic_type): Use scoped_value_mark.
2483         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
2484         scoped_value_mark.
2485         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
2486         gdbscm_wrap and scoped_value_mark.
2487         (gdbscm_value_to_string): Use xfree directly instead of a
2488         cleanup.  Move 'buffer' unique_ptr to TRY scope.
2489         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
2490         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
2491         scoped_value_mark.
2492         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
2493         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
2494         scoped_value_mark.
2495         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
2496         gdbscm_wrap.
2497
2498 2018-07-18  Tom de Vries  <tdevries@suse.de>
2499
2500         * findvar.c (default_read_var_value): Also resolve dynamic type for
2501         LOC_OPTIMIZED_OUT vars.
2502
2503 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
2504
2505         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
2506         decoding.
2507
2508 2018-07-17  Tom Tromey  <tom@tromey.com>
2509
2510         * guile/scm-param.c (pascm_set_func, pascm_show_func)
2511         (compute_enum_list, pascm_set_param_value_x)
2512         (gdbscm_parameter_value): Update.
2513         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
2514         (gdbscm_scm_to_host_string): Update.
2515         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
2516         Update.
2517         * guile/scm-cmd.c (cmdscm_add_completion): Update.
2518         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
2519         * guile/scm-string.c (gdbscm_scm_to_string): Return
2520         unique_xmalloc_ptr.
2521         (gdbscm_scm_to_host_string): Likewise.
2522
2523 2018-07-17  Tom Tromey  <tom@tromey.com>
2524
2525         * guile/guile.c (gdbscm_eval_from_control_command): Update.
2526         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
2527         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
2528         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
2529         unique_xmalloc_ptr.
2530
2531 2018-07-17  Tom Tromey  <tom@tromey.com>
2532
2533         * guile/scm-param.c (pascm_signal_setshow_error): Update.
2534         * guile/guile-internal.h (gdbscm_exception_message_to_string):
2535         Update.
2536         * guile/scm-cmd.c (cmdscm_function): Update.
2537         * guile/scm-pretty-print.c
2538         (ppscm_print_exception_unless_memory_error): Update.
2539         * guile/scm-exception.c (gdbscm_exception_message_to_string):
2540         Return unique_xmalloc_ptr.
2541
2542 2018-07-17  Tom Tromey  <tom@tromey.com>
2543
2544         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
2545         Use string_printf.
2546
2547 2018-07-17  Jim Wilson  <jimw@sifive.com>
2548
2549         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
2550         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
2551         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
2552         unecessary braces after EF_RISCV_RVC test.  Delete call to
2553         set_gdbarch_decr_pc_after_break.
2554
2555         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
2556         RISCV_LAST_FP_REGNUM + 1.
2557         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2558
2559 2018-07-17  Tom Tromey  <tom@tromey.com>
2560
2561         * configure.ac: Remove --disable-gdbcli.
2562         * configure: Rebuild.
2563         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
2564         (SUBDIR_CLI_CFLAGS): Remove.
2565         (SFILES): Use SUBDIR_CLI_SRCS.
2566         (COMMON_OBS): Use SUBDIR_CLI_OBS.
2567
2568 2018-07-17  Tom Tromey  <tom@tromey.com>
2569
2570         PR gdb/18624:
2571         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2572
2573 2018-07-16  Jim Wilson  <jimw@sifive.com>
2574
2575         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2576
2577 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2578
2579         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
2580         variable.
2581         (libunwind_frame_sniffer): Likewise.
2582         (libunwind_frame_prev_register): Likewise.
2583         (libunwind_sigtramp_frame_sniffer): Likewise.
2584         * ia64-tdep.c (ia64_access_reg): Likewise.
2585         (ia64_access_rse_reg): Likewise.
2586         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
2587         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2588
2589 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2590
2591         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2592
2593 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
2594
2595         * remote-sim.c (gdbsim_target::close,
2596         gdbsim_target::mourn_inferior): Remove unused variables.
2597
2598 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
2599
2600         * ia64-tdep.c (ktab_buf): New global.
2601         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
2602         (get_kernel_table): Adjust.
2603
2604 2018-07-16  Tom Tromey  <tom@tromey.com>
2605
2606         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
2607         * dwarf2read.c (using_directives, new_symbol): Use
2608         outermost_context_p.
2609         * dbxread.c (process_one_symbol): Use outermost_context_p.
2610         * coffread.c (coff_symtab_read): Use outermost_context_p.
2611
2612 2018-07-16  Tom Tromey  <tom@tromey.com>
2613
2614         * dwarf2read.c (using_directives, read_func_scope)
2615         (read_lexical_block_scope): Update.
2616         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
2617         * buildsym.h (local_using_directives, global_using_directives):
2618         Don't declare.
2619         (get_local_using_directives, set_local_using_directives)
2620         (get_global_using_directives): Declare.
2621         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
2622         m_global_using_directives>: New members.
2623         (finish_block_internal, prepare_for_building)
2624         (reset_symtab_globals, end_symtab_get_static_block)
2625         (push_context): Update.
2626         (get_local_using_directives, set_local_using_directives)
2627         (get_global_using_directives): New functions.
2628         (buildsym_init): Update.
2629
2630 2018-07-16  Tom Tromey  <tom@tromey.com>
2631
2632         * xcoffread.c (xcoff_initial_scan): Don't call
2633         free_pending_blocks.
2634         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
2635         * buildsym.h (class scoped_free_pendings): Add constructor.
2636         (free_pending_blocks): Don't declare.
2637         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
2638         (free_pending_blocks): Now static.
2639
2640 2018-07-16  Tom Tromey  <tom@tromey.com>
2641
2642         * buildsym.h (push_subfile, pop_subfile): Update declarations.
2643         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
2644         member.
2645         (struct subfile_stack): Remove.
2646         (subfile_stack): Remove.
2647         (push_subfile, pop_subfile, buildsym_init): Update.
2648
2649 2018-07-16  Tom Tromey  <tom@tromey.com>
2650
2651         * buildsym.c (push_subfile): Use gdb_assert.
2652         (pop_subfile): Use gdb_assert.
2653
2654 2018-07-16  Tom Tromey  <tom@tromey.com>
2655
2656         * buildsym.h (merge_symbol_lists): Remove.
2657         * buildsym.c (merge_symbol_lists): Remove.
2658
2659 2018-07-16  Tom Tromey  <tom@tromey.com>
2660
2661         * stabsread.c (scan_file_globals): Update comment.
2662         * stabsread.h (scan_file_globals): Move from buildsym.h.
2663         * buildsym.h (scan_file_globals): Move to stabsread.h.
2664
2665 2018-07-16  Tom Tromey  <tom@tromey.com>
2666
2667         * xcoffread.c (xcoff_new_init): Update.
2668         * mipsread.c (mipscoff_new_init): Update.
2669         * mdebugread.c (mdebug_build_psymtabs): Update.
2670         * elfread.c (elf_new_init): Update.
2671         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
2672         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
2673         * buildsym.h (buildsym_new_init): Don't declare.
2674         * buildsym.c (buildsym_new_init): Remove.
2675
2676 2018-07-16  Tom Tromey  <tom@tromey.com>
2677
2678         * stabsread.h (within_function): Move from buildsym.h.
2679         * stabsread.c (start_stabs): Clear within_function.
2680         * coffread.c (coff_start_symtab): Clear within_function.
2681         * buildsym.h (within_function): Move to stabsread.h.
2682         * buildsym.c (prepare_for_building): Update.
2683
2684 2018-07-16  Tom Tromey  <tom@tromey.com>
2685
2686         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
2687         * dwarf2read.c (dwarf2_start_symtab): Don't set
2688         processing_gcc_compilation.
2689         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2690
2691 2018-07-16  Tom Tromey  <tom@tromey.com>
2692
2693         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
2694         (next_symbol_text_func): Move from buildsym.h.
2695         * stabsread.c (hashname): Move from buildsym.c.
2696         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
2697         (next_symbol_text_func, hashname): Move to stabsread.h.
2698         * buildsym.c: Don't include bcache.h
2699         (hashname): Move to stasbread.c.
2700
2701 2018-07-16  Tom Tromey  <tom@tromey.com>
2702
2703         * buildsym.h (context_stack_size): Don't declare.
2704         * buildsym.c (context_stack_size): New global.
2705
2706 2018-07-16  Tom Tromey  <tom@tromey.com>
2707
2708         * dbxread.c (processing_acc_compilation): New global.
2709         * buildsym.h (processing_acc_compilation): Don't declare.
2710
2711 2018-07-16  Tom Tromey  <tom@tromey.com>
2712
2713         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
2714         * dbxread.c (read_ofile_symtab): Update.
2715         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
2716         * buildsym.h (last_source_start_addr): Remove.
2717         (set_last_source_start_addr, get_last_source_start_addr):
2718         Declare.
2719         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
2720         parameter.
2721         (struct buildsym_compunit) <m_last_source_start_addr>: New
2722         member.
2723         (prepare_for_building): Remove start_addr parameter.
2724         (start_symtab, restart_symtab, end_symtab_get_static_block)
2725         (end_symtab_with_blockvector): Update.
2726         (set_last_source_start_addr, get_last_source_start_addr): New
2727         functions.
2728
2729 2018-07-16  Tom Tromey  <tom@tromey.com>
2730
2731         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
2732         member.
2733         (have_line_numbers): Remove.
2734         (record_line, prepare_for_building, end_symtab_get_static_block)
2735         (augment_type_symtab): Update.
2736
2737 2018-07-16  Tom Tromey  <tom@tromey.com>
2738
2739         * buildsym.c (~buildsym_compunit): Free the macro table.
2740         (struct buildsym_compunit) <get_macro_table, release_macros>: New
2741         methods.
2742         <m_pending_macros>: New member.
2743         (pending_macros): Remove.
2744         (~scoped_free_pendings, get_macro_table, prepare_for_building)
2745         (reset_symtab_globals, end_symtab_get_static_block)
2746         (end_symtab_with_blockvector, augment_type_symtab)
2747         (buildsym_init): Update.
2748
2749 2018-07-16  Tom Tromey  <tom@tromey.com>
2750
2751         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
2752         parameter.
2753         (buildsym_compunit::set_last_source_file): New method.
2754         <m_last_source_file>: New member.
2755         (prepare_for_building): Remove "name" parameter.
2756         (start_symtab, restart_symtab, reset_symtab_globals): Update.
2757         (last_source_file): Remove.
2758         (set_last_source_file, get_last_source_file): Update.
2759
2760 2018-07-16  Tom Tromey  <tom@tromey.com>
2761
2762         * buildsym.c (prepare_for_building): Add assert.
2763
2764 2018-07-16  Tom Tromey  <tom@tromey.com>
2765
2766         * buildsym.c (~buildsym_compunit): Update.
2767         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
2768         (start_subfile, patch_subfile_names)
2769         (end_symtab_with_blockvector): Update.
2770
2771 2018-07-16  Tom Tromey  <tom@tromey.com>
2772
2773         * buildsym.c (struct buildsym_compunit): Add constructor,
2774         destructor, initializers.
2775         (start_buildsym_compunit): Remove.
2776         (free_buildsym_compunit): Use "delete".
2777         (start_symtab, restart_symtab): Use "new".
2778
2779 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
2780
2781         * symfile.c (set_objfile_default_section_offset): Remove struct
2782         keyword.
2783
2784 2018-07-14  Stafford Horne  <shorne@gmail.com>
2785
2786         * (Responsible Maintainers): Add myself as or1k maintainer.
2787
2788 2018-07-13  Tom Tromey  <tom@tromey.com>
2789
2790         * symfile.c (set_objfile_default_section_offset): Use extra braces
2791         around initializer.
2792
2793 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2794
2795         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
2796         non-branching basr.
2797
2798 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2799
2800         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2801         unittests/cli-utils-selftests.c
2802         * unittests/cli-utils-selftests.c: New file.
2803
2804 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2805
2806         * NEWS: Mention new commands. Mention change to 'thread apply'.
2807
2808 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2809
2810         * thread.c (thr_try_catch_cmd): New function.
2811         (thread_apply_all_command): Handle qcs flags.
2812         (thread_apply_command): Handle qcs flags.
2813         (taas_command): New function.
2814         (tfaas_command): New function.
2815         (_initialize_thread): Update to setup the new commands 'taas
2816         and 'tfaas'. Change doc string for 'thread apply'.
2817
2818 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2819
2820         * stack.c: (trailing_outermost_frame): New function, mostly
2821         extracted from backtrace_command_1.
2822         (leading_innermost_frame): New function.
2823         (backtrace_command_1): Update to call trailing_outermost_frame.
2824         (frame_apply_command_count): New function.
2825         (frame_apply_level_command): New function.
2826         (frame_apply_all_command): New function.
2827         (frame_apply_command): New function.
2828         (faas_command): New function.
2829         (frame_cmd_list): New variable.
2830         (_initialize_stack): Update to setup the new commands 'frame apply'
2831         and 'faas'.
2832
2833 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2834
2835         * cli-utils.c (number_or_range_parser::get_number): Only handle
2836         numbers or convenience var as numbers.
2837         (parse_flags): New function.
2838         (parse_flags_qcs): New function.
2839         (number_or_range_parser::finished): Ensure parsing end is detected
2840         before end of string.
2841         * cli-utils.h (parse_flags): New function.
2842         (parse_flags_qcs): New function.
2843         (number_or_range_parser): Remove m_finished bool.
2844         (number_or_range_parser::skip_range): Set m_in_range to false.
2845
2846 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
2847
2848         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
2849         on Windows.
2850
2851 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2852             Jan Kratochvil  <jan.kratochvil@redhat.com>
2853             Paul Fertser  <fercerpav@gmail.com>
2854             Tsutomu Seki  <sekiriki@gmail.com>
2855             Pedro Alves  <palves@redhat.com>
2856
2857         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2858         'unittests/parse-connection-spec-selftests.c'.
2859         (COMMON_SFILES): Add 'common/netstuff.c'.
2860         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
2861         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
2862         * common/netstuff.c: New file.
2863         * common/netstuff.h: New file.
2864         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
2865         (wait_for_connect): Update comment.  New parameter
2866         'gdb::optional<int> sock' instead of 'struct serial *scb'.
2867         Use 'sock' directly instead of 'scb->fd'.
2868         (try_connect): New function, with code from 'net_open'.
2869         (net_open): Rewrite main loop to deal with multiple
2870         sockets/addresses.  Handle IPv6-style hostnames; implement
2871         support for IPv6 connections.
2872         * unittests/parse-connection-spec-selftests.c: New file.
2873
2874 2018-07-11  Pedro Alves  <palves@redhat.com>
2875
2876         PR gdb/23377
2877         * remote.c (remote_target::remote_detach_pid): Call
2878         set_current_process.
2879
2880 2018-07-11  Pedro Alves  <palves@redhat.com>
2881
2882         * h8300-tdep.c (h8300_gdbarch_init): Remove
2883         set_gdbarch_ecoff_reg_to_regnum calls.
2884
2885 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
2886
2887         PR c++/23373
2888         * c-typeprint.c (c_type_print_base_struct_union): Don't print
2889         offsets/sizes for static members of a class/struct.
2890
2891 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
2892
2893         * target-descriptions.c (tdesc_register_bitsize): Rename.
2894         * target-descriptions.h (tdesc_register_bitsize): Likewise.
2895         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
2896         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
2897
2898 2018-07-10  Tom Tromey  <tom@tromey.com>
2899
2900         * breakpoint.c (moribund_locations): Now static and a
2901         std::vector.
2902         (breakpoint_init_inferior, moribund_breakpoint_here_p)
2903         (build_bpstat_chain, update_global_location_list)
2904         (breakpoint_retire_moribund): Update.
2905         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
2906         VEC.
2907
2908 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2909
2910         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
2911         (riscv_register_reggroup_p): Use new function, remove unneeded
2912         parenthesis.
2913         (riscv_push_dummy_call): Extend assert to compare against xlen or
2914         flen based on register type.
2915
2916 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
2917
2918         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
2919
2920 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2921
2922         * remote.c (show_hardware_watchpoint_limit): New function.
2923         (show_hardware_watchpoint_length_limit): New function.
2924         (show_hardware_breakpoint_limit): New function.
2925         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
2926         where appropriate, update help text.
2927
2928 2018-07-09  Tom Tromey  <tom@tromey.com>
2929
2930         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
2931         (CLIBS): Don't mention NAT_CLIBS.
2932
2933 2018-07-09  Tom Tromey  <tom@tromey.com>
2934
2935         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
2936         (LIBGDB_OBS, clean mostlyclean): Update.
2937         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2938
2939 2018-07-09  Tom Tromey  <tom@tromey.com>
2940
2941         * Makefile.in (%.c: %.y): Use ECHO_YACC.
2942         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
2943         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2944
2945 2018-07-09  Tom Tromey  <tom@tromey.com>
2946
2947         * Makefile.in (ALLDEPFILES): Remove exec.c.
2948         (COMMON_OBS): Remove exec.o.
2949         (COMMON_SFILES): Add exec.c.
2950
2951 2018-07-09  Tom Tromey  <tom@tromey.com>
2952
2953         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2954
2955 2018-07-09  Tom Tromey  <tom@tromey.com>
2956
2957         * Makefile.in (clean mostlyclean): Remove stamp-version.
2958         (version.c): Depend on stamp-version.
2959         (stamp-version): New rule, from version.c rule.
2960
2961 2018-07-09  Tom Tromey  <tom@tromey.com>
2962
2963         * Makefile.in (init.c): Depend on stamp-init.
2964         (stamp-init): New rule, from init.c rule.
2965         (clean mostlyclean): Remove stamp-init.
2966
2967 2018-07-09  Tom Tromey  <tom@tromey.com>
2968
2969         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
2970         SUBDIR_GCC_COMPILE_SRCS.
2971
2972 2018-07-09  Tom Tromey  <tom@tromey.com>
2973
2974         * Makefile.in (init.c): Remove some unused sed rules.
2975
2976 2018-07-09  Tom Tromey  <tom@tromey.com>
2977
2978         * Makefile.in (TSOBS): Remove.
2979         (INIT_FILES): Update.
2980         (LIBGDB_OBS): Update.
2981         (COMMON_SFILES): Add inflow.c.
2982         (SFILES): Remove inflow.c.
2983
2984 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2985
2986         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
2987
2988 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
2989
2990         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
2991         get_saveloc_name, is_signal_frame_name, step_name,
2992         init_remote_name, create_addr_space_name,
2993         destroy_addr_space_name, search_unwind_table_name,
2994         find_dyn_list_name): Constify.
2995
2996 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
2997
2998         * darwin-nat.c (darwin_pthread_kill): New function.
2999         (darwin_resume_thread): Use darwin_pthread_kill.
3000
3001 2018-07-05  Tom de Vries  <tdevries@suse.de>
3002
3003         * macroexp.c (macro_buffer) <operator=>: New member function.
3004
3005 2018-07-04  Tom Tromey  <tom@tromey.com>
3006
3007         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
3008
3009 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
3010
3011         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
3012         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
3013         * maint.c: Likewise.
3014         * top.c: Likewise.
3015
3016 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3017
3018         * NEWS: Create a new section for the next release branch.
3019         Rename the section of the current branch, now that it has
3020         been cut.
3021
3022 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3023
3024         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
3025         * version.in: Bump version to 8.2.50.DATE-git.
3026
3027 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
3028             Pedro Alves  <palves@redhat.com>
3029
3030         * linux-nat.c (linux_init_ptrace): Rename to ...
3031         (linux_init_ptrace_procfs): ... this.  Call
3032         linux_proc_init_warnings.
3033         (linux_nat_target::post_attach)
3034         (linux_nat_target::post_startup_inferior): Adjust.
3035         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
3036         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
3037
3038 2018-07-04  Tom de Vries  <tdevries@suse.de>
3039
3040         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
3041         check ...
3042         (read_comp_unit_head): ... here.
3043
3044 2018-07-03  Tom Tromey  <tom@tromey.com>
3045
3046         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
3047         (stop_tracing, tstatus_command)
3048         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
3049         (print_one_static_tracepoint_marker): Update.
3050         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
3051         std::vector.
3052         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
3053         VEC.
3054         (all_tracepoints, static_tracepoints_here): Return std::vector.
3055
3056 2018-07-03  Tom Tromey  <tom@tromey.com>
3057
3058         * common/ptid.c (ptid_equal): Remove.
3059         * common/ptid.h (ptid_equal): Don't declare.
3060         * ada-tasks.c: Update.
3061         * breakpoint.c: Update.
3062         * common/agent.c: Update.
3063         * corelow.c: Update.
3064         * darwin-nat-info.c: Update.
3065         * darwin-nat.c: Update.
3066         * dcache.c: Update.
3067         * dtrace-probe.c: Update.
3068         * dummy-frame.c: Update.
3069         * fbsd-nat.c: Update.
3070         * frame.c: Update.
3071         * gdbthread.h: Update.
3072         * gnu-nat.c: Update.
3073         * go32-nat.c: Update.
3074         * inf-loop.c: Update.
3075         * inf-ptrace.c: Update.
3076         * infcall.c: Update.
3077         * infcmd.c: Update.
3078         * inflow.c: Update.
3079         * infrun.c: Update.
3080         * linux-fork.c: Update.
3081         * linux-nat.c: Update.
3082         * linux-thread-db.c: Update.
3083         * mi/mi-cmd-var.c: Update.
3084         * mi/mi-interp.c: Update.
3085         * mi/mi-main.c: Update.
3086         * nto-procfs.c: Update.
3087         * ppc-linux-tdep.c: Update.
3088         * procfs.c: Update.
3089         * python/py-inferior.c: Update.
3090         * python/py-record-btrace.c: Update.
3091         * python/py-record.c: Update.
3092         * ravenscar-thread.c: Update.
3093         * regcache.c: Update.
3094         * remote-sim.c: Update.
3095         * remote.c: Update.
3096         * sol-thread.c: Update.
3097         * solib.c: Update.
3098         * target.c: Update.
3099         * tui/tui-stack.c: Update.
3100         * varobj.c: Update.
3101         * windows-nat.c: Update.
3102         * windows-tdep.c: Update.
3103
3104 2018-07-03  Tom Tromey  <tom@tromey.com>
3105
3106         * common/ptid.c (ptid_match): Remove.
3107         * common/ptid.h (ptid_match): Don't declare.
3108         * fbsd-nat.c: Update.
3109         * infcmd.c: Update.
3110         * infrun.c: Update.
3111         * linux-nat.c: Update.
3112         * record-btrace.c: Update.
3113         * regcache.c: Update.
3114         * remote.c: Update.
3115
3116 2018-07-03  Tom Tromey  <tom@tromey.com>
3117
3118         * common/ptid.c (ptid_tid_p): Remove.
3119         * common/ptid.h (ptid_tid_p): Don't declare.
3120         * sol-thread.c: Update.
3121
3122 2018-07-03  Tom Tromey  <tom@tromey.com>
3123
3124         * common/ptid.c (ptid_lwp_p): Remove.
3125         * common/ptid.h (ptid_lwp_p): Don't declare.
3126         * fbsd-nat.c: Update.
3127         * linux-nat.c: Update.
3128         * nat/linux-procfs.c: Update.
3129         * nat/x86-linux-dregs.c: Update.
3130         * sol-thread.c: Update.
3131
3132 2018-07-03  Tom Tromey  <tom@tromey.com>
3133
3134         * common/ptid.c (ptid_is_pid): Remove.
3135         * common/ptid.h (ptid_is_pid): Don't declare.
3136         * infrun.c: Update.
3137         * linux-nat.c: Update.
3138         * mi/mi-interp.c: Update.
3139         * remote.c: Update.
3140         * thread.c: Update.
3141
3142 2018-07-03  Tom Tromey  <tom@tromey.com>
3143
3144         * common/ptid.c (ptid_get_tid): Remove.
3145         * common/ptid.h (ptid_get_tid): Don't declare.
3146         * ada-tasks.c: Update.
3147         * aix-thread.c: Update.
3148         * bsd-uthread.c: Update.
3149         * darwin-nat.c: Update.
3150         * fbsd-nat.c: Update.
3151         * i386-darwin-nat.c: Update.
3152         * infrun.c: Update.
3153         * linux-tdep.c: Update.
3154         * nto-procfs.c: Update.
3155         * ppc-ravenscar-thread.c: Update.
3156         * python/py-infthread.c: Update.
3157         * ravenscar-thread.c: Update.
3158         * sol-thread.c: Update.
3159         * sparc-ravenscar-thread.c: Update.
3160         * windows-nat.c: Update.
3161
3162 2018-07-03  Tom Tromey  <tom@tromey.com>
3163
3164         * common/ptid.c (ptid_get_lwp): Remove.
3165         * common/ptid.h (ptid_get_lwp): Don't declare.
3166         * aarch64-linux-nat.c: Update.
3167         * ada-tasks.c: Update.
3168         * aix-thread.c: Update.
3169         * amd64-linux-nat.c: Update.
3170         * arm-linux-nat.c: Update.
3171         * corelow.c: Update.
3172         * fbsd-nat.c: Update.
3173         * fbsd-tdep.c: Update.
3174         * gnu-nat.c: Update.
3175         * i386-cygwin-tdep.c: Update.
3176         * i386-gnu-nat.c: Update.
3177         * i386-linux-nat.c: Update.
3178         * ia64-linux-nat.c: Update.
3179         * inf-ptrace.c: Update.
3180         * infrun.c: Update.
3181         * linux-fork.c: Update.
3182         * linux-nat.c: Update.
3183         * linux-tdep.c: Update.
3184         * linux-thread-db.c: Update.
3185         * mips-linux-nat.c: Update.
3186         * nat/aarch64-linux-hw-point.c: Update.
3187         * nat/aarch64-linux.c: Update.
3188         * nat/linux-btrace.c: Update.
3189         * nat/linux-osdata.c: Update.
3190         * nat/linux-procfs.c: Update.
3191         * nat/x86-linux-dregs.c: Update.
3192         * obsd-nat.c: Update.
3193         * ppc-fbsd-nat.c: Update.
3194         * ppc-linux-nat.c: Update.
3195         * procfs.c: Update.
3196         * python/py-infthread.c: Update.
3197         * ravenscar-thread.c: Update.
3198         * remote.c: Update.
3199         * s390-linux-nat.c: Update.
3200         * sol-thread.c: Update.
3201         * sol2-tdep.c: Update.
3202         * spu-linux-nat.c: Update.
3203         * x86-linux-nat.c: Update.
3204         * xtensa-linux-nat.c: Update.
3205
3206 2018-07-03  Tom Tromey  <tom@tromey.com>
3207
3208         * common/ptid.c (ptid_get_pid): Remove.
3209         * common/ptid.h (ptid_get_pid): Don't declare.
3210         * aarch64-linux-nat.c: Update.
3211         * ada-lang.c: Update.
3212         * aix-thread.c: Update.
3213         * alpha-bsd-nat.c: Update.
3214         * amd64-fbsd-nat.c: Update.
3215         * amd64-linux-nat.c: Update.
3216         * arm-linux-nat.c: Update.
3217         * arm-nbsd-nat.c: Update.
3218         * auxv.c: Update.
3219         * break-catch-syscall.c: Update.
3220         * breakpoint.c: Update.
3221         * bsd-uthread.c: Update.
3222         * corelow.c: Update.
3223         * ctf.c: Update.
3224         * darwin-nat.c: Update.
3225         * fbsd-nat.c: Update.
3226         * fbsd-tdep.c: Update.
3227         * gcore.c: Update.
3228         * gnu-nat.c: Update.
3229         * hppa-nbsd-nat.c: Update.
3230         * hppa-obsd-nat.c: Update.
3231         * i386-fbsd-nat.c: Update.
3232         * ia64-linux-nat.c: Update.
3233         * inf-ptrace.c: Update.
3234         * infcmd.c: Update.
3235         * inferior.c: Update.
3236         * inferior.h: Update.
3237         * inflow.c: Update.
3238         * infrun.c: Update.
3239         * linux-fork.c: Update.
3240         * linux-nat.c: Update.
3241         * linux-tdep.c: Update.
3242         * linux-thread-db.c: Update.
3243         * m68k-bsd-nat.c: Update.
3244         * mi/mi-interp.c: Update.
3245         * mi/mi-main.c: Update.
3246         * mips-linux-nat.c: Update.
3247         * mips-nbsd-nat.c: Update.
3248         * mips64-obsd-nat.c: Update.
3249         * nat/aarch64-linux-hw-point.c: Update.
3250         * nat/aarch64-linux.c: Update.
3251         * nat/linux-btrace.c: Update.
3252         * nat/linux-osdata.c: Update.
3253         * nat/linux-procfs.c: Update.
3254         * nat/x86-linux-dregs.c: Update.
3255         * nto-procfs.c: Update.
3256         * obsd-nat.c: Update.
3257         * ppc-linux-nat.c: Update.
3258         * ppc-nbsd-nat.c: Update.
3259         * ppc-obsd-nat.c: Update.
3260         * proc-service.c: Update.
3261         * procfs.c: Update.
3262         * python/py-inferior.c: Update.
3263         * python/py-infthread.c: Update.
3264         * ravenscar-thread.c: Update.
3265         * record.c: Update.
3266         * remote-sim.c: Update.
3267         * remote.c: Update.
3268         * rs6000-nat.c: Update.
3269         * s390-linux-nat.c: Update.
3270         * sh-nbsd-nat.c: Update.
3271         * sol-thread.c: Update.
3272         * sparc-nat.c: Update.
3273         * sparc64-tdep.c: Update.
3274         * spu-linux-nat.c: Update.
3275         * spu-tdep.c: Update.
3276         * target-debug.h: Update.
3277         * target.c: Update.
3278         * thread.c: Update.
3279         * tid-parse.c: Update.
3280         * tracefile-tfile.c: Update.
3281         * vax-bsd-nat.c: Update.
3282         * windows-nat.c: Update.
3283         * x86-linux-nat.c: Update.
3284         * x86-nat.c: Update.
3285
3286 2018-07-03  Tom Tromey  <tom@tromey.com>
3287
3288         * common/ptid.c (pid_to_ptid): Remove.
3289         * common/ptid.h (pid_to_ptid): Don't declare.
3290         * aix-thread.c: Update.
3291         * arm-linux-nat.c: Update.
3292         * common/ptid.c: Update.
3293         * common/ptid.h: Update.
3294         * corelow.c: Update.
3295         * ctf.c: Update.
3296         * darwin-nat.c: Update.
3297         * fbsd-nat.c: Update.
3298         * fork-child.c: Update.
3299         * gnu-nat.c: Update.
3300         * go32-nat.c: Update.
3301         * inf-ptrace.c: Update.
3302         * infcmd.c: Update.
3303         * inferior.c: Update.
3304         * infrun.c: Update.
3305         * linux-fork.c: Update.
3306         * linux-nat.c: Update.
3307         * nat/aarch64-linux-hw-point.c: Update.
3308         * nat/fork-inferior.c: Update.
3309         * nat/x86-linux-dregs.c: Update.
3310         * nto-procfs.c: Update.
3311         * obsd-nat.c: Update.
3312         * procfs.c: Update.
3313         * progspace.c: Update.
3314         * remote.c: Update.
3315         * rs6000-nat.c: Update.
3316         * s390-linux-nat.c: Update.
3317         * sol-thread.c: Update.
3318         * spu-linux-nat.c: Update.
3319         * target.c: Update.
3320         * top.c: Update.
3321         * tracefile-tfile.c: Update.
3322         * windows-nat.c: Update.
3323
3324 2018-07-03  Tom Tromey  <tom@tromey.com>
3325
3326         * common/ptid.h (ptid_build): Don't declare.
3327         * common/ptid.c (ptid_build): Remove.
3328         * aix-thread.c: Update.
3329         * bsd-kvm.c: Update.
3330         * bsd-uthread.c: Update.
3331         * common/agent.c: Update.
3332         * common/ptid.c: Update.
3333         * common/ptid.h: Update.
3334         * corelow.c: Update.
3335         * darwin-nat.c: Update.
3336         * fbsd-nat.c: Update.
3337         * gnu-nat.c: Update.
3338         * linux-fork.c: Update.
3339         * linux-nat.c: Update.
3340         * linux-thread-db.c: Update.
3341         * nat/linux-osdata.c: Update.
3342         * nat/linux-procfs.c: Update.
3343         * nto-procfs.c: Update.
3344         * obsd-nat.c: Update.
3345         * proc-service.c: Update.
3346         * procfs.c: Update.
3347         * ravenscar-thread.c: Update.
3348         * remote-sim.c: Update.
3349         * remote.c: Update.
3350         * sol-thread.c: Update.
3351         * target.c: Update.
3352         * windows-nat.c: Update.
3353
3354 2018-07-03  Tom Tromey  <tom@tromey.com>
3355
3356         * infrun.c (follow_exec): Use exit_inferior_silent.
3357         * inferior.c (exit_inferior_num_silent): Remove.
3358         * inferior.h (exit_inferior_num_silent): Don't declare.
3359
3360 2018-07-03  Tom Tromey  <tom@tromey.com>
3361
3362         PR cli/23340:
3363         * darwin-nat.c (darwin_attach_pid): Reset inferior and
3364         inferior_ptid on error.
3365
3366 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
3367             Simon Marchi  <simon.marchi@polymtl.ca>
3368
3369         PR tdep/8282
3370         * disasm.h (gdb_disassembler): Add
3371         `m_disassembler_options_holder'. member
3372         * disasm.c (get_all_disassembler_options): New function.
3373         (gdb_disassembler::gdb_disassembler): Use it.
3374         (gdb_buffered_insn_length_init_dis): Likewise.
3375         (gdb_buffered_insn_length): Adjust accordingly.
3376         (set_disassembler_options): Handle options with arguments.
3377         (show_disassembler_options_sfunc): Likewise.  Add a leading new
3378         line if showing options with descriptions.
3379         (disassembler_options_completer): Adapt to using the
3380         `disasm_options_and_args_t' structure.
3381         * mips-tdep.c (mips_disassembler_options): New variable.
3382         (mips_disassembler_options_o32): Likewise.
3383         (mips_disassembler_options_n32): Likewise.
3384         (mips_disassembler_options_n64): Likewise.
3385         (gdb_print_insn_mips): Don't set `disassembler_options'.
3386         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
3387         functions.
3388         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
3389         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
3390         `gdbarch_disassembler_options_implicit' and
3391         `gdbarch_valid_disassembler_options'.
3392         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
3393         `disasm_options_and_args_t' structure.
3394         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
3395         method.
3396         (valid_disassembler_options): Switch from `disasm_options_t' to
3397         the `disasm_options_and_args_t' structure.
3398         * NEWS: Document `set disassembler-options' support for the MIPS
3399         target.
3400         * gdbarch.h: Regenerate.
3401         * gdbarch.c: Regenerate.
3402
3403 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3404
3405         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
3406
3407 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
3408
3409         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
3410         parameter in call to amd64_target_description.
3411         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
3412         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
3413         (amd64fbsd_init_abi): Likewise.
3414         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
3415         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
3416         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
3417         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
3418
3419 2018-06-29  Pedro Alves  <palves@redhat.com>
3420
3421         * gdb/amd64-tdep.h (amd64_create_target_description): Add
3422         "segments" parameter.
3423         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
3424         (_initialize_amd64_tdep): Update call to
3425         amd64_create_target_description.
3426         (amd64_target_description): Add "segments" parameter.  Adjust
3427         the implementation to use it.
3428         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
3429         call to amd64_create_target_description.
3430         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
3431         * gdb/arch/amd64.h (amd64_create_target_description): Add
3432         "segments" register.
3433         * gdb/arch/amd64.c (amd64_create_target_description): Add
3434         "segments" parameter.  Call create_feature_i386_64bit_segments
3435         only if SEGMENTS is true.
3436         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
3437         call to amd64_create_target_description.
3438
3439 2018-06-29  Pedro Alves  <palves@redhat.com>
3440
3441         * thread.c (thread_target_id_str): New, factored out from ...
3442         (print_thread_info_1): ... here.  Use it to compute the max
3443         "Target Id" column width.
3444
3445 2018-06-29  Pedro Alves  <palves@redhat.com>
3446
3447         * remote.c (remote_target::extra_thread_info): Delete
3448         'display_buf' and 'n' locals.  from the cache, regardless of
3449         packet mechanims is in use.  Use cache for qThreadExtra and qP
3450         methods too.
3451
3452 2018-06-29  Pedro Alves  <palves@redhat.com>
3453
3454         * blockframe.c (find_pc_sect_containing_function): New function.
3455         * breakpoint.c (print_breakpoint_location): Don't call
3456         find_pc_sect_function.
3457         * linespec.c (create_sals_line_offset): Record the location's
3458         symbol in the sal.
3459         * linespec.c (convert_address_location_to_sals): Fill in sal's
3460         symbol with find_pc_sect_containing_function.
3461         * symtab.c (find_function_start_sal): Rename to ...
3462         (find_function_start_sal_1): ... this.
3463         (find_function_start_sal): Reimplement as wrapper around
3464         find_function_start_sal_1, and use
3465         find_pc_sect_containing_function to fill in the sal's symbol.
3466         (find_function_start_sal(symbol*, bool)): Adjust.
3467         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
3468         comments.
3469         (find_pc_sect_containing_function): Declare.
3470
3471 2018-06-29  Pedro Alves  <palves@redhat.com>
3472
3473         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
3474         true if the the location has no symbol.
3475
3476 2018-06-28  Tom Tromey  <tom@tromey.com>
3477
3478         * NEWS: Mention --enable-codesign.
3479         * silent-rules.mk (ECHO_SIGN): New variable.
3480         * configure.ac: Add --enable-codesign.
3481         * configure: Rebuild.
3482         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
3483         (gdb$(EXEEXT)): Optionally invoke codesign.
3484
3485 2018-06-28  Pedro Alves  <palves@redhat.com>
3486
3487         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
3488         comments.
3489         (switch_to_thread_no_regs): Adjust comment.
3490         * infcmd.c (stop_pc): Delete.
3491         (post_create_inferior, info_program_command): Replace references
3492         to stop_pc with references to thread_info->suspend.stop_pc.
3493         * inferior.h (stop_pc): Delete declaration.
3494         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
3495         (handle_inferior_event_1, handle_signal_stop)
3496         (process_event_stop_test, keep_going_stepped_thread)
3497         (handle_step_into_function, handle_step_into_function_backward)
3498         (print_stop_location): Replace references to stop_pc with
3499         references to thread_info->suspend.stop_pc.
3500         (struct infcall_suspend_state) <stop_pc>: Delete field.
3501         (save_infcall_suspend_state, restore_infcall_suspend_state):
3502         Remove references to inf_stat->stop_pc.
3503         * linux-fork.c (fork_load_infrun_state): Likewise.
3504         * record-btrace.c (record_btrace_set_replay): Likewise.
3505         * record-full.c (record_full_goto_entry): Likewise.
3506         * remote.c (print_one_stopped_thread): Likewise.
3507         * target.c (target_resume): Extend comment.
3508         * thread.c (set_executing_thread): New.
3509         (set_executing): Use it.
3510         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
3511         Remove references to stop_pc.
3512
3513 2018-06-28  Pedro Alves  <palves@redhat.com>
3514
3515         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
3516         Moving fetching stop_pc until after ecs->event_thread is refreshed.
3517
3518 2018-06-28  Tom Tromey  <tom@tromey.com>
3519
3520         * coffread.c (coff_symfile_finish): Update.
3521         * xcoffread.c (xcoff_symfile_finish): Update.
3522         * elfread.c (elf_symfile_finish): Update.
3523         * symfile.h (dwarf2_free_objfile): Don't declare.
3524         * dwarf2read.c (_initialize_dwarf2_read): Use
3525         register_objfile_data_with_cleanup.
3526         (dwarf2_free_objfile): Now static.  Change signature.
3527
3528 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3529
3530         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
3531         option "-o" to add-symbol-file-load to add an offset to each
3532         section's load address.
3533         * symfile.c (set_objfile_default_section_offset): New function.
3534
3535 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3536
3537         * symfile.c (add_symbol_file_command): Make sure that sections
3538         with the same name are sorted in the same order.
3539
3540 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3541
3542         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
3543         require the second argument.  If omitted, load sections at the
3544         addresses specified in the file.
3545
3546 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3547
3548         * symfile.c (symbol_file_command, symbol_file_add_main_1)
3549         (_initialize_symfile): Add option "-o" to symbol-file to add an
3550         offset to each section of the symbol file.
3551
3552 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
3553
3554         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
3555
3556 2018-06-27  Tom Tromey  <tom@tromey.com>
3557
3558         * stack.c (_initialize_stack): Update "func" help text.
3559
3560 2018-06-27  Tom Tromey  <tom@tromey.com>
3561
3562         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
3563         std::vector.
3564         (unwind_infopy_str, pyuw_create_unwind_info)
3565         (unwind_infopy_add_saved_register, pyuw_sniffer)
3566         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
3567         Update.
3568         (struct saved_reg): Add constructor.
3569         <value>: Now a gdbpy_ref<>.
3570
3571 2018-06-27  Tom Tromey  <tom@tromey.com>
3572
3573         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
3574
3575 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3576
3577         * gdb-gdb.py.in: Format using autopep8.
3578
3579 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3580
3581         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
3582         (type_lookup_function): Recognize CORE_ADDR values.
3583
3584 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3585
3586         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
3587         print tag_name.
3588
3589 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3590
3591         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
3592         <__lt__>: Add.
3593
3594 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3595
3596         * gdb-gdb.py: Move to...
3597         * gdb-gdb.py.in: ... here.
3598         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
3599         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
3600         dependencies.
3601         (distclean): Remove gdb-gdb.py when cleaning.
3602         (gdb-gdb.py, gdb-gdb.gdb): New rules.
3603         * configure: Re-generate.
3604
3605 2018-06-27  Pedro Alves  <palves@redhat.com>
3606
3607         * proc-service.c (get_ps_regcache): New.
3608         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
3609         (ps_lsetfpregs): Use it.
3610
3611 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
3612
3613         PR gdb/21695
3614         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
3615         (dwarf_decode_lines_1): Adjust.
3616
3617 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
3618
3619         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
3620         override.
3621         <info_proc>: Likewise.
3622
3623 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
3624
3625         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
3626         to windows_fetch_one_register, and only handle the case of
3627         fetching one register.  Move the code that reloads the context
3628         and iterates over all registers if R is negative to...
3629         (windows_nat_target::fetch_registers): ... here.
3630         (do_windows_store_inferior_registers): Rename to
3631         windows_store_one_register, and only handle the case of storing
3632         one register.  Move the code that handles the case where r is
3633         negative to...
3634         (windows_nat_target::store_registers) ... here.
3635
3636 2018-06-26  Tom Tromey  <tom@tromey.com>
3637
3638         PR rust/22574:
3639         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
3640         * rust-lang.c (rust_print_struct_def): Add podata parameter.
3641         Update.
3642         (rust_internal_print_type): Add podata parameter.
3643         (rust_print_type): Update.
3644
3645 2018-06-26  Tom Tromey  <tom@tromey.com>
3646
3647         * typeprint.h (struct print_offset_data) <update, finish,
3648         maybe_print_hole>: New methods.
3649         <indentation>: New constant.
3650         * typeprint.c (print_offset_data::indentation): Define.
3651         (print_offset_data::maybe_print_hole, print_offset_data::update)
3652         (print_offset_data::finish): Move from c-typeprint.c and rename.
3653         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
3654         (print_spaces_filtered_with_print_options): Update.
3655         (c_print_type_union_field_offset, maybe_print_hole)
3656         (c_print_type_struct_field_offset): Move to typeprint.c and
3657         rename.
3658         (c_type_print_base_struct_union): Update.
3659
3660 2018-06-25  Pedro Alves  <palves@redhat.com>
3661
3662         * gdbthread.h (thread_info_ref, delete_thread)
3663         (delete_thread_silent, first_thread_of_inferior)
3664         (any_thread_of_inferior, switch_to_thread)
3665         (enable_thread_stack_temporaries)
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         Spell out "struct thread_info" instead of just "thread_info".
3670         * inferior.h (notice_new_inferior): Likewise.
3671
3672 2018-06-25  Pedro Alves  <palves@redhat.com>
3673
3674         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3675         pass thread_info pointer to delete_thread.
3676         (windows_nat_target::detach): Pass inferior pointer to
3677         detach_inferior.
3678         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
3679         delete_thread.
3680         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
3681         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
3682         and pass a thread_info pointer to delete_thread.
3683         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
3684         pass thread_info pointer to delete_thread.
3685         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
3686         delete_thread_silent call.
3687         * procfs.c (procfs_target::detach): Pass inferior pointer to
3688         detach_inferior.
3689         (procfs_target::wait): Pass thread_info pointer to delete_thread.
3690         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
3691         delete_thread_silent call.
3692         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
3693         pass thread_info pointer to delete_thread.
3694         (windows_nat_target::detach): Pass inferior pointer to
3695         delete_inferior.
3696
3697 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3698
3699         * regcache.c (readable_regcache::read_part): Fix asserts.
3700         (reg_buffer::raw_collect_part): New function.
3701         (regcache::write_part): Fix asserts.
3702         (reg_buffer::raw_supply_part): New function.
3703         (regcache::transfer_regset_register): New helper function.
3704         (regcache::transfer_regset): Call new functions.
3705         (regcache_supply_regset): Use gdb_byte*.
3706         (regcache::supply_regset): Likewise.
3707         (regcache_collect_regset): Likewise.
3708         (regcache::collect_regset): Likewise.
3709         * regcache.h (reg_buffer::raw_collect_part): New declaration.
3710         (reg_buffer::raw_supply_part): Likewise.
3711         (regcache::transfer_regset_register): Likewise.
3712         (regcache::transfer_regset): Use gdb_byte*.
3713
3714 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
3715
3716         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
3717
3718 2018-06-21  Pedro Alves  <palves@redhat.com>
3719
3720         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
3721         instead of a ptid_t.  All callers adjusted.
3722         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
3723         adjusted.
3724         (print_ada_task_info, display_current_task_id, task_command_1):
3725         Adjust.
3726         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
3727         inferior_thread.
3728         (breakpoint_kind): Adjust.
3729         (remove_breakpoints_pid): Rename to ...
3730         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
3731         pointer.  All callers adjusted.
3732         (bpstat_clear_actions): Use inferior_thread.
3733         (get_bpstat_thread): New.
3734         (bpstat_do_actions): Use it.
3735         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
3736         to take a thread_info pointer.  All callers adjusted.
3737         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
3738         (breakpoint_re_set_thread): Use inferior_thread.
3739         * breakpoint.h (struct inferior): Forward declare.
3740         (bpstat_stop_status): Update.
3741         (remove_breakpoints_pid): Delete.
3742         (remove_breakpoints_inf): New.
3743         * bsd-uthread.c (bsd_uthread_target::wait)
3744         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
3745         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
3746         (maint_btrace_packet_history_cmd)
3747         (maint_btrace_clear_packet_history_cmd): Adjust.
3748         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
3749         inferior_thread.
3750         * cli/cli-interp.c: Include "inferior.h".
3751         * common/refcounted-object.h (struct
3752         refcounted_object_ref_policy): New.
3753         * compile/compile-object-load.c: Include gdbthread.h.
3754         (store_regs): Use inferior_thread.
3755         * corelow.c (core_target::close): Use current_inferior.
3756         (core_target_open): Adjust to use first_thread_of_inferior and use
3757         the current inferior.
3758         * ctf.c (ctf_target::close): Adjust to use current_inferior.
3759         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
3760         <thread>: ... this new field.  All references adjusted.
3761         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
3762         Take a thread_info pointer instead of a ptid_t.
3763         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
3764         (dummy_frame_discard, register_dummy_frame_dtor): Take a
3765         thread_info pointer instead of a ptid_t.
3766         * elfread.c: Include "inferior.h".
3767         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
3768         Use inferior_thread.
3769         * eval.c (evaluate_subexp): Likewise.
3770         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
3771         inferior_thread.
3772         * gdb_proc_service.h (struct thread_info): Forward declare.
3773         (struct ps_prochandle) <ptid>: Delete, replaced by ...
3774         <thread>: ... this new field.  All references adjusted.
3775         * gdbarch.h, gdbarch.c: Regenerate.
3776         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
3777         'thread' parameter.  All implementations and callers adjusted.
3778         * gdbthread.h (thread_info) <set_running>: New method.
3779         (delete_thread, delete_thread_silent): Take a thread_info pointer
3780         instead of a ptid.
3781         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
3782         (first_thread_of_process): Delete, replaced by ...
3783         (first_thread_of_inferior): ... this new function.  All callers
3784         adjusted.
3785         (any_live_thread_of_process): Delete, replaced by ...
3786         (any_live_thread_of_inferior): ... this new function.  All callers
3787         adjusted.
3788         (switch_to_thread, switch_to_no_thread): Declare.
3789         (is_executing): Delete.
3790         (enable_thread_stack_temporaries): Update comment.
3791         <enable_thread_stack_temporaries>: Take a thread_info pointer
3792         instead of a ptid_t.  Incref the thread.
3793         <~enable_thread_stack_temporaries>: Decref the thread.
3794         <m_ptid>: Delete
3795         <m_thr>: New.
3796         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3797         (get_last_thread_stack_temporary)
3798         (value_in_thread_stack_temporaries, can_access_registers_thread):
3799         Take a thread_info pointer instead of a ptid_t.  All callers
3800         adjusted.
3801         * infcall.c (get_call_return_value): Use inferior_thread.
3802         (run_inferior_call): Work with thread pointers instead of ptid_t.
3803         (call_function_by_hand_dummy): Work with thread pointers instead
3804         of ptid_t.  Use thread_info_ref.
3805         * infcmd.c (proceed_thread_callback): Access thread's state
3806         directly.
3807         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
3808         access thread's state directly.
3809         (continue_command): Use inferior_thread.
3810         (info_program_command): Use find_thread_ptid and access thread
3811         state directly.
3812         (proceed_after_attach_callback): Use thread state directly.
3813         (notice_new_inferior): Take a thread_info pointer instead of a
3814         ptid_t.  All callers adjusted.
3815         (exit_inferior): Take an inferior pointer instead of a pid.  All
3816         callers adjusted.
3817         (exit_inferior_silent): New.
3818         (detach_inferior): Delete.
3819         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
3820         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
3821         (detach_inferior_command, kill_inferior_command): Use
3822         find_inferior_id instead of valid_gdb_inferior_id and
3823         gdb_inferior_id_to_pid.
3824         (inferior_command): Use inferior and thread pointers.
3825         * inferior.h (struct thread_info): Forward declare.
3826         (notice_new_inferior): Take a thread_info pointer instead of a
3827         ptid_t.  All callers adjusted.
3828         (detach_inferior): Delete declaration.
3829         (exit_inferior, exit_inferior_silent): Take an inferior pointer
3830         instead of a pid.  All callers adjusted.
3831         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
3832         (valid_gdb_inferior_id): Delete.
3833         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
3834         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
3835         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
3836         ...
3837         <inf>: ... this new field.
3838         <step_ptid>: Delete, replaced by ...
3839         <step_thread>: ... this new field.
3840         (get_displaced_stepping_state): Take an inferior pointer instead
3841         of a pid.  All callers adjusted.
3842         (displaced_step_in_progress_any_inferior): Adjust.
3843         (displaced_step_in_progress_thread): Take a thread pointer instead
3844         of a ptid_t.  All callers adjusted.
3845         (displaced_step_in_progress, add_displaced_stepping_state): Take
3846         an inferior pointer instead of a pid.  All callers adjusted.
3847         (get_displaced_step_closure_by_addr): Adjust.
3848         (remove_displaced_stepping_state): Take an inferior pointer
3849         instead of a pid.  All callers adjusted.
3850         (displaced_step_prepare_throw, displaced_step_prepare)
3851         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
3852         All callers adjusted.
3853         (start_step_over): Adjust.
3854         (infrun_thread_ptid_changed): Remove bit updating ptids in the
3855         displaced step queue.
3856         (do_target_resume): Adjust.
3857         (fetch_inferior_event): Use inferior_thread.
3858         (context_switch, get_inferior_stop_soon): Take an
3859         execution_control_state pointer instead of a ptid_t.  All callers
3860         adjusted.
3861         (switch_to_thread_cleanup): Delete.
3862         (stop_all_threads): Use scoped_restore_current_thread.
3863         * inline-frame.c: Include "gdbthread.h".
3864         (inline_state) <inline_state>: Take a thread pointer instead of a
3865         ptid_t.  All callers adjusted.
3866         <ptid>: Delete, replaced by ...
3867         <thread>: ... this new field.
3868         (find_inline_frame_state): Take a thread pointer instead of a
3869         ptid_t.  All callers adjusted.
3870         (skip_inline_frames, step_into_inline_frame)
3871         (inline_skipped_frames, inline_skipped_symbol): Take a thread
3872         pointer instead of a ptid_t.  All callers adjusted.
3873         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
3874         (inline_skipped_frames, inline_skipped_symbol): Likewise.
3875         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
3876         pointers directly.
3877         * linux-nat.c (get_detach_signal): Likewise.
3878         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
3879         (thread_db_notice_clone): Adjust.
3880         (thread_db_find_new_threads_silently)
3881         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
3882         a thread pointer instead of a ptid_t.  All callers adjusted.
3883         * mi/mi-cmd-var.c: Include "inferior.h".
3884         (mi_cmd_var_update_iter): Update to use thread pointers.
3885         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
3886         inferior directly.
3887         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
3888         out to ...
3889         (mi_output_running): ... this new function.
3890         (mi_on_resume_1): Adjust to use it.
3891         (mi_user_selected_context_changed): Adjust to use inferior_thread.
3892         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
3893         directly.
3894         (interrupt_thread_callback): : Adjust to use thread and inferior
3895         pointers.
3896         * proc-service.c: Include "gdbthread.h".
3897         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
3898         * progspace-and-thread.c: Include "inferior.h".
3899         * progspace.c: Include "inferior.h".
3900         * python/py-exitedevent.c (create_exited_event_object): Adjust to
3901         hold a reference to an inferior_object.
3902         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
3903         inferior_thread.
3904         * python/py-inferior.c (struct inferior_object): Give the type a
3905         tag name instead of a typedef.
3906         (python_on_normal_stop): No need to check if the current thread is
3907         listed.
3908         (inferior_to_inferior_object): Change return type to
3909         inferior_object.  All callers adjusted.
3910         (find_thread_object): Delete, bits factored out to ...
3911         (thread_to_thread_object): ... this new function.
3912         * python/py-infthread.c (create_thread_object): Use
3913         inferior_to_inferior_object.
3914         (thpy_is_stopped): Use thread pointer directly.
3915         (gdbpy_selected_thread): Use inferior_thread.
3916         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
3917         field, replaced with ...
3918         <thread>: ... this new field.  All users adjusted.
3919         (btpy_insn_or_gap_new): Drop const.
3920         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
3921         callers adjusted.
3922         * python/py-record.c: Include "gdbthread.h".
3923         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3924         a ptid_t.  All callers adjusted.
3925         (gdbpy_current_recording): Use inferior_thread.
3926         * python/py-record.h (recpy_record_object) <ptid>: Delete
3927         field, replaced with ...
3928         <thread>: ... this new field.  All users adjusted.
3929         (recpy_element_object) <ptid>: Delete
3930         field, replaced with ...
3931         <thread>: ... this new field.  All users adjusted.
3932         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
3933         a ptid_t.  All callers adjusted.
3934         * python/py-threadevent.c: Include "gdbthread.h".
3935         (get_event_thread): Use thread_to_thread_object.
3936         * python/python-internal.h (struct inferior_object): Forward
3937         declare.
3938         (find_thread_object, find_inferior_object): Delete declarations.
3939         (thread_to_thread_object, inferior_to_inferior_object): New
3940         declarations.
3941         * record-btrace.c: Include "inferior.h".
3942         (require_btrace_thread): Use inferior_thread.
3943         (record_btrace_frame_sniffer)
3944         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
3945         (get_thread_current_frame): Use scoped_restore_current_thread and
3946         switch_to_thread.
3947         (get_thread_current_frame): Use thread pointer directly.
3948         (record_btrace_replay_at_breakpoint): Use thread's inferior
3949         pointer directly.
3950         * record-full.c: Include "inferior.h".
3951         * regcache.c: Include "gdbthread.h".
3952         (get_thread_arch_regcache): Use the inferior's address space
3953         directly.
3954         (get_thread_regcache, registers_changed_thread): New.
3955         * regcache.h (get_thread_regcache(thread_info *thread)): New
3956         overload.
3957         (registers_changed_thread): New.
3958         (remote_target) <remote_detach_1>: Swap order of parameters.
3959         (remote_add_thread): <remote_add_thread>: Return the new thread.
3960         (get_remote_thread_info(ptid_t)): New overload.
3961         (remote_target::remote_notice_new_inferior): Use thread pointers
3962         directly.
3963         (remote_target::process_initial_stop_replies): Use
3964         thread_info::set_running.
3965         (remote_target::remote_detach_1, remote_target::detach)
3966         (extended_remote_target::detach): Adjust.
3967         * stack.c (frame_show_address): Use inferior_thread.
3968         * target-debug.h (target_debug_print_thread_info_pp): New.
3969         * target-delegates.c: Regenerate.
3970         * target.c (default_thread_address_space): Delete.
3971         (memory_xfer_partial_1): Use current_inferior.
3972         (target_detach): Use current_inferior.
3973         (target_thread_address_space): Delete.
3974         (generic_mourn_inferior): Use current_inferior.
3975         * target.h (struct target_ops) <thread_address_space>: Delete.
3976         (target_thread_address_space): Delete.
3977         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
3978         pointers directly.
3979         (delete_thread_1, delete_thread, delete_thread_silent): Take a
3980         thread pointer instead of a ptid_t.  Adjust all callers.
3981         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
3982         (first_thread_of_process): Delete, replaced by ...
3983         (first_thread_of_inferior): ... this new function.  All callers
3984         adjusted.
3985         (any_thread_of_process): Rename to ...
3986         (any_thread_of_inferior): ... this, and take an inferior pointer.
3987         (any_live_thread_of_process): Rename to ...
3988         (any_live_thread_of_inferior): ... this, and take an inferior
3989         pointer.
3990         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
3991         (value_in_thread_stack_temporaries)
3992         (get_last_thread_stack_temporary): Take a thread pointer instead
3993         of a ptid_t.  Adjust all callers.
3994         (thread_info::set_running): New.
3995         (validate_registers_access): Use inferior_thread.
3996         (can_access_registers_ptid): Rename to ...
3997         (can_access_registers_thread): ... this, and take a thread
3998         pointer.
3999         (print_thread_info_1): Adjust to compare thread pointers instead
4000         of ptids.
4001         (switch_to_no_thread, switch_to_thread): Make extern.
4002         (scoped_restore_current_thread::~scoped_restore_current_thread):
4003         Use m_thread pointer directly.
4004         (scoped_restore_current_thread::scoped_restore_current_thread):
4005         Use inferior_thread.
4006         (thread_command): Use thread pointer directly.
4007         (thread_num_make_value_helper): Use inferior_thread.
4008         * top.c (execute_command): Use inferior_thread.
4009         * tui/tui-interp.c: Include "inferior.h".
4010         * varobj.c (varobj_create): Use inferior_thread.
4011         (value_of_root_1): Use find_thread_global_id instead of
4012         global_thread_id_to_ptid.
4013
4014 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
4015
4016         * regcache.c (readable_regcache::read_part): Avoid memcpy when
4017         possible.
4018         (regcache::write_part): Likewise.
4019         (readable_regcache::cooked_read_part): Update comment.
4020         (readable_regcache::cooked_write_part): Likewise.
4021         * regcache.h: (readable_regcache::read_part): Likewise.
4022         (regcache::write_part): Likewise.
4023
4024 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
4025             Dirk Schubert  <dirk.schubert@arm.com>
4026
4027         * aarch64-linux-nat.c (post_attach): New.
4028         (aarch64_linux_nat_target::post_attach): Override post_attach to
4029         record the number of hardware debug registers.
4030
4031 2018-06-20  Tom Tromey  <tom@tromey.com>
4032
4033         * python/py-param.c (add_setshow_generic): Make parameters const.
4034         (parmpy_init): Update.
4035
4036 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4037
4038         * regcache.h (regcache_cooked_read_ftype): Rename to...
4039         (register_read_ftype): ...this, change type to function_view.
4040         (class reg_buffer) <save>: Remove src parameter.
4041         (readonly_detached_regcache) <readonly_detached_regcache>: Make
4042         parameter non-const in first overload.  Remove src parameter in
4043         second overload.
4044         * regcache.c (do_cooked_read): Remove.
4045         (readonly_detached_regcache::readonly_detached_regcache): Make
4046         parameter non-const, adjust call to other constructor.
4047         (reg_buffer::save): Remove src parameter.
4048         * frame.c (do_frame_register_read): Remove.
4049         (frame_save_as_regcache): Use lambda function.
4050         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
4051         parameter to ppu2spu_data *.
4052         (ppu2spu_sniffer): Use lambda function.
4053
4054 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4055
4056         * record-full.c (record_full_target::insert_breakpoint): Remove
4057         "struct" keyword, add const.
4058
4059 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
4060
4061         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
4062         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
4063         * configure.ac: Remove AC_PREREQ, add missing quoting.
4064         * gnulib/configure.ac: Modernize usage of
4065         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
4066         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
4067         (AUTOMAKE_VERSION): Bump to 1.15.1.
4068         * configure: Re-generate.
4069         * config.in: Re-generate.
4070         * aclocal.m4: Re-generate.
4071         * gnulib/aclocal.m4: Re-generate.
4072         * gnulib/config.in: Re-generate.
4073         * gnulib/configure: Re-generate.
4074         * gnulib/import/Makefile.in: Re-generate.
4075
4076 2018-06-19  Pedro Alves  <palves@redhat.com>
4077
4078         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
4079         (lookup_minimal_symbol_by_pc_section): ... here with
4080         gdb_assert_not_reached added.
4081
4082 2018-06-19  Pedro Alves  <palves@redhat.com>
4083
4084         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
4085         parameter with a block parameter.  Compare location's block symbol
4086         with the frame's block instead of addresses.
4087         (skip_inline_frames): Pass the current block instead of the
4088         frame's address.  Break out as soon as we determine the frame
4089         should not be skipped.
4090
4091 2018-06-18  Tom Tromey  <tom@tromey.com>
4092
4093         * solib-aix.c (solib_aix_get_section_offsets): Return
4094         unique_xmalloc_ptr.
4095         (solib_aix_solib_create_inferior_hook): Update.
4096
4097 2018-06-18  Tom Tromey  <tom@tromey.com>
4098
4099         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
4100
4101 2018-06-18  Tom Tromey  <tom@tromey.com>
4102
4103         * solib-frv.c (frv_relocate_main_executable): Use
4104         unique_xmalloc_ptr.
4105         * solib-dsbt.c (dsbt_relocate_main_executable): Use
4106         unique_xmalloc_ptr.
4107
4108 2018-06-18  Tom Tromey  <tom@tromey.com>
4109
4110         * objfiles.h (inhibit_section_map_updates): Update.
4111         (resume_section_map_updates, resume_section_map_updates_cleanup):
4112         Remove.
4113         * solib-svr4.c (svr4_handle_solib_event): Update.
4114         * objfiles.c (inhibit_section_map_updates): Return
4115         scoped_restore_tmpl<int>.
4116         (resume_section_map_updates, resume_section_map_updates_cleanup):
4117         Remove.
4118
4119 2018-06-18  Tom Tromey  <tom@tromey.com>
4120
4121         * valprint.h (read_string): Update.
4122         * valprint.c (read_string): Change type of "buffer".
4123         (val_print_string): Update.
4124         * python/py-value.c (valpy_string): Update.
4125         * language.h (struct language_defn) <la_get_string>: Change
4126         type of "buffer".
4127         (default_get_string, c_get_string): Update.
4128         * language.c (default_get_string): Change type of "buffer".
4129         * guile/scm-value.c (gdbscm_value_to_string): Update.
4130         * c-lang.c (c_get_string): Change type of "buffer".
4131
4132 2018-06-18  Tom Tromey  <tom@tromey.com>
4133
4134         * ser-mingw.c (struct pipe_state_destroyer): New.
4135         (pipe_state_up): New typedef.
4136         (cleanup_pipe_state): Remove.
4137         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4138
4139 2018-06-18  Tom Tromey  <tom@tromey.com>
4140
4141         * rust-lang.h (rust_yyerror): Don't declare.
4142         * rust-lang.c (rust_language_defn): Update.
4143         * rust-exp.y (yyerror): Now static.
4144         * parse.c (parse_exp_in_context_1): Update.
4145         * p-lang.h (p_yyerror): Don't declare.
4146         * p-lang.c (p_language_defn): Update.
4147         * p-exp.y (yyerror): Now static.
4148         * opencl-lang.c (opencl_language_defn): Update.
4149         * objc-lang.c (objc_language_defn): Update.
4150         * m2-lang.h (m2_yyerror): Don't declare.
4151         * m2-lang.c (m2_language_defn): Update.
4152         * m2-exp.y (yyerror): Now static.
4153         * language.h (struct language_defn) <la_error>: Remove.
4154         * language.c (unk_lang_error): Remove.
4155         (unknown_language_defn, auto_language_defn): Remove.
4156         * go-lang.h (go_yyerror): Don't declare.
4157         * go-lang.c (go_language_defn): Update.
4158         * go-exp.y (yyerror): Now static.
4159         * f-lang.h (f_yyerror): Don't declare.
4160         * f-lang.c (f_language_defn): Update.
4161         * f-exp.y (yyerror): Now static.
4162         * d-lang.h (d_yyerror): Don't declare.
4163         * d-lang.c (d_language_defn): Update.
4164         * d-exp.y (yyerror): Now static.
4165         * c-lang.h (c_yyerror): Don't declare.
4166         * c-lang.c (c_language_defn, cplus_language_defn)
4167         (asm_language_defn, minimal_language_defn): Update.
4168         * c-exp.y (yyerror): Now static.
4169         * ada-lang.h (ada_yyerror): Don't declare.
4170         * ada-lang.c (ada_language_defn): Update.
4171         * ada-exp.y (yyerror): Now static.
4172
4173 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4174
4175         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4176         (store_sveregs_to_thread): Likewise.
4177         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4178         (aarch64_linux_store_inferior_registers): Likewise.
4179         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4180         function.
4181         (aarch64_sve_regs_copy_to_regcache): Likewise.
4182         (aarch64_sve_regs_copy_from_regcache): Likewise.
4183         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4184         declaration.
4185         (aarch64_sve_regs_copy_to_regcache): Likewise.
4186         (aarch64_sve_regs_copy_from_regcache): Likewise.
4187         (sve_context): Structure from Linux headers.
4188         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4189         (SVE_SIG_ZREG_SIZE): Likewise.
4190         (SVE_SIG_PREG_SIZE): Likewise.
4191         (SVE_SIG_FFR_SIZE): Likewise.
4192         (SVE_SIG_REGS_OFFSET): Likewise.
4193         (SVE_SIG_ZREGS_OFFSET): Likewise.
4194         (SVE_SIG_ZREG_OFFSET): Likewise.
4195         (SVE_SIG_ZREGS_SIZE): Likewise.
4196         (SVE_SIG_PREGS_OFFSET): Likewise.
4197         (SVE_SIG_PREG_OFFSET): Likewise.
4198         (SVE_SIG_PREGS_SIZE): Likewise.
4199         (SVE_SIG_FFR_OFFSET): Likewise.
4200         (SVE_SIG_REGS_SIZE): Likewise.
4201         (SVE_SIG_CONTEXT_SIZE): Likewise.
4202         (SVE_PT_REGS_MASK): Likewise.
4203         (SVE_PT_REGS_FPSIMD): Likewise.
4204         (SVE_PT_REGS_SVE): Likewise.
4205         (SVE_PT_VL_INHERIT): Likewise.
4206         (SVE_PT_VL_ONEXEC): Likewise.
4207         (SVE_PT_REGS_OFFSET): Likewise.
4208         (SVE_PT_FPSIMD_OFFSET): Likewise.
4209         (SVE_PT_FPSIMD_SIZE): Likewise.
4210         (SVE_PT_SVE_ZREG_SIZE): Likewise.
4211         (SVE_PT_SVE_PREG_SIZE): Likewise.
4212         (SVE_PT_SVE_FFR_SIZE): Likewise.
4213         (SVE_PT_SVE_FPSR_SIZE): Likewise.
4214         (SVE_PT_SVE_FPCR_SIZE): Likewise.
4215         (__SVE_SIG_TO_PT): Likewise.
4216         (SVE_PT_SVE_OFFSET): Likewise.
4217         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
4218         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
4219         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
4220         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
4221         (SVE_PT_SVE_PREG_OFFSET): Likewise.
4222         (SVE_PT_SVE_PREGS_SIZE): Likewise.
4223         (SVE_PT_SVE_FFR_OFFSET): Likewise.
4224         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
4225         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
4226         (SVE_PT_SVE_SIZE): Likewise.
4227         (SVE_PT_SIZE): Likewise.
4228         (HAS_SVE_STATE): New define.
4229
4230 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4231
4232         * nat/aarch64-sve-linux-sigcontext.h: New file.
4233         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
4234         new files.
4235         (SVE_VQ_MIN): Likewise.
4236         (SVE_VQ_MAX): Likewise.
4237         (SVE_VL_MIN): Likewise.
4238         (SVE_VL_MAX): Likewise.
4239         (SVE_NUM_ZREGS): Likewise.
4240         (SVE_NUM_PREGS): Likewise.
4241         (sve_vl_valid): Likewise.
4242         (struct user_sve_header): Likewise.
4243
4244 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
4245             Richard Bunt <Richard.Bunt@arm.com>
4246
4247         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
4248         was requested by GDB.
4249
4250 2018-06-15  Tom de Vries  <tdevries@suse.de>
4251
4252         * MAINTAINERS (Write After Approval): Add Tom de Vries.
4253
4254 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
4255
4256         * gnulib/update-gnulib.sh: Print expected versions of
4257         autoconf/aclocal.
4258
4259 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
4260
4261         * arch-utils.c (default_type_align): Use type_length_units.
4262         * gdbtypes.c (type_align): Use type_length_units.
4263
4264 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4265
4266         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
4267         of 'define' command.
4268
4269 2018-06-14  Tom de Vries  <tdevries@suse.de>
4270
4271         PR cli/22573
4272         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
4273         get_no_prettyformat_print_options.
4274
4275 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
4276
4277         * sparc-nat.h: Include target.h.
4278         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
4279         <fetch_registers>: Remove this argument in function call.
4280         <store_registers>: Remove this argument in function call, remove
4281         extra semicolon.
4282         <low_forget_process>: Call sparc64_forget_process instead of
4283         sparc_forget_process.
4284
4285 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4286
4287         * procfs.c (_initialize_procfs): Use add_inf_child_target.
4288         (procfs_target::make_corefile_notes): Adjust to new
4289         target_read_alloc return type.
4290
4291 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4292             Stephen Roberts  <stephen.roberts@arm.com>
4293
4294         PR gdb/22882
4295         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
4296         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
4297         Move should_notify_stop local into more inner scope.
4298
4299 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4300             Stephen Roberts  <stephen.roberts@arm.com>
4301
4302         PR gdb/22882
4303         * infrun.c (resume_1): Add call to mark_async_event_handler.
4304
4305 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4306
4307         * infrun.c (do_target_wait): Change old version of $pc printed.
4308
4309 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
4310
4311         * dwarf2read.c (read_index_from_section): Rename to...
4312         (read_gdb_index_from_section): ... this, update all callers.
4313         (dwarf2_read_index): Rename to...
4314         (dwarf2_read_gdb_index): ... this, update all callers.
4315
4316 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
4317
4318         * gdb/hppa-linux-nat.c
4319         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
4320         hppa_linux_nat_target::fetch_registers.
4321
4322 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4323
4324         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
4325         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
4326         (AARCH64_DWARF_SVE_FFR): Likewise.
4327         (AARCH64_DWARF_SVE_P0): Likewise.
4328         (AARCH64_DWARF_SVE_Z0): Likewise.
4329
4330 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4331
4332         * common/common-regcache.h (raw_compare): New function.
4333         * regcache.c (regcache::raw_compare): Likewise.
4334         * regcache.h (regcache::raw_compare): New declaration.
4335
4336 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
4337
4338         * common/common-regcache.h (reg_buffer_common): New structure.
4339         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
4340         (reg_buffer::raw_supply): Likewise.
4341         (reg_buffer::raw_supply_integer): Likewise.
4342         (reg_buffer::raw_supply_zeroed): Likewise.
4343         (reg_buffer::raw_collect): Likewise.
4344         (reg_buffer::raw_collect_integer): Likewise.
4345         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
4346         (reg_buffer::raw_supply): Likewise.
4347         (reg_buffer::raw_supply_integer): Likewise.
4348         (reg_buffer::raw_supply_zeroed): Likewise.
4349         (reg_buffer::raw_collect): Likewise.
4350         (reg_buffer::raw_collect_integer): Likewise.
4351
4352 2018-06-10  Tom Tromey  <tom@tromey.com>
4353
4354         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
4355         (class remote_state) <stop_reply_queue>: Now std::vector.
4356         (remote_state::~remote_state)
4357         (remote_target::stop_reply_queue_length): Update.
4358         (struct queue_iter_param, remove_child_of_pending_fork)
4359         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
4360         (check_pending_event_prevents_wildcard_vcont_callback)
4361         (remove_stop_reply_for_inferior)
4362         (remove_stop_reply_of_remote_state)
4363         (remote_notif_remove_once_on_match)
4364         (stop_reply_match_ptid_and_ws)
4365         (remote_kill_child_of_pending_fork): Remove.
4366         (remote_target::remove_new_fork_children)
4367         (remote_target::check_pending_events_prevent_wildcard_vcont)
4368         (remote_target::discard_pending_stop_replies)
4369         (remote_target::discard_pending_stop_replies_in_queue)
4370         (remote_target::remote_notif_remove_queued_reply)
4371         (remote_target::queued_stop_reply)
4372         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
4373         (remote_target::wait, remote_target::kill_new_fork_children)
4374         (remote_target::async): Update.
4375
4376 2018-06-10  Tom Tromey  <tom@tromey.com>
4377
4378         * record-full.c (record_full_arch_list_cleanups): Remove.
4379         (record_full_message): Use try/catch.
4380         (record_full_wait_cleanups): Remove.
4381         (record_full_wait_1): Use try/catch.
4382         (record_full_restore): Likewise.
4383
4384 2018-06-10  Tom Tromey  <tom@tromey.com>
4385
4386         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
4387         declare VEC.  Add constructor.
4388         <in_target_beneath>: Now bool.
4389         (record_full_breakpoints): Now a std::vector, static.
4390         (record_full_sync_record_breakpoints)
4391         (record_full_init_record_breakpoints)
4392         (record_full_target::insert_breakpoint)
4393         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
4394
4395 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
4396
4397         * dwarf2read.c (process_cu_includes): Remove struct keyword.
4398         * serial.c (serial_interface_lookup): Remove struct keyword.
4399
4400 2018-06-10  Tom Tromey  <tom@tromey.com>
4401
4402         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
4403         method.
4404         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
4405         a method.
4406         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
4407         method.
4408         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
4409         "beneath" as a method.
4410         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
4411         Use "beneath" as a method.
4412
4413 2018-06-10  Tom Tromey  <tom@tromey.com>
4414
4415         * tracefile.c (struct trace_file_writer_deleter): New.
4416         <operator()>: Rename from trace_file_writer_xfree.
4417         (trace_file_writer_up): New typedef.
4418         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
4419
4420 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4421
4422         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
4423         <m_registers, m_register_status>: Change type to
4424         std::unique_ptr.
4425         * regcache.c (reg_buffer::reg_buffer): Use new instead of
4426         XCNEWVEC.
4427
4428 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
4429
4430         * common/common-regcache.h (enum register_status): Add
4431         underlying type "signed char".
4432         * regcache.h (reg_buffer) <m_register_status>: Change type to
4433         register_status *.
4434         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
4435         register_status instead of signed char.
4436         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
4437         (reg_buffer::get_register_status): Remove cast.
4438         (readable_regcache::raw_read): Remove cast.
4439         (readable_regcache::cooked_read): Remove cast.
4440
4441 2018-06-09  Tom Tromey  <tom@tromey.com>
4442
4443         * source.c (reverse_search_command, forward_search_command): Use
4444         scoped_fd.
4445
4446 2018-06-09  Tom Tromey  <tom@tromey.com>
4447
4448         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
4449         (serial_ops_list): Now static, std::vector.
4450         (serial_interface_lookup, serial_add_interface): Update.
4451
4452 2018-06-09  Tom Tromey  <tom@tromey.com>
4453
4454         * dwarf2read.c (process_cu_includes): Update.
4455         (process_full_comp_unit): Update.
4456         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
4457         std::vector.
4458
4459 2018-06-08  Paul Koning  <paul_koning@dell.com>
4460
4461         PR gdb/23252
4462
4463         * python/python.c (do_start_initialization):
4464         Avoid call to internal Python API.
4465         (init__gdb_module): New function.
4466
4467 2018-06-08  Gary Benson <gbenson@redhat.com>
4468
4469         * linux-thread-db.c (valprint.h): New include.
4470         (struct check_thread_db_info): New structure.
4471         (check_thread_db_on_load, tdb_testinfo): New static globals.
4472         (check_thread_db, check_thread_db_callback): New functions.
4473         (try_thread_db_load_1): Run integrity checks if requested.
4474         (maintenance_check_libthread_db): New function.
4475         (_initialize_thread_db): Register "maint check libthread-db"
4476         and "maint set/show check-libthread-db".
4477         * NEWS: Mention the above new commands.
4478
4479 2018-06-08  Tom Tromey  <tom@tromey.com>
4480
4481         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
4482         now a method.
4483
4484 2018-06-08  Tom Tromey  <tom@tromey.com>
4485
4486         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
4487
4488 2018-06-08  Tom Tromey  <tom@tromey.com>
4489
4490         * common/btrace-common.h (struct btrace_data): Add constructor,
4491         destructor, move assignment operator.
4492         <empty, clear, fini>: New methods.
4493         <format>: Initialize.
4494         (btrace_data_init, btrace_data_fini, btrace_data_clear)
4495         (btrace_data_empty): Don't declare.
4496         * common/btrace-common.c (btrace_data_init): Remove.
4497         (btrace_data::fini): Rename from btrace_data_fini.
4498         (btrace_data::empty): Rename from btrace_data_empty.
4499         (btrace_data::clear): Rename from btrace_data_clear.  Return
4500         bool.
4501         * btrace.h (make_cleanup_btrace_data): Don't declare.
4502         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
4503         (parse_xml_btrace): Update.
4504         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
4505         (maint_btrace_clear_packet_history_cmd): Update.
4506
4507 2018-06-07  Pedro Alves  <palves@redhat.com>
4508
4509         * target.h (target_ops) <beneath>: Now a method.  All references
4510         updated.
4511         (class target_stack): New.
4512         * target.c (g_target_stack): New.
4513         (g_current_top_target): Delete.
4514         (current_top_target): Get the top target out of g_target_stack.
4515         (target_stack::push, target_stack::unpush): New.
4516         (push_target, unpush_target): Reimplement.
4517         (target_is_pushed): Reimplement in terms of g_target_stack.
4518         (target_ops::beneath, target_stack::find_beneath): New.
4519
4520 2018-06-07  Pedro Alves  <palves@redhat.com>
4521
4522         * target.h (find_target_beneath): Delete declaration.
4523         * target.c (find_target_beneath): Delete definition.
4524         * aix-thread.c: All callers of find_target_beneath adjusted to
4525         call target_ops::beneath instead.
4526         * bsd-uthread.c: Likewise.
4527         * linux-thread-db.c: Likewise.
4528         * ravenscar-thread.c: Likewise.
4529         * sol-thread.c: Likewise.
4530         * spu-multiarch.c: Likewise.
4531
4532 2018-06-07  Pedro Alves  <palves@redhat.com>
4533
4534         * target.h (target_ops) <beneath>: Now a method.  All references
4535         updated.
4536         (target_ops) <m_beneath>: New.
4537         * target.c (target_ops::beneath): New.
4538         * corelow.c: Adjust all references to target_ops::beneath.
4539         * linux-thread-db.c: Likewise.
4540         * make-target-delegates: Likewise.
4541         * record-btrace.c: Likewise.
4542         * record-full.c: Likewise.
4543         * remote.c: Likewise.
4544         * target.c: Likewise.
4545         * target-delegates.c: Regenerate.
4546
4547 2018-06-07  Pedro Alves  <palves@redhat.com>
4548
4549         * target.h (target_stack): Delete.
4550         (current_top_target): Declare function.
4551         * target.c (target_stack): Delete.
4552         (g_current_top_target): New.
4553         (current_top_target): New function.
4554         * auxv.c: Use current_top_target instead of target_stack
4555         throughout.
4556         * avr-tdep.c: Likewise.
4557         * breakpoint.c: Likewise.
4558         * corefile.c: Likewise.
4559         * elfread.c: Likewise.
4560         * eval.c: Likewise.
4561         * exceptions.c: Likewise.
4562         * frame.c: Likewise.
4563         * gdbarch-selftests.c: Likewise.
4564         * gnu-v3-abi.c: Likewise.
4565         * ia64-tdep.c: Likewise.
4566         * ia64-vms-tdep.c: Likewise.
4567         * infcall.c: Likewise.
4568         * infcmd.c: Likewise.
4569         * infrun.c: Likewise.
4570         * linespec.c: Likewise.
4571         * linux-tdep.c: Likewise.
4572         * minsyms.c: Likewise.
4573         * ppc-linux-nat.c: Likewise.
4574         * ppc-linux-tdep.c: Likewise.
4575         * procfs.c: Likewise.
4576         * regcache.c: Likewise.
4577         * remote.c: Likewise.
4578         * rs6000-tdep.c: Likewise.
4579         * s390-linux-nat.c: Likewise.
4580         * s390-tdep.c: Likewise.
4581         * solib-aix.c: Likewise.
4582         * solib-darwin.c: Likewise.
4583         * solib-dsbt.c: Likewise.
4584         * solib-spu.c: Likewise.
4585         * solib-svr4.c: Likewise.
4586         * solib-target.c: Likewise.
4587         * sparc-tdep.c: Likewise.
4588         * sparc64-tdep.c: Likewise.
4589         * spu-tdep.c: Likewise.
4590         * symfile.c: Likewise.
4591         * symtab.c: Likewise.
4592         * target-descriptions.c: Likewise.
4593         * target-memory.c: Likewise.
4594         * target.c: Likewise.
4595         * target.h: Likewise.
4596         * tracefile-tfile.c: Likewise.
4597         * tracepoint.c: Likewise.
4598         * valops.c: Likewise.
4599         * valprint.c: Likewise.
4600         * value.c: Likewise.
4601         * windows-tdep.c: Likewise.
4602         * mi/mi-main.c: Likewise.
4603
4604 2018-06-07  Tom Tromey  <tom@tromey.com>
4605
4606         * valprint.h (build_address_symbolic): Declare.
4607         * printcmd.c (print_address_symbolic): Update.
4608         (build_address_symbolic): Change "name" and "filename" to
4609         std::string.
4610         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
4611         Update.
4612         * defs.h (build_address_symbolic): Remove declaration.
4613
4614 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
4615
4616         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
4617         (aarch64_vnv_type): Add function.
4618         (aarch64_pseudo_register_name): Add V regs for SVE.
4619         (aarch64_pseudo_register_type): Likewise.
4620         (aarch64_pseudo_register_reggroup_p): Likewise.
4621         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
4622         (aarch64_pseudo_read_value): Add V regs for SVE.
4623         (aarch64_pseudo_write_2): Use V0 offset for SVE
4624         (aarch64_pseudo_write): Add V regs for SVE.
4625         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
4626
4627 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4628
4629         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
4630         (sve_vl_from_vq): Likewise.
4631
4632 2018-06-05  Tom Tromey  <tom@tromey.com>
4633
4634         * cli/cli-cmds.c (show_version): Update.
4635         * top.c (print_gdb_version): Add "interactive" parameter.
4636         Update.
4637         * main.c (captured_main_1): Update.
4638         * top.h (print_gdb_version): Add "interactive" parameter and a
4639         comment.
4640
4641 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
4642
4643         * common/enum-flags.h: Add trailing semicolon to example in
4644         comment.
4645
4646 2018-06-05  Tom Tromey  <tom@tromey.com>
4647
4648         PR cli/12326:
4649         * NEWS: Add entry about pager.
4650         * utils.c (pagination_disabled_for_command): New global.
4651         (prompt_for_continue): Allow "c" response to prompt.
4652         (reinitialize_more_filter): Clear
4653         pagination_disabled_for_command.
4654         (fputs_maybe_filtered): Check pagination_disabled_for_command.
4655
4656 2018-06-04  Tom Tromey  <tom@tromey.com>
4657
4658         * ada-lang.h (ada_lookup_symbol_list): Update.
4659         * ada-lang.c (resolve_subexp): Update.
4660         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
4661         parameter.
4662         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
4663         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
4664         results parameter to std::vector.
4665         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
4666         Update.
4667         * ada-exp.y (block_lookup): Update.
4668         (select_possible_type_sym): Change type of syms.  Remove nsyms
4669         parameter.
4670         (write_var_or_type, write_name_assoc): Update.
4671
4672 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
4673
4674         * windows-nat.c (windows_nat_target::xfer_partial): Return
4675         TARGET_XFER_E_IO if we need to delegate to the target beneath
4676         but BENEATH is NULL.
4677
4678 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
4679
4680         * Makefile.in (config.status): Add configure.nat as a
4681         dependency.
4682
4683 2018-06-04  Tom Tromey  <tom@tromey.com>
4684
4685         * cp-name-parser.y (cpname_state): Add method declarations.
4686         (HANDLE_QUAL): Update.
4687         (cpname_state::d_grab, cpname_state::fill_comp)
4688         (cpname_state::make_operator, cpname_state::make_dtor)
4689         (cpname_state::make_builtin_type, cpname_state::make_name)
4690         (cpname_state::d_qualify, cpname_state::d_int_type)
4691         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
4692         (%union): Move earlier.
4693
4694 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4695
4696         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
4697
4698 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4699
4700         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
4701         (aarch64_pseudo_write_1): Likewise.
4702         (aarch64_pseudo_read_value): Use helper.
4703         (aarch64_pseudo_write): Likewise.
4704
4705 2018-06-04  Pedro Alves  <palves@redhat.com>
4706
4707         * darwin-nat.c (darwin_ops): Delete.
4708         (darwin_attach_pid): Use get_native_target.
4709
4710 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4711
4712         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
4713         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
4714
4715 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4716
4717         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
4718         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
4719         (aarch64_gdbarch_init): Check for SVE.
4720         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
4721
4722 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
4723
4724         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
4725         * aarch64-tdep.h (aarch64_read_description): Likewise.
4726         * arch/aarch64.c (aarch64_create_target_description): Likewise.
4727         * arch/aarch64.h (aarch64_create_target_description): Likewise.
4728         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
4729         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
4730         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
4731
4732 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
4733
4734         * value.c (value_fetch_lazy_bitfield): New.
4735         (value_fetch_lazy_memory): New.
4736         (value_fetch_lazy_register): New.
4737         (value_fetch_lazy): Factor out to smaller functions.
4738
4739 2018-06-01  Tom Tromey  <tom@tromey.com>
4740
4741         * cp-name-parser.y (backslashable, represented): Now const.
4742
4743 2018-06-01  Tom Tromey  <tom@tromey.com>
4744
4745         * cp-name-parser.y: Include parser-defs.h.
4746         (parser_fprintf): Remove declaration.
4747
4748 2018-06-01  Tom Tromey  <tom@tromey.com>
4749
4750         * cp-name-parser.y: Use %pure-parser, %lex-param, and
4751         %parse-param.
4752         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
4753         (global_result): Remove globals.
4754         (struct cpname_state): New.
4755         (yyparse): Don't declare.
4756         (yylex, yyerror): Move declarations after %union.
4757         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
4758         (make_name): Add state parameter.
4759         Update all callers.
4760         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
4761         parameter.
4762         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
4763         Update.
4764         (yylex): Add lvalp, state parameters.
4765         (yyerror): Add state parameter.
4766         (cp_demangled_name_to_comp): Update.
4767
4768 2018-06-01  Tom Tromey  <tom@tromey.com>
4769
4770         * cp-name-parser.y (parser_fprintf): Declare.
4771         (GDB_YY_REMAP_PREFIX): Define.
4772         Include yy-remap.h.  Don't redefine yy* identifiers.
4773
4774 2018-06-01  Tom Tromey  <tom@tromey.com>
4775
4776         * python/py-type.c (typy_legacy_template_argument): Update.
4777         * cp-support.h (cp_demangled_name_to_comp): Update.
4778         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
4779         parameter to be a "std::string *".
4780         (main): Update.
4781
4782 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
4783
4784         * ada-lex.l: Include "diagnostics.h" instead of
4785         "common/diagnostics.h".
4786         * unittests/environ-selftests.c: Likewise.
4787         * common/diagnostics.h: Moved to ../include.
4788
4789 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
4790
4791         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
4792         to language_mode_manual while calling breakpoint_re_set_one.
4793
4794 2018-06-01  Tom Tromey  <tom@tromey.com>
4795
4796         * valops.c (value_cast_structs, destructor_name_p): Update.
4797         * symtab.c (gdb_mangle_name): Update.
4798         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
4799         Update.
4800         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
4801         (pascal_object_print_value_fields, pascal_object_print_value):
4802         Update.
4803         * p-typeprint.c (pascal_type_print_derivation_info): Update.
4804         * linespec.c (find_methods): Update.
4805         * gdbtypes.h (type_name_no_tag): Remove.
4806         (type_name_or_error): Rename from type_name_no_tag_or_error.
4807         * gdbtypes.c (type_name_no_tag): Remove.
4808         (type_name_or_error): Rename from type_name_no_tag_or_error.
4809         (lookup_struct_elt_type, check_typedef): Update.
4810         * expprint.c (print_subexp_standard): Update.
4811         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
4812         * d-namespace.c (d_lookup_nested_symbol): Update.
4813         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
4814         (cp_print_class_member): Update.
4815         * cp-namespace.c (cp_lookup_nested_symbol): Update.
4816         * completer.c (add_struct_fields): Update.
4817         * c-typeprint.c (cp_type_print_derivation_info)
4818         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
4819         Update.
4820         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
4821         (ada_prefer_type, ada_is_exception_sym): Update.
4822
4823 2018-06-01  Tom Tromey  <tom@tromey.com>
4824
4825         * valops.c (enum_constant_from_type, value_namespace_elt)
4826         (value_maybe_namespace_elt): Update.
4827         * valarith.c (find_size_for_pointer_math): Update.
4828         * target-descriptions.c (make_gdb_type): Update.
4829         * symmisc.c (print_symbol): Update.
4830         * stabsread.c (define_symbol, read_type)
4831         (complain_about_struct_wipeout, add_undefined_type)
4832         (cleanup_undefined_types_1): Update.
4833         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
4834         (rust_range_type_p, val_print_struct, rust_print_struct_def)
4835         (rust_internal_print_type, rust_composite_type)
4836         (rust_evaluate_funcall, rust_evaluate_subexp)
4837         (rust_inclusive_range_type_p): Update.
4838         * python/py-type.c (typy_get_tag): Update.
4839         * p-typeprint.c (pascal_type_print_base): Update.
4840         * mdebugread.c (parse_symbol, parse_type): Update.
4841         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
4842         Update.
4843         * guile/scm-type.c (gdbscm_type_tag): Update.
4844         * go-lang.c (sixg_string_p): Update.
4845         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
4846         Update.
4847         * gdbtypes.h (struct main_type) <tag_name>: Remove.
4848         (TYPE_TAG_NAME): Remove.
4849         * gdbtypes.c (type_name_no_tag): Simplify.
4850         (check_typedef, check_types_equal, recursive_dump_type)
4851         (copy_type_recursive, arch_composite_type): Update.
4852         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
4853         in summary mode when needed.
4854         * eval.c (evaluate_funcall): Update.
4855         * dwarf2read.c (fixup_go_packaging, read_structure_type)
4856         (process_structure_scope, read_enumeration_type)
4857         (read_namespace_type, read_module_type, determine_prefix): Update.
4858         * cp-support.c (inspect_type): Update.
4859         * coffread.c (process_coff_symbol, decode_base_type): Update.
4860         * c-varobj.c (c_is_path_expr_parent): Update.
4861         * c-typeprint.c (c_type_print_base_struct_union): Update.
4862         (c_type_print_base_1): Update.  Print struct/class/union/enum in
4863         summary when using C language.
4864         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
4865         (gen_maybe_namespace_elt): Update.
4866         * ada-lang.c (ada_type_name): Simplify.
4867         (empty_record, ada_template_to_fixed_record_type_1)
4868         (template_to_static_fixed_type)
4869         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
4870
4871 2018-06-01  Tom Tromey  <tom@tromey.com>
4872
4873         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
4874         c_print_type.
4875         * c-typeprint.c (c_print_type_1): Add "language" parameter.
4876         (c_print_type): Update.
4877         (c_print_type): New overload.
4878         (c_type_print_varspec_prefix, c_type_print_args)
4879         (c_type_print_varspec_suffix, c_print_type_no_offsets)
4880         (c_type_print_base_struct_union, c_type_print_base_1)
4881         (cp_type_print_method_args): Add "language" parameter.
4882         (c_type_print_base): Update.
4883         * c-lang.h (c_print_type): Add new overload.
4884
4885 2018-06-01  Tom Tromey  <tom@tromey.com>
4886
4887         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
4888         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
4889
4890 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
4891
4892         * aarch64-tdep.c (aarch64_sve_register_names): New const
4893         var.
4894         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
4895         (AARCH64_SVE_Z_REGS_NUM): New define.
4896         (AARCH64_SVE_P_REGS_NUM): Likewise.
4897         (AARCH64_SVE_NUM_REGS): Likewise.
4898
4899 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
4900
4901         * nat/linux-ptrace.h [__alpha__]
4902         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
4903         definitions.
4904
4905 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
4906
4907         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
4908         the endianness selected.
4909         * NEWS: Document `set endian auto' mode operation update.
4910
4911 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4912
4913         * Makefile.in: Add new header.
4914         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
4915         (sve_vl_from_vg): Likewise.
4916         (sve_vq_from_vl): Likewise.
4917         (sve_vl_from_vq): Likewise.
4918         (sve_vq_from_vg): Likewise.
4919         (sve_vg_from_vq): Likewise.
4920         * configure.nat: Add new c file.
4921         * nat/aarch64-sve-linux-ptrace.c: New file.
4922         * nat/aarch64-sve-linux-ptrace.h: New file.
4923
4924 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
4925
4926         * aarch64-linux-nat.c (aarch64_linux_read_description):
4927         Add parmeter zero.
4928         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
4929         Likewise.
4930         * aarch64-tdep.c (tdesc_aarch64_list): Add.
4931         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
4932         (aarch64_gdbarch_init): Add parmeter zero.
4933         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
4934         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
4935         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
4936         parmeter.
4937         * doc/gdb.texinfo: Describe SVE feature
4938         * features/aarch64-sve.c: New file.
4939
4940 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
4941
4942         PR gdb/23210
4943         * gdbarch.sh (significant_addr_bit): Default to zero when
4944         not set by target architecture.
4945         * gdbarch.c: Re-generated.
4946         * utils.c (address_significant): Update.
4947
4948 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
4949
4950         * stack.c (func_command): Remove trailing newline in call to error.
4951
4952 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4953
4954         * regcache.h (regcache_raw_collect): Remove, update callers to
4955         use regcache::raw_collect.
4956         * regcache.c (regcache_raw_collect): Remove.
4957
4958 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4959
4960         * regcache.h (regcache_raw_supply): Remove, update callers to
4961         use detached_regcache::raw_supply.
4962         * regcache.c (regcache_raw_supply): Remove.
4963
4964 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4965
4966         * regcache.h (regcache_cooked_write_part): Remove, update
4967         callers to use regcache::cooked_write_part.
4968         * regcache.c (regcache_cooked_write_part): Remove.
4969
4970 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4971
4972         * regcache.h (regcache_cooked_read_part): Remove, update callers
4973         to use readable_regcache::cooked_read_part.
4974         * regcache.c (regcache_cooked_read_part): Remove.
4975
4976 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4977
4978         * regcache.h (regcache_cooked_read_value): Remove, update
4979         callers to use readable_regcache::cooked_read_value.
4980         * regcache.c (regcache_cooked_read_value): Remove.
4981
4982 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4983
4984         * regcache.h (regcache_cooked_write): Remove, update callers to
4985         use regcache::cooked_write.
4986         * regcache.c (regcache_cooked_write): Remove.
4987
4988 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4989
4990         * regcache.h (regcache_invalidate): Remove, update callers to
4991         use detached_regcache::invalidate instead.
4992         * regcache.c (regcache_invalidate): Remove.
4993
4994 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4995
4996         * regcache.h (regcache_raw_write_part): Remove, update callers
4997         to use regcache::raw_write_part instead.
4998         * regcache.c (regcache_raw_write_part): Remove.
4999
5000 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5001
5002         * regcache.h (regcache_raw_read_part): Remove, update callers to
5003         use readable_regcache::raw_read_part instead.
5004         * regcache.c (regcache_raw_read_part): Remove.
5005
5006 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5007
5008         * regcache.h (regcache_cooked_read): Remove, update callers to
5009         use readable_regcache::cooked_read instead.
5010         * regcache.c (regcache_cooked_read): Remove.
5011
5012 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5013
5014         * regcache.h (regcache_raw_write): Remove, update callers to use
5015         regcache::raw_write instead.
5016         * regcache.c (regcache_raw_write): Remove.
5017
5018 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5019
5020         * regcache.h (regcache_raw_read): Remove, update callers to use
5021         readable_regcache::raw_read instead.
5022         * regcache.c (regcache_raw_read): Remove.
5023
5024 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5025
5026         * regcache.h (regcache_raw_update): Remove, update callers to
5027         use readable_regcache::raw_update instead.
5028         * regcache.c (regcache_raw_update): Remove.
5029
5030 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5031
5032         * regcache.h (regcache_register_status): Remove, update callers
5033         to use reg_buffer::get_register_status directly instead.
5034         * regcache.c (regcache_register_status): Remove.
5035
5036 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5037
5038         * regcache.h (regcache_get_ptid): Remove, update all callers to
5039         call regcache::ptid instead.
5040         * regcache.c (regcache_get_ptid): Remove.
5041
5042 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5043
5044         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
5045
5046 2018-05-30  Pedro Alves  <palves@redhat.com>
5047
5048         * common/common-exceptions.h (exception_rethrow): Use
5049         ATTRIBUTE_NORETURN.
5050
5051 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
5052
5053         * breakpoint.c (print_solib_event, check_status_catch_solib):
5054         Remove struct keyword in range-based for loops.
5055         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
5056         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
5057         Likewise.
5058         * linespec.c (find_superclass_methods, search_minsyms_for_name):
5059         Likewise.
5060         * symfile.c (addr_info_make_relative): Likewise.
5061         * thread.c (value_in_thread_stack_temporaries): Likewise.
5062
5063 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
5064
5065         PR gdb/16841
5066         * valops.c (value_struct_elt_for_reference): Call check_typedef on
5067         aggregate type to get its real type before accessing it.
5068
5069 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
5070
5071         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
5072         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
5073         * coff-pe-read.c (add_pe_forwarded_sym): Replace
5074         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
5075         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
5076         * jit.c (jit_breakpoint_re_set_internal): Likewise.
5077         * printcmd.c (info_address_command): Likewise.
5078
5079 2018-05-29  Tom Tromey  <tom@tromey.com>
5080
5081         * windows-nat.c (handle_exception): Update fall-through comment.
5082
5083 2018-05-29  Tom Tromey  <tom@tromey.com>
5084
5085         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
5086         (struct program_space) <added_solibs>: Now a std::vector.
5087         * breakpoint.c (print_solib_event): Update.
5088         (check_status_catch_solib): Update.
5089         * progspace.c (clear_program_space_solib_cache): Update.
5090         * solib.c (update_solib_list): Update.
5091
5092 2018-05-29  Tom Tromey  <tom@tromey.com>
5093
5094         * python/py-type.c (typy_richcompare): Update.
5095         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
5096         * gdbtypes.h (types_deeply_equal): Return bool.
5097         (types_equal): Likewise.
5098         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
5099         declare VEC.
5100         (check_types_equal): Change worklist to std::vector.  Return
5101         bool.
5102         (struct type_equality_entry): Add constructor.
5103         (compare_maybe_null_strings): Return bool.
5104         (check_types_worklist): Return bool.  Change worklist to
5105         std::vector.
5106         (types_deeply_equal): Use std::vector.
5107         (types_equal): Return bool.
5108         (compare_maybe_null_strings): Simplify.
5109
5110 2018-05-29  Tom Tromey  <tom@tromey.com>
5111
5112         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
5113
5114 2018-05-29  Tom Tromey  <tom@tromey.com>
5115
5116         * objc-lang.h: Don't include cp-support.h.
5117         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
5118         declare VEC.
5119
5120 2018-05-27  Tom Tromey  <tom@tromey.com>
5121
5122         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
5123
5124 2018-05-25  Tom Tromey  <tom@tromey.com>
5125
5126         * value.c (value::location): Initialize.
5127
5128 2018-05-25  Tom Tromey  <tom@tromey.com>
5129
5130         * dbxread.c (init_bincl_list): Remove.
5131         (bincl_list): Now a std::vector.
5132         (bincls_allocated, next_bincl): Remove.
5133         (free_bincl_list, do_free_bincl_list_cleanup)
5134         (make_cleanup_free_bincl_list): Remove.
5135         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5136         unique_xmalloc_ptr.
5137         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5138         (struct header_file_location): Add constructor.
5139         (add_bincl_to_list): Remove.
5140
5141 2018-05-25  Tom Tromey  <tom@tromey.com>
5142
5143         * tui/tui.c (tui_enable): Update.
5144         * mi/mi-interp.c (mi_interp::init): Update.
5145         * interps.h (class interp) <name>: New method.
5146         <m_name>: Rename from name.
5147         (~scoped_restore_interp): Update.
5148         * interps.c (interp::interp): Update.
5149         (interp_add, interp_set, interp_lookup_existing)
5150         (current_interp_named_p): Update.
5151
5152 2018-05-25  Tom Tromey  <tom@tromey.com>
5153
5154         * interps.c (interp_name): Remove.
5155         * mi/mi-interp.c (mi_interp::init): Update.
5156         * interps.h (interp_name): Remove.
5157         (~scoped_restore_interp): Update.
5158         * tui/tui.c (tui_enable): Update.
5159
5160 2018-05-25  Tom Tromey  <tom@tromey.com>
5161
5162         * utils.c (fputs_maybe_filtered): Update.
5163         * linespec.c (decode_line_full): Update.
5164         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5165         (mi_print_breakpoint_for_event, mi_solib_loaded)
5166         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5167         (mi_user_selected_context_changed): Update.
5168         * mi/mi-main.c (mi_execute_command): Update.
5169         * cli/cli-script.c (execute_control_command): Update.
5170         * python/python.c (execute_gdb_command): Update.
5171         * solib.c (info_sharedlibrary_command): Update.
5172         * interps.c (interp_ui_out): Remove.
5173         * interps.h (interp_ui_out): Remove.
5174
5175 2018-05-25  Tom Tromey  <tom@tromey.com>
5176
5177         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5178         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5179         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5180
5181 2018-05-25  Tom Tromey  <tom@tromey.com>
5182
5183         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5184         * interps.c (interp_exec): Use scoped_restore.
5185
5186 2018-05-25  Tom Tromey  <tom@tromey.com>
5187
5188         * remote.c (remote_target::remote_file_get): Use
5189         gdb::byte_vector.
5190         (remote_target::remote_file_put): Likewise.
5191
5192 2018-05-25  Tom Tromey  <tom@tromey.com>
5193
5194         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5195         a std::string.
5196         (get_pe_section_index, add_pe_exported_sym): Update.
5197         (read_pe_exported_syms): Use gdb::def_vector.
5198
5199 2018-05-25  Tom Tromey  <tom@tromey.com>
5200
5201         * frame.c (remove_prev_frame): Remove.
5202         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
5203
5204 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
5205
5206         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
5207         Remove prototypes.
5208         * mips-linux-nat.c (supply_fpregset): Always call
5209         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
5210         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
5211         `mips_fill_fpregset'.
5212         * mips-linux-tdep.c (mips_supply_fpregset)
5213         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
5214         (mips_fill_fpregset_wrapper): Remove functions.
5215         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
5216         (mips_linux_fpregset): Remove variable.
5217         (mips_linux_iterate_over_regset_sections): Use
5218         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
5219         (mips_linux_o32_sigframe_init): Remove comment.
5220
5221 2018-05-25  Pedro Alves  <palves@redhat.com>
5222
5223         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
5224         (struct readahead_cache, struct packet_reg, struct
5225         remote_arch_state, class remote_state): Move higher up in the
5226         file.
5227         (remote_target::m_remote_state): Now an object instead of a pointer.
5228         (remote_target::get_remote_state): Adjust.
5229
5230 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5231
5232         * stack.c (select_and_print_frame): Delete.
5233         (struct function_bounds): Move struct within function.
5234         (func_command): Most content moved into new function
5235         find_frame_for_function, use new function, print result, add
5236         function comment.
5237         (find_frame_for_function): New function, now returns a result.
5238
5239 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5240
5241         * stack.c (iterate_over_block_arg_vars): Fix comment.
5242         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
5243
5244 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
5245
5246         PR gdb/23203
5247         * frame.c
5248         (scoped_restore_selected_frame::scoped_restore_selected_frame):
5249         Define.
5250         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
5251         Define.
5252         * frame.h (class scoped_restore_selected_frame): New class.
5253         * stack.c (print_frame_local_vars): Remove catching and rethrowing
5254         of any exception, use scoped_restore_selected_frame to restore the
5255         frame instead.
5256
5257 2018-05-24  Pedro Alves  <palves@redhat.com>
5258
5259         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
5260         override.
5261
5262 2018-05-23  Tom Tromey  <tom@tromey.com>
5263
5264         * complaints.c (struct complaints): Remove.
5265         (symfile_complaint_book): Remove.
5266         (series): New global.
5267         (complaint_internal): Update.
5268         (clear_complaints): Update.
5269
5270 2018-05-23  Tom Tromey  <tom@tromey.com>
5271
5272         * complaints.c (counters): New global.
5273         (struct complain): Remove.
5274         (struct complaints) <root>: Remove.
5275         (complaint_sentinel): Remove.
5276         (symfile_complaint_book): Update.
5277         (find_complaint) Remove.
5278         (complaint_internal, clear_complaints): Update.
5279
5280 2018-05-23  Tom Tromey  <tom@tromey.com>
5281
5282         * complaints.c (struct complain) <file, line>: Remove.
5283         (find_complaint): Remove file, line parameters.
5284         (complaint_internal): Update.
5285
5286 2018-05-23  Tom Tromey  <tom@tromey.com>
5287
5288         * complaints.c (vcomplaint): Remove.
5289         (complaint_internal) Merge in contents of vcomplaint.
5290
5291 2018-05-23  Tom Tromey  <tom@tromey.com>
5292
5293         * complaints.c (struct complaints) <explanation>: Remove.
5294         (symfile_explanations): Remove.
5295         (symfile_complaint_book): Update.
5296         (vcomplaint): Update.
5297         (struct explanation): Remove.
5298
5299 2018-05-23  Tom Tromey  <tom@tromey.com>
5300
5301         * complaints.c (symfile_complaints): Remove.
5302         (complaint_internal): Remove "complaints" parameter.
5303         (clear_complaints, vcomplaint): Remove "c" parameter.
5304         (get_complaints): Remove.
5305         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
5306         (dwarf2_debug_line_missing_file_complaint)
5307         (dwarf2_debug_line_missing_end_sequence_complaint)
5308         (dwarf2_complex_location_expr_complaint)
5309         (dwarf2_const_value_length_mismatch_complaint)
5310         (dwarf2_section_buffer_overflow_complaint)
5311         (dwarf2_macro_malformed_definition_complaint)
5312         (dwarf2_invalid_attrib_class_complaint)
5313         (create_addrmap_from_index, dw2_symtab_iter_next)
5314         (dw2_expand_marked_cus)
5315         (dw2_debug_names_iterator::find_vec_in_debug_names)
5316         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
5317         (create_debug_type_hash_table, init_cutu_and_read_dies)
5318         (partial_die_parent_scope, add_partial_enumeration)
5319         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
5320         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
5321         (read_import_statement, read_file_scope, create_dwo_cu_reader)
5322         (create_cus_hash_table, create_dwp_hash_table)
5323         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
5324         (dwarf2_rnglists_process, dwarf2_ranges_process)
5325         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
5326         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
5327         (handle_struct_member_die, process_structure_scope)
5328         (read_array_type, read_common_block, read_module_type)
5329         (read_tag_pointer_type, read_typedef, read_base_type)
5330         (read_subrange_type, load_partial_dies, partial_die_info::read)
5331         (partial_die_info::read, partial_die_info::read)
5332         (partial_die_info::read, read_checked_initial_length_and_offset)
5333         (dwarf2_string_attr, read_formatted_entries)
5334         (dwarf_decode_line_header)
5335         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
5336         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
5337         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
5338         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
5339         (get_signatured_type, get_DW_AT_signature_type)
5340         (decode_locdesc, file_file_name, consume_improper_spaces)
5341         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
5342         (dwarf_decode_macro_bytes, dwarf_decode_macros)
5343         (dwarf2_symbol_mark_computed, set_die_type)
5344         (read_attribute_value): Update.
5345         * stap-probe.c (handle_stap_probe, get_stap_base_address):
5346         Update.
5347         * dbxread.c (unknown_symtype_complaint)
5348         (lbrac_mismatch_complaint, repeated_header_complaint)
5349         (set_namestring, function_outside_compilation_unit_complaint)
5350         (read_dbx_symtab, process_one_symbol): Update.
5351         * gdbtypes.c (stub_noname_complaint): Update.
5352         * windows-nat.c (handle_unload_dll): Update.
5353         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
5354         (decode_base_type): Update.
5355         * xcoffread.c (bf_notfound_complaint, ef_complaint)
5356         (eb_complaint, record_include_begin, record_include_end)
5357         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
5358         (process_xcoff_symbol, read_symbol)
5359         (function_outside_compilation_unit_complaint)
5360         (scan_xcoff_symtab): Update.
5361         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
5362         * buildsym.c (finish_block_internal, make_blockvector)
5363         (end_symtab_get_static_block, augment_type_symtab): Update.
5364         * dtrace-probe.c (dtrace_process_dof)
5365         (dtrace_static_probe_ops::get_probes): Update.
5366         * complaints.h (struct complaint): Don't declare.
5367         (symfile_complaints): Remove.
5368         (complaint_internal): Remove "complaints" parameter.
5369         (complaint): Likewise.
5370         (clear_complaints): Likewise.
5371         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5372         (reread_symbols): Update.
5373         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
5374         (dwarf2_frame_cache, decode_frame_entry): Update.
5375         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
5376         * objc-lang.c (lookup_objc_class, lookup_child_selector)
5377         (info_selectors_command): Update.
5378         * macrotab.c (macro_include, check_for_redefinition)
5379         (macro_undef): Update.
5380         * objfiles.c (filter_overlapping_sections): Update.
5381         * stabsread.c (invalid_cpp_abbrev_complaint)
5382         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
5383         (define_symbol, error_type, read_type, rs6000_builtin_type)
5384         (stabs_method_name_from_physname, read_member_functions)
5385         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
5386         (attach_fields_to_type, complain_about_struct_wipeout)
5387         (read_range_type, read_args, common_block_start)
5388         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
5389         Update.
5390         * mdebugread.c (index_complaint, unknown_ext_complaint)
5391         (basic_type_complaint, bad_tag_guess_complaint)
5392         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
5393         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
5394         (parse_procedure, parse_lines)
5395         (function_outside_compilation_unit_complaint)
5396         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
5397         (bad_tag_guess_complaint, reg_value_complaint): Update.
5398         * cp-support.c (demangled_name_complaint): Update.
5399         * macroscope.c (sal_macro_scope): Update.
5400         * dwarf-index-write.c (class debug_names): Update.
5401
5402 2018-05-23  Tom Tromey  <tom@tromey.com>
5403
5404         * complaints.c (clear_complaints): Remove "noisy" parameter.
5405         * complaints.h (clear_complaints): Update.
5406         * symfile.c (syms_from_objfile_1, finish_new_objfile)
5407         (reread_symbols): Update.
5408
5409 2018-05-23  Tom Tromey  <tom@tromey.com>
5410
5411         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
5412         SUBSEQUENT_MESSAGE.
5413         (vcomplaint, clear_complaints): Update.
5414         (symfile_explanations): Remove some messages.
5415
5416 2018-05-23  Tom Tromey  <tom@tromey.com>
5417
5418         * complaints.c (internal_complaint): Remove.
5419         * complaints.h (internal_complaint): Remove.
5420
5421 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5422
5423         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
5424
5425 2018-05-22  Pedro Alves  <palves@redhat.com>
5426
5427         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
5428         (remote_fileio_badfd, remote_fileio_return_errno)
5429         (remote_fileio_return_success, remote_fileio_func_open)
5430         (remote_fileio_func_open, remote_fileio_func_close)
5431         (remote_fileio_func_read, remote_fileio_func_write)
5432         (remote_fileio_func_lseek, remote_fileio_func_rename)
5433         (remote_fileio_func_unlink, remote_fileio_func_stat)
5434         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
5435         (remote_fileio_func_isatty, remote_fileio_func_system): Add
5436         remote_target parameter.
5437         (remote_fio_func_map) <func>: Add remote_target parameter.
5438         (do_remote_fileio_request, remote_fileio_request):
5439         * remote-fileio.h (remote_fileio_request):
5440         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
5441         remote_target parameter.
5442         (remote_notif_process, handle_notification): Adjust to pass down
5443         the remote.
5444         (remote_notif_state_allocate): Add remote_target parameter.  Save
5445         it.
5446         * remote-notif.h (struct remote_target): Forward declare.
5447         (struct notif_client) <parse, ack, can_get_pending_events>: Add
5448         remote_target parameter.
5449         (struct remote_notif_state) <remote>: New field.
5450         (remote_notif_ack, remote_notif_parse): Add remote_target
5451         parameter.
5452         (remote_notif_state_allocate, remote_notif_state_allocate): Add
5453         remote_target parameter.
5454         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
5455         (threads_listing_context, rmt_thread_action, protocol_feature)
5456         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
5457         (packet_result, struct threads_listing_context, remote_state):
5458         Move definitions and declarations higher up.
5459         (remote_target) <~remote_target>: Declare.
5460         (remote_download_command_source, remote_file_put, remote_file_get)
5461         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
5462         (remote_hostio_pread_vFile, remote_hostio_send_command)
5463         (remote_hostio_set_filesystem, remote_hostio_open)
5464         (remote_hostio_close, remote_hostio_unlink, remote_state)
5465         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
5466         (get_memory_write_packet_size, get_memory_read_packet_size)
5467         (append_pending_thread_resumptions, remote_detach_1)
5468         (append_resumption, remote_resume_with_vcont)
5469         (add_current_inferior_and_thread, wait_ns, wait_as)
5470         (process_stop_reply, remote_notice_new_inferior)
5471         (process_initial_stop_replies, remote_add_thread)
5472         (btrace_sync_conf, remote_btrace_maybe_reopen)
5473         (remove_new_fork_children, kill_new_fork_children)
5474         (discard_pending_stop_replies, stop_reply_queue_length)
5475         (check_pending_events_prevent_wildcard_vcont)
5476         (discard_pending_stop_replies_in_queue, stop_reply)
5477         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
5478         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
5479         (remote_interrupt_as, remote_interrupt_ns)
5480         (remote_get_noisy_reply, remote_query_attached)
5481         (remote_add_inferior, remote_current_thread, get_current_thread)
5482         (set_thread, set_general_thread, set_continue_thread)
5483         (set_general_process, write_ptid)
5484         (remote_unpack_thread_info_response, remote_get_threadinfo)
5485         (parse_threadlist_response, remote_get_threadlist)
5486         (remote_threadlist_iterator, remote_get_threads_with_ql)
5487         (remote_get_threads_with_qxfer)
5488         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
5489         (get_offsets, remote_check_symbols, remote_supported_packet)
5490         (remote_query_supported, remote_packet_size)
5491         (remote_serial_quit_handler, remote_detach_pid)
5492         (remote_vcont_probe, remote_resume_with_hc)
5493         (send_interrupt_sequence, interrupt_query)
5494         (remote_notif_get_pending_events, fetch_register_using_p)
5495         (send_g_packet, process_g_packet, fetch_registers_using_g)
5496         (store_register_using_P, store_registers_using_G)
5497         (set_remote_traceframe, check_binary_download)
5498         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
5499         (remote_xfer_live_readonly_partial, remote_read_bytes)
5500         (remote_send_printf, remote_flash_write, readchar)
5501         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
5502         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
5503         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
5504         (extended_remote_disable_randomization, extended_remote_run)
5505         (send_environment_packet, extended_remote_environment_support)
5506         (extended_remote_set_inferior_cwd, remote_write_qxfer)
5507         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
5508         (packet_command): Now methods of ...
5509         (remote_target): ... this class.
5510         (m_remote_state) <remote_target>: New field.
5511         (struct remote_state) <stop_reply_queue,
5512         remote_async_inferior_event_token, wait_forever_enabled_p>: New
5513         fields.
5514         (remote_state::remote_state): Allocate stop_reply_queue.
5515         (remote_state): Delete global.
5516         (get_remote_state_raw): Delete.
5517         (remote_target::get_remote_state): Allocate m_remote_state on
5518         demand.
5519         (get_current_remote_target): New.
5520         (remote_ops, extended_remote_ops): Delete.
5521         (wait_forever_enabled_p, remote_async_inferior_event_token):
5522         Delete, moved to struct remote_state.
5523         (remote_target::close): Delete self.  Destruction bits split to
5524         ...
5525         (remote_target::~remote_target): ... this.
5526         (show_memory_packet_size): Adjust to use
5527         get_current_remote_target.
5528         (struct protocol_feature) <func>: Add remote_target parameter.
5529         All callers adjusted.
5530         (curr_quit_handler_target): New.
5531         (remote_serial_quit_handler): Reimplement.
5532         (remote_target::open_1): Adjust to use get_current_remote_target.
5533         Heap-allocate remote_target/extended_remote_target instances.
5534         (vcont_builder::vcont_builder): Add remote_target parameter, and
5535         save it in m_remote.  All callers adjusted.
5536         (vcont_builder::m_remote): New field.
5537         (vcont_builder::restart, vcont_builder::flush)
5538         (vcont_builder::push_action): Use it.
5539         (remote_target::commit_resume): Use it.
5540         (struct queue_iter_param) <remote>: New field.
5541         (remote_target::remove_new_fork_children): Fill in 'remote' field.
5542         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
5543         (check_pending_event_prevents_wildcard_vcont_callback)
5544         (remote_target::check_pending_events_prevent_wildcard_vcont)
5545         (remote_target::discard_pending_stop_replies)
5546         (remote_target::discard_pending_stop_replies_in_queue)
5547         (remote_target::remote_notif_remove_queued_reply): Fill in
5548         'remote' field.
5549         (remote_notif_get_pending_events): New.
5550         (remote_target::readchar, remote_target::remote_serial_write):
5551         Save/restore curr_quit_handler_target.
5552         (putpkt): New.
5553         (kill_new_fork_children): Fill in 'remote' field.
5554         (packet_command): Use get_current_remote_target, defer to
5555         remote_target method of same name.
5556         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
5557         parameter, and save it in m_remote.  All callers adjusted.
5558         (scoped_remote_fd::release): Use m_remote.
5559         (scoped_remote_fd::m_remote): New field.
5560         (remote_file_put, remote_file_get, remote_file_delete): Use
5561         get_current_remote_target, defer to remote_target method of same
5562         name.
5563         (remote_btrace_reset): Add remote_state paremeter.  Update all
5564         callers.
5565         (remote_async_inferior_event_handler). Pass down 'data'.
5566         (remote_new_objfile): Use get_current_remote_target.
5567         (remote_target::vcont_r_supported): New.
5568         (set_range_stepping): Use get_current_remote_target and
5569         remote_target::vcont_r_supported.
5570         (_initialize_remote): Don't allocate 'remote_state' and
5571         'stop_reply_queue' globals.
5572         * remote.h (struct remote_target): Forward declare.
5573         (getpkt, putpkt, remote_notif_get_pending_events): Add
5574         'remote_target' parameter.
5575
5576 2018-05-22  Pedro Alves  <palves@redhat.com>
5577
5578         * remote.c (vcont_builder): Now a class.  Make all data members
5579         private.
5580         (vcont_builder) <vcont_builder, restart, flush, push_action>:
5581         Declare methods.
5582         (vcont_builder_restart): Rename to ...
5583         (vcont_builder::restart): ... this.
5584         (vcont_builder_flush): Rename to ...
5585         (vcont_builder::flush): ... this.
5586         (vcont_builder_push_action): Rename to ...
5587         (vcont_builder::push_action): ... this.
5588         (remote_target::commit_resume): Adjust.
5589
5590 2018-05-22  Pedro Alves  <palves@redhat.com>
5591
5592         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
5593         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
5594         (get_fixed_memory_packet_size): New.
5595         (get_memory_packet_size): Use it.
5596         (set_memory_packet_size): Don't override the config size with
5597         DEFAULT_MAX_MEMORY_PACKET_SIZE.
5598         (show_memory_packet_size): Use get_fixed_memory_packet_size.
5599         Don't refer to get_memory_packet_size if not connected to a remote
5600         target.  Show "(default)" if configured size is 0.
5601
5602 2018-05-22  Pedro Alves  <palves@redhat.com>
5603
5604         * remote.c (remote_target::mourn_inferior): Move
5605         discard_pending_stop_replies call here from ...
5606         (_initialize_remote): ... here.
5607
5608 2018-05-22  Pedro Alves  <palves@redhat.com>
5609
5610         * remote.c (compare_section_command): Remove set_general_process
5611         call.
5612
5613 2018-05-22  Pedro Alves  <palves@redhat.com>
5614
5615         * remote.c (struct packet_reg, struct remote_arch_state):
5616         Move higher up in the file.
5617         (remote_state) <m_arch_states>: Store remote_arch_state values
5618         instead of remote_arch_state pointers.
5619         (remote_state::get_remote_arch_state): Adjust.
5620
5621 2018-05-22  Pedro Alves  <palves@redhat.com>
5622
5623         * remote.c: Include <unordered_map>.
5624         (remote_state): Now a class.
5625         (remote_state) <get_remote_arch_state>: Declare method.
5626         <get_remote_arch_state>: New field.
5627         (remote_arch_state) <remote_arch_state>: Declare ctor.
5628         <regs>: Now a unique_ptr.
5629         (remote_gdbarch_data_handle): Delete.
5630         (get_remote_arch_state): Delete.
5631         (remote_state::get_remote_arch_state): New.
5632         (get_remote_state): Adjust to call remote_state's
5633         get_remote_arch_state method.
5634         (init_remote_state): Delete, bits factored out to ...
5635         (remote_arch_state::remote_arch_state): ... this new method.
5636         (get_remote_packet_size, get_memory_packet_size)
5637         (process_g_packet, remote_target::fetch_registers)
5638         (remote_target::prepare_to_store, store_registers_using_G)
5639         (remote_target::store_registers, remote_target::get_trace_status):
5640         Adjust to call remote_state's method.
5641         (_initialize_remote): Remove reference to
5642         remote_gdbarch_data_handle.
5643
5644 2018-05-22  Pedro Alves  <palves@redhat.com>
5645
5646         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
5647         pread>: New method declarations.
5648         (remote_target::open_1): Adjust.
5649         (readahead_cache_invalidate): Rename to ...
5650         (readahead_cache::invalidate): ... this, and adjust to be a class
5651         method.
5652         (readahead_cache_invalidate_fd): Rename to ...
5653         (readahead_cache::invalidate_fd): ... this, and adjust to be a
5654         class method.
5655         (remote_hostio_pwrite): Adjust.
5656         (remote_hostio_pread_from_cache): Rename to ...
5657         (readahead_cache::pread): ... this, and adjust to be a class
5658         method.
5659         (remote_hostio_close): Adjust.
5660
5661 2018-05-22  Pedro Alves  <palves@redhat.com>
5662
5663         * remote.c (remote_hostio_close_cleanup): Delete.
5664         (class scoped_remote_fd): New.
5665         (remote_file_put, remote_file_get): Use it.
5666
5667 2018-05-22  Pedro Alves  <palves@redhat.com>
5668
5669         (struct vCont_action_support): Use bool and initialize all fields.
5670         (struct readahead_cache): Initialize all fields.
5671         (remote_state): Use bool and initialize all fields.
5672         (remote_state::remote_state, remote_state::~remote_state): New.
5673         (new_remote_state): Delete.
5674         (_initialize_remote): Use new to allocate remote_state.
5675
5676 2018-05-22  Pedro Alves  <palves@redhat.com>
5677             張俊芝  <zjz@zjz.name>
5678
5679         PR gdb/22973
5680         * c-exp.y: Include "c-support.h".
5681         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
5682         of tolower.  Use c_ident_is_alpha to scan names.
5683         * c-lang.c: Include "c-support.h".
5684         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
5685         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
5686         * c-support.h: New file, with bits factored out from ...
5687         * cp-name-parser.y: ... this file.
5688         Include "c-support.h".
5689         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
5690         c-support.h and renamed.
5691         (symbol_end, yylex): Adjust.
5692
5693 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5694
5695         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
5696         parameter type to CORE_ADDR.
5697         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
5698         parameter type in declaration to CORE_ADDR.
5699         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
5700         target_auxv_search to get AT_HWCAP and use the result to get the
5701         target description.
5702         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
5703         to CORE_ADDR. Remove the cast of the return value to unsigned
5704         long. Fix error predicate of target_auxv_search.
5705         (ppc_linux_nat_target::read_description): Change the type of the
5706         hwcap variable to CORE_ADDR.
5707
5708 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5709
5710         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
5711         if the size of fpscr is larger than 32 bits.
5712
5713 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5714
5715         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
5716         (ppc32_linux_vsxregmap): New global.
5717         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
5718         regcache_supply_regset, and regcache_collect_regset.
5719         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
5720         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
5721         (fetch_vsx_register, store_vsx_register): Remove.
5722         (fetch_vsx_registers): Add regno parameter. Get regset using
5723         ppc_linux_vsxregset. Use regset to supply registers.
5724         (store_vsx_registers): Add regno parameter. Get regset using
5725         ppc_linux_vsxregset. Use regset to collect registers.
5726         (fetch_register): Call fetch_vsx_registers instead of
5727         fetch_vsx_register.
5728         (store_register): Call store_vsx_registers instead of
5729         store_vsx_register.
5730         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
5731         new regno parameter.
5732         (store_ppc_registers): Call store_vsx_registers with -1 for the
5733         new regno parameter.
5734         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
5735         (ppc_collect_vsxregset): Remove.
5736
5737 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5738
5739         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
5740         offset fields.
5741         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
5742         for vector register offset fields.
5743         (ppc64_fbsd_reg_offsets): Likewise.
5744         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5745         to vector register offset fields.
5746         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
5747         to vector register offset fields.
5748         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
5749         vector register offset fields.
5750         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
5751         initializers for vector register offset fields.
5752         (rs6000_aix64_reg_offsets): Likewise.
5753         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
5754         (ppc_supply_vrregset): Remove.
5755         (ppc_collect_vrregset): Remove.
5756         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
5757         (ppc_linux_vrregset) : New function.
5758         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
5759         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
5760         (ppc32_linux_vrregset): Remove.
5761         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
5762         and use result instead of ppc32_linux_vrregset.
5763         (ppc32_linux_reg_offsets): Remove initializers for vector register
5764         offset fields.
5765         (ppc64_linux_reg_offsets): Likewise.
5766         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
5767         * ppc-linux-nat.c: Include regset.h.
5768         (gdb_vrregset_t): Adjust comment to account for little-endian
5769         mode.
5770         (supply_vrregset, fill_vrregset): Remove.
5771         (fetch_altivec_register, store_altivec_register): Remove.
5772         (fetch_altivec_registers): Add regno parameter. Get regset using
5773         ppc_linux_vrregset. Use regset to supply registers.
5774         (store_altivec_registers): Add regno parameter. Get regset using
5775         ppc_linux_vrregset. Use regset to collect registers.
5776         (fetch_register): Call fetch_altivec_registers instead of
5777         fetch_altivec_register.
5778         (store_register): Call store_altivec_registers instead of
5779         store_altivec_register.
5780         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
5781         the new regno parameter.
5782         (store_ppc_registers): Call store_altivec_registers with -1 for
5783         the new regno parameter.
5784
5785 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5786
5787         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
5788         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
5789         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
5790         (gdb_vrregset_t): Change array type size to
5791         PPC_LINUX_SIZEOF_VRREGSET.
5792         (gdb_vsxregset_t): Change array type size to
5793         PPC_LINUX_SIZEOF_VSXREGSET.
5794         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
5795         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
5796         PPC_LINUX_SIZEOF_VSXREGSET.
5797
5798 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5799
5800         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
5801         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
5802         nat/ppc-linux.c.
5803         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
5804         ppc_linux_target_wordsize with tid.
5805         (ppc_linux_nat_target::read_description): Call ppc_linux_target
5806         wordsize with tid.
5807         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
5808         (ppc64_64bit_inferior_p): Add static and inline specifiers.
5809         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
5810         tid parameter. Remove static specifier.
5811         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
5812         (ppc_linux_target_wordsize): New declaration.
5813
5814 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
5815
5816         * arch/ppc-linux-common.c: New file.
5817         * arch/ppc-linux-common.h: New file.
5818         * arch/ppc-linux-tdesc.h: New file.
5819         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
5820         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
5821         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
5822         arch/ppc-linux-tdesc.h.
5823         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
5824         arch/ppc-linux-tdesc.h.
5825         (ppc_linux_nat_target::read_description): Remove target
5826         description matching code. Fill a ppc_linux_features struct and
5827         call ppc_linux_match_description with it. Move comment about ISA
5828         2.05 to ppc-linux-common.c.
5829         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
5830         arch/ppc-linux-tdesc.h.
5831         (ppc_linux_core_read_description): Remove target description
5832         matching code. Fill a ppc_linux_features struct and call
5833         ppc_linux_match_description with it.
5834         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
5835         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
5836         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
5837         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
5838         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
5839         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
5840         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
5841         (tdesc_powerpc_e500l): Remove.
5842
5843 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
5844
5845         * ada-lang.c (catch_assert_command): Pass empty string instead
5846         of NULL for excep_string argument.
5847
5848 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
5849
5850         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
5851         the width of the requested register exceeds the width of the
5852         `ptrace' data type.
5853
5854 2018-05-21  Tom Tromey  <tom@tromey.com>
5855
5856         * printcmd.c (output_command): Remove.
5857         (output_command_const): Rename to output_command.
5858         * valprint.h (output_command): Rename from output_command_const.
5859         * tracepoint.c (trace_dump_actions): Call output_command.
5860
5861 2018-05-21  Tom Tromey  <tom@tromey.com>
5862
5863         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
5864         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
5865         * ada-lang.h (create_ada_exception_catchpoint): Update.
5866         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
5867         std::string.
5868         (create_excep_cond_exprs, ~ada_catchpoint)
5869         (should_stop_exception, print_one_exception)
5870         (print_mention_exception, print_recreate_exception): Update.
5871         (ada_get_next_arg): Remove.
5872         (catch_ada_exception_command_split): Use std::string.  Change type
5873         of "excep_string", "cond_string".
5874         (catch_ada_exception_command): Update.
5875         (create_ada_exception_catchpoint): Change type of excep_string.
5876         (ada_exception_sal): Remove excep_string parameter.
5877         (~ada_catchpoint): Remove.
5878
5879 2018-05-21  Tom Tromey  <tom@tromey.com>
5880
5881         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
5882         cleanup.
5883
5884 2018-05-21  Tom Tromey  <tom@tromey.com>
5885
5886         * ada-lang.c (ada_exception_message_1, ada_exception_message):
5887         Return unique_xmalloc_ptr.
5888         (print_it_exception): Update.
5889
5890 2018-05-21  Tom Tromey  <tom@tromey.com>
5891
5892         * tracepoint.c (trace_dump_actions): Use std::string.
5893
5894 2018-05-21  Tom Tromey  <tom@tromey.com>
5895
5896         * symfile.c (reread_symbols): Use std::string for original_name.
5897
5898 2018-05-21  Tom Tromey  <tom@tromey.com>
5899
5900         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
5901         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
5902         constructor.
5903
5904 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
5905
5906         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
5907         instance to...
5908         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
5909         * objfiles.c (get_objfile_bfd_data): Allocate
5910         objfile_per_bfd_storage with obstack_new when allocating on
5911         obstack.
5912
5913 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5914
5915         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
5916         OBSTACK_ZALLOC.
5917         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
5918         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
5919         * mdebugread.c (mdebug_build_psymtabs): Likewise.
5920         (add_pending): Likewise.
5921         (parse_symbol): Likewise.
5922         (parse_partial_symbols): Likewise.
5923         (psymtab_to_symtab_1): Likewise.
5924         (new_psymtab): Likewise.
5925         (elfmdebug_build_psymtabs): Likewise.
5926         * minsyms.c (terminate_minimal_symbol_table): Likewise.
5927         * objfiles.c (get_objfile_bfd_data): Likewise.
5928         (objfile_register_static_link): Likewise.
5929         * psymtab.c (allocate_psymtab): Likewise.
5930         * stabsread.c (read_member_functions): Likewise.
5931         * xcoffread.c (xcoff_end_psymtab): Likewise.
5932
5933 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
5934
5935         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
5936         compiler supports std::is_trivially_constructible.
5937         * common/poison.h: Include obstack.h.
5938         (IsMallocable): Define to is_trivially_constructible if the
5939         compiler supports it, define to true_type otherwise.
5940         (xobnew): New.
5941         (XOBNEW): Redefine.
5942         (xobnewvec): New.
5943         (XOBNEWVEC): Redefine.
5944         * gdb_obstack.h (obstack_zalloc): New.
5945         (OBSTACK_ZALLOC): Redefine.
5946         (obstack_calloc): New.
5947         (OBSTACK_CALLOC): Redefine.
5948         (obstack_new): New.
5949         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
5950         (gdbarch_obstack): New declaration in gdbarch.h, definition in
5951         gdbarch.c.
5952         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
5953         obstack_calloc/obstack_zalloc.
5954         (gdbarch_obstack_zalloc): Remove.
5955         * target-descriptions.c (tdesc_data_init): Use obstack_new.
5956
5957 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5958
5959         * stack.c (backtrace_command_1): Remove useless variable int i.
5960
5961 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5962
5963         * stack.c (print_frame_info): Fix comment.
5964
5965 2018-05-18  Tom Tromey  <tom@tromey.com>
5966
5967         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
5968         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
5969         (~dwarf2_per_objfile): Update
5970         (dwarf2_get_dwz_file): Use new.
5971         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
5972         unique_ptr.
5973
5974 2018-05-18  Tom Tromey  <tom@tromey.com>
5975
5976         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
5977         unique_ptr.
5978         * dwarf2read.c (struct dwp_file): Add constructor and
5979         initializers.
5980         (open_and_init_dwp_file): Return a unique_ptr.
5981         (dwarf2_per_objfile, create_dwp_hash_table)
5982         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
5983         (lookup_dwo_unit_in_dwp): Update.
5984         (open_and_init_dwp_file, get_dwp_file): Update.
5985
5986 2018-05-18  Tom Tromey  <tom@tromey.com>
5987
5988         * dwarf2read.c (dwarf2_per_objfile): Update.
5989         (struct mapped_index): Add initializers.
5990         (dwarf2_read_index): Use new.
5991         (dw2_symtab_iter_init): Update.
5992         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
5993         unique_ptr.
5994
5995 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
5996
5997         * dwarf2read.c (mapped_index) <total_size>: Remove.
5998
5999 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6000
6001         * unittests/format_pieces-selftests.c (test_format_specifier):
6002         Add ARI comments.
6003
6004 2018-05-18  Tom Tromey  <tom@tromey.com>
6005
6006         * c-typeprint.c (maybe_print_hole): New function.
6007         (c_print_type_struct_field_offset): Update.
6008         (c_type_print_base_struct_union): Call maybe_print_hole.
6009
6010 2018-05-17  Keith Seitz  <keiths@redhat.com>
6011
6012         * breakpoint.c (build_bpstat_chain): New function, moved from
6013         bpstat_stop_status.
6014         (bpstat_stop_status): Add optional parameter, `stop_chain'.
6015         If no stop chain is passed, call build_bpstat_chain to build it.
6016         * breakpoint.h (build_bpstat_chain): Declare.
6017         (bpstat_stop_status): Move documentation here from breakpoint.c.
6018         * infrun.c (handle_signal_stop): Before eliding inlined frames,
6019         build the stop chain and pass it to skip_inline_frames.
6020         Pass this stop chain to bpstat_stop_status.
6021         * inline-frame.c: Include breakpoint.h.
6022         (stopped_by_user_bp_inline_frame): New function.
6023         (skip_inline_frames): Add parameter `stop_chain'.
6024         Move documention to inline-frame.h.
6025         If non-NULL, use stopped_by_user_bp_inline_frame to determine
6026         whether the frame should be elided.
6027         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
6028         Add moved documentation and update for new parameter.
6029
6030 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6031
6032         PR cli/14975
6033         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6034         unittests/format_pieces-selftests.c.
6035         * common/format.h (format_piece) <operator==>: New.
6036         (format_pieces) <operator[]>: Remove.
6037         * common/format.c (format_pieces::format_pieces): Handle \e.
6038         * unittests/format_pieces-selftests.c: New.
6039
6040 2018-05-17  Tom Tromey  <tom@tromey.com>
6041
6042         PR symtab/23010:
6043         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
6044         (dw2_instantiate_symtab): Add skip_partial parameter.
6045         (dw2_find_last_source_symtab, dw2_map_expand_apply)
6046         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
6047         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
6048         (dw2_expand_symtabs_matching_one)
6049         (dw2_find_pc_sect_compunit_symtab)
6050         (dw2_debug_names_lookup_symbol)
6051         (dw2_debug_names_expand_symtabs_for_function): Update.
6052         (init_cutu_and_read_dies): Add skip_partial parameter.
6053         (process_psymtab_comp_unit, build_type_psymtabs_1)
6054         (process_skeletonless_type_unit, load_partial_comp_unit)
6055         (psymtab_to_symtab_1): Update.
6056         (load_full_comp_unit): Add skip_partial parameter.
6057         (process_imported_unit_die, dwarf2_read_addr_index)
6058         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
6059         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
6060         (read_signatured_type): Update.
6061
6062 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6063
6064         * value.c (release_value): Remove unused variable.
6065         (record_latest_value): Likewise.
6066         (access_value_history): Likewise.
6067         (preserve_values): Likewise.
6068
6069 2018-05-17  Tom Tromey  <tom@tromey.com>
6070
6071         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
6072         Initialize.
6073
6074 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
6075
6076         PR gdb/22286
6077         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
6078         Also handle registers whose width is not a multiple of
6079         PTRACE_TYPE_RET.
6080         (linux_nat_trad_target::store_register): Likewise.
6081
6082 2018-05-16  Tom Tromey  <tom@tromey.com>
6083
6084         * gdbcore.h (core_bfd): Redefine.
6085         * corelow.c (core_target::close): Update.
6086         (core_target_open): Update.
6087         * progspace.h (struct program_space) <cbfd>: Now a
6088         gdb_bfd_ref_ptr.
6089
6090 2018-05-16  Tom Tromey  <tom@tromey.com>
6091
6092         PR cli/19551:
6093         * symfile-add-flags.h (enum symfile_add_flags)
6094         <SYMFILE_NOT_FILENAME>: New constant.
6095         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
6096         objfile name from BFD.
6097         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
6098         * minidebug.c (find_separate_debug_file_in_section): Put
6099         ".gnu_debugdata" into BFD's file name.
6100
6101 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
6102
6103         * regcache.c (regcache_read_ftype, regcache_write_ftype):
6104         Remove.
6105
6106 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
6107
6108         PR binutils/21446
6109         * aarch64-tdep.c (aarch64_analyze_prologue,
6110         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
6111         Indicate not interested in errors.
6112
6113 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6114
6115         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
6116         Supply the MIPS_ZERO_REGNUM register.
6117
6118 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6119
6120         * mips-tdep.c (mask_address_var): Make variable static.
6121
6122 2018-05-14  Tom Tromey  <tom@tromey.com>
6123
6124         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
6125
6126 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6127
6128         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
6129         FXSAVE_ADDR for the mxcsr register.
6130
6131 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6132
6133         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6134
6135 2018-05-11  Pedro Alves  <palves@redhat.com>
6136
6137         * corelow.c (core_target) <core_target>: No longer inline.
6138         Initialize m_core_gdbarch, m_core_vec and build the section table
6139         here.
6140         <~core_target>: New.
6141         <core_gdbarch, get_core_register_section>: New methods.
6142         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6143         factored out from ...
6144         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6145         (core_ops): Delete.
6146         (sniff_core_bfd): Add gdbarch parameter.
6147         (core_close): Delete, merged into ...
6148         (core_target::close): ... here.  Delete self.
6149         (core_close_cleanup): Delete.
6150         (core_target_open): Allocate a core_target on the heap.  Use a
6151         unique_ptr instead of a cleanup.  Bits moved into the core_target
6152         ctor.  Adjust to use core_target methods instead of globals.
6153         (get_core_register_section): Rename to ...
6154         (core_target::get_core_register_section): ... this and adjust.
6155         (struct get_core_registers_cb_data): New.
6156         (get_core_registers_cb): Use it.  Use bool.
6157         (core_target::fetch_registers, core_target::files_info)
6158         (core_target::xfer_partial, core_target::read_description)
6159         (core_target::pid_to, core_target::thread_name): Adjust to
6160         reference class fields instead of globals.
6161         * target.h (struct target_ops_deleter, target_ops_up): New.
6162
6163 2018-05-11  Pedro Alves  <palves@redhat.com>
6164
6165         * corefile.c (core_file_command): Move to corelow.c.
6166         * corelow.c (the_core_target): Delete.
6167         (core_file_command): Moved from corefile.c.  Check exec_bfd
6168         instead of the_core_target.  Use target_detach instead of calling
6169         into the_core_target directly.
6170         (maybe_say_no_core_file_now): New.
6171         (core_target::detach): Use it.
6172         (_initialize_corelow): Remove references to the_core_target.
6173         * gdbcore.h (the_core_target): Delete.
6174
6175 2018-05-11  Tom Tromey  <tromey@redhat.com>
6176             Pedro Alves  <palves@redhat.com>
6177
6178         * corefile.c (core_bfd): Remove.
6179         * gdbcore.h (core_bfd): Now a macro.
6180         * progspace.h (struct program_space) <cbfd>: New field.
6181
6182 2018-05-11  Tom Tromey  <tom@tromey.com>
6183
6184         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6185         gdb::def_vector.
6186
6187 2018-05-10  Tom Tromey  <tom@tromey.com>
6188
6189         * configure: Rebuild.
6190         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6191
6192 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6193
6194         PR server/23158:
6195         * regformats/regdat.sh: Adjust script, following the addition
6196         of the new expedite_regs parameter to init_target_desc.
6197
6198 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6199     
6200         PR gdb/23127
6201         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
6202         set_gdbarch_significant_addr_bit.
6203         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
6204         set_gdbarch_significant_addr_bit.
6205         * utils.c (address_significant): Update to sign extend addr.
6206
6207 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
6208
6209         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
6210         (xtensa_linux_init_abi): Limit tdep->num_regs by
6211         tdep->num_nopriv_regs.
6212         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
6213         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
6214         not initialized.
6215
6216 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
6217
6218         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
6219
6220 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
6221
6222         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
6223         (I387_MXCSR_INIT_VAL): New constant.
6224         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
6225         buffer if it was supplied by the inferior.
6226         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
6227         (i387_xsave_get_clear_bv): New function.
6228         (i387_supply_xsave): Only read x87 control registers from the
6229         xsave buffer if the feature is enabled, and the state will have
6230         been written, otherwise, provide a suitable default.
6231         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
6232         including x87 control registers.  Update control registers if they
6233         have changed from the default value, and mark features as enabled
6234         as required.
6235         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
6236
6237 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
6238
6239         * spu-tdep.c (info_spu_event_command): Fix output formatting.
6240
6241 2018-05-07  Tom Tromey  <tom@tromey.com>
6242
6243         * configure: Rebuild.
6244         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
6245
6246 2018-05-07  Tom Tromey  <tom@tromey.com>
6247
6248         PR tdep/20362:
6249         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
6250         bit.  Use correct value for VDIV.
6251
6252 2018-05-04  Tom Tromey  <tom@tromey.com>
6253
6254         * configure: Rebuild.
6255         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
6256
6257 2018-05-04  Tom Tromey  <tom@tromey.com>
6258
6259         * linux-record.c (record_linux_system_call) <case
6260         RECORD_SYS_RECVFROM>: Add "break".
6261
6262 2018-05-04  Tom Tromey  <tom@tromey.com>
6263
6264         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
6265         Add missing "break".
6266         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
6267         Add missing "break".
6268
6269 2018-05-04  Tom Tromey  <tom@tromey.com>
6270
6271         * rs6000-tdep.c (ppc_process_record_op4)
6272         (ppc_process_record_op63): Add fall-through comment.
6273
6274 2018-05-04  Tom Tromey  <tom@tromey.com>
6275
6276         * i386-tdep.c (i386_process_record): Add fall-through comment.
6277
6278 2018-05-04  Tom Tromey  <tom@tromey.com>
6279
6280         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
6281         comment.
6282
6283 2018-05-04  Tom Tromey  <tom@tromey.com>
6284
6285         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
6286         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
6287         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
6288         comment.
6289         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
6290         comment.
6291         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
6292         comment.
6293
6294 2018-05-04  Tom Tromey  <tom@tromey.com>
6295
6296         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
6297
6298 2018-05-04  Tom Tromey  <tom@tromey.com>
6299
6300         * s390-tdep.c (s390_process_record): Fix fall-through comments.
6301         * xcoffread.c (scan_xcoff_symtab): Move comment later.
6302         * symfile.c (section_is_mapped): Fix fall-through comment.
6303         * stabsread.c (define_symbol, read_member_functions): Fix
6304         fall-through comment.
6305         * s390-linux-tdep.c (s390_process_record): Fix fall-through
6306         comment.
6307         * remote.c (remote_wait_as): Fix fall-through comment.
6308         * p-exp.y (yylex): Fix fall-through comment.
6309         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
6310         comment.
6311         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
6312         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
6313         * jv-exp.y (yylex): Fix fall-through comment.
6314         * go-exp.y (lex_one_token): Fix fall-through comment.
6315         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
6316         fall-through comment.
6317         * f-exp.y (yylex): Fix fall-through comment.
6318         * dwarf2read.c (process_die): Fix fall-through comments.
6319         * dbxread.c (process_one_symbol): Fix fall-through comment.
6320         * d-exp.y (lex_one_token): Fix fall-through comment.
6321         * cp-name-parser.y (yylex): Fix fall-through comment.
6322         * coffread.c (coff_symtab_read): Fix fall-through comment.
6323         * c-exp.y (lex_one_token): Fix fall-through comment.
6324         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
6325         comment.
6326         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
6327         comment.
6328
6329 2018-05-04  Tom Tromey  <tom@tromey.com>
6330
6331         PR python/22730:
6332         * NEWS: Mention gdb.execute change.
6333         * gdbcmd.h (execute_control_command): Don't declare.
6334         * python/python.c (execute_gdb_command): Use read_command_lines_1,
6335         execute_control_commands, execute_control_commands_to_string.
6336         * cli/cli-script.h (execute_control_commands)
6337         (execute_control_commands_to_string): Declare.
6338         (execute_control_command): Add from_tty parameter.
6339         * cli/cli-script.c (execute_control_commands)
6340         (execute_control_commands_to_string): New functions.
6341         (execute_user_command): Use execute_control_commands.
6342         (execute_control_command_1): Add "from_tty" parameter.  Update.
6343         (execute_control_command): Likewise.
6344
6345 2018-05-04  Tom Tromey  <tom@tromey.com>
6346
6347         PR python/22731:
6348         * NEWS: Mention that breakpoint commands are writable.
6349         * python/py-breakpoint.c (bppy_set_commands): New function.
6350         (breakpoint_object_getset) <"commands">: Use it.
6351
6352 2018-05-04  Tom Tromey  <tom@tromey.com>
6353
6354         * tracepoint.c (actions_command): Update.
6355         * mi/mi-cmd-break.c (mi_command_line_array)
6356         (mi_command_line_array_cnt, mi_command_line_array_ptr)
6357         (mi_read_next_line): Remove.
6358         (mi_cmd_break_commands): Update.
6359         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
6360         function_view.
6361         * cli/cli-script.c (get_command_line): Update.
6362         (process_next_line): Use function_view.  Constify.
6363         (recurse_read_control_structure, read_command_lines)
6364         (read_command_lines_1): Change argument types to function_view.
6365         (do_define_command, document_command): Update.
6366         * breakpoint.h (check_tracepoint_command): Don't declare.
6367         * breakpoint.c (check_tracepoint_command): Remove.
6368         (commands_command_1, create_tracepoint_from_upload): Update.
6369
6370 2018-05-04  Tom Tromey  <tom@tromey.com>
6371
6372         PR gdb/11750:
6373         * cli/cli-script.h (enum command_control_type) <define_control>:
6374         New constant.
6375         * cli/cli-script.c (multi_line_command_p): Handle define_control.
6376         (build_command_line, execute_control_command_1)
6377         (process_next_line): Likewise.
6378         (do_define_command): New function, extracted from define_command.
6379         (define_command): Use it.
6380
6381 2018-05-04  Tom Tromey  <tom@tromey.com>
6382
6383         * tracepoint.c (actions_command): Update.
6384         * cli/cli-script.h (read_command_lines): Update.
6385         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
6386         (MAX_TMPBUF): Remove define.
6387         (define_command): Use string_printf.
6388         (document_command): Likewise.
6389         * breakpoint.c (commands_command_1): Update.
6390
6391 2018-05-04  Tom Tromey  <tom@tromey.com>
6392
6393         * top.c (execute_command): Update.
6394         * cli/cli-script.h (print_command_lines): Now varargs.
6395         * cli/cli-script.c (print_command_lines): Now varargs.
6396         (execute_control_command_1) <case while_control, case if_control>:
6397         Update.
6398
6399 2018-05-04  Tom Tromey  <tom@tromey.com>
6400
6401         * tracepoint.c (all_tracepoint_actions): Rename from
6402         all_tracepoint_actions_and_cleanup.  Change return type.
6403         (actions_command, encode_actions_1, encode_actions)
6404         (trace_dump_actions, tdump_command): Update.
6405         * remote.c (remote_download_command_source): Update.
6406         * python/python.c (gdbpy_eval_from_control_command)
6407         (python_command, python_interactive_command): Update.
6408         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
6409         * guile/guile.c (guile_command)
6410         (gdbscm_eval_from_control_command, guile_command): Update.
6411         * compile/compile.c (compile_code_command)
6412         (compile_print_command, compile_to_object): Update.
6413         * cli/cli-script.h (struct command_lines_deleter): New.
6414         (counted_command_line): New typedef.
6415         (struct command_line): Add constructor, destructor.
6416         <body_list>: Remove.
6417         <body_list_0, body_list_1>: New members.
6418         (command_line_up): Remove typedef.
6419         (read_command_lines, read_command_lines_1, get_command_line):
6420         Update.
6421         (copy_command_lines): Don't declare.
6422         * cli/cli-script.c (build_command_line): Use "new".
6423         (get_command_line): Return counted_command_line.
6424         (print_command_lines, execute_user_command)
6425         (execute_control_command_1, while_command, if_command): Update.
6426         (realloc_body_list): Remove.
6427         (process_next_line, recurse_read_control_structure): Update.
6428         (read_command_lines, read_command_lines_1): Return counted_command_line.
6429         (free_command_lines): Use "delete".
6430         (copy_command_lines): Remove.
6431         (define_command, document_command, show_user_1): Update.
6432         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
6433         a counted_command_line.
6434         * breakpoint.h (counted_command_line): Remove typedef.
6435         (breakpoint_set_commands): Update.
6436         * breakpoint.c (check_no_tracepoint_commands)
6437         (validate_commands_for_breakpoint): Update.
6438         (breakpoint_set_commands): Change commands to be a
6439         counted_command_line.
6440         (commands_command_1, update_dprintf_command_list)
6441         (create_tracepoint_from_upload): Update.
6442
6443 2018-05-04  Tom Tromey  <tom@tromey.com>
6444
6445         * cli/cli-decode.h (cmd_list_element): New constructor.
6446         (~cmd_list_element): New destructor.
6447         (struct cmd_list_element): Add initializers.
6448         * cli/cli-decode.c (do_add_cmd): Use "new".
6449         (delete_cmd): Use "delete".
6450
6451 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6452             Pedro Alves <palves@redhat.com>
6453
6454         PR breakpoints/19806 and support for PR external/20207.
6455         * NEWS: Mention Aarch64 watchpoint improvements.
6456         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
6457         watchpoints and PR external/20207 watchpoints.
6458         * nat/aarch64-linux-hw-point.c
6459         (kernel_supports_any_contiguous_range): New.
6460         (aarch64_watchpoint_offset): New.
6461         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
6462         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
6463         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
6464         (aarch64_align_watchpoint): New parameters aligned_offset_p and
6465         next_addr_orig_p.  Support PR external/20207 watchpoints.
6466         (aarch64_downgrade_regs): New.
6467         (aarch64_dr_state_insert_one_point): New parameters offset and
6468         addr_orig.
6469         (aarch64_dr_state_remove_one_point): Likewise.
6470         (aarch64_handle_breakpoint): Update caller.
6471         (aarch64_handle_aligned_watchpoint): Likewise.
6472         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
6473         aligned_offset.
6474         (aarch64_linux_set_debug_regs): Remove const from state.  Call
6475         aarch64_downgrade_regs.
6476         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
6477         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
6478         (DR_CONTROL_MASK): ... this.
6479         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
6480         (unsigned int aarch64_watchpoint_offset): New prototype.
6481         (aarch64_linux_set_debug_regs): Remove const from state.
6482         * utils.c (align_up, align_down): Move to ...
6483         * common/common-utils.c (align_up, align_down): ... here.
6484         * utils.h (align_up, align_down): Move to ...
6485         * common/common-utils.h (align_up, align_down): ... here.
6486
6487 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
6488
6489         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
6490         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
6491         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
6492         Re-implement to match the ABI as summarized in GCC's
6493         gcc/config/sparc/sparc.c.  All callers updated.
6494         (sparc32_store_arguments): Remove assertion.
6495
6496 2018-05-04  Tom Tromey  <tom@tromey.com>
6497
6498         * printcmd.c: Don't include tui.h.
6499         (decode_format): Use skip_spaces.
6500
6501 2018-05-04  Tom Tromey  <tom@tromey.com>
6502
6503         PR gdb/22619:
6504         * printcmd.c (last_count): New global.
6505         (x_command): Use saved count when repeating.
6506
6507 2018-05-04  Tom Tromey  <tom@tromey.com>
6508
6509         * nto-procfs.c (do_closedir_cleanup): Remove.
6510         (procfs_pidlist): Use gdb_dir_up.
6511         * procfs.c (do_closedir_cleanup): Remove.
6512         (proc_update_threads): Use gdb_dir_up.
6513         * common/filestuff.h (struct gdb_dir_deleter): New.
6514         (gdb_dir_up): New typedef.
6515
6516 2018-05-04  Tom Tromey  <tom@tromey.com>
6517
6518         * ada-lang.c (print_mention_exception): Use std::string.
6519
6520 2018-05-04  Tom Tromey  <tom@tromey.com>
6521
6522         * ada-lang.c (create_excep_cond_exprs): Update.
6523         (ada_exception_catchpoint_cond_string): Use std::string.
6524
6525 2018-05-04  Tom Tromey  <tom@tromey.com>
6526
6527         * ada-lang.c (xget_renaming_scope): Return std::string.
6528         (old_renaming_is_invisible): Update.
6529
6530 2018-05-04  Tom Tromey  <tom@tromey.com>
6531
6532         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
6533         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
6534
6535 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
6536
6537         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
6538
6539 2018-05-04  Tom Tromey  <tom@tromey.com>
6540
6541         * remote.c (remote_query_supported_append): Change type.
6542         (remote_check_symbols): Update.
6543
6544 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
6545
6546         PR gdb/11420
6547         * configure.ac: Prepend libpython.
6548         * python/python-config.py: Likewise.
6549         * configure: Regenerate.
6550
6551 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
6552
6553         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
6554
6555 2018-05-03  Pedro Alves  <palves@redhat.com>
6556
6557         * s390-linux-nat.c
6558         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
6559         override.  Write 'true' instead of '1'.
6560         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
6561         declaration.
6562
6563 2018-05-02  Pedro Alves  <palves@redhat.com>
6564
6565         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
6566         add_inf_child_target.
6567         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
6568         add_inf_child_target.
6569         * aix-thread.c (aix_thread_target_info): New.
6570         (aix_thread_target) <shortname, longname, doc>: Delete.
6571         <info>: New.
6572         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
6573         add_inf_child_target.
6574         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
6575         add_inf_child_target.
6576         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
6577         add_inf_child_target.
6578         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
6579         add_inf_child_target.
6580         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
6581         add_inf_child_target.
6582         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
6583         add_inf_child_target.
6584         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
6585         add_inf_child_target.
6586         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
6587         add_inf_child_target.
6588         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
6589         add_inf_child_target.
6590         * bfd-target.c (target_bfd_target_info): New.
6591         (target_bfd) <shortname, longname, doc>: Delete.
6592         <info>: New.
6593         * bsd-kvm.c (bsd_kvm_target_info): New.
6594         (bsd_kvm_target) <shortname, longname, doc>: Delete.
6595         <info>: New.
6596         (bsd_kvm_target::open): Rename to ...
6597         (bsd_kvm_target_open): ... this.  Adjust.
6598         * bsd-uthread.c (bsd_uthread_target_info): New.
6599         (bsd_uthread_target) <shortname, longname, doc>: Delete.
6600         <info>: New.
6601         * corefile.c (core_file_command): Adjust.
6602         * corelow.c (core_target_info): New.
6603         (core_target) <shortname, longname, doc>: Delete.
6604         <info>: New.
6605         (core_target::open): Rename to ...
6606         (core_target_open): ... this.  Adjust.
6607         * ctf.c (ctf_target_info): New.
6608         (ctf_target) <shortname, longname, doc>: Delete.
6609         <info>: New.
6610         (ctf_target::open): Rename to ...
6611         (ctf_target_open): ... this.
6612         (_initialize_ctf): Adjust.
6613         * exec.c (exec_target_info): New.
6614         (exec_target) <shortname, longname, doc>: Delete.
6615         <info>: New.
6616         (exec_target::open): Rename to ...
6617         (exec_target_open): ... this.
6618         * gdbcore.h (core_target_open): Declare.
6619         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
6620         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
6621         add_inf_child_target.
6622         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
6623         add_inf_child_target.
6624         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
6625         add_inf_child_target.
6626         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
6627         add_inf_child_target.
6628         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
6629         add_inf_child_target.
6630         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
6631         add_inf_child_target.
6632         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
6633         add_inf_child_target.
6634         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
6635         add_inf_child_target.
6636         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
6637         add_inf_child_target.
6638         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
6639         add_inf_child_target.
6640         * inf-child.c (inf_child_target_info): New.
6641         (inf_child_target::info): New.
6642         (inf_child_open_target): Remove 'target' parameter.  Use
6643         get_native_target instead.
6644         (inf_child_target::open): Delete.
6645         (add_inf_child_target): New.
6646         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
6647         Delete.
6648         <info>: New.
6649         (add_inf_child_target): Declare.
6650         (inf_child_open_target): Declare.
6651         * linux-thread-db.c (thread_db_target_info): New.
6652         (thread_db_target) <shortname, longname, doc>: Delete.
6653         <info>: New.
6654         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
6655         add_inf_child_target.
6656         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
6657         add_inf_child_target.
6658         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
6659         add_inf_child_target.
6660         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
6661         add_inf_child_target.
6662         * make-target-delegates (print_class): Adjust.
6663         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
6664         add_inf_child_target.
6665         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
6666         add_inf_child_target.
6667         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
6668         add_inf_child_target.
6669         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
6670         add_inf_child_target.
6671         * nto-procfs.c (nto_native_target_info): New.
6672         (nto_procfs_target_native) <shortname, longname, doc>:
6673         Delete.
6674         <info>: New.
6675         (nto_procfs_target_info): New.
6676         (nto_procfs_target_procfs) <shortname, longname, doc>:
6677         Delete.
6678         <info>: New.
6679         (init_procfs_targets): Adjust.
6680         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
6681         add_inf_child_target.
6682         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
6683         add_inf_child_target.
6684         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
6685         add_inf_child_target.
6686         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
6687         add_inf_child_target.
6688         * ravenscar-thread.c (ravenscar_target_info): New.
6689         (ravenscar_thread_target) <shortname, longname, doc>:
6690         Delete.
6691         <info>: New.
6692         * record-btrace.c (record_btrace_target_info):
6693         (record_btrace_target) <shortname, longname, doc>: Delete.
6694         <info>: New.
6695         (record_btrace_target::open): Rename to ...
6696         (record_btrace_target_open): ... this.  Adjust.
6697         * record-full.c (record_longname, record_doc): New.
6698         (record_full_base_target) <shortname, longname, doc>: Delete.
6699         <info>: New.
6700         (record_full_target_info): New.
6701         (record_full_target): <shortname>: Delete.
6702         <info>: New.
6703         (record_full_core_open_1, record_full_open_1): Update comments.
6704         (record_full_base_target::open): Rename to ...
6705         (record_full_open): ... this.
6706         (cmd_record_full_restore): Update.
6707         (_initialize_record_full): Update.
6708         * remote-sim.c (remote_sim_target_info): New.
6709         (gdbsim_target) <shortname, longname, doc>: Delete.
6710         <info>: New.
6711         (gdbsim_target::open): Rename to ...
6712         (gdbsim_target_open): ... this.
6713         (_initialize_remote_sim): Adjust.
6714         * remote.c (remote_doc): New.
6715         (remote_target_info): New.
6716         (remote_target) <shortname, longname, doc>: Delete.
6717         <info>: New.
6718         (extended_remote_target_info): New.
6719         (extended_remote_target) <shortname, longname, doc>: Delete.
6720         <info>: New.
6721         (remote_target::open_1): Make static.  Adjust.
6722         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
6723         * s390-linux-nat.c (_initialize_s390_nat): Use
6724         add_inf_child_target.
6725         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
6726         add_inf_child_target.
6727         * sol-thread.c (thread_db_target_info): New.
6728         (sol_thread_target) <shortname, longname, doc>: Delete.
6729         <info>: New.
6730         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
6731         add_inf_child_target.
6732         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
6733         add_inf_child_target.
6734         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
6735         add_inf_child_target.
6736         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
6737         add_inf_child_target.
6738         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
6739         add_inf_child_target.
6740         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
6741         add_inf_child_target.
6742         * spu-linux-nat.c (_initialize_spu_nat): Use
6743         add_inf_child_target.
6744         * spu-multiarch.c (spu_multiarch_target_info): New.
6745         (spu_multiarch_target) <shortname, longname, doc>: Delete.
6746         <info>: New.
6747         * target-delegates.c: Regenerate.
6748         * target.c: Include <unordered_map>.
6749         (target_ops_p): Delete.
6750         (DEF_VEC_P(target_ops_p)): Delete.
6751         (target_factories): New.
6752         (test_target_info): New.
6753         (test_target_ops::info): New.
6754         (open_target): Adjust to use target_factories.
6755         (add_target_with_completer): Rename to ...
6756         (add_target): ... this.  Change prototype.  Register target_info
6757         and open callback in target_factories.  Register target_info in
6758         command context instead of target_ops.
6759         (add_target): Delete old implementation.
6760         (add_deprecated_target_alias): Change prototype.  Adjust.
6761         (the_native_target): New.
6762         (set_native_target, get_native_target): New.
6763         (find_default_run_target): Use the_native_target.
6764         (find_attach_target, find_run_target): Simplify.
6765         (target_ops::open): Delete.
6766         (dummy_target_info): New.
6767         (dummy_target::shortname, dummy_target::longname)
6768         (dummy_target::doc): Delete.
6769         (dummy_target::info): New.
6770         (debug_target::shortname, debug_target::longname)
6771         (debug_target::doc): Delete.
6772         (debug_target::info): New.
6773         * target.h (struct target_info): New.
6774         (target_ops::~target_ops): Add comment.
6775         (target_ops::info): New.
6776         (target_ops::shortname, target_ops::longname, target_ops::doc): No
6777         longer virtual.  Implement in terms of target_info.
6778         (set_native_target, get_native_target): Declare.
6779         (target_open_ftype): New.
6780         (add_target, add_target_with_completer)
6781         (add_deprecated_target_alias): Change prototype.
6782         (test_target) <shortname, longname, doc>: Delete.
6783         <info>: New.
6784         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
6785         add_inf_child_target.
6786         * tracefile-tfile.c (tfile_target_info): New.
6787         (tfile_target) <shortname, longname, doc>: Delete.
6788         <info>: New.
6789         (tfile_target::open): Rename to ...
6790         (tfile_target_open): ... this.
6791         (_initialize_tracefile_tfile): Adjust.
6792         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
6793         add_inf_child_target.
6794         * windows-nat.c (_initialize_windows_nat): Use
6795         add_inf_child_target.
6796         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
6797         add_inf_child_target.
6798
6799 2018-05-02  Pedro Alves  <palves@redhat.com>
6800
6801         * linux-nat.h (linux_nat_target) <low_new_thread,
6802         low_delete_thread, low_new_fork, low_forget_process,
6803         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
6804         New virtual methods.
6805         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6806         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
6807         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
6808         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6809         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
6810         Delete.
6811         * linux-fork.c (delete_fork): Adjust to call low method.
6812         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
6813         (linux_nat_new_fork, linux_nat_forget_process_hook)
6814         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
6815         (linux_nat_status_is_event):
6816         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
6817         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
6818         to call low method.
6819         (sigtrap_is_event): Rename to ...
6820         (linux_nat_target::low_status_is_event): ... this.
6821         (linux_nat_set_status_is_event): Delete.
6822         (save_stop_reason, linux_nat_wait_1)
6823         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
6824         low methods.
6825         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
6826         (linux_nat_set_new_fork, linux_nat_set_forget_process)
6827         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
6828         (linux_nat_set_prepare_to_resume): Delete.
6829         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
6830         low virtual methods.
6831         * amd64-linux-nat.c: Likewise.
6832         * arm-linux-nat.c: Likewise.
6833         * i386-linux-nat.c: Likewise.
6834         * ia64-linux-nat.c: Likewise.
6835         * mips-linux-nat.c: Likewise.
6836         * ppc-linux-nat.c: Likewise.
6837         * s390-linux-nat.c: Likewise.
6838         * sparc64-linux-nat.c: Likewise.
6839         * x86-linux-nat.c: Likewise.
6840         * x86-linux-nat.h: Include "nat/x86-linux.h".
6841         (x86_linux_nat_target) <low_new_fork, low_forget_process,
6842         low_prepare_to_resume, low_new_thread, low_delete_thread>:
6843         Override methods.
6844
6845 2018-05-02  Pedro Alves  <palves@redhat.com>
6846
6847         * target.h (target_ops)
6848         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
6849         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
6850         stopped_by_watchpoint, have_continuable_watchpoint,
6851         stopped_data_address, watchpoint_addr_within_range,
6852         can_accel_watchpoint_condition, can_run, thread_alive,
6853         has_all_memory, has_memory, has_stack, has_registers,
6854         has_execution, can_async_p, is_async_p, supports_non_stop,
6855         always_non_stop_p, can_execute_reverse, supports_multi_process,
6856         supports_enable_disable_tracepoint,
6857         supports_disable_randomization, supports_string_tracing,
6858         supports_evaluation_of_breakpoint_conditions,
6859         can_run_breakpoint_commands, filesystem_is_local,
6860         can_download_tracepoint, get_trace_state_variable_value,
6861         set_trace_notes, get_tib_address, use_agent, can_use_agent,
6862         record_is_replaying, record_will_replay,
6863         augmented_libraries_svr4_read>: Adjust to return bool.
6864         * aarch64-linux-nat.c: All implementations adjusted.
6865         * aix-thread.c: All implementations adjusted.
6866         * arm-linux-nat.c: All implementations adjusted.
6867         * breakpoint.c: All implementations adjusted.
6868         * bsd-kvm.c: All implementations adjusted.
6869         * bsd-uthread.c: All implementations adjusted.
6870         * corelow.c: All implementations adjusted.
6871         * ctf.c: All implementations adjusted.
6872         * darwin-nat.c: All implementations adjusted.
6873         * darwin-nat.h: All implementations adjusted.
6874         * exec.c: All implementations adjusted.
6875         * fbsd-nat.c: All implementations adjusted.
6876         * fbsd-nat.h: All implementations adjusted.
6877         * gnu-nat.c: All implementations adjusted.
6878         * gnu-nat.h: All implementations adjusted.
6879         * go32-nat.c: All implementations adjusted.
6880         * ia64-linux-nat.c: All implementations adjusted.
6881         * inf-child.c: All implementations adjusted.
6882         * inf-child.h: All implementations adjusted.
6883         * inf-ptrace.c: All implementations adjusted.
6884         * inf-ptrace.h: All implementations adjusted.
6885         * linux-nat.c: All implementations adjusted.
6886         * linux-nat.h: All implementations adjusted.
6887         * mips-linux-nat.c: All implementations adjusted.
6888         * nto-procfs.c: All implementations adjusted.
6889         * ppc-linux-nat.c: All implementations adjusted.
6890         * procfs.c: All implementations adjusted.
6891         * ravenscar-thread.c: All implementations adjusted.
6892         * record-btrace.c: All implementations adjusted.
6893         * record-full.c: All implementations adjusted.
6894         * remote-sim.c: All implementations adjusted.
6895         * remote.c: All implementations adjusted.
6896         * s390-linux-nat.c: All implementations adjusted.
6897         * sol-thread.c: All implementations adjusted.
6898         * spu-multiarch.c: All implementations adjusted.
6899         * target-delegates.c: All implementations adjusted.
6900         * target.c: All implementations adjusted.
6901         * target.h: All implementations adjusted.
6902         * tracefile-tfile.c: All implementations adjusted.
6903         * tracefile.c: All implementations adjusted.
6904         * tracefile.h: All implementations adjusted.
6905         * windows-nat.c: All implementations adjusted.
6906         * x86-linux-nat.h: All implementations adjusted.
6907         * x86-nat.h: All implementations adjusted.
6908
6909 2018-05-02  Pedro Alves  <palves@redhat.com>
6910
6911         * make-target-delegates (scan_target_h): Don't trim lines here.
6912         Replace sequences of tabs and/or whitespace with a single
6913         whitespace.
6914         (top level, parsing methods): Trim each line before processing it
6915         here.
6916
6917 2018-05-02  Pedro Alves  <palves@redhat.com>
6918             John Baldwin  <jhb@freebsd.org>
6919
6920         * target.h (enum strata) <debug_stratum>: New.
6921         (struct target_ops) <all delegation methods>: Replace by C++
6922         virtual methods, and drop "to_" prefix.  All references updated
6923         throughout.
6924         <to_shortname, to_longname, to_doc, to_data,
6925         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
6926         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
6927         virtual methods.  All references updated throughout.
6928         <can_attach, supports_terminal_ours, can_create_inferior,
6929         get_thread_control_capabilities, attach_no_wait>: New
6930         virtual methods.
6931         <insert_breakpoint, remove_breakpoint>: Now
6932         TARGET_DEFAULT_NORETURN methods.
6933         <info_proc>: Now returns bool.
6934         <to_magic>: Delete.
6935         (OPS_MAGIC): Delete.
6936         (current_target): Delete.  All references replaced by references
6937         to ...
6938         (target_stack): ... this.  New.
6939         (target_shortname, target_longname): Adjust.
6940         (target_can_run): Now a function declaration.
6941         (default_child_has_all_memory, default_child_has_memory)
6942         (default_child_has_stack, default_child_has_registers)
6943         (default_child_has_execution): Remove target_ops parameter.
6944         (complete_target_initialization): Delete.
6945         (memory_breakpoint_target): New template class.
6946         (test_target_ops): Refactor as a C++ class with virtual methods.
6947         * make-target-delegates (NAME_PART): Tighten.
6948         (POINTER_PART, CP_SYMBOL): New.
6949         (SIMPLE_RETURN_PART): Reimplement.
6950         (VEC_RETURN_PART): Expect less.
6951         (RETURN_PART, VIRTUAL_PART): New.
6952         (METHOD): Adjust to C++ virtual methods.
6953         (scan_target_h): Remove reference to C99.
6954         (dname): Output "target_ops::" prefix.
6955         (write_function_header): Adjust to output a C++ class method.
6956         (write_declaration): New.
6957         (write_delegator): Adjust to output a C++ class method.
6958         (tdname): Output "dummy_target::" prefix.
6959         (write_tdefault, write_debugmethod): Adjust to output a C++ class
6960         method.
6961         (tdefault_names, debug_names): Delete.
6962         (return_types, tdefaults, styles, argtypes_array): New.
6963         (top level): All methods are delegators.
6964         (print_class): New.
6965         (top level): Print dummy_target and debug_target classes.
6966         * target-delegates.c: Regenerate.
6967         * target-debug.h (target_debug_print_enum_info_proc_what)
6968         (target_debug_print_thread_control_capabilities)
6969         (target_debug_print_thread_info_p): New.
6970         * target.c (dummy_target): Delete.
6971         (the_dummy_target, the_debug_target): New.
6972         (target_stack): Now extern.
6973         (set_targetdebug): Push/unpush debug target.
6974         (default_child_has_all_memory, default_child_has_memory)
6975         (default_child_has_stack, default_child_has_registers)
6976         (default_child_has_execution): Remove target_ops parameter.
6977         (complete_target_initialization): Delete.
6978         (add_target_with_completer): No longer call
6979         complete_target_initialization.
6980         (target_supports_terminal_ours): Use regular delegation.
6981         (update_current_target): Delete.
6982         (push_target): No longer check magic number.  Don't call
6983         update_current_target.
6984         (unpush_target): Don't call update_current_target.
6985         (target_is_pushed): No longer check magic number.
6986         (target_require_runnable): Skip for all stratums over
6987         process_stratum.
6988         (target_ops::info_proc): New.
6989         (target_info_proc): Use find_target_at and
6990         find_default_run_target.
6991         (target_supports_disable_randomization): Use regular delegation.
6992         (target_get_osdata): Use find_target_at.
6993         (target_ops::open, target_ops::close, target_ops::can_attach)
6994         (target_ops::attach, target_ops::can_create_inferior)
6995         (target_ops::create_inferior, target_ops::can_run)
6996         (target_can_run): New.
6997         (default_fileio_target): Use regular delegation.
6998         (target_ops::fileio_open, target_ops::fileio_pwrite)
6999         (target_ops::fileio_pread, target_ops::fileio_fstat)
7000         (target_ops::fileio_close, target_ops::fileio_unlink)
7001         (target_ops::fileio_readlink): New.
7002         (target_fileio_open_1, target_fileio_unlink)
7003         (target_fileio_readlink): Always call the target method.  Handle
7004         FILEIO_ENOSYS.
7005         (return_zero, return_zero_has_execution): Delete.
7006         (init_dummy_target): Delete.
7007         (dummy_target::dummy_target, dummy_target::shortname)
7008         (dummy_target::longname, dummy_target::doc)
7009         (debug_target::debug_target, debug_target::shortname)
7010         (debug_target::longname, debug_target::doc): New.
7011         (target_supports_delete_record): Use regular delegation.
7012         (setup_target_debug): Delete.
7013         (maintenance_print_target_stack): Skip debug_stratum.
7014         (initialize_targets): Instantiate the_dummy_target and
7015         the_debug_target.
7016         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
7017         use target_stack.
7018         (target_auxv_search, fprint_target_auxv): Adjust.
7019         (info_auxv_command): Adjust to use target_stack.
7020         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
7021         * exceptions.c (print_flush): Handle a NULL target_stack.
7022         * regcache.c (target_ops_no_register): Refactor as class with
7023         virtual methods.
7024
7025         * exec.c (exec_target): New class.
7026         (exec_ops): Now an exec_target.
7027         (exec_open, exec_close_1, exec_get_section_table)
7028         (exec_xfer_partial, exec_files_info, exec_has_memory)
7029         (exec_make_note_section): Refactor as exec_target methods.
7030         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
7031         Delete.
7032         (exec_target::find_memory_regions): New.
7033         (_initialize_exec): Don't call init_exec_ops.
7034         * gdbcore.h (exec_file_clear): Delete.
7035
7036         * corefile.c (core_target): Delete.
7037         (core_file_command): Adjust.
7038         * corelow.c (core_target): New class.
7039         (the_core_target): New.
7040         (core_close): Remove target_ops parameter.
7041         (core_close_cleanup): Adjust.
7042         (core_target::close): New.
7043         (core_open, core_detach, get_core_registers, core_files_info)
7044         (core_xfer_partial, core_thread_alive, core_read_description)
7045         (core_pid_to_str, core_thread_name, core_has_memory)
7046         (core_has_stack, core_has_registers, core_info_proc): Rework as
7047         core_target methods.
7048         (ignore, core_remove_breakpoint, init_core_ops): Delete.
7049         (_initialize_corelow): Initialize the_core_target.
7050         * gdbcore.h (core_target): Delete.
7051         (the_core_target): New.
7052
7053         * ctf.c: (ctf_target): New class.
7054         (ctf_ops): Now a ctf_target.
7055         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
7056         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
7057         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
7058         methods.
7059         (init_ctf_ops): Delete.
7060         (_initialize_ctf): Don't call it.
7061         * tracefile-tfile.c (tfile_target): New class.
7062         (tfile_ops): Now a tfile_target.
7063         (tfile_open, tfile_close, tfile_files_info)
7064         (tfile_get_tracepoint_status, tfile_trace_find)
7065         (tfile_fetch_registers, tfile_xfer_partial)
7066         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
7067         Refactor as tfile_target methods.
7068         (tfile_xfer_partial_features): Remove target_ops parameter.
7069         (init_tfile_ops): Delete.
7070         (_initialize_tracefile_tfile): Don't call it.
7071         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
7072         (tracefile_has_stack, tracefile_has_registers)
7073         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
7074         tracefile_target methods.
7075         (init_tracefile_ops): Delete.
7076         (tracefile_target::tracefile_target): New.
7077         * tracefile.h: Include "target.h".
7078         (tracefile_target): New class.
7079         (init_tracefile_ops): Delete.
7080
7081         * spu-multiarch.c (spu_multiarch_target): New class.
7082         (spu_ops): Now a spu_multiarch_target.
7083         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
7084         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
7085         (spu_search_memory, spu_mourn_inferior): Refactor as
7086         spu_multiarch_target methods.
7087         (init_spu_ops): Delete.
7088         (_initialize_spu_multiarch): Remove references to init_spu_ops,
7089         complete_target_initialization.
7090
7091         * ravenscar-thread.c (ravenscar_thread_target): New class.
7092         (ravenscar_ops): Now a ravenscar_thread_target.
7093         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
7094         (ravenscar_thread_alive, ravenscar_pid_to_str)
7095         (ravenscar_fetch_registers, ravenscar_store_registers)
7096         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
7097         (ravenscar_stopped_by_hw_breakpoint)
7098         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
7099         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
7100         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
7101         methods.
7102         (init_ravenscar_thread_ops): Delete.
7103         (_initialize_ravenscar): Remove references to
7104         init_ravenscar_thread_ops and complete_target_initialization.
7105
7106         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
7107         (bsd_uthread_target): New class.
7108         (bsd_uthread_ops): Now a bsd_uthread_target.
7109         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
7110         (bsd_uthread_close, bsd_uthread_mourn_inferior)
7111         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
7112         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
7113         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
7114         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
7115         (bsd_uthread_target): Delete function.
7116         (_initialize_bsd_uthread): Remove reference to
7117         complete_target_initialization.
7118
7119         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
7120         (target_bfd): ... this new class.
7121         (target_bfd_xfer_partial, target_bfd_get_section_table)
7122         (target_bfd_close): Refactor as target_bfd methods.
7123         (target_bfd::~target_bfd): New.
7124         (target_bfd_reopen): Adjust.
7125         (target_bfd::close): New.
7126
7127         * record-btrace.c (record_btrace_target): New class.
7128         (record_btrace_ops): Now a record_btrace_target.
7129         (record_btrace_open, record_btrace_stop_recording)
7130         (record_btrace_disconnect, record_btrace_close)
7131         (record_btrace_async, record_btrace_info)
7132         (record_btrace_insn_history, record_btrace_insn_history_range)
7133         (record_btrace_insn_history_from, record_btrace_call_history)
7134         (record_btrace_call_history_range)
7135         (record_btrace_call_history_from, record_btrace_record_method)
7136         (record_btrace_is_replaying, record_btrace_will_replay)
7137         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7138         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7139         (record_btrace_store_registers, record_btrace_prepare_to_store)
7140         (record_btrace_to_get_unwinder)
7141         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7142         (record_btrace_commit_resume, record_btrace_wait)
7143         (record_btrace_stop, record_btrace_can_execute_reverse)
7144         (record_btrace_stopped_by_sw_breakpoint)
7145         (record_btrace_supports_stopped_by_sw_breakpoint)
7146         (record_btrace_stopped_by_hw_breakpoint)
7147         (record_btrace_supports_stopped_by_hw_breakpoint)
7148         (record_btrace_update_thread_list, record_btrace_thread_alive)
7149         (record_btrace_goto_begin, record_btrace_goto_end)
7150         (record_btrace_goto, record_btrace_stop_replaying_all)
7151         (record_btrace_execution_direction)
7152         (record_btrace_prepare_to_generate_core)
7153         (record_btrace_done_generating_core): Refactor as
7154         record_btrace_target methods.
7155         (init_record_btrace_ops): Delete.
7156         (_initialize_record_btrace): Remove reference to
7157         init_record_btrace_ops.
7158         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7159         the execution_direction global.
7160         (record_full_base_target, record_full_target)
7161         (record_full_core_target): New classes.
7162         (record_full_ops): Now a record_full_target.
7163         (record_full_core_ops): Now a record_full_core_target.
7164         (record_full_target::detach, record_full_target::disconnect)
7165         (record_full_core_target::disconnect)
7166         (record_full_target::mourn_inferior, record_full_target::kill):
7167         New.
7168         (record_full_open, record_full_close, record_full_async): Refactor
7169         as methods of the record_full_base_target class.
7170         (record_full_resume, record_full_commit_resume): Refactor
7171         as methods of the record_full_target class.
7172         (record_full_wait, record_full_stopped_by_watchpoint)
7173         (record_full_stopped_data_address)
7174         (record_full_stopped_by_sw_breakpoint)
7175         (record_full_supports_stopped_by_sw_breakpoint)
7176         (record_full_stopped_by_hw_breakpoint)
7177         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7178         methods of the record_full_base_target class.
7179         (record_full_store_registers, record_full_xfer_partial)
7180         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7181         Refactor as methods of the record_full_target class.
7182         (record_full_can_execute_reverse, record_full_get_bookmark)
7183         (record_full_goto_bookmark, record_full_execution_direction)
7184         (record_full_record_method, record_full_info, record_full_delete)
7185         (record_full_is_replaying, record_full_will_replay)
7186         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7187         (record_full_stop_replaying): Refactor as methods of the
7188         record_full_base_target class.
7189         (record_full_core_resume, record_full_core_kill)
7190         (record_full_core_fetch_registers)
7191         (record_full_core_prepare_to_store)
7192         (record_full_core_store_registers, record_full_core_xfer_partial)
7193         (record_full_core_insert_breakpoint)
7194         (record_full_core_remove_breakpoint)
7195         (record_full_core_has_execution): Refactor
7196         as methods of the record_full_core_target class.
7197         (record_full_base_target::supports_delete_record): New.
7198         (init_record_full_ops): Delete.
7199         (init_record_full_core_ops): Delete.
7200         (record_full_save): Refactor as method of the
7201         record_full_base_target class.
7202         (_initialize_record_full): Remove references to
7203         init_record_full_ops and init_record_full_core_ops.
7204
7205         * remote.c (remote_target, extended_remote_target): New classes.
7206         (remote_ops): Now a remote_target.
7207         (extended_remote_ops): Now an extended_remote_target.
7208         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
7209         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
7210         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
7211         (remote_pass_signals, remote_set_syscall_catchpoint)
7212         (remote_program_signals, )
7213         (remote_thread_always_alive): Remove target_ops parameter.
7214         (remote_thread_alive, remote_thread_name)
7215         (remote_update_thread_list, remote_threads_extra_info)
7216         (remote_static_tracepoint_marker_at)
7217         (remote_static_tracepoint_markers_by_strid)
7218         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
7219         (remote_open): Refactor as methods of remote_target.
7220         (extended_remote_open, extended_remote_detach)
7221         (extended_remote_attach, extended_remote_post_attach):
7222         (extended_remote_supports_disable_randomization)
7223         (extended_remote_create_inferior): : Refactor as method of
7224         extended_remote_target.
7225         (remote_set_permissions, remote_open_1, remote_detach)
7226         (remote_follow_fork, remote_follow_exec, remote_disconnect)
7227         (remote_resume, remote_commit_resume, remote_stop)
7228         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
7229         (remote_terminal_ours, remote_wait, remote_fetch_registers)
7230         (remote_prepare_to_store, remote_store_registers)
7231         (remote_flash_erase, remote_flash_done, remote_files_info)
7232         (remote_kill, remote_mourn, remote_insert_breakpoint)
7233         (remote_remove_breakpoint, remote_insert_watchpoint)
7234         (remote_watchpoint_addr_within_range)
7235         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
7236         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
7237         (remote_supports_stopped_by_sw_breakpoint)
7238         (remote_stopped_by_hw_breakpoint)
7239         (remote_supports_stopped_by_hw_breakpoint)
7240         (remote_stopped_by_watchpoint, remote_stopped_data_address)
7241         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
7242         (remote_verify_memory): Refactor as methods of remote_target.
7243         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
7244         parameter.
7245         (remote_xfer_partial, remote_get_memory_xfer_limit)
7246         (remote_search_memory, remote_rcmd, remote_memory_map)
7247         (remote_pid_to_str, remote_get_thread_local_address)
7248         (remote_get_tib_address, remote_read_description): Refactor as
7249         methods of remote_target.
7250         (remote_target::fileio_open, remote_target::fileio_pwrite)
7251         (remote_target::fileio_pread, remote_target::fileio_close): New.
7252         (remote_hostio_readlink, remote_hostio_fstat)
7253         (remote_filesystem_is_local, remote_can_execute_reverse)
7254         (remote_supports_non_stop, remote_supports_disable_randomization)
7255         (remote_supports_multi_process, remote_supports_cond_breakpoints)
7256         (remote_supports_enable_disable_tracepoint)
7257         (remote_supports_string_tracing)
7258         (remote_can_run_breakpoint_commands, remote_trace_init)
7259         (remote_download_tracepoint, remote_can_download_tracepoint)
7260         (remote_download_trace_state_variable, remote_enable_tracepoint)
7261         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
7262         (remote_trace_start, remote_get_trace_status)
7263         (remote_get_tracepoint_status, remote_trace_stop)
7264         (remote_trace_find, remote_get_trace_state_variable_value)
7265         (remote_save_trace_data, remote_get_raw_trace_data)
7266         (remote_set_disconnected_tracing, remote_core_of_thread)
7267         (remote_set_circular_trace_buffer, remote_traceframe_info)
7268         (remote_get_min_fast_tracepoint_insn_len)
7269         (remote_set_trace_buffer_size, remote_set_trace_notes)
7270         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
7271         (remote_disable_btrace, remote_teardown_btrace)
7272         (remote_read_btrace, remote_btrace_conf)
7273         (remote_augmented_libraries_svr4_read, remote_load)
7274         (remote_pid_to_exec_file, remote_can_do_single_step)
7275         (remote_execution_direction, remote_thread_handle_to_thread_info):
7276         Refactor as methods of remote_target.
7277         (init_remote_ops, init_extended_remote_ops): Delete.
7278         (remote_can_async_p, remote_is_async_p, remote_async)
7279         (remote_thread_events, remote_upload_tracepoints)
7280         (remote_upload_trace_state_variables): Refactor as methods of
7281         remote_target.
7282         (_initialize_remote): Remove references to init_remote_ops and
7283         init_extended_remote_ops.
7284
7285         * remote-sim.c (gdbsim_target): New class.
7286         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
7287         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
7288         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
7289         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
7290         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
7291         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
7292         Refactor as methods of gdbsim_target.
7293         (gdbsim_ops): Now a gdbsim_target.
7294         (init_gdbsim_ops): Delete.
7295         (gdbsim_cntrl_c): Adjust.
7296         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
7297
7298         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
7299         (the_amd64_linux_nat_target): New.
7300         (amd64_linux_fetch_inferior_registers)
7301         (amd64_linux_store_inferior_registers): Refactor as methods of
7302         amd64_linux_nat_target.
7303         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
7304         * i386-linux-nat.c: Don't include "linux-nat.h".
7305         (i386_linux_nat_target): New class.
7306         (the_i386_linux_nat_target): New.
7307         (i386_linux_fetch_inferior_registers)
7308         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
7309         as methods of i386_linux_nat_target.
7310         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
7311         * inf-child.c (inf_child_ops): Delete.
7312         (inf_child_fetch_inferior_registers)
7313         (inf_child_store_inferior_registers): Delete.
7314         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
7315         methods of inf_child_target.
7316         (inf_child_target::supports_terminal_ours)
7317         (inf_child_target::terminal_init)
7318         (inf_child_target::terminal_inferior)
7319         (inf_child_target::terminal_ours_for_output)
7320         (inf_child_target::terminal_ours, inf_child_target::interrupt)
7321         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
7322         New.
7323         (inf_child_open, inf_child_disconnect, inf_child_close)
7324         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
7325         (inf_child_post_startup_inferior, inf_child_can_run)
7326         (inf_child_pid_to_exec_file): Refactor as methods of
7327         inf_child_target.
7328         (inf_child_follow_fork): Delete.
7329         (inf_child_target::can_create_inferior)
7330         (inf_child_target::can_attach): New.
7331         (inf_child_target::has_all_memory, inf_child_target::has_memory)
7332         (inf_child_target::has_stack, inf_child_target::has_registers)
7333         (inf_child_target::has_execution): New.
7334         (inf_child_fileio_open, inf_child_fileio_pwrite)
7335         (inf_child_fileio_pread, inf_child_fileio_fstat)
7336         (inf_child_fileio_close, inf_child_fileio_unlink)
7337         (inf_child_fileio_readlink, inf_child_use_agent)
7338         (inf_child_can_use_agent): Refactor as methods of
7339         inf_child_target.
7340         (return_zero, inf_child_target): Delete.
7341         (inf_child_target::inf_child_target): New.
7342         * inf-child.h: Include "target.h".
7343         (inf_child_target): Delete function prototype.
7344         (inf_child_target): New class.
7345         (inf_child_open_target, inf_child_mourn_inferior)
7346         (inf_child_maybe_unpush_target): Delete.
7347         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
7348         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
7349         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
7350         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
7351         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
7352         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
7353         (inf_ptrace_wait, inf_ptrace_xfer_partial)
7354         (inf_ptrace_thread_alive, inf_ptrace_files_info)
7355         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
7356         methods of inf_ptrace_target.
7357         (inf_ptrace_target): Delete function.
7358         * inf-ptrace.h: Include "inf-child.h".
7359         (inf_ptrace_target): Delete function declaration.
7360         (inf_ptrace_target): New class.
7361         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
7362         * linux-nat.c (linux_target): New.
7363         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
7364         (linux_nat_target::~linux_nat_target): New.
7365         (linux_child_post_attach, linux_child_post_startup_inferior)
7366         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
7367         (linux_child_remove_fork_catchpoint)
7368         (linux_child_insert_vfork_catchpoint)
7369         (linux_child_remove_vfork_catchpoint)
7370         (linux_child_insert_exec_catchpoint)
7371         (linux_child_remove_exec_catchpoint)
7372         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
7373         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
7374         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
7375         (linux_nat_stopped_data_address)
7376         (linux_nat_stopped_by_sw_breakpoint)
7377         (linux_nat_supports_stopped_by_sw_breakpoint)
7378         (linux_nat_stopped_by_hw_breakpoint)
7379         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
7380         (linux_nat_kill, linux_nat_mourn_inferior)
7381         (linux_nat_xfer_partial, linux_nat_thread_alive)
7382         (linux_nat_update_thread_list, linux_nat_pid_to_str)
7383         (linux_nat_thread_name, linux_child_pid_to_exec_file)
7384         (linux_child_static_tracepoint_markers_by_strid)
7385         (linux_nat_is_async_p, linux_nat_can_async_p)
7386         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
7387         (linux_nat_supports_multi_process)
7388         (linux_nat_supports_disable_randomization, linux_nat_async)
7389         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
7390         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
7391         (linux_nat_fileio_open, linux_nat_fileio_readlink)
7392         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
7393         methods of linux_nat_target.
7394         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
7395         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
7396         parameter.
7397         (check_stopped_by_watchpoint): Adjust.
7398         (linux_xfer_partial): Delete.
7399         (linux_target_install_ops, linux_target, linux_nat_add_target):
7400         Delete.
7401         (linux_nat_target::linux_nat_target): New.
7402         * linux-nat.h: Include "inf-ptrace.h".
7403         (linux_nat_target): New.
7404         (linux_target, linux_target_install_ops, linux_nat_add_target):
7405         Delete function declarations.
7406         (linux_target): Declare global.
7407         * linux-thread-db.c (thread_db_target): New.
7408         (thread_db_target::thread_db_target): New.
7409         (thread_db_ops): Delete.
7410         (the_thread_db_target): New.
7411         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
7412         (thread_db_update_thread_list, thread_db_pid_to_str)
7413         (thread_db_extra_thread_info)
7414         (thread_db_thread_handle_to_thread_info)
7415         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
7416         (thread_db_resume): Refactor as methods of thread_db_target.
7417         (init_thread_db_ops): Delete.
7418         (_initialize_thread_db): Remove reference to init_thread_db_ops.
7419         * x86-linux-nat.c: Don't include "linux-nat.h".
7420         (super_post_startup_inferior): Delete.
7421         (x86_linux_nat_target::~x86_linux_nat_target): New.
7422         (x86_linux_child_post_startup_inferior)
7423         (x86_linux_read_description, x86_linux_enable_btrace)
7424         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
7425         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
7426         methods of x86_linux_nat_target.
7427         (x86_linux_create_target): Delete.  Bits folded ...
7428         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
7429         pointer.
7430         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
7431         (x86_linux_nat_target): New class.
7432         (x86_linux_create_target): Delete.
7433         (x86_linux_add_target): Now takes a linux_nat_target pointer.
7434         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
7435         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
7436         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
7437         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
7438         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
7439         make extern.
7440         (x86_use_watchpoints): Delete.
7441         * x86-nat.h: Include "breakpoint.h" and "target.h".
7442         (x86_use_watchpoints): Delete.
7443         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
7444         (x86_stopped_by_watchpoint, x86_stopped_data_address)
7445         (x86_insert_watchpoint, x86_remove_watchpoint)
7446         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
7447         (x86_stopped_by_hw_breakpoint): New declarations.
7448         (x86_nat_target): New template class.
7449
7450         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
7451         (the_ppc_linux_nat_target): New.
7452         (ppc_linux_fetch_inferior_registers)
7453         (ppc_linux_can_use_hw_breakpoint)
7454         (ppc_linux_region_ok_for_hw_watchpoint)
7455         (ppc_linux_ranged_break_num_registers)
7456         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
7457         (ppc_linux_insert_mask_watchpoint)
7458         (ppc_linux_remove_mask_watchpoint)
7459         (ppc_linux_can_accel_watchpoint_condition)
7460         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
7461         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
7462         (ppc_linux_watchpoint_addr_within_range)
7463         (ppc_linux_masked_watch_num_registers)
7464         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
7465         (ppc_linux_read_description): Refactor as methods of
7466         ppc_linux_nat_target.
7467         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
7468
7469         * procfs.c (procfs_xfer_partial): Delete forward declaration.
7470         (procfs_target): New class.
7471         (the_procfs_target): New.
7472         (procfs_target): Delete function.
7473         (procfs_auxv_parse, procfs_attach, procfs_detach)
7474         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
7475         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
7476         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
7477         (procfs_create_inferior, procfs_update_thread_list)
7478         (procfs_thread_alive, procfs_pid_to_str)
7479         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
7480         (procfs_stopped_data_address, procfs_insert_watchpoint)
7481         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
7482         (proc_find_memory_regions, procfs_info_proc)
7483         (procfs_make_note_section): Refactor as methods of procfs_target.
7484         (_initialize_procfs): Adjust.
7485         * sol-thread.c (sol_thread_target): New class.
7486         (sol_thread_ops): Now a sol_thread_target.
7487         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
7488         (sol_thread_fetch_registers, sol_thread_store_registers)
7489         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
7490         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
7491         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
7492         (init_sol_thread_ops): Delete.
7493         (_initialize_sol_thread): Adjust.  Remove references to
7494         init_sol_thread_ops and complete_target_initialization.
7495
7496         * windows-nat.c (windows_nat_target): New class.
7497         (windows_fetch_inferior_registers)
7498         (windows_store_inferior_registers, windows_resume, windows_wait)
7499         (windows_attach, windows_detach, windows_pid_to_exec_file)
7500         (windows_files_info, windows_create_inferior)
7501         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
7502         (windows_close, windows_pid_to_str, windows_xfer_partial)
7503         (windows_get_tib_address, windows_get_ada_task_ptid)
7504         (windows_thread_name, windows_thread_alive): Refactor as
7505         windows_nat_target methods.
7506         (do_initial_windows_stuff): Adjust.
7507         (windows_target): Delete function.
7508         (_initialize_windows_nat): Adjust.
7509
7510         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
7511         (darwin_mourn_inferior, darwin_kill_inferior)
7512         (darwin_create_inferior, darwin_attach, darwin_detach)
7513         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
7514         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
7515         (darwin_supports_multi_process): Refactor as darwin_nat_target
7516         methods.
7517         (darwin_resume_to, darwin_files_info): Delete.
7518         (_initialize_darwin_inferior): Rename to ...
7519         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
7520         * darwin-nat.h: Include "inf-child.h".
7521         (darwin_nat_target): New class.
7522         (darwin_complete_target): Delete.
7523         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
7524         (darwin_target): New.
7525         (i386_darwin_fetch_inferior_registers)
7526         (i386_darwin_store_inferior_registers): Refactor as methods of
7527         darwin_nat_target.
7528         (darwin_complete_target): Delete, with ...
7529         (_initialize_i386_darwin_nat): ... bits factored out here.
7530
7531         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
7532         (the_alpha_linux_nat_target): New.
7533         (alpha_linux_register_u_offset): Refactor as
7534         alpha_linux_nat_target method.
7535         (_initialize_alpha_linux_nat): Adjust.
7536         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
7537         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7538         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
7539         methods of linux_nat_trad_target.
7540         (linux_trad_target): Delete.
7541         * linux-nat-trad.h (linux_trad_target): Delete function.
7542         (linux_nat_trad_target): New class.
7543         * mips-linux-nat.c (mips_linux_nat_target): New class.
7544         (super_fetch_registers, super_store_registers, super_close):
7545         Delete.
7546         (the_mips_linux_nat_target): New.
7547         (mips64_linux_regsets_fetch_registers)
7548         (mips64_linux_regsets_store_registers)
7549         (mips64_linux_fetch_registers, mips64_linux_store_registers)
7550         (mips_linux_register_u_offset, mips_linux_read_description)
7551         (mips_linux_can_use_hw_breakpoint)
7552         (mips_linux_stopped_by_watchpoint)
7553         (mips_linux_stopped_data_address)
7554         (mips_linux_region_ok_for_hw_watchpoint)
7555         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
7556         (mips_linux_close): Refactor as methods of mips_linux_nat.
7557         (_initialize_mips_linux_nat): Adjust to C++ification.
7558
7559         * aix-thread.c (aix_thread_target): New class.
7560         (aix_thread_ops): Now an aix_thread_target.
7561         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
7562         (aix_thread_fetch_registers, aix_thread_store_registers)
7563         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
7564         (aix_thread_thread_alive, aix_thread_pid_to_str)
7565         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
7566         Refactor as methods of aix_thread_target.
7567         (init_aix_thread_ops): Delete.
7568         (_initialize_aix_thread): Remove references to init_aix_thread_ops
7569         and complete_target_initialization.
7570         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
7571         (rs6000_nat_target): New class.
7572         (the_rs6000_nat_target): New.
7573         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
7574         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
7575         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
7576         (super_create_inferior): Delete.
7577         (_initialize_rs6000_nat): Adjust to C++ification.
7578
7579         * arm-linux-nat.c (arm_linux_nat_target): New class.
7580         (the_arm_linux_nat_target): New.
7581         (arm_linux_fetch_inferior_registers)
7582         (arm_linux_store_inferior_registers, arm_linux_read_description)
7583         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
7584         (arm_linux_remove_hw_breakpoint)
7585         (arm_linux_region_ok_for_hw_watchpoint)
7586         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
7587         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
7588         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
7589         arm_linux_nat_target.
7590         (_initialize_arm_linux_nat): Adjust to C++ification.
7591
7592         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
7593         (the_aarch64_linux_nat_target): New.
7594         (aarch64_linux_fetch_inferior_registers)
7595         (aarch64_linux_store_inferior_registers)
7596         (aarch64_linux_child_post_startup_inferior)
7597         (aarch64_linux_read_description)
7598         (aarch64_linux_can_use_hw_breakpoint)
7599         (aarch64_linux_insert_hw_breakpoint)
7600         (aarch64_linux_remove_hw_breakpoint)
7601         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
7602         (aarch64_linux_region_ok_for_hw_watchpoint)
7603         (aarch64_linux_stopped_data_address)
7604         (aarch64_linux_stopped_by_watchpoint)
7605         (aarch64_linux_watchpoint_addr_within_range)
7606         (aarch64_linux_can_do_single_step): Refactor as methods of
7607         aarch64_linux_nat_target.
7608         (super_post_startup_inferior): Delete.
7609         (_initialize_aarch64_linux_nat): Adjust to C++ification.
7610
7611         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
7612         (the_hppa_linux_nat_target): New.
7613         (hppa_linux_fetch_inferior_registers)
7614         (hppa_linux_store_inferior_registers): Refactor as methods of
7615         hppa_linux_nat_target.
7616         (_initialize_hppa_linux_nat): Adjust to C++ification.
7617
7618         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
7619         (the_ia64_linux_nat_target): New.
7620         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
7621         (ia64_linux_stopped_data_address)
7622         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
7623         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
7624         ia64_linux_nat_target methods.
7625         (super_xfer_partial): Delete.
7626         (_initialize_ia64_linux_nat): Adjust to C++ification.
7627
7628         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
7629         (the_m32r_linux_nat_target): New.
7630         (m32r_linux_fetch_inferior_registers)
7631         (m32r_linux_store_inferior_registers): Refactor as
7632         m32r_linux_nat_target methods.
7633         (_initialize_m32r_linux_nat): Adjust to C++ification.
7634
7635         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
7636         (the_m68k_linux_nat_target): New.
7637         (m68k_linux_fetch_inferior_registers)
7638         (m68k_linux_store_inferior_registers): Refactor as
7639         m68k_linux_nat_target methods.
7640         (_initialize_m68k_linux_nat): Adjust to C++ification.
7641
7642         * s390-linux-nat.c (s390_linux_nat_target): New class.
7643         (the_s390_linux_nat_target): New.
7644         (s390_linux_fetch_inferior_registers)
7645         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
7646         (s390_insert_watchpoint, s390_remove_watchpoint)
7647         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
7648         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
7649         (s390_auxv_parse, s390_read_description): Refactor as methods of
7650         s390_linux_nat_target.
7651         (_initialize_s390_nat): Adjust to C++ification.
7652
7653         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
7654         (the_sparc_linux_nat_target): New.
7655         (_initialize_sparc_linux_nat): Adjust to C++ification.
7656         * sparc-nat.c (sparc_fetch_inferior_registers)
7657         (sparc_store_inferior_registers): Remove target_ops parameter.
7658         * sparc-nat.h (sparc_fetch_inferior_registers)
7659         (sparc_store_inferior_registers): Remove target_ops parameter.
7660         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
7661         (the_sparc64_linux_nat_target): New.
7662         (_initialize_sparc64_linux_nat): Adjust to C++ification.
7663
7664         * spu-linux-nat.c (spu_linux_nat_target): New class.
7665         (the_spu_linux_nat_target): New.
7666         (spu_child_post_startup_inferior, spu_child_post_attach)
7667         (spu_child_wait, spu_fetch_inferior_registers)
7668         (spu_store_inferior_registers, spu_xfer_partial)
7669         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
7670         methods.
7671         (_initialize_spu_nat): Adjust to C++ification.
7672
7673         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
7674         (the_tilegx_linux_nat_target): New.
7675         (fetch_inferior_registers, store_inferior_registers):
7676         Refactor as methods.
7677         (_initialize_tile_linux_nat): Adjust to C++ification.
7678
7679         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
7680         (the_xtensa_linux_nat_target): New.
7681         (xtensa_linux_fetch_inferior_registers)
7682         (xtensa_linux_store_inferior_registers): Refactor as
7683         xtensa_linux_nat_target methods.
7684         (_initialize_xtensa_linux_nat): Adjust to C++ification.
7685
7686         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
7687         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
7688         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
7689         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
7690         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
7691         (fbsd_stopped_by_sw_breakpoint)
7692         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
7693         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
7694         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
7695         (fbsd_post_startup_inferior, fbsd_post_attach)
7696         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
7697         (fbsd_set_syscall_catchpoint)
7698         (super_xfer_partial, super_resume, super_wait)
7699         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
7700         (fbsd_handle_debug_trap): Remove target_ops parameter.
7701         (fbsd_nat_add_target): Delete.
7702         * fbsd-nat.h: Include "inf-ptrace.h".
7703         (fbsd_nat_add_target): Delete.
7704         (USE_SIGTRAP_SIGINFO): Define.
7705         (fbsd_nat_target): New class.
7706
7707         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
7708         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
7709         (amd64bsd_target): Delete.
7710         * amd64-bsd-nat.h: New file.
7711         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
7712         "x86-bsd-nat.h".
7713         (amd64_fbsd_nat_target): New class.
7714         (the_amd64_fbsd_nat_target): New.
7715         (amd64fbsd_read_description): Refactor as method of
7716         amd64_fbsd_nat_target.
7717         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7718         (_initialize_amd64fbsd_nat): Adjust to C++ification.
7719         * amd64-nat.h (amd64bsd_target): Delete function declaration.
7720         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
7721         (i386bsd_store_inferior_registers): Remove target_ops parameter.
7722         (i386bsd_target): Delete.
7723         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
7724         (i386bsd_fetch_inferior_registers)
7725         (i386bsd_store_inferior_registers): Declare.
7726         (i386_bsd_nat_target): New class.
7727         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
7728         (the_i386_fbsd_nat_target): New.
7729         (i386fbsd_resume, i386fbsd_read_description): Refactor as
7730         i386_fbsd_nat_target methods.
7731         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
7732         (_initialize_i386fbsd_nat): Adjust to C++ification.
7733         * x86-bsd-nat.c (super_mourn_inferior): Delete.
7734         (x86bsd_mourn_inferior, x86bsd_target): Delete.
7735         (_initialize_x86_bsd_nat): Adjust to C++ification.
7736         * x86-bsd-nat.h: Include "x86-nat.h".
7737         (x86bsd_target): Delete declaration.
7738         (x86bsd_nat_target): New class.
7739
7740         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
7741         (the_aarch64_fbsd_nat_target): New.
7742         (aarch64_fbsd_fetch_inferior_registers)
7743         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
7744         aarch64_fbsd_nat_target.
7745         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
7746         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
7747         (the_alpha_bsd_nat_target): New.
7748         (alphabsd_fetch_inferior_registers)
7749         (alphabsd_store_inferior_registers): Refactor as
7750         alpha_bsd_nat_target methods.
7751         (_initialize_alphabsd_nat): Refactor as methods of
7752         alpha_bsd_nat_target.
7753         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
7754         (the_amd64_nbsd_nat_target): New.
7755         (_initialize_amd64nbsd_nat): Adjust to C++ification.
7756         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
7757         (the_amd64_obsd_nat_target): New.
7758         (_initialize_amd64obsd_nat): Adjust to C++ification.
7759         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
7760         (the_arm_fbsd_nat_target): New.
7761         (arm_fbsd_fetch_inferior_registers)
7762         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
7763         (_initialize_arm_fbsd_nat): Refactor as methods of
7764         arm_fbsd_nat_target.
7765         (_initialize_arm_fbsd_nat): Adjust to C++ification.
7766         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
7767         (the_arm_netbsd_nat_target): New.
7768         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
7769         arm_netbsd_nat_target.
7770         (_initialize_arm_netbsd_nat): Adjust to C++ification.
7771         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
7772         (the_hppa_nbsd_nat_target): New.
7773         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
7774         hppa_nbsd_nat_target methods.
7775         (_initialize_hppanbsd_nat): Adjust to C++ification.
7776         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
7777         (the_hppa_obsd_nat_target): New.
7778         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
7779         methods of hppa_obsd_nat_target.
7780         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
7781         add_target.
7782         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
7783         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
7784         add_target.
7785         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
7786         (_initialize_i386obsd_nat): Use add_target.
7787         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
7788         (the_m68k_bsd_nat_target): New.
7789         (m68kbsd_fetch_inferior_registers)
7790         (m68kbsd_store_inferior_registers): Refactor as methods of
7791         m68k_bsd_nat_target.
7792         (_initialize_m68kbsd_nat): Adjust to C++ification.
7793         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
7794         (the_mips_fbsd_nat_target): New.
7795         (mips_fbsd_fetch_inferior_registers)
7796         (mips_fbsd_store_inferior_registers): Refactor as methods of
7797         mips_fbsd_nat_target.
7798         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
7799         add_target.
7800         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
7801         (the_mips_nbsd_nat_target): New.
7802         (mipsnbsd_fetch_inferior_registers)
7803         (mipsnbsd_store_inferior_registers): Refactor as methods of
7804         mips_nbsd_nat_target.
7805         (_initialize_mipsnbsd_nat): Adjust to C++ification.
7806         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
7807         (the_mips64_obsd_nat_target): New.
7808         (mips64obsd_fetch_inferior_registers)
7809         (mips64obsd_store_inferior_registers): Refactor as methods of
7810         mips64_obsd_nat_target.
7811         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
7812         add_target.
7813         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
7814         nbsd_nat_target.
7815         * nbsd-nat.h: Include "inf-ptrace.h".
7816         (nbsd_nat_target): New class.
7817         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
7818         (obsd_wait): Refactor as methods of obsd_nat_target.
7819         (obsd_add_target): Delete.
7820         * obsd-nat.h: Include "inf-ptrace.h".
7821         (obsd_nat_target): New class.
7822         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
7823         (the_ppc_fbsd_nat_target): New.
7824         (ppcfbsd_fetch_inferior_registers)
7825         (ppcfbsd_store_inferior_registers): Refactor as methods of
7826         ppc_fbsd_nat_target.
7827         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
7828         add_target.
7829         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
7830         (the_ppc_nbsd_nat_target): New.
7831         (ppcnbsd_fetch_inferior_registers)
7832         (ppcnbsd_store_inferior_registers): Refactor as methods of
7833         ppc_nbsd_nat_target.
7834         (_initialize_ppcnbsd_nat): Adjust to C++ification.
7835         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
7836         (the_ppc_obsd_nat_target): New.
7837         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
7838         methods of ppc_obsd_nat_target.
7839         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
7840         add_target.
7841         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
7842         (the_sh_nbsd_nat_target): New.
7843         (shnbsd_fetch_inferior_registers)
7844         (shnbsd_store_inferior_registers): Refactor as methods of
7845         sh_nbsd_nat_target.
7846         (_initialize_shnbsd_nat): Adjust to C++ification.
7847         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
7848         (inf_ptrace_xfer_partial): Delete.
7849         (sparc_xfer_partial, sparc_target): Delete.
7850         * sparc-nat.h (sparc_fetch_inferior_registers)
7851         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
7852         (sparc_target): Delete function declaration.
7853         (sparc_target): New template class.
7854         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
7855         (_initialize_sparcnbsd_nat): Adjust to C++ification.
7856         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
7857         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
7858         add_target.
7859         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
7860         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
7861         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
7862         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
7863         add_target.
7864         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
7865         (the_vax_bsd_nat_target): New.
7866         (vaxbsd_fetch_inferior_registers)
7867         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
7868         methods.
7869         (_initialize_vaxbsd_nat): Adjust to C++ification.
7870
7871         * bsd-kvm.c (bsd_kvm_target): New class.
7872         (bsd_kvm_ops): Now a bsd_kvm_target.
7873         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
7874         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
7875         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
7876         bsd_kvm_target.
7877         (bsd_kvm_return_one): Delete.
7878         (bsd_kvm_add_target): Adjust to C++ification.
7879
7880         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
7881         (nto_procfs_target_procfs): New classes.
7882         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
7883         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
7884         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
7885         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
7886         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
7887         (procfs_remove_hw_breakpoint, procfs_resume)
7888         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
7889         (procfs_kill_inferior, procfs_store_registers)
7890         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
7891         as methods of nto_procfs_target.
7892         (nto_procfs_ops): Now an nto_procfs_target_procfs.
7893         (nto_native_ops): Delete.
7894         (procfs_open, procfs_native_open): Delete.
7895         (nto_native_ops): Now an nto_procfs_target_native.
7896         (init_procfs_targets): Adjust to C++ification.
7897         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
7898         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
7899         Refactor as methods of nto_procfs_target.
7900
7901         * go32-nat.c (go32_nat_target): New class.
7902         (the_go32_nat_target): New.
7903         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
7904         (go32_store_registers, go32_xfer_partial, go32_files_info)
7905         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
7906         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
7907         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
7908         (go32_pid_to_str): Refactor as methods of go32_nat_target.
7909         (go32_target): Delete.
7910         (_initialize_go32_nat): Adjust to C++ification.
7911
7912         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
7913         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
7914         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
7915         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
7916         gnu_nat_target.
7917         (gnu_target): Delete.
7918         * gnu-nat.h (gnu_target): Delete.
7919         (gnu_nat_target): New class.
7920         * i386-gnu-nat.c (gnu_base_target): New.
7921         (i386_gnu_nat_target): New class.
7922         (the_i386_gnu_nat_target): New.
7923         (_initialize_i386gnu_nat): Adjust to C++ification.
7924
7925 2018-05-02  Pedro Alves  <palves@redhat.com>
7926
7927         * bfd-target.c (target_bfd_xclose): Rename to ...
7928         (target_bfd_close): ... this.
7929         (target_bfd_reopen): Adjust.
7930         * target.c (target_close): Remove references to to_xclose.
7931         * target.h (target_ops::to_xclose): Delete.
7932         (target_ops::to_close): Update comments.
7933
7934 2018-05-02  Pedro Alves  <palves@redhat.com>
7935
7936         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
7937         "linux-nat.h".
7938         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
7939         * inf-ptrace.c (inf_ptrace_register_u_offset)
7940         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
7941         (inf_ptrace_store_register, inf_ptrace_store_registers)
7942         (inf_ptrace_trad_target): Move to ...
7943         * linux-nat-trad.c: ... this new file.
7944         * linux-nat-trad.h: New file.
7945         * linux-nat.c (linux_target_install_ops): Make extern.
7946         (linux_trad_target): Delete.
7947         * linux-nat.h (linux_trad_target): Delete declaration.
7948         (linux_target_install_ops): Declare.
7949         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
7950         "linux-nat.h".
7951
7952 2018-05-02  Pedro Alves  <palves@redhat.com>
7953
7954         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7955         procfs_target/add_target here.
7956         * procfs.c (procfs_target): Make static.
7957         (_initialize_procfs): Call add_target here.
7958         * procfs.h (struct target_ops): Remove forward declaration.
7959         (procfs_target): Remove declaration.
7960         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
7961
7962 2018-05-02  Pedro Alves  <palves@redhat.com>
7963
7964         * procfs.c (procfs_stopped_by_watchpoint)
7965         (procfs_insert_watchpoint, procfs_remove_watchpoint)
7966         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
7967         Forward declare.
7968         (procfs_use_watchpoints): Delete, move contents...
7969         (procfs_target): ... here.
7970         * procfs.h (procfs_use_watchpoints): Delete declaration.
7971         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
7972         procfs_use_watchpoints.
7973         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
7974         procfs_use_watchpoints.
7975
7976 2018-05-02  Tom Tromey  <tom@tromey.com>
7977
7978         PR python/20084:
7979         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
7980         and var_zuinteger_unlimited.
7981         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
7982         and PARAM_ZUINTEGER_UNLIMITED.
7983         (set_parameter_value): Handle var_zuinteger and
7984         var_zuinteger_unlimited.
7985         (add_setshow_generic): Likewise.
7986         (parmpy_init): Likewise.
7987
7988 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
7989
7990         PR rust/23124
7991         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
7992         pointer is not null before dereferencing it.
7993
7994 2018-04-30  Tom Tromey  <tom@tromey.com>
7995
7996         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
7997         is_mi_like_p.
7998
7999 2018-04-30  Tom Tromey  <tom@tromey.com>
8000
8001         * breakpoint.c (mention): Remove use of is_mi_like_p.
8002         (print_mention_ranged_breakpoint): Likewise.
8003         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
8004         of is_mi_like_p.
8005
8006 2018-04-30  Tom Tromey  <tom@tromey.com>
8007
8008         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
8009
8010 2018-04-30  Tom Tromey  <tom@tromey.com>
8011
8012         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
8013         (info_spu_event_command): Remove some uses of is_mi_like_p.
8014
8015 2018-04-30  Tom Tromey  <tom@tromey.com>
8016
8017         * python/py-framefilter.c (py_print_single_arg)
8018         (enumerate_locals, py_print_args, py_print_frame): Remove some
8019         uses of is_mi_like_p.
8020
8021 2018-04-30  Tom Tromey  <tom@tromey.com>
8022
8023         * ui-out.c: Update.
8024         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
8025         * ui-out.h (ui_out::is_mi_like_p): Now const.
8026         (ui_out::do_is_mi_like_p): Now const.
8027         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
8028
8029 2018-04-30  Tom Tromey  <tom@tromey.com>
8030
8031         * varobj.c (varobj_set_visualizer): Use new_reference.
8032         * python/python.c (gdbpy_decode_line): Use new_reference.
8033         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
8034         new_reference.
8035
8036 2018-04-30  Tom Tromey  <tom@tromey.com>
8037
8038         * varobj.c (install_new_value): Use new_reference.
8039         * value.h (value_incref): Return void.  Swap intro comment with
8040         value_decref.
8041         * value.c (set_value_parent): Use new_reference.
8042         (value_incref): Return void.  Update intro comment.
8043         (release_value): Use new_reference.
8044         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
8045
8046 2018-04-30  Tom Tromey  <tom@tromey.com>
8047
8048         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
8049         * gdb_bfd.h (new_bfd_ref): Remove.
8050         (gdb_bfd_open): Update comment.
8051         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
8052         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
8053         (gdb_bfd_fdopenr): Use new_reference.
8054         * exec.c (exec_file_attach): Use new_reference.
8055
8056 2018-04-30  Tom Tromey  <tom@tromey.com>
8057
8058         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
8059         method.
8060
8061 2018-04-30  Tom Tromey  <tom@tromey.com>
8062
8063         * jit.c (jit_read_code_entry): Use type_align.
8064         * i386-tdep.c (i386_gdbarch_init): Don't call
8065         set_gdbarch_long_long_align_bit.
8066         * gdbarch.sh: Remove long_long_align_bit.
8067         * gdbarch.c, gdbarch.h: Rebuild.
8068         * arc-tdep.c (arc_type_align): New function.
8069         (arc_gdbarch_init): Use arc_type_align.  Don't call
8070         set_gdbarch_long_long_align_bit.
8071
8072 2018-04-30  Tom Tromey  <tom@tromey.com>
8073
8074         * rust-lang.c (rust_type_alignment): Remove.
8075         (rust_composite_type): Use type_align.
8076
8077 2018-04-30  Tom Tromey  <tom@tromey.com>
8078
8079         * NEWS: Mention Type.align.
8080         * python/py-type.c (typy_get_alignof): New function.
8081         (type_object_getset): Add "alignof".
8082
8083 2018-04-30  Tom Tromey  <tom@tromey.com>
8084
8085         PR exp/17095:
8086         * NEWS: Update.
8087         * std-operator.def (UNOP_ALIGNOF): New operator.
8088         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
8089         New.
8090         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
8091         * c-lang.c (c_op_print_tab): Add alignof.
8092         * c-exp.y (ALIGNOF): New token.
8093         (exp): Add "ALIGNOF" production.
8094         (ident_tokens): Add _Alignof and alignof.
8095
8096 2018-04-30  Tom Tromey  <tom@tromey.com>
8097
8098         * i386-tdep.c (i386_type_align): New function.
8099         (i386_gdbarch_init): Update.
8100         * gdbarch.sh (type_align): New method.
8101         * gdbarch.c, gdbarch.h: Rebuild.
8102         * arch-utils.h (default_type_align): Declare.
8103         * arch-utils.c (default_type_align): New function.
8104         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
8105         (struct type) <align_log2>: New field.
8106         <instance_flags>: Now a bitfield.
8107         (TYPE_RAW_ALIGN): New macro.
8108         (type_align, type_raw_align, set_type_align): Declare.
8109         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
8110         functions.
8111         * dwarf2read.c (quirk_rust_enum): Set type alignment.
8112         (get_alignment, maybe_set_alignment): New functions.
8113         (read_structure_type, read_enumeration_type, read_array_type)
8114         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
8115         (read_subrange_type, read_base_type): Set type alignment.
8116
8117 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
8118
8119         * dwarf2read.c (read_index_from_section): Use bool.
8120
8121 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
8122
8123         PR gdb/22950
8124         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
8125         with #ifdef.
8126
8127 2018-04-29  John Reiser  <jreiser@BitWagon.com>
8128
8129         PR build/22873
8130         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8131         last step, and do it atomically.
8132
8133 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8134
8135         * compile/compile-c-types.c (convert_int, convert_float):
8136         Update for C FE v1.
8137
8138 2018-04-27  Tom Tromey  <tom@tromey.com>
8139
8140         PR rust/22545:
8141         * rust-lang.c (rust_inclusive_range_type_p): New function.
8142         (rust_range): Handle inclusive ranges.
8143         (rust_compute_range): Likewise.
8144         * rust-exp.y (struct rust_op) <inclusive>: New field.
8145         (DOTDOTEQ): New constant.
8146         (range_expr): Add "..=" productions.
8147         (operator_tokens): Add "..=" token.
8148         (ast_range): Add "inclusive" parameter.
8149         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8150         ranges.
8151         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8152         bounds values.
8153         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8154         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8155         Update comments.
8156         * expprint.c (print_subexp_standard): Handle new bounds values.
8157         (dump_subexp_body_standard): Likewise.
8158
8159 2018-04-27  Tom Tromey  <tom@tromey.com>
8160
8161         * configure: Rebuild.
8162         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8163         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8164         "OVERRIDE".
8165         (class symbol_needs_eval_context): Likewise.
8166         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8167         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8168         "virtual".
8169         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8170         "override".
8171         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8172         * aarch64-tdep.c (instruction_reader::read): Use "override".
8173         (instruction_reader_test::read): Likewise.
8174         * arm-tdep.c (instruction_reader::read): Use "override".
8175         (instruction_reader_thumb::read): Likewise.
8176
8177 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8178
8179         PR remote/9665
8180         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8181         instead of remote_send.
8182         (remote_send): Remove.
8183
8184 2018-04-26  Pedro Alves  <palves@redhat.com>
8185
8186         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8187         find_function_start_sal instead of find_pc_line.
8188
8189 2018-04-26  Pedro Alves  <palves@redhat.com>
8190
8191         * breakpoint.c (set_breakpoint_location_function): Handle
8192         mst_data_gnu_ifunc.
8193         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8194         * elfread.c (elf_symtab_read): Give data symbols with
8195         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8196         (elf_rel_plt_read): Update comment.
8197         * linespec.c (convert_linespec_to_sals): Handle
8198         mst_data_gnu_ifunc.
8199         (minsym_found): Handle mst_data_gnu_ifunc.
8200         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
8201         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
8202         * parse.c (find_minsym_type_and_address): Handle
8203         mst_data_gnu_ifunc.
8204         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
8205         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
8206         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
8207         comment.
8208         <mst_data_gnu_ifunc>: New enumerator.
8209
8210 2018-04-26  Pedro Alves  <palves@redhat.com>
8211
8212         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
8213         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
8214         'want_trampoline' parameter by a lookup_msym_prefer parameter.
8215         Handle it.
8216         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
8217         (lookup_minimal_symbol_by_pc): Adjust.
8218         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
8219         (lookup_solib_trampoline_symbol_by_pc): Adjust.
8220         * minsyms.h (lookup_msym_prefer): New enum.
8221         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8222         parameter by a lookup_msym_prefer parameter.
8223
8224 2018-04-26  Pedro Alves  <palves@redhat.com>
8225
8226         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
8227         ends in "@plt" instead of looking at the symbol's section.
8228
8229 2018-04-26  Pedro Alves  <palves@redhat.com>
8230
8231         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
8232         all references.
8233         (find_pc_partial_function_gnu_ifunc): Rename to ...
8234         (find_pc_partial_function): ... this, and remove references to
8235         'is_gnu_ifunc_p'.
8236         (find_pc_partial_function): Delete old implementation.
8237         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
8238
8239 2018-04-26  Pedro Alves  <palves@redhat.com>
8240
8241         * linespec.c (struct bound_minimal_symbol_search_key): New.
8242         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
8243         skip first line if we found a GNU ifunc minimal symbol by name.
8244         (compare_msymbols): Change parameters to work with a destructured
8245         lhs minsym.
8246         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
8247         functions.
8248
8249 2018-04-26  Pedro Alves  <palves@redhat.com>
8250
8251         * breakpoint.c (set_breakpoint_location_function): Don't resolve
8252         ifunc targets here.  Instead, if we have an ifunc minsym, use its
8253         address/name.
8254         (add_location_to_breakpoint): Store the minsym and the objfile in
8255         the breakpoint location.
8256         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
8257         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
8258         Record the minsym in the sal.
8259         * symtab.h (symtab_and_line) <msymbol>: New field.
8260
8261 2018-04-26  Pedro Alves  <palves@redhat.com>
8262
8263         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
8264         unless we actually resolved the ifunc.
8265
8266 2018-04-26  Pedro Alves  <palves@redhat.com>
8267
8268         * c-exp.y (variable production): Prefer ifunc minsyms over
8269         regular function symbols.
8270         * symtab.c (find_gnu_ifunc): New function.
8271         * minsyms.h (lookup_msym_prefer): New enum.
8272         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
8273         parameter by a lookup_msym_prefer parameter.
8274         * symtab.h (find_gnu_ifunc): New declaration.
8275
8276 2018-04-26  Pedro Alves  <palves@redhat.com>
8277
8278         * blockframe.c (find_gnu_ifunc_target_type): New function.
8279         (find_function_type): New.
8280         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
8281         return a value with a memory address.
8282         (eval_call): For calls to GNU ifunc functions, try to find the
8283         type of the target function from the type that the resolver
8284         returns.
8285         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
8286         symbols.
8287         * infcall.c (find_function_return_type): Delete.
8288         (find_function_addr): Add 'function_type' parameter.  For calls to
8289         GNU ifunc functions, try to find the type of the target function
8290         from the type that the resolver returns, and return it via
8291         FUNCTION_TYPE.
8292         (call_function_by_hand_dummy): Adjust to use the function type
8293         returned by find_function_addr.
8294         (find_function_addr): Add 'function_type' parameter and move
8295         description here.
8296         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
8297         declarations.
8298
8299 2018-04-26  Pedro Alves  <palves@redhat.com>
8300
8301         * c-exp.y (variable production): Skip finding an alias for ifunc
8302         symbols.
8303
8304 2018-04-26  Pedro Alves  <palves@redhat.com>
8305
8306         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
8307
8308 2018-04-25  Pedro Alves  <palves@redhat.com>
8309
8310         * infcmd.c (kill_command): Print the pid as string, not the whole
8311         thread's ptid.  Add comment.  s/has been killed/killed/ in output
8312         message.
8313         * remote.c (remote_detach_1): Print the pid as string, not the
8314         whole thread's ptid.
8315
8316 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8317             Sergio Durigan Junior  <sergiodj@redhat.com>
8318             Pedro Alves  <palves@redhat.com>
8319
8320         * infcmd.c (kill_command): Print message when inferior has
8321         been killed.
8322         * inferior.c (print_inferior_events): Remove 'static'.  Set as
8323         '1'.
8324         (add_inferior): Improve message printed when
8325         'print_inferior_events' is on.
8326         (exit_inferior): Remove message printed when
8327         'print_inferior_events' is on.
8328         (detach_inferior): Improve message printed when
8329         'print_inferior_events' is on.
8330         (initialize_inferiors): Use 'add_inferior_silent' to set
8331         'current_inferior_'.
8332         * inferior.h (print_inferior_events): Declare here as
8333         'extern'.
8334         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
8335         '[Detaching...]' messages when 'print_inferior_events' is on.
8336         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
8337         as prefix/suffix for messages.  Remove periods.  Fix erroneous
8338         'Detaching after fork from child...', replace it by '... from
8339         parent...'.
8340         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
8341         prefix/suffix when printing 'Detaching...' messages.  Print
8342         them when 'print_inferior_events' is on.
8343         * remote.c (remote_detach_1): Print message when detaching
8344         from inferior and '!is_fork_parent'.
8345
8346 2018-04-24  Tom Tromey  <tom@tromey.com>
8347
8348         * cli-out.h: Reindent.
8349
8350 2018-04-24  Tom Tromey  <tom@tromey.com>
8351
8352         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
8353         (cli_ui_out::do_field_string): Use fputs_filtered.
8354         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
8355
8356 2018-04-23  Tom Tromey  <tom@tromey.com>
8357
8358         * guile/scm-frame.c (gdbscm_frame_read_var): Use
8359         gdb::unique_xmalloc_ptr.
8360
8361 2018-04-23  Tom Tromey  <tom@tromey.com>
8362
8363         * configure: Rebuild.
8364
8365 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
8366
8367         PR gdb/23095
8368         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
8369         prepare_for_testing.  Set normal_bp to r_debug_state if target
8370         is bsd.
8371
8372 2018-04-21  Pedro Alves  <palves@redhat.com>
8373             Rajendra SY  <rajendra.sy@gmail.com>
8374
8375         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
8376         * remote.c (extended_remote_attach): In all-stop mode, mark the
8377         thread as executing.
8378
8379 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8380
8381         * thread.c (thread_apply_all_command): Fix comment.
8382         (thread_command): Fix comment.
8383
8384 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
8385
8386         * common/tdesc.h (tdesc_create_feature): Remove xml filename
8387         parameter.
8388         * features/aarch64-core.c (create_feature_aarch64_core):
8389         Regenerate.
8390         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
8391         Likewise.
8392         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
8393         Likewise.
8394         * features/i386/32bit-avx512.c
8395         (create_feature_i386_32bit_avx512): Likewise.
8396         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
8397         Likewise.
8398         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
8399         Likewise.
8400         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
8401         Likewise.
8402         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
8403         Likewise.
8404         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
8405         Likewise.
8406         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
8407         Likewise.
8408         * features/i386/64bit-avx512.c
8409         (create_feature_i386_64bit_avx512): Likewise.
8410         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
8411         Likewise.
8412         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
8413         Likewise.
8414         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
8415         Likewise.
8416         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
8417         Likewise.
8418         * features/i386/64bit-segments.c
8419         (create_feature_i386_64bit_segments): Likewise.
8420         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
8421         Likewise.
8422         * features/i386/x32-core.c
8423         (create_feature_i386_x32_core): Likewise.
8424         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
8425         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
8426         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
8427         * target-descriptions.c: In generated code, don't pass xml
8428         filename.
8429
8430 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8431
8432         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
8433         (print_xml_feature::visit_post): Likewise.
8434         (print_xml_feature::visit): Likewise.
8435         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
8436         (print_xml_feature): Add new class.
8437         * regformats/regdat.sh: Null xmltarget on feature targets.
8438         * target-descriptions.c (struct target_desc): Add xmltarget.
8439         (maintenance_check_tdesc_xml_convert): Add unittest function.
8440         (tdesc_get_features_xml): Add function to get xml.
8441         (maintenance_check_xml_descriptions): Test xml generation.
8442         * xml-tdesc.c (string_read_description_xml): Add function.
8443         * xml-tdesc.h (string_read_description_xml): Add declaration.
8444
8445 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8446
8447         * features/Makefile: Add feature marker to targets with new style
8448         target descriptions.
8449         * regformats/aarch64.dat: Regenerate.
8450         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
8451         * regformats/i386/amd64-avx-linux.dat: Likewise.
8452         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
8453         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
8454         * regformats/i386/amd64-linux.dat: Likewise.
8455         * regformats/i386/amd64-mpx-linux.dat: Likewise.
8456         * regformats/i386/amd64.dat: Likewise.
8457         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
8458         * regformats/i386/i386-avx-linux.dat: Likewise.
8459         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
8460         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
8461         * regformats/i386/i386-linux.dat: Likewise.
8462         * regformats/i386/i386-mmx-linux.dat: Likewise.
8463         * regformats/i386/i386-mpx-linux.dat: Likewise.
8464         * regformats/i386/i386.dat: Likewise.
8465         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
8466         * regformats/i386/x32-avx-linux.dat: Likewise.
8467         * regformats/i386/x32-linux.dat: Likewise.
8468         * regformats/tic6x-c62x-linux.dat: Likewise.
8469         * regformats/tic6x-c64x-linux.dat: Likewise.
8470         * regformats/tic6x-c64xp-linux.dat: Likewise.
8471         * regformats/regdat.sh: Parse feature marker.
8472
8473 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8474
8475         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
8476         (tdesc_osabi_name): Likewise.
8477         * target-descriptions.c (tdesc_architecture_name): Add new
8478         function.
8479         (tdesc_osabi_name): Likewise.
8480
8481 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8482
8483         * common/tdesc.c (tdesc_predefined_type): Move to here.
8484         (tdesc_named_type): Likewise.
8485         (tdesc_create_vector): Likewise.
8486         (tdesc_create_struct): Likewise.
8487         (tdesc_set_struct_size): Likewise.
8488         (tdesc_create_union): Likewise.
8489         (tdesc_create_flags): Likewise.
8490         (tdesc_create_enum): Likewise.
8491         (tdesc_add_field): Likewise.
8492         (tdesc_add_typed_bitfield): Likewise.
8493         (tdesc_add_bitfield): Likewise.
8494         (tdesc_add_flag): Likewise.
8495         (tdesc_add_enum_value): Likewise.
8496         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
8497         (struct tdesc_type_vector): Likewise.
8498         (struct tdesc_type_field): Likewise.
8499         (struct tdesc_type_with_fields): Likewise.
8500         (tdesc_create_enum): Add declaration.
8501         (tdesc_add_typed_bitfield): Likewise.
8502         (tdesc_add_enum_value): Likewise.
8503         * target-descriptions.c (tdesc_type_field): Move from here.
8504         (tdesc_type_builtin): Likewise.
8505         (tdesc_type_vector): Likewise.
8506         (tdesc_type_with_fields): Likewise.
8507         (tdesc_predefined_types): Likewise.
8508         (tdesc_named_type): Likewise.
8509         (tdesc_create_vector): Likewise.
8510         (tdesc_create_struct): Likewise.
8511         (tdesc_set_struct_size): Likewise.
8512         (tdesc_create_union): Likewise.
8513         (tdesc_create_flags): Likewise.
8514         (tdesc_create_enum): Likewise.
8515         (tdesc_add_field): Likewise.
8516         (tdesc_add_typed_bitfield): Likewise.
8517         (tdesc_add_bitfield): Likewise.
8518         (tdesc_add_flag): Likewise.
8519         (tdesc_add_enum_value): Likewise.
8520         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
8521         (tdesc_add_typed_bitfield): Likewise.
8522         (tdesc_add_enum_value): Likewise.
8523
8524 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8525
8526         * common/tdesc.c (tdesc_feature::accept): Move to here.
8527         (tdesc_feature::operator==): Likewise.
8528         (tdesc_create_reg): Likewise.
8529         * common/tdesc.h (tdesc_type_kind): Likewise.
8530         (struct tdesc_type): Likewise.
8531         (struct tdesc_feature): Likewise.
8532         * regformats/regdat.sh: Create a feature.
8533         * target-descriptions.c (tdesc_type_kind): Move from here.
8534         (tdesc_type): Likewise.
8535         (tdesc_type_up): Likewise.
8536         (tdesc_feature): Likewise.
8537         (tdesc_create_reg): Likewise.
8538
8539 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
8540
8541         * Makefile.in: Add arch/tdesc.c
8542         * common/tdesc.c: New file.
8543         * common/tdesc.h (tdesc_element_visitor): Move to here.
8544         (tdesc_element): Likewise.
8545         (tdesc_reg): Likewise.
8546         (tdesc_reg_up): Likewise.
8547         * regformats/regdef.h (reg): Add offset to constructors.
8548         * target-descriptions.c (tdesc_element_visitor): Move from here.
8549         (tdesc_element): Likewise.
8550         (tdesc_reg): Likewise.
8551         (tdesc_reg_up): Likewise.
8552
8553 2018-04-17  Tom Tromey  <tom@tromey.com>
8554
8555         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
8556         discriminant field.
8557
8558 2018-04-17  Tom Tromey  <tom@tromey.com>
8559
8560         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
8561
8562 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8563
8564         * symtab.c (print_symbol_info): Skip printing filename and line
8565         number when `last' is NULL.
8566         (symtab_symbol_info): Use empty string instead of NULL for first
8567         invocation of print_symbol_info.
8568         (rbreak_command): Pass NULL to `last' parameter of
8569         print_symbol_info.
8570
8571 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
8572
8573         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
8574         instead of nullptr.
8575
8576 2018-04-16  Pedro Alves  <palves@redhat.com>
8577
8578         * MAINTAINERS (sh): Remove.
8579         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
8580         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
8581         (ALLDEPFILES): Remove sh64-tdep.c.
8582         * NEWS: Mentions that support for SH-5/SH64 is removed.
8583         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
8584         (sh*-*-openbsd*): Ditto.
8585         (sh64-*-elf*): Remove.
8586         (sh*): Remove.
8587         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
8588         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
8589         * sh-tdep.c: No longer include "sh64-tdep.h".
8590         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
8591         * sh64-tdep.c, sh64-tdep.h: Remove files.
8592
8593 2018-04-16  Pedro Alves  <palves@redhat.com>
8594
8595         * MAINTAINERS: Remove m88k.
8596         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
8597         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
8598         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
8599         * NEWS: Mention that support for m88k was removed.
8600         * configure.host (m88*-*-*): Remove support.
8601         * configure.nat (m88k-*-*): Remove support.
8602         * configure.tgt (m88*-*-openbsd*): Remove.
8603         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
8604
8605 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
8606
8607         * configure.tgt (x86_tobjs): New variable.
8608         (amd64_tobjs, i386_tobjs): Use it.
8609
8610 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8611
8612         * symtab.c (print_symbol_info): Precede the symbol definition by
8613         the line number when available.
8614         * NEWS: Advertise this enhancement.
8615
8616 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8617
8618         * NEWS (New options): announce set/show record btrace cpu.
8619         * btrace.c: Include record-btrace.h.
8620         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
8621         the vendor is unknown.
8622         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
8623         Maybe overwrite the btrace configuration's cpu.
8624         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
8625         (btrace_fetch): Add cpu parameter.  Update callers.
8626         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
8627         Maybe overwrite the btrace configuration's cpu.  Skip enabling
8628         errata workarounds if the vendor is unknown.
8629         * python/py-record-btrace.c: Include record-btrace.h.
8630         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
8631         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
8632         * record-btrace.c (record_btrace_cpu_state_kind): New.
8633         (record_btrace_cpu): New.
8634         (set_record_btrace_cpu_cmdlist): New.
8635         (record_btrace_get_cpu): New.
8636         (require_btrace_thread, record_btrace_info)
8637         (record_btrace_resume_thread): Call record_btrace_get_cpu.
8638         (cmd_set_record_btrace_cpu_none): New.
8639         (cmd_set_record_btrace_cpu_auto): New.
8640         (cmd_set_record_btrace_cpu): New.
8641         (cmd_show_record_btrace_cpu): New.
8642         (_initialize_record_btrace): Initialize set/show record btrace cpu
8643         commands.
8644         * record-btrace.h (record_btrace_get_cpu): New.
8645
8646 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8647
8648         * record.c (set_record_command): Fix typo in message.
8649
8650 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8651
8652         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
8653
8654 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
8655
8656         * infrun.c (process_event_stop_test): Call
8657         gdbarch_in_indirect_branch_thunk.
8658         * gdbarch.sh (in_indirect_branch_thunk): New.
8659         * gdbarch.c: Regenerated.
8660         * gdbarch.h: Regenerated.
8661         * x86-tdep.h: New.
8662         * x86-tdep.c: New.
8663         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
8664         (HFILES_NO_SRCDIR): Add x86-tdep.h.
8665         (ALLDEPFILES): Add x86-tdep.c.
8666         * arch-utils.h (default_in_indirect_branch_thunk): New.
8667         * arch-utils.c (default_in_indirect_branch_thunk): New.
8668         * i386-tdep: Include x86-tdep.h.
8669         (i386_in_indirect_branch_thunk): New.
8670         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
8671         function.
8672         * amd64-tdep: Include x86-tdep.h.
8673         (amd64_in_indirect_branch_thunk): New.
8674         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
8675
8676 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
8677
8678         PR gdb/23053
8679         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
8680         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
8681         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
8682         regression.
8683
8684 2018-04-12  Tom Tromey  <tom@tromey.com>
8685
8686         * rust-lang.c (rust_print_struct_def): Remove univariant code.
8687         (rust_evaluate_subexp): Likewise.
8688
8689 2018-04-12  Pedro Alves  <palves@redhat.com>
8690
8691         * procfs.c (procfs_detach): Make forward declaration's prototype
8692         match definition's protototype.
8693         (proc_get_LDT_entry): Remove stale do_cleanups call.
8694
8695 2018-04-12  Pedro Alves  <palves@redhat.com>
8696
8697         * target.h (target_ops::to_has_exited): Delete.
8698         (target_has_exited): Delete.
8699         * target-delegates.c: Regenerate.
8700
8701 2018-04-11  Pedro Alves  <palves@redhat.com>
8702
8703         * target.c (fileio_fh_t::t): Add comment.
8704         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8705         (target_fileio_close): Handle a NULL target.
8706         (invalidate_fileio_fh): New.
8707         (target_close): Call it.
8708         * remote.c (remote_hostio_send_command): No longer check whether
8709         remote_desc is open.
8710
8711 2018-04-11  Pedro Alves  <palves@redhat.com>
8712
8713         * target.c (fileio_fh_t): Make it a named struct instead of a
8714         typedef.
8715         (fileio_fh_t::is_closed): New method.
8716         (DEF_VEC_O (fileio_fh_t)): Remove.
8717         (fileio_fhandles): Now a std::vector.
8718         (is_closed_fileio_fh): Delete.
8719         (acquire_fileio_fd): Adjust.  Rename parameters.
8720         (release_fileio_fd): Adjust.
8721         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
8722         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
8723         (target_fileio_close): Adjust.
8724
8725 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
8726
8727         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
8728         index.
8729
8730 2018-04-10  Pedro Alves  <palves@redhat.com>
8731
8732         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
8733         (scoped_finish_thread_state): New class.
8734         * infcmd.c (run_command_1): Use it instead of finish_thread_state
8735         cleanup.
8736         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
8737         (fetch_inferior_event, normal_stop): Likewise.
8738         * thread.c (finish_thread_state_cleanup): Delete.
8739
8740 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8741             Pedro Alves  <palves@redhat.com>
8742
8743         * value.c: Include "selftest.h" and "common/array-view.h".
8744         (struct range) <operator ==>: New.
8745         (test_ranges_contain): New.
8746         (check_ranges_vector): New.
8747         (test_insert_into_bit_range_vector): New.
8748         (_initialize_values): Register selftests.
8749         * common/array-view.h (operator==, operator!=): New.
8750
8751 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8752
8753         * common/gdb_vecs.h (unordered_remove): Add overload that takes
8754         an iterator.
8755         * inline-frame.c: Include <algorithm>.
8756         (struct inline_state): Add constructor.
8757         (inline_state_s): Remove.
8758         (DEF_VEC_O(inline_state_s)): Remove.
8759         (inline_states): Change type to std::vector.
8760         (find_inline_frame_state): Adjust to std::vector.
8761         (allocate_inline_frame_state): Remove.
8762         (clear_inline_frame_state): Adjust to std::vector.
8763         (skip_inline_frames): Adjust to std::vector.
8764
8765 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8766
8767         * tracepoint.h (struct trace_state_variable): Add constructor.
8768         <name>: Change type to std::string.
8769         * tracepoint.c (tsv_s): Remove.
8770         (DEF_VEC_O(tsv_s)): Remove.
8771         (tvariables): Change to std::vector.
8772         (create_trace_state_variable): Adjust to std::vector.
8773         (find_trace_state_variable): Likewise.
8774         (find_trace_state_variable_by_number): Likewise.
8775         (delete_trace_state_variable): Likewise.
8776         (trace_variable_command): Adjust to std::string.
8777         (delete_trace_variable_command): Likewise.
8778         (tvariables_info_1): Adjust to std::vector.
8779         (save_trace_state_variables): Likewise.
8780         (start_tracing): Likewise.
8781         (merge_uploaded_trace_state_variables): Adjust to std::vector
8782         and std::string.
8783         * target.h (struct target_ops)
8784         <to_download_trace_state_variable>: Pass reference to
8785         trace_state_variable.
8786         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
8787         * target-delegates.c: Re-generate.
8788         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
8789         (mi_tsv_deleted): Likewise.
8790         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
8791         * remote.c (remote_download_trace_state_variable): Change
8792         pointer to reference and adjust.
8793         * make-target-delegates (parse_argtypes): Handle references.
8794         (write_function_header): Likewise.
8795         (munge_type): Likewise.
8796
8797 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8798
8799         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8800         string_view-selftests.c.
8801         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
8802         testsuite.
8803         * unittests/basic_string_view/cons/char/1.cc: Likewise.
8804         * unittests/basic_string_view/cons/char/2.cc: Likewise.
8805         * unittests/basic_string_view/cons/char/3.cc: Likewise.
8806         * unittests/basic_string_view/element_access/char/1.cc:
8807         Likewise.
8808         * unittests/basic_string_view/element_access/char/empty.cc:
8809         Likewise.
8810         * unittests/basic_string_view/element_access/char/front_back.cc:
8811         Likewise.
8812         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
8813         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
8814         Likewise.
8815         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
8816         Likewise.
8817         * unittests/basic_string_view/modifiers/swap/char/1.cc:
8818         Likewise.
8819         * unittests/basic_string_view/operations/compare/char/1.cc:
8820         Likewise.
8821         * unittests/basic_string_view/operations/compare/char/13650.cc:
8822         Likewise.
8823         * unittests/basic_string_view/operations/copy/char/1.cc:
8824         Likewise.
8825         * unittests/basic_string_view/operations/data/char/1.cc:
8826         Likewise.
8827         * unittests/basic_string_view/operations/find/char/1.cc:
8828         Likewise.
8829         * unittests/basic_string_view/operations/find/char/2.cc:
8830         Likewise.
8831         * unittests/basic_string_view/operations/find/char/3.cc:
8832         Likewise.
8833         * unittests/basic_string_view/operations/find/char/4.cc:
8834         Likewise.
8835         * unittests/basic_string_view/operations/rfind/char/1.cc:
8836         Likewise.
8837         * unittests/basic_string_view/operations/rfind/char/2.cc:
8838         Likewise.
8839         * unittests/basic_string_view/operations/rfind/char/3.cc:
8840         Likewise.
8841         * unittests/basic_string_view/operations/substr/char/1.cc:
8842         Likewise.
8843         * unittests/basic_string_view/operators/char/2.cc: Likewise.
8844         * unittests/string_view-selftests.c: New file.
8845
8846 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8847
8848         * unittests/basic_string_view/capacity/1.cc: New file.
8849         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
8850         * unittests/basic_string_view/cons/char/1.cc: New file.
8851         * unittests/basic_string_view/cons/char/2.cc: New file.
8852         * unittests/basic_string_view/cons/char/3.cc: New file.
8853         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
8854         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
8855         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
8856         * unittests/basic_string_view/element_access/char/1.cc: New file.
8857         * unittests/basic_string_view/element_access/char/2.cc: New file.
8858         * unittests/basic_string_view/element_access/char/empty.cc: New file.
8859         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
8860         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
8861         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
8862         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
8863         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
8864         * unittests/basic_string_view/include.cc: New file.
8865         * unittests/basic_string_view/inserters/char/1.cc: New file.
8866         * unittests/basic_string_view/inserters/char/2.cc: New file.
8867         * unittests/basic_string_view/inserters/char/3.cc: New file.
8868         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
8869         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
8870         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
8871         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
8872         * unittests/basic_string_view/literals/types.cc: New file.
8873         * unittests/basic_string_view/literals/values.cc: New file.
8874         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
8875         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
8876         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
8877         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
8878         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
8879         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
8880         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
8881         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
8882         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
8883         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
8884         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
8885         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
8886         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
8887         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
8888         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
8889         * unittests/basic_string_view/operations/data/char/1.cc: New file.
8890         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
8891         * unittests/basic_string_view/operations/find/char/1.cc: New file.
8892         * unittests/basic_string_view/operations/find/char/2.cc: New file.
8893         * unittests/basic_string_view/operations/find/char/3.cc: New file.
8894         * unittests/basic_string_view/operations/find/char/4.cc: New file.
8895         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
8896         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
8897         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
8898         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
8899         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
8900         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
8901         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
8902         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
8903         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
8904         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
8905         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
8906         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
8907         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
8908         * unittests/basic_string_view/operators/char/2.cc: New file.
8909         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
8910         * unittests/basic_string_view/range_access/char/1.cc: New file.
8911         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
8912         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
8913         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
8914         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
8915         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
8916         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
8917         * unittests/basic_string_view/requirements/typedefs.cc: New file.
8918         * unittests/basic_string_view/typedefs.cc: New file.
8919         * unittests/basic_string_view/types/1.cc: New file.
8920
8921 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8922
8923         * common/gdb_string_view.h: Remove libstdc++ implementation
8924         details, adjust to gdb reality.
8925         * common/gdb_string_view.tcc: Likewise.
8926         * cli/cli-script.c (struct string_view): Remove.
8927         (user_args) <m_args>: Change element type to gdb::string_view.
8928         (user_args::insert_args): Adjust.
8929
8930 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8931
8932         * common/gdb_string_view.h: New file.
8933         * common/gdb_string_view.tcc: New file.
8934
8935 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
8936
8937         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
8938         * configure: Re-generate.
8939
8940 2018-04-09  Pedro Alves  <palves@redhat.com>
8941
8942         * gdbarch.sh: Include "observable.h" instead of "observer.h".
8943         (set_target_gdbarch): Call
8944         gdb::observers::architecture_changed.notify instead of
8945         observer_notify_architecture_changed.
8946
8947 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8948
8949         * tracepoint.c (struct current_traceframe_cleanup): Remove.
8950         (do_restore_current_traceframe_cleanup): Remove.
8951         (restore_current_traceframe_cleanup_dtor): Remove.
8952         (make_cleanup_restore_current_traceframe): Remove.
8953         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
8954         New.
8955         * tracepoint.h (struct scoped_restore_current_traceframe): New.
8956         * infrun.c (fetch_inferior_event): Use
8957         scoped_restore_current_traceframe.
8958
8959 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8960
8961         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
8962         Remove.
8963         <n_allocated_type_units>: Remove.
8964         <all_type_units>: Change to std::vector.
8965         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8966         to std::vector change.
8967         (dwarf2_per_objfile::get_cutu): Likewise.
8968         (dwarf2_per_objfile::get_tu): Likewise.
8969         (create_signatured_type_table_from_index): Likewise.
8970         (create_signatured_type_table_from_debug_names): Likewise.
8971         (dw2_symtab_iter_next): Likewise.
8972         (dw2_print_stats): Likewise.
8973         (dw2_expand_all_symtabs): Likewise.
8974         (dw2_expand_marked_cus): Likewise.
8975         (dw2_debug_names_iterator::next): Likewise.
8976         (dwarf2_initialize_objfile): Likewise.
8977         (add_signatured_type_cu_to_table): Likewise.
8978         (create_all_type_units): Likewise.
8979         (add_type_unit): Likewise.
8980         (struct tu_abbrev_offset): Add constructor.
8981         (build_type_psymtabs_1): Adjust to std::vector change.
8982         (print_tu_stats): Likewise.
8983         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
8984         (write_debug_names): Likewise.
8985
8986 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8987
8988         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
8989         Make an std::vector.
8990         <n_comp_units>: Remove.
8991         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
8992         to std::vector change.
8993         (dwarf2_per_objfile::get_cutu): Likewise.
8994         (dwarf2_per_objfile::get_cu): Likewise.
8995         (create_cus_from_index): Likewise.
8996         (create_addrmap_from_index): Likewise.
8997         (create_addrmap_from_aranges): Likewise.
8998         (dwarf2_read_index): Likewise.
8999         (dw2_find_last_source_symtab): Likewise.
9000         (dw2_map_symtabs_matching_filename): Likewise.
9001         (dw2_symtab_iter_next): Likewise.
9002         (dw2_print_stats): Likewise.
9003         (dw2_expand_all_symtabs): Likewise.
9004         (dw2_expand_symtabs_with_fullname): Likewise.
9005         (dw2_expand_marked_cus): Likewise.
9006         (dw2_map_symbol_filenames): Likewise.
9007         (create_cus_from_debug_names): Likewise.
9008         (dwarf2_read_debug_names): Likewise.
9009         (dw2_debug_names_iterator::next): Likewise.
9010         (dwarf2_initialize_objfile): Likewise.
9011         (set_partial_user): Likewise.
9012         (dwarf2_build_psymtabs_hard): Likewise.
9013         (read_comp_units_from_section): Remove arguments, adjust to
9014         std::vector change.
9015         (create_all_comp_units): Adjust to std::vector and
9016         read_comp_units_from_section changes.
9017         (dwarf2_find_containing_comp_unit): Adjust to std::vector
9018         change.
9019         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9020         (psyms_seen_size): Likewise.
9021         (write_gdbindex): Likewise.
9022         (write_debug_names): Likewise.
9023
9024 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9025
9026         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
9027         with dwarf2_per_objfile.
9028         (create_cus_from_index): Likewise.
9029         (create_signatured_type_table_from_index): Likewise.
9030         (dwarf2_read_index): Likewise.
9031         (dwarf2_initialize_objfile): Likewise.
9032         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
9033         per_cu rather than get_dwarf2_per_objfile.
9034
9035 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9036
9037         * dwarf2read.h (struct signatured_type): Forward declare.
9038         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
9039         New methods.
9040         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
9041         (dw2_get_cutu): ...this.
9042         (dwarf2_per_objfile::get_cu): Rename from...
9043         (dw2_get_cu): ...this.
9044         (dwarf2_per_objfile::get_tu): New.
9045         (create_addrmap_from_index): Adjust.
9046         (create_addrmap_from_aranges): Adjust.
9047         (dw2_find_last_source_symtab): Adjust.
9048         (dw2_map_symtabs_matching_filename): Adjust.
9049         (dw2_symtab_iter_next): Adjust.
9050         (dw2_print_stats): Adjust.
9051         (dw2_expand_all_symtabs): Adjust.
9052         (dw2_expand_symtabs_with_fullname): Adjust.
9053         (dw2_expand_marked_cus): Adjust.
9054         (dw_expand_symtabs_matching_file_matcher): Adjust.
9055         (dw2_map_symbol_filenames): Adjust.
9056         (dw2_debug_names_iterator::next): Adjust.
9057         (dwarf2_initialize_objfile): Adjust.
9058         (set_partial_user): Adjust.
9059         (dwarf2_build_psymtabs_hard): Adjust.
9060
9061 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9062
9063         * dwarf2read.c (create_signatured_type_table_from_debug_names):
9064         Remove unused variables.
9065         (dw2_map_symtabs_matching_filename): Likewise.
9066         (dwarf2_record_block_ranges): Likewise.
9067         (dwarf2_read_addr_index): Likewise.
9068         (follow_die_offset): Likewise.
9069
9070 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9071
9072         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
9073         to symbol_file_add_main.
9074
9075 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9076
9077         PR mi/22299
9078         * mi/mi-console.c (do_fputc_async_safe): New.
9079         (mi_console_file::write_async_safe): New.
9080         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
9081         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
9082         New.
9083         * ui-file.c (ui_file::putstrn): Adjust call to
9084         fputstrn_unfiltered.
9085         * utils.c (printchar): Replace do_fputs and do_fprintf
9086         parameters by do_fputc.
9087         (fputstr_filtered): Adjust call to printchar.
9088         (fputstr_unfiltered): Likewise.
9089         (fputstrn_filtered): Likewise.
9090         (fputstrn_unfiltered): Add do_fputc parameter, pass to
9091         printchar.
9092         * utils.h (do_fputc_ftype): New typedef.
9093         (fputstrn_unfiltered): Add do_fputc parameter.
9094
9095 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9096
9097         * regformats/i386/i386-avx.dat: Remove.
9098
9099 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9100
9101         PR gdb/22979
9102         * amd64-tdep.c (amd64_none_init_abi): New function.
9103         (amd64_x32_none_init_abi): New function.
9104         (_initialize_amd64_tdep): Register handlers for x86-64 and
9105         x64_32 with GDB_OSABI_NONE.
9106         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
9107         GDB_OSABI_NONE osabi.
9108
9109 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9110
9111         PR gdb/22980
9112         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
9113         GDB_OSABI_NONE.
9114         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
9115         * osabi.c (gdb_osabi_names): Add "unknown" entry.
9116
9117 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9118
9119         * common/byte-vector.h (char_vector): New type.
9120         * target.h (target_read_alloc): Return
9121         gdb::optional<byte_vector>.
9122         (target_read_stralloc): Return gdb::optional<char_vector>.
9123         (target_get_osdata): Return gdb::optional<char_vector>.
9124         * target.c (target_read_alloc_1): Templatize.  Replacement
9125         manual memory management with vector.
9126         (target_read_alloc): Change return type, adjust.
9127         (target_read_stralloc): Change return type, adjust.
9128         (target_get_osdata): Change return type, adjust.
9129         * auxv.c (struct auxv_info) <length>: Remove.
9130         <data>: Change type to gdb::optional<byte_vector>.
9131         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9132         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9133         (target_auxv_search): Adjust.
9134         (fprint_target_auxv): Adjust.
9135         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9136         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9137         (linux_make_corefile_notes): Adjust.
9138         * osdata.c (get_osdata): Adjust.
9139         * remote.c (remote_get_threads_with_qxfer): Adjust.
9140         (remote_memory_map): Adjust.
9141         (remote_traceframe_info): Adjust.
9142         (btrace_read_config): Adjust.
9143         (remote_read_btrace): Adjust.
9144         (remote_pid_to_exec_file): Adjust.
9145         * solib-aix.c (solib_aix_get_library_list): Adjust.
9146         * solib-dsbt.c (decode_loadmap): Don't free buf.
9147         (dsbt_get_initial_loadmaps): Adjust.
9148         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9149         * solib-target.c (solib_target_current_sos): Adjust.
9150         * tracepoint.c (sdata_make_value): Adjust.
9151         * xml-support.c (xinclude_start_include): Adjust.
9152         (xml_fetch_content_from_file): Adjust.
9153         * xml-support.h (xml_fetch_another): Change return type.
9154         (xml_fetch_content_from_file): Change return type.
9155         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9156         * xml-tdesc.c (file_read_description_xml): Adjust.
9157         (fetch_available_features_from_target): Change return type.
9158         (target_fetch_description_xml): Adjust.
9159         (target_read_description_xml): Adjust.
9160
9161 2018-04-06  Tom Tromey  <tom@tromey.com>
9162
9163         * value.c (~value): Update.
9164         (struct value) <contents>: Now unique_xmalloc_ptr.
9165         (value_contents_bits_eq, allocate_value_contents)
9166         (value_contents_raw, value_contents_all_raw)
9167         (value_contents_for_printing, value_contents_for_printing_const)
9168         (set_value_enclosing_type): Update.
9169
9170 2018-04-06  Tom Tromey  <tom@tromey.com>
9171
9172         * value.c (range_s): Remove typedef, VEC.
9173         (struct range): Add operator<.
9174         (range_lessthan): Remove.
9175         (ranges_contain): Change type.
9176         (~value): Update.
9177         (struct value) <unavailable, optimized_out>: Now std::vector.
9178         (value_entirely_available)
9179         (value_entirely_covered_by_range_vector)
9180         (value_entirely_unavailable, value_entirely_optimized_out):
9181         Update.
9182         (insert_into_bit_range_vector): Change argument type.
9183         (find_first_range_overlap): Likewise.
9184         (struct ranges_and_idx, value_contents_bits_eq)
9185         (require_not_optimized_out, require_available): Update.
9186         (ranges_copy_adjusted): Change argument types.
9187         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9188
9189 2018-04-06  Tom Tromey  <tom@tromey.com>
9190
9191         * value.c (~value): Update.
9192         (struct value) <parent>: Now a value_ref_ptr.
9193         (value_parent, set_value_parent, value_address, value_copy):
9194         Update.
9195
9196 2018-04-06  Tom Tromey  <tom@tromey.com>
9197
9198         * value.c (struct value): Add constructor, destructor, and member
9199         initializers.
9200         (allocate_value_lazy, value_decref): Update.
9201
9202 2018-04-06  Tom Tromey  <tom@tromey.com>
9203
9204         * value.c (struct value) <released, next>: Remove.
9205         (all_values): Now a std::vector.
9206         (allocate_value_lazy): Update.
9207         (value_next): Remove.
9208         (value_mark, value_free_to_mark, release_value)
9209         (value_release_to_mark): Update.
9210
9211 2018-04-06  Tom Tromey  <tom@tromey.com>
9212
9213         * value.h (fetch_subexp_value, value_release_to_mark): Update.
9214         (free_value_chain): Remove.
9215         * value.c (free_value_chain): Remove.
9216         (value_release_to_mark): Return a std::vector.
9217         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
9218         std::vector.
9219         (check_condition): Update.
9220         * eval.c (fetch_subexp_value): Change "val_chain" to a
9221         std::vector.
9222         * breakpoint.c (update_watchpoint): Update.
9223         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
9224
9225 2018-04-06  Tom Tromey  <tom@tromey.com>
9226
9227         * value.h (free_all_values): Remove.
9228         * value.c (free_all_values): Remove.
9229
9230 2018-04-06  Tom Tromey  <tom@tromey.com>
9231
9232         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
9233         (value_history_chain, value_history_count): Remove.
9234         (value_history): New global.
9235         (record_latest_value, access_value_history, show_values)
9236         (preserve_values): Update.
9237
9238 2018-04-06  Tom Tromey  <tom@tromey.com>
9239
9240         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
9241         * varobj.c (varobj_set_display_format, varobj_set_value)
9242         (install_default_visualizer, construct_visualizer)
9243         (install_new_value, ~varobj, varobj_get_value_type)
9244         (my_value_of_variable, varobj_editable_p): Update.
9245         * c-varobj.c (c_describe_child, c_value_of_variable)
9246         (cplus_number_of_children, cplus_describe_child): Update.
9247         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
9248         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
9249         (ada_value_of_variable, ada_value_is_changeable_p): Update.
9250
9251 2018-04-06  Tom Tromey  <tom@tromey.com>
9252
9253         * printcmd.c (last_examine_address): Change type to
9254         value_ref_ptr.
9255         (do_examine, x_command): Update.
9256
9257 2018-04-06  Tom Tromey  <tom@tromey.com>
9258
9259         * value.c (release_value): Update.
9260         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
9261         (struct bpstats) <val>: Now a value_ref_ptr.
9262         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9263         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9264         (~watchpoint, print_it_watchpoint, watch_command_1)
9265         (invalidate_bp_value_on_memory_change): Update.
9266
9267 2018-04-06  Tom Tromey  <tom@tromey.com>
9268
9269         * varobj.c (varobj_clear_saved_item)
9270         (update_dynamic_varobj_children, install_new_value, ~varobj):
9271         Update.
9272         * value.h (value_incref): Move declaration earlier.
9273         (value_decref): Rename from value_free.
9274         (struct value_ref_policy): New.
9275         (value_ref_ptr): New typedef.
9276         (struct value_deleter): Remove.
9277         (gdb_value_up): Remove typedef.
9278         (release_value): Change return type.
9279         (release_value_or_incref): Remove.
9280         * value.c (set_value_parent): Update.
9281         (value_incref): Change return type.
9282         (value_decref): Rename from value_free.
9283         (value_free_to_mark, free_all_values, free_value_chain): Update.
9284         (release_value): Return value_ref_ptr.
9285         (release_value_or_incref): Remove.
9286         (record_latest_value, set_internalvar, clear_internalvar):
9287         Update.
9288         * stack.c (info_frame_command): Don't call value_free.
9289         * python/py-value.c (valpy_dealloc, valpy_new)
9290         (value_to_value_object): Update.
9291         * printcmd.c (do_examine): Update.
9292         * opencl-lang.c (lval_func_free_closure): Update.
9293         * mi/mi-main.c (register_changed_p): Don't call value_free.
9294         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
9295         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
9296         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
9297         value_free.
9298         * guile/scm-value.c (vlscm_free_value_smob)
9299         (vlscm_scm_from_value): Update.
9300         * frame.c (frame_register_unwind, frame_unwind_register_signed)
9301         (frame_unwind_register_unsigned, get_frame_register_bytes)
9302         (put_frame_register_bytes): Don't call value_free.
9303         * findvar.c (address_from_register): Don't call value_free.
9304         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
9305         * dwarf2loc.c (entry_data_value_free_closure)
9306         (value_of_dwarf_reg_entry, free_pieced_value_closure)
9307         (dwarf2_evaluate_loc_desc_full): Update.
9308         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
9309         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
9310         (~watchpoint, watch_command_1)
9311         (invalidate_bp_value_on_memory_change): Update.
9312         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
9313
9314 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
9315
9316         PR gdb/23022
9317         * warning.m4: Add -Wno-error=deprecated-register.
9318         * configure: Re-generate.
9319
9320 2018-04-05  Tom Tromey  <tom@tromey.com>
9321
9322         * linespec.h: Remove include of "vec.h".
9323
9324 2018-04-05  Tom Tromey  <tom@tromey.com>
9325
9326         * linespec.c (typep): Remove typedef.
9327         (find_methods, find_superclass_methods): Take a std::vector.
9328         (find_method): Use std::vector.
9329
9330 2018-04-05  Tom Tromey  <tom@tromey.com>
9331
9332         * utils.c (compare_strings): Remove.
9333         * utils.h (compare_strings): Remove.
9334         * objc-lang.h (find_imps): Update.
9335         * objc-lang.c (find_methods): Take a std::vector.
9336         (uniquify_strings, find_imps): Likewise.
9337         * linespec.c (find_methods): Take a std::vector.
9338         (decode_objc): Use std::vector.
9339         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
9340         a std::vector.
9341         (find_method, find_function_symbols): Use std::vector.
9342
9343 2018-04-05  Tom Tromey  <tom@tromey.com>
9344
9345         * completer.c (completion_tracker::completion_tracker): Remove
9346         cast.
9347         (completion_tracker::discard_completions): Likewise.
9348         * breakpoint.c (ambiguous_names_p): Remove cast.
9349         * ada-lang.c (_initialize_ada_language): Remove cast.
9350         * utils.h (streq): Update.
9351         (streq_hash): Add new declaration.
9352         * utils.c (streq): Return bool.
9353         (streq_hash): New function.
9354
9355 2018-04-05  Tom Tromey  <tom@tromey.com>
9356
9357         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
9358         Remove a string copy.
9359
9360 2018-04-05  Tom Tromey  <tom@tromey.com>
9361
9362         * linespec.c (filter_results): Use std::vector.
9363         (decode_line_2, decode_line_full): Update.
9364
9365 2018-04-05  Tom Tromey  <tom@tromey.com>
9366
9367         * linespec.c (canonical_to_fullform): Return std::string.
9368         (filter_results): Update.
9369         (struct decode_line_2_item): Add constructor.
9370         <fullform, displayform>: Now std::string.
9371         (decode_line_2_compare_items): Now a std::sort comparator.
9372         (decode_line_2): Update.
9373
9374 2018-04-05  Tom Tromey  <tom@tromey.com>
9375
9376         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
9377         (unexpected_linespec_error): Update.
9378         (linespec_parse_basic, parse_linespec): Update.
9379
9380 2018-04-05  Tom Tromey  <tom@tromey.com>
9381
9382         * linespec.c (linespec_parse_basic): Reindent.
9383
9384 2018-04-05  Tom Tromey  <tom@tromey.com>
9385
9386         * minsyms.h (iterate_over_minimal_symbols): Update.
9387         * minsyms.c (iterate_over_minimal_symbols): Take a
9388         gdb::function_view.
9389         * linespec.c (struct collect_minsyms): Remove.
9390         (compare_msyms): Now a std::sort comparator.
9391         (add_minsym): Add parameters.
9392         (search_minsyms_for_name): Update.  Use std::vector.
9393
9394 2018-04-03  Tom Tromey  <tom@tromey.com>
9395
9396         * mipsread.c (read_alphacoff_dynamic_symtab): Use
9397         gdb::byte_vector.
9398
9399 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9400
9401         * MAINTAINERS (Write After Approval): Add Weimin Pan.
9402
9403 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
9404
9405         PR gdb/16959
9406         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
9407         printing static type.
9408
9409 2018-04-01  Tom Tromey  <tom@tromey.com>
9410
9411         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
9412         (rs6000_xfer_shared_libraries): Update.
9413
9414 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
9415
9416         * common/gdb_vecs.h (char_ptr): Remove.
9417         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
9418
9419 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9420
9421         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
9422         with std::vector.
9423         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
9424
9425 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
9426
9427         * tracepoint.h (struct uploaded_tp): Initialize fields.
9428         <actions, step_actions, cmd_strings>: Change type to
9429         std::vector<char *>.
9430         * tracepoint.c (get_uploaded_tp): Allocate with new.
9431         (free_uploaded_tps): Free with delete.
9432         (parse_tracepoint_definition): Adjust to std::vector change.
9433         * breakpoint.c (read_uploaded_action): Likewise.
9434         (create_tracepoint_from_upload): Likewise.
9435         * ctf.c (ctf_write_uploaded_tp): Likewise.
9436         (SET_ARRAY_FIELD): Likewise.
9437         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
9438
9439 2018-03-30  Tom Tromey  <tom@tromey.com>
9440
9441         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
9442         std::unique_ptr.
9443         (svr4_keep_data_in_core): Update.
9444         (svr4_read_so_list): Update.
9445
9446 2018-03-30  Tom Tromey  <tom@tromey.com>
9447
9448         * windows-nat.c (handle_output_debug_string, handle_exception):
9449         Update.
9450         * target.h (target_read_string): Update.
9451         * target.c (target_read_string): Change "string" to
9452         unique_xmalloc_ptr.
9453         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
9454         Update.
9455         * solib-frv.c (frv_current_sos): Update.
9456         * solib-dsbt.c (dsbt_current_sos): Update.
9457         * solib-darwin.c (darwin_current_sos): Update.
9458         * linux-thread-db.c (inferior_has_bug): Update.
9459         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
9460         Update.  Remove alloca.
9461         * ada-lang.c (ada_main_name): Update.
9462
9463 2018-03-30  Tom Tromey  <tom@tromey.com>
9464
9465         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
9466         (struct dwo_file_deleter): New.
9467         (dwo_file_up): New typedef.
9468         (open_and_init_dwo_file): Use dwo_file_up.
9469         (free_dwo_file_cleanup): Remove.
9470
9471 2018-03-30  Tom Tromey  <tom@tromey.com>
9472
9473         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
9474         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
9475
9476 2018-03-30  Tom Tromey  <tom@tromey.com>
9477
9478         * dwarf2read.c (class free_cached_comp_units): New class.
9479         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
9480         (free_cached_comp_units): Remove function.
9481
9482 2018-03-30  Tom Tromey  <tom@tromey.com>
9483
9484         * utils.h (make_cleanup_unpush_target): Remove.
9485         * inf-ptrace.c (struct target_unpusher): New.
9486         (target_unpush_up) New typedef.
9487         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
9488         target_unpush_up.
9489         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
9490
9491 2018-03-27  Tom Tromey  <tom@tromey.com>
9492
9493         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
9494
9495 2018-03-27  Pedro Alves  <palves@redhat.com>
9496             Tom Tromey  <tom@tromey.com>
9497
9498         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
9499         destructor.  Now a class.
9500         (gdb_readline_wrapper_cleanup): Remove function.
9501         (gdb_readline_wrapper): Remove cleanups.
9502
9503 2018-03-27  Tom Tromey  <tom@tromey.com>
9504
9505         * typeprint.h (struct type_print_options) <local_typedefs,
9506         global_typedefs>: Remove "struct" keyword.
9507         (class typedef_hash_table): New class.
9508         (recursively_update_typedef_hash, add_template_parameters)
9509         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
9510         (find_typedef_in_hash): Don't declare.
9511         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
9512         (typedef_hash_table::recursively_update): Rename from
9513         recursively_update_typedef_hash.  Now a member.
9514         (typedef_hash_table::add_template_parameters): Rename from
9515         add_template_parameters.  Now a member.
9516         (typedef_hash_table::typedef_hash_table): Now a constructor;
9517         rename from create_typedef_hash.
9518         (typedef_hash_table::~typedef_hash_table): Now a destructor;
9519         rename from free_typedef_hash.
9520         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
9521         (do_free_global_table): Remove.
9522         (typedef_hash_table::typedef_hash_table): New constructor; renamed
9523         from copy_type_recursive.
9524         (create_global_typedef_table): Remove.
9525         (typedef_hash_table::find_global_typedef): Now a member of
9526         typedef_hash_table.
9527         (typedef_hash_table::find_typedef): Rename from
9528         find_typedef_in_hash; now a member.
9529         (whatis_exp): Update.
9530         * extension.h (struct ext_lang_type_printers): Add constructor and
9531         destructor.
9532         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
9533         declare.
9534         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
9535         Now a constructor; rename from start_ext_lang_type_printers.
9536         (ext_lang_type_printers): Now a destructor; rename from
9537         free_ext_lang_type_printers.
9538         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
9539         Update.
9540         (c_type_print_base_struct_union): Update.  Remove cleanups.
9541
9542 2018-03-27  Tom Tromey  <tom@tromey.com>
9543
9544         * dwarf-index-write.c: Include <cmath>.
9545
9546 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9547
9548         * NEWS: Add entry describing new "set|show varsize-limit" command.
9549         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
9550         command.
9551         * printcmd.c (_initialize_printcmd): Add "set var" alias of
9552         "set variable".
9553
9554 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
9555
9556         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
9557         dwarf-index-write.c
9558         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
9559         * dwarf-index-common.c: New file.
9560         * dwarf-index-common.h: New file.
9561         * dwarf-index-write.c: New file.
9562         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
9563         (struct dwarf2_section_info): Move from here.
9564         (dwarf2_section_info_def): Likewise.
9565         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
9566         (offset_type): Likewise.
9567         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
9568         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
9569         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
9570         (byte_swap): Likewise.
9571         (MAYBE_SWAP): Likewise.
9572         (dwarf2_per_cu_ptr): Likewise.
9573         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
9574         (struct tu_stats): Likewise.
9575         (struct dwarf2_per_objfile): Likewise.
9576         (struct dwarf2_per_cu_data): Likewise.
9577         (struct signatured_type): Likewise.
9578         (sig_type_ptr): Likewise.
9579         (DEF_VEC_P (sig_type_ptr)): Likewise.
9580         (INDEX4_SUFFIX): Likewise.
9581         (INDEX5_SUFFIX): Likewise.
9582         (DEBUG_STR_SUFFIX): Likewise.
9583         (dwarf2_read_section): Make non-static.
9584         (mapped_index_string_hash): Move from here.
9585         (dwarf5_djb_hash): Likewise.
9586         (file_write): Likewise.
9587         (class data_buf): Likewise.
9588         (struct symtab_index_entry): Likewise.
9589         (struct mapped_symtab): Likewise.
9590         (find_slot): Likewise.
9591         (hash_expand): Likewise.
9592         (add_index_entry): Likewise.
9593         (uniquify_cu_indices): Likewise.
9594         (class c_str_view): Likewise.
9595         (class c_str_view_hasher): Likewise.
9596         (class vector_hasher): Likewise.
9597         (write_hash_table): Likewise.
9598         (psym_index_map): Likewise.
9599         (struct addrmap_index_data): Likewise.
9600         (add_address_entry): Likewise.
9601         (add_address_entry_worker): Likewise.
9602         (write_address_map): Likewise.
9603         (symbol_kind): Likewise.
9604         (write_psymbols): Likewise.
9605         (struct signatured_type_index_data): Likewise.
9606         (write_one_signatured_type): Likewise.
9607         (recursively_count_psymbols): Likewise.
9608         (recursively_write_psymbols): Likewise.
9609         (class debug_names): Likewise.
9610         (check_dwarf64_offsets): Likewise.
9611         (psyms_seen_size): Likewise.
9612         (write_gdbindex): Likewise.
9613         (write_debug_names): Likewise.
9614         (assert_file_size): Likewise.
9615         (write_psymtabs_to_index): Likewise.
9616         (save_gdb_index_command): Likewise.
9617         (_initialize_dwarf2_read): Don't register the "save gdb-index"
9618         command.
9619         * dwarf2read.h: New file.
9620
9621 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
9622
9623         PR gdb/22670
9624         * dwarf2read.c (dwarf2_physname): Do not return the demangled
9625         symbol name if the CU's language stores symbol names in linkage
9626         format.
9627         * language.h (struct language_defn)
9628         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
9629         all instances of this struct.
9630
9631 2018-03-26  Tom Tromey  <tom@tromey.com>
9632
9633         * stack.c (backtrace_command_1): Remove verbose code.
9634
9635 2018-03-26  Tom Tromey  <tom@tromey.com>
9636
9637         * python/py-framefilter.c (py_print_type): Don't catch
9638         exceptions.  Return void.
9639         (py_print_value): Likewise.
9640         (py_print_single_arg): Likewise.
9641         (enumerate_args): Don't catch exceptions.
9642         (py_print_args): Likewise.
9643         (py_print_frame): Likewise.
9644         (gdbpy_apply_frame_filter): Catch exceptions here.
9645
9646 2018-03-26  Tom Tromey  <tom@tromey.com>
9647
9648         * stack.c (_initialize_stack): Remove trailing newlines from help
9649         text.  Add "Usage" line to "backtrace" help.
9650
9651 2018-03-26  Tom Tromey  <tom@tromey.com>
9652
9653         PR python/16486:
9654         * python/py-framefilter.c (py_print_args): Call wrap_hint.
9655
9656 2018-03-26  Tom Tromey  <tom@tromey.com>
9657
9658         * python/py-framefilter.c (py_print_single_arg): Return
9659         EXT_LANG_BT_ERROR from catch.
9660
9661 2018-03-26  Tom Tromey  <tom@tromey.com>
9662
9663         PR backtrace/15584:
9664         * stack.c (backtrace_command_1): Move some code into no-filters
9665         "if".
9666
9667 2018-03-26  Tom Tromey  <tom@tromey.com>
9668
9669         * python/py-framefilter.c (throw_quit_or_print_exception): New
9670         function.
9671         (gdbpy_apply_frame_filter): Use it.
9672
9673 2018-03-26  Tom Tromey  <tom@tromey.com>
9674
9675         PR cli/17716:
9676         * python/py-framefilter.c (py_print_type, py_print_value)
9677         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
9678         RETURN_MASK_ERROR.
9679
9680 2018-03-26  Tom Tromey  <tom@tromey.com>
9681
9682         * python/py-framefilter.c (enumerate_args): Use
9683         gdb::unique_xmalloc_ptr.
9684
9685 2018-03-26  Tom Tromey  <tom@tromey.com>
9686
9687         * python/py-framefilter.c (py_print_frame): Return
9688         EXT_LANG_BT_OK.
9689         (gdbpy_apply_frame_filter): Update comment.
9690         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
9691         Remove.
9692         <EXT_LANG_BT_NO_FILTERS>: Change value.
9693
9694 2018-03-26  Tom Tromey  <tom@tromey.com>
9695
9696         PR backtrace/15582:
9697         * stack.c (backtrace_command): Parse "hide" argument.
9698         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
9699         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
9700         constant.
9701
9702 2018-03-26  Tom Tromey  <tom@tromey.com>
9703
9704         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
9705         add "flags".
9706         (backtrace_command): Remove "fulltrace", add "flags".
9707
9708 2018-03-26  Tom Tromey  <tom@tromey.com>
9709
9710         * stack.c (backtrace_command): Rewrite command line parsing.
9711
9712 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9713
9714         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
9715
9716 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
9717
9718         * filename-seen-cache.h: Add include guard.
9719
9720 2018-03-26  Keith Seitz  <keiths@redhat.com>
9721
9722         * symfile.c (place_section): Remove "struct" from section_addr_info
9723         in comment.
9724         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
9725         "struct" keyword from section_addr_info.
9726
9727 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
9728
9729         * regformats/regdef.h (reg): Add constructors.
9730
9731 2018-03-25  Pedro Alves  <palves@redhat.com>
9732
9733         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
9734         if then/else bodies in var_func_name extraction.
9735
9736 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
9737
9738         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
9739         lookup_minimal_symbol() to find symbol entry.
9740         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
9741
9742 2018-03-23  Keith Seitz  <keiths@redhat.com>
9743
9744         PR c++/22968
9745         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
9746         nested type definitions for C++, too.
9747
9748 2018-03-23  Tom Tromey  <tom@tromey.com>
9749
9750         * machoread.c (struct oso_el): Add a constructor.  Don't define as
9751         a typedef.
9752         (macho_register_oso): Remove.
9753         (macho_symtab_read): Take a std::vector.
9754         (oso_el_compare_name): Now a std::sort comparator.
9755         (macho_symfile_read_all_oso): Take a std::vector.
9756         (macho_symfile_read): Use std::vector.  Remove cleanups.
9757
9758 2018-03-22  Tom Tromey  <tom@tromey.com>
9759
9760         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
9761         (record_full_goto_bookmark): Use std::string.
9762
9763 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9764
9765         PR tdep/18295
9766         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
9767         a single mask.
9768
9769 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9770
9771         * rs6000-tdep.c (store_insn_p): New function.
9772         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
9773         and cr_reg to their unshifted values. Use store_insn_p to
9774         match LR saves using either R1 or fdata->alloca_reg. Use
9775         store_insn_p to match CR saves. Set alloca_reg_offset
9776         when alloca_reg and framep are set. Remove lr_reg shift
9777         when assigning to fdata->lr_register.
9778
9779 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9780
9781         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
9782         command line args instead of emitting a warning.
9783
9784 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9785
9786         * tracepoint.h (struct static_tracepoint_marker): Initialize
9787         fields, define default constructor, move constructor and move
9788         assignment, disable the rest.
9789         <str_id, extra>: Make std::string.
9790         (release_static_tracepoint_marker): Remove.
9791         (free_current_marker): Remove.
9792         * tracepoint.c (free_current_marker): Remove.
9793         (parse_static_tracepoint_marker_definition): Adjust to
9794         std::string, use new hex2str overload.
9795         (release_static_tracepoint_marker): Remove.
9796         (print_one_static_tracepoint_marker): Get marker by reference
9797         and adjust to std::string.
9798         (info_static_tracepoint_markers_command): Adjust to std::vector
9799         changes
9800         * target.h (static_tracepoint_marker_p): Remove typedef.
9801         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
9802         (struct target_ops) <to_static_tracepoint_marker_at>: Return
9803         bool.
9804         <to_static_tracepoint_markers_by_strid>: Return std::vector.
9805         * target-debug.h
9806         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
9807         (target_debug_print_std_vector_static_tracepoint_marker): New.
9808         (target_debug_print_struct_static_tracepoint_marker_p): Rename
9809         to...
9810         (target_debug_print_static_tracepoint_marker_p): ... this.
9811         * target-delegates.c: Re-generate.
9812         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
9813         Make std::string.
9814         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
9815         (decode_static_tracepoint_spec): Adjust to std::vector.
9816         (tracepoint_print_one_detail): Adjust to std::string.
9817         (strace_marker_decode_location): Adjust to std::string.
9818         (update_static_tracepoint): Adjust to std::string, remove call
9819         to release_static_tracepoint_marker.
9820         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
9821         Adjust to std::vector.
9822         * remote.c (remote_static_tracepoint_marker_at): Return bool.
9823         (remote_static_tracepoint_markers_by_strid): Adjust to
9824         std::vector.
9825         * common/rsp-low.h (hex2str): New overload with explicit count
9826         of bytes.
9827         * common/rsp-low.c (hex2str): New overload with explicit count
9828         of bytes.
9829         * unittests/rsp-low-selftests.c (test_hex2str): New function.
9830         (_initialize_rsp_low_selftests): Add test_hex2str test.
9831         * unittests/tracepoint-selftests.c
9832         (test_parse_static_tracepoint_marker_definition): Adjust to
9833         std::string.
9834
9835 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
9836
9837         * tracepoint.c (parse_static_tracepoint_marker_definition):
9838         Consider case where the definition is followed by more
9839         definitions.
9840         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9841         tracepoint-selftests.c.
9842         * unittests/tracepoint-selftests.c: New.
9843
9844 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
9845
9846         * MAINTAINERS (Write After Approval): Add Pedro Franco de
9847         Carvalho.
9848
9849 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9850
9851         * symtab.c (find_pc_sect_line): fixed indentation.
9852
9853 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
9854
9855         * symtab.c (find_pc_sect_line): now uses binary search.
9856
9857 2018-03-19  Tom Tromey  <tom@tromey.com>
9858
9859         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
9860         "IDENT" production.
9861
9862 2018-03-19  Pedro Alves  <palves@redhat.com>
9863             Tom Tromey  <tom@tromey.com>
9864
9865         * unittests/observable-selftests.c: New file.
9866         * common/observable.h: New file.
9867         * observable.h: New file.
9868         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
9869         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
9870         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
9871         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
9872         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
9873         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
9874         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
9875         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
9876         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
9877         python/py-breakpoint.c, python/py-finishbreakpoint.c,
9878         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
9879         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
9880         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
9881         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
9882         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
9883         tui/tui-interp.c, valops.c: Update all users.
9884         * tui/tui-hooks.c (tui_bp_created_observer)
9885         (tui_bp_deleted_observer, tui_bp_modified_observer)
9886         (tui_inferior_exit_observer, tui_before_prompt_observer)
9887         (tui_normal_stop_observer, tui_register_changed_observer):
9888         Remove.
9889         (tui_observers_token): New global.
9890         (attach_or_detach, tui_attach_detach_observers): New functions.
9891         (tui_install_hooks, tui_remove_hooks): Use
9892         tui_attach_detach_observers.
9893         * record-btrace.c (record_btrace_thread_observer): Remove.
9894         (record_btrace_thread_observer_token): New global.
9895         * observer.sh: Remove.
9896         * observer.c: Rename to observable.c.
9897         * observable.c (namespace gdb_observers): Define new objects.
9898         (observer_debug): Move into gdb_observers namespace.
9899         (struct observer, struct observer_list, xalloc_observer_list_node)
9900         (xfree_observer_list_node, generic_observer_attach)
9901         (generic_observer_detach, generic_observer_notify): Remove.
9902         (_initialize_observer): Update.
9903         Don't include observer.inc.
9904         * Makefile.in (generated_files): Remove observer.h, observer.inc.
9905         (clean mostlyclean): Likewise.
9906         (observer.h, observer.inc): Remove targets.
9907         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
9908         (COMMON_SFILES): Use observable.c, not observer.c.
9909         * .gitignore: Remove observer.h.
9910
9911 2018-03-18  Tom Tromey  <tom@tromey.com>
9912
9913         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
9914         gdb::def_vector.
9915         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
9916
9917 2018-03-17  Tom Tromey  <tom@tromey.com>
9918
9919         * auto-load.c (auto_load_objfile_script_1): Use std::string.
9920
9921 2018-03-17  Tom Tromey  <tom@tromey.com>
9922
9923         * target.c (class scoped_target_fd): New.
9924         (target_fileio_close_cleanup): Remove.
9925         (target_fileio_read_alloc_1): Use scoped_target_fd.
9926
9927 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
9928
9929         * silent-rules.mk: New.
9930         * Makefile.in: Include silent-rules.mk
9931         (srcdir, VPATH, top_srcdir): Move up.
9932         (COMPILE): Add ECHO_CXX.
9933         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
9934         (init.c): Add ECHO_INIT_C.
9935         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
9936         (version.c): Add ECHO_GEN.
9937         (printcmd.o): Add ECHO_CXX.
9938         (target-float.o): Add ECHO_CXX.
9939         (ada-exp.o): Add ECHO_CXX.
9940         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
9941         (insight$(EXEEXT)): Add ECHO_CXXLD.
9942         * gnulib/configure.ac: Add AM_SILENT_RULES.
9943         * gnulib/aclocal.m4: Re-generate.
9944         * gnulib/configure: Re-generate.
9945         * gnulib/import/Makefile.in: Re-generate.
9946
9947 2018-03-16  Tom Tromey  <tom@tromey.com>
9948
9949         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
9950         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
9951         * utils.c (do_free_section_addr_info)
9952         (make_cleanup_free_section_addr_info): Remove.
9953         * symfile.h (struct other_sections): Add constructor.
9954         (struct section_addr_info): Remove.
9955         (section_addr_info): New typedef.
9956         (struct sym_fns) <sym_offsets>: Change type of parameter.
9957         (build_section_addr_info_from_objfile)
9958         (relative_addr_info_to_section_offsets, addr_info_make_relative)
9959         (default_symfile_offsets, symbol_file_add)
9960         (symbol_file_add_from_bfd)
9961         (build_section_addr_info_from_section_table): Update.
9962         (alloc_section_addr_info, free_section_addr_info): Don't declare.
9963         * symfile.c (alloc_section_addr_info): Remove.
9964         (build_section_addr_info_from_section_table): Change return type.
9965         Update.
9966         (build_section_addr_info_from_bfd)
9967         (build_section_addr_info_from_objfile): Likewise.
9968         (free_section_addr_info): Remove.
9969         (relative_addr_info_to_section_offsets): Change type of "addrs".
9970         (addrs_section_compar): Now a std::sort comparator.
9971         (addrs_section_sort): Change return type.
9972         (addr_info_make_relative): Change type of "addrs".  Update.
9973         (default_symfile_offsets, syms_from_objfile_1)
9974         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
9975         (symbol_file_add_separate): Update.
9976         (symbol_file_add): Change type of "addrs".  Update.
9977         (add_symbol_file_command): Update.  Remove cleanups.
9978         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
9979         cleanups.
9980         * symfile-debug.c (debug_sym_offsets): Change type of "info".
9981         * solib.c (solib_read_symbols): Update.
9982         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
9983         * machoread.c (macho_symfile_offsets): Update.
9984         * jit.c (jit_bfd_try_read_symtab): Update.
9985
9986 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
9987
9988         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9989         unittests/utils-selftests.c.
9990         * unittests/utils-selftests.c: New file.
9991
9992 2018-03-14  Tom Tromey  <tom@tromey.com>
9993
9994         PR cli/14977:
9995         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
9996         for NULL.
9997
9998 2018-03-14  Tom Tromey  <tom@tromey.com>
9999
10000         PR cli/19918:
10001         * printcmd.c (printf_pointer): Allow "-" in format.
10002
10003 2018-03-14  Tom Tromey  <tom@tromey.com>
10004
10005         * printcmd.c (_initialize_printcmd): Add usage to printf.
10006
10007 2018-03-14  Yao Qi  <qiyao@sourceware.org>
10008
10009         * MAINTAINERS: Update my email address.
10010
10011 2018-03-13  Tom Tromey  <tom@tromey.com>
10012
10013         * machoread.c (macho_check_dsym): Change filenamep to a
10014         std::string*.
10015         (macho_symfile_read): Update.
10016         * symfile.c (load_command): Use std::string.
10017
10018 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10019
10020         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
10021         to error message string.
10022         (riscv_register_name): Use xsnprintf instead of sprintf.
10023         (riscv_insn::fetch_instruction): Use gdb_assert instead of
10024         internal_error.
10025         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
10026         error.
10027         (riscv_push_dummy_call): Likewise.
10028
10029 2018-03-12  Tom Tromey  <tom@tromey.com>
10030
10031         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
10032         Use gdb::byte_vector.
10033         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
10034
10035 2018-03-12  Yao Qi  <yao.qi@linaro.org>
10036
10037         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
10038         parameter type to readable_regcache.
10039         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
10040         the declaration.
10041
10042 2018-03-11  Tom Tromey  <tom@tromey.com>
10043
10044         * dwarf2read.c (struct nextfield): Add initializers.
10045         (struct nextfnfield): Remove.
10046         (struct fnfieldlist): Add initializers.  Remove "length" and
10047         "head", use std::vector.
10048         (struct decl_field_list): Remove.
10049         (struct field_info): Add initializers.
10050         <fields, baseclasses>: Now std::vector.
10051         <nbaseclasses, nfnfields, typedef_field_list_count,
10052         nested_types_list_count>: Remove.
10053         (dwarf2_add_field, dwarf2_add_type_defn)
10054         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
10055         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
10056         (process_structure_scope): Update.
10057
10058 2018-03-11  Tom Tromey  <tom@tromey.com>
10059
10060         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
10061         for use by std::sort.
10062         (build_type_psymtabs_1): Use std::vector.
10063
10064 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
10065
10066         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
10067         and LIBMPFR in the printed configuration.
10068
10069 2018-03-08  Tom Tromey  <tom@tromey.com>
10070
10071         * source.c (get_filename_and_charpos): Use scoped_fd.
10072         * nto-procfs.c (procfs_open_1): Use scoped_fd.
10073         (procfs_pidlist): Likewise.
10074         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
10075         (iterate_over_mappings): Likewise.
10076
10077 2018-03-08  Tom Tromey  <tom@tromey.com>
10078
10079         * infcall.c (struct call_return_meta_info)
10080         <stack_temporaries_enabled>: Remove.
10081         (get_call_return_value, call_function_by_hand_dummy): Update.
10082         * thread.c (disable_thread_stack_temporaries): Remove.
10083         (enable_thread_stack_temporaries): Remove.
10084         (thread_stack_temporaries_enabled_p): Return bool.
10085         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
10086         (get_last_thread_stack_temporary): Update.
10087         * eval.c (evaluate_subexp): Update.
10088         * gdbthread.h (class enable_thread_stack_temporaries): Now a
10089         class, not a function.
10090         (value_ptr, value_vec): Remove typedefs.
10091         (class thread_info) <stack_temporaries_enabled>: Now bool.
10092         <stack_temporaries>: Now a std::vector.
10093         (thread_stack_temporaries_enabled_p)
10094         (value_in_thread_stack_temporaries): Return bool.
10095
10096 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
10097
10098         * remote.c (putpkt_binary): Fix omitted bytes reporting.
10099         (getpkt_or_notif_sane_1): Likewise.
10100
10101 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10102
10103         * build-id.c (build_id_to_debug_bfd): Use std::string.
10104
10105 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10106
10107         * build-id.c (find_separate_debug_file_by_buildid): Return
10108         std::string.
10109         * build-id.h (find_separate_debug_file_by_buildid): Return
10110         std::string.
10111         * coffread.c (coff_symfile_read): Adjust to std::string.
10112         * elfread.c (elf_symfile_read): Adjust to std::string.
10113         * symfile.c (separate_debug_file_exists): Change parameter to
10114         std::string.
10115         (find_separate_debug_file): Return std::string.
10116         (find_separate_debug_file_by_debuglink): Return std::string.
10117         * symfile.h (find_separate_debug_file_by_debuglink): Return
10118         std::string.
10119
10120 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10121
10122         * common/xml-utils.c (xml_escape_text): Move code to...
10123         (xml_escape_text_append): ... this new function.
10124         * common/xml-utils.h (xml_escape_text_append): New declaration.
10125         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
10126         New function.
10127         (_initialize_xml_utils): register test_xml_escape_text_append as
10128         a selftest.
10129
10130 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10131
10132         * defs.h: Remove MAX_REGISTER_SIZE.
10133         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10134         asserts.
10135         * python/py-unwind.c (pyuw_sniffer): Likewise.
10136
10137 2018-03-07  Tom Tromey  <tom@tromey.com>
10138
10139         * linux-tdep.c (linux_info_proc): Update.
10140         * target.h (struct target_ops) <to_fileio_readlink>: Return
10141         optional<string>.
10142         (target_fileio_readlink): Return optional<string>.
10143         * remote.c (remote_hostio_readlink): Return optional<string>.
10144         * inf-child.c (inf_child_fileio_readlink): Return
10145         optional<string>.
10146         * target.c (target_fileio_readlink): Return optional<string>.
10147
10148 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10149
10150         * regcache.c (cooked_read_test): Add riscv to the list of
10151         architectures that have a save_reggroup.
10152
10153 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10154
10155         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10156         value is not a dynamic class object.
10157
10158 2018-03-06  Tom Tromey  <tom@tromey.com>
10159
10160         * rust-exp.y: Formatting fixes.
10161
10162 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10163
10164         * riscv-tdep.c (riscv_register_name): Remove target description
10165         support.
10166         (riscv_gdbarch_init): Remove target description check.
10167
10168 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10169
10170         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10171         comment.
10172         * riscv-tdep.h: Likewise.
10173
10174 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10175
10176         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10177         (riscv_pseudo_register_write): Delete.
10178         (riscv_gdbarch_init): Remove all use of pseudo registers.
10179
10180 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10181
10182         * record-btrace.c (btrace_print_lines): Replace cleanup
10183         parameter with RAII equivalents.
10184         (btrace_insn_history): Replace cleanup with RAII equivalents.
10185         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10186         make_cleanup_ui_out_tuple_begin_end): Remove.
10187         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10188         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10189         make_cleanup_ui_out_list_begin_end): Remove.
10190
10191 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10192
10193         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10194         parameter types to std::vector.  Use bool.
10195         (record_btrace_wait): Replace VEC(tp_t) with
10196         std::vector<thread_info *>.
10197         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10198
10199 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10200
10201         * record-btrace.c (record_btrace_disable_callback): Remove.
10202         (struct scoped_btrace_disable): New.
10203         (record_btrace_open): Use scoped_btrace_disable.
10204
10205 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10206
10207         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
10208         reading values from registers.
10209
10210 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10211
10212         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
10213         where appropriate.
10214
10215 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10216
10217         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
10218         change parameter type.  Use GDB's print functions, and use
10219         core_addr_to_string where appropriate.
10220         (riscv_push_dummy_call): Use core_addr_to_string where
10221         appropriate, update call to riscv_print_arg_location, and reindent
10222         a few lines.
10223         (riscv_return_value): Update call to riscv_print_arg_location.
10224
10225 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10226             Tim Newsome <tim@sifive.com>
10227             Albert Ou <a0u@eecs.berkeley.edu>
10228             Darius Rad <darius@bluespec.com>
10229
10230         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
10231         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
10232         (ALLDEPFILES): Add riscv-tdep.c
10233         * configure.tgt: Add riscv support.
10234         * riscv-tdep.c: New file.
10235         * riscv-tdep.h: New file.
10236         * NEWS: Mention new target.
10237         * MAINTAINERS: Add entry for riscv.
10238
10239 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10240
10241         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
10242         fields within aggregates.
10243
10244 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
10245
10246         * record-btrace.c (btrace_print_lines): Change type of flags to
10247         gdb_disassembly_flags.
10248
10249 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10250
10251         * fbsd-nat.c: Include "inf-ptrace.h".
10252         (USE_SIGTRAP_SIGINFO): Conditionally define.
10253         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
10254         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
10255         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
10256         function.
10257         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
10258         Likewise.
10259         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
10260         Likewise.
10261         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
10262         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
10263         "supports_stopped_by_hw_breakpoint" target methods.
10264
10265 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10266
10267         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
10268         * fbsd-nat.c (debug_fbsd_nat): New variable.
10269         (show_fbsd_nat_debug): New function.
10270         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
10271         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
10272
10273 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
10274
10275         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
10276         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
10277         prototype.
10278         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
10279         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
10280         method.
10281
10282 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10283
10284         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
10285         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
10286
10287 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10288
10289         * charset.c (struct charset_vector): New.
10290         (charsets): Change type to charset_vector.
10291         (find_charset_names): Adjust.
10292         (add_one): Adjust.
10293         (_initialize_charset): Adjust.
10294
10295 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10296
10297         * progspace.h (struct program_space) <deleted_solibs>: Change
10298         type to std::vector<std::string>.
10299         * progspace.c (clear_program_space_solib_cache): Adjust.
10300         * breakpoint.c (print_solib_event): Adjust.
10301         (check_status_catch_solib): Adjust.
10302         * solib.c (update_solib_list): Adjust.
10303         * ui-out.h (class ui_out) <field_string>: New overload.
10304         * ui-out.c (ui_out::field_string): New overload.
10305
10306 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10307
10308         * progspace.h (struct program_space): Add constructor and
10309         destructor, initialize fields.
10310         (add_program_space): Remove.
10311         * progspace.c (add_program_space): Rename to...
10312         (program_space::program_space): ... this.
10313         (release_program_space): Rename to...
10314         (program_space::~program_space): ... this.
10315         (delete_program_space): Use delete to delete program_space.
10316         (initialize_progspace): Use new to allocate program_space.
10317         * inferior.c (add_inferior_with_spaces): Likewise.
10318         (clone_inferior_command): Likewise.
10319         * infrun.c (follow_fork_inferior): Likewise.
10320         (handle_vfork_child_exec_or_exit): Likewise.
10321
10322 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
10323
10324         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
10325         (delim_string_to_char_ptr_vec): Return std::vector of
10326         gdb::unique_xmalloc_ptr.
10327         (dirnames_to_char_ptr_vec_append): Take std::vector of
10328         gdb::unique_xmalloc_ptr.
10329         (dirnames_to_char_ptr_vec): Return std::vector of
10330         gdb::unique_xmalloc_ptr.
10331         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
10332         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
10333         (delim_string_to_char_ptr_vec): Return an std::vector of
10334         gdb::unique_xmalloc_ptr, adjust the code.
10335         (dirnames_to_char_ptr_vec_append): Take an std::vector of
10336         gdb::unique_xmalloc_ptr, adjust the code.
10337         (dirnames_to_char_ptr_vec): Return an std::vector of
10338         gdb::unique_xmalloc_ptr, adjust the code.
10339         * auto-load.c (auto_load_safe_path_vec): Change type to
10340         std::vector of gdb::unique_xmalloc_ptr.
10341         (auto_load_expand_dir_vars): Return an std::vector of
10342         gdb::unique_xmalloc_ptr, adjust the code.
10343         (auto_load_safe_path_vec_update): Adjust.
10344         (filename_is_in_auto_load_safe_path_vec): Adjust.
10345         (auto_load_objfile_script_1): Adjust.
10346         * build-id.c (build_id_to_debug_bfd): Adjust.
10347         * linux-thread-db.c (thread_db_load_search): Adjust.
10348         * source.c (add_path): Adjust.
10349         (openp): Adjust.
10350         * symfile.c (find_separate_debug_file): Adjust.
10351         * utils.c (do_free_char_ptr_vec): Remove.
10352         (make_cleanup_free_char_ptr_vec): Remove.
10353
10354 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
10355
10356         PR gdb/22907
10357         * common/pathstuff.c: Conditionally include "<windows.h>".
10358
10359 2018-03-01  Georg Sauthoff  <mail@georg.so>
10360
10361         PR gdb/22888
10362         * gcore.in: Quote variables and switch interpreter to bash.
10363
10364 2018-03-01  Tom Tromey  <tom@tromey.com>
10365
10366         * dwarf2read.c (alloc_discriminant_info): Fix default_index
10367         assertion.  Add assertion for discriminant_index.
10368         (quirk_rust_enum): Use correct base type name in univariant case.
10369
10370 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
10371
10372         * record.c (get_call_history_modifiers): Return a
10373         record_print_flags.
10374         (cmd_record_call_history): Adjust.
10375         * record-btrace.c (record_btrace_call_history): Adjust.
10376         (record_btrace_call_history_range): Adjust.
10377         (record_btrace_call_history_from): Adjust.
10378         * target-debug.h (target_debug_print_record_print_flags): New.
10379         * target-delegates.c: Re-generate.
10380         * target.c (target_call_history): Change flags type.
10381         (target_call_history_from): Likewise.
10382         (target_call_history_range): Likewise.
10383         * target.h (struct target_ops) <target_call_history>: Likewise.
10384         (target_call_history_from): Likewise.
10385         (target_call_history_range): Likewise.
10386
10387 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10388             Simon Marchi  <simon.marchi@polymtl.ca>
10389
10390         * common/common-utils.c: Include "sys/stat.h".
10391         (is_regular_file): Move here from "source.c"; change return
10392         type to "bool".
10393         * common/common-utils.h (is_regular_file): New prototype.
10394         * common/pathstuff.c (contains_dir_separator): New function.
10395         * common/pathstuff.h (contains_dir_separator): New prototype.
10396         * source.c: Don't include "sys/stat.h".
10397         (is_regular_file): Move to "common/common-utils.c".
10398
10399 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
10400
10401         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
10402         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
10403         * auto-load.c: Include "common/pathstuff.h".
10404         * common/common-def.h (current_directory): Move here.
10405         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
10406         function.
10407         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
10408         prototype.
10409         * common/pathstuff.c: New file.
10410         * common/pathstuff.h: New file.
10411         * compile/compile.c: Include "common/pathstuff.h".
10412         * defs.h (current_directory): Move to "common/common-defs.h".
10413         * dwarf2read.c: Include "common/pathstuff.h".
10414         * exec.c: Likewise.
10415         * guile/scm-safe-call.c: Likewise.
10416         * linux-thread-db.c: Likewise.
10417         * main.c: Likewise.
10418         * nto-tdep.c: Likewise.
10419         * objfiles.c: Likewise.
10420         * source.c: Likewise.
10421         * symtab.c: Likewise.
10422         * utils.c: Include "common/pathstuff.h".
10423         (gdb_realpath): Move to "common/pathstuff.c".
10424         (gdb_realpath_keepfile): Likewise.
10425         (gdb_abspath): Likewise.
10426         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
10427         (gdb_realpath_keepfile): Likewise.
10428         (gdb_abspath): Likewise.
10429
10430 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
10431
10432         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
10433         wildcard process pid for super_resume for kernels with a
10434         specific bug.
10435
10436 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
10437
10438         * compile/compile.c (get_args): Add additional comments
10439         explaining function.
10440
10441 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
10442             Tom Tromey  <tom@tromey.com>
10443
10444         * target.h (memory_write_request_s): Remove typedef.  Don't define
10445         VEC.
10446         (target_write_memory_blocks): Change argument to std::vector.
10447         (struct memory_write_request): Add constructor.
10448         * target-memory.c (compare_block_starting_address): Return bool.
10449         Change argument types.
10450         (claim_memory): Change arguments to use std::vector.
10451         (split_regular_and_flash_blocks, blocks_to_erase)
10452         (compute_garbled_blocks): Likewise.
10453         (cleanup_request_data, cleanup_write_requests_vector): Remove.
10454         (target_write_memory_blocks): Change argument to std::vector.
10455         * symfile.c (struct load_section_data): Add constructor and
10456         destructor.  Use std::vector for "requests".
10457         (struct load_progress_data): Add initializers.
10458         (load_section_callback): Update.  Use "new".
10459         (clear_memory_write_data): Remove.
10460         (generic_load): Update.
10461
10462 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
10463
10464         * arch/aarch64.h: Use common/tdesc.h.
10465
10466 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10467
10468         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
10469         architecture with a 64-bit ABI.
10470
10471 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
10472
10473         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
10474         ahead of target description loading.
10475
10476 2018-02-26  Tom Tromey  <tom@tromey.com>
10477
10478         * stack.c (backtrace_command_1): Update.
10479         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
10480         of "flags".
10481         * python/py-framefilter.c (py_print_frame)
10482         (gdbpy_apply_frame_filter): Change type of "flags".
10483         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
10484         of "flags".
10485         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
10486         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
10487         * extension.h (enum frame_filter_flag): Rename from
10488         frame_filter_flags.
10489         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
10490         (apply_ext_lang_frame_filter): Change type of "flags".
10491         * extension.c (apply_ext_lang_frame_filter): Change type of
10492         "flags".
10493         * extension-priv.h (struct extension_language_ops)
10494         <apply_frame_filter>: Change type of "flags".
10495
10496 2018-02-26  Tom Tromey  <tom@tromey.com>
10497
10498         PR python/16497:
10499         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
10500         off-by-one in py_end computation.
10501         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
10502         PRINT_MORE_FRAMES.
10503         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
10504         constant.
10505
10506 2018-02-26  Tom Tromey  <tom@tromey.com>
10507
10508         * dwarf2read.c (struct variant_field): New.
10509         (struct nextfield) <variant>: New field.
10510         (dwarf2_add_field): Handle DW_TAG_variant_part.
10511         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
10512         discriminated union.
10513         (read_structure_type): Handle DW_TAG_variant_part.
10514         (handle_struct_member_die): New function, extracted from
10515         process_structure_scope.  Handle DW_TAG_variant.
10516         (process_structure_scope): Handle discriminated unions.  Call
10517         handle_struct_member_die.
10518
10519 2018-02-26  Tom Tromey  <tom@tromey.com>
10520
10521         * rust-lang.h (rust_last_path_segment): Declare.
10522         * rust-lang.c (rust_last_path_segment): Now public.  Change
10523         contract.
10524         (struct disr_info): Remove.
10525         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
10526         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
10527         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
10528         (rust_enum_p, rust_enum_variant): New function.
10529         (rust_underscore_fields): Remove "offset" parameter.
10530         (rust_print_enum): New function.
10531         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
10532         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
10533         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
10534         enums.
10535         (rust_internal_print_type): New function, from rust_print_type.
10536         Remove enum code.
10537         (rust_print_type): Call rust_internal_print_type.
10538         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
10539         Update enum handling.
10540         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
10541         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
10542         (rust_union_quirks): New functions.
10543         (process_full_comp_unit, process_full_type_unit): Call
10544         rust_union_quirks.
10545         (process_structure_scope): Update rust_unions if necessary.
10546
10547 2018-02-26  Tom Tromey  <tom@tromey.com>
10548
10549         * value.h (value_union_variant): Declare.
10550         * valops.c (value_union_variant): New function.
10551         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
10552         (struct discriminant_info): New.
10553         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
10554         enumerator.
10555         (struct main_type) <flag_discriminated_union>: New field.
10556
10557 2018-02-26  Tom Tromey  <tom@tromey.com>
10558
10559         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10560         unittests/unpack-selftests.c.
10561         * unittests/unpack-selftests.c: New file.
10562         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
10563
10564 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10565
10566         * dwarf2read.c (struct partial_die_info) <read>: New method.
10567         (read_partial_die): Remove the declaration.
10568         (load_partial_dies): Update.
10569         (partial_die_info::partial_die_info):
10570         (read_partial_die): Change it to partial_die_info::read.
10571
10572 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10573
10574         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
10575         (fixup_partial_die): Remove declaration.
10576         (scan_partial_symbols): Update.
10577         (partial_die_parent_scope): Likewise.
10578         (partial_die_full_name): Likewise.
10579         (fixup_partial_die): Change it to partial_die_info::fixup.
10580
10581 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10582
10583         * dwarf2read.c (read_partial_die): Update the declaration.
10584         (load_partial_dies): Caller update.
10585         (read_partial_die): Remove one argument abbrev_len.
10586
10587 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10588
10589         * dwarf2read.c (struct partial_die_info): Add ctor, delete
10590         assignment operator.
10591         (load_partial_dies): Use ctor and copy ctor.
10592         (read_partial_die): Update.
10593         (dwarf2_cu::find_partial_die): Use ctor.
10594
10595 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10596
10597         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
10598         (find_partial_die_in_comp_unit): Change it to
10599         dwarf2_cu::find_partial_die.
10600         (find_partial_die): Update.
10601
10602 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10603
10604         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
10605         is NULL.
10606
10607 2018-02-26  Yao Qi  <yao.qi@linaro.org>
10608
10609         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
10610
10611 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
10612
10613         * arch/amd64.h: Use common/tdesc.h.
10614         * arch/i386.c: Likewise.
10615         * arch/i386.h: Likewise.
10616         * arch/tic6x.c: Likewise.
10617         * arch/tdesc.h: Move file from here...
10618         * common/tdesc.h: ...to here.
10619         * features/aarch64-core.c: Regenerate.
10620         * features/aarch64-fpu.c: Regenerate.
10621         * features/i386/32bit-avx.c: Regenerate.
10622         * features/i386/32bit-avx512.c: Regenerate.
10623         * features/i386/32bit-core.c: Regenerate.
10624         * features/i386/32bit-linux.c: Regenerate.
10625         * features/i386/32bit-mpx.c: Regenerate.
10626         * features/i386/32bit-pkeys.c: Regenerate.
10627         * features/i386/32bit-sse.c: Regenerate.
10628         * features/i386/64bit-avx.c: Regenerate.
10629         * features/i386/64bit-avx512.c: Regenerate.
10630         * features/i386/64bit-core.c: Regenerate.
10631         * features/i386/64bit-linux.c: Regenerate.
10632         * features/i386/64bit-mpx.c: Regenerate.
10633         * features/i386/64bit-pkeys.c: Regenerate.
10634         * features/i386/64bit-segments.c: Regenerate.
10635         * features/i386/64bit-sse.c: Regenerate.
10636         * features/i386/x32-core.c: Regenerate.
10637         * features/tic6x-c6xp.c: Regenerate.
10638         * features/tic6x-core.c: Regenerate.
10639         * features/tic6x-gp.c: Regenerate.
10640         * target-descriptions.c: Use common/tdesc.h.
10641         * target-descriptions.h: Likewise.
10642
10643 2018-02-24  Tom Tromey  <tom@tromey.com>
10644
10645         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
10646         (try_thread_db_load_from_dir, thread_db_load_search): Use
10647         std::string.
10648         (info_auto_load_libthread_db_compare): Return bool.  Change
10649         argument types.
10650         (info_auto_load_libthread_db): Use std::vector, std::string.
10651         Remove cleanups.
10652
10653 2018-02-24  Tom Tromey  <tom@tromey.com>
10654
10655         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
10656         std::string.
10657         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
10658         std::string*.
10659         * gdbarch.c: Rebuild.
10660         * gdbarch.h: Rebuild.
10661         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
10662         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
10663         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
10664         std::string*.
10665
10666 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
10667
10668         * gdbtypes.h (sect_offset): Change type to uint64_t.
10669         (sect_offset_str): New function.
10670         * dwarf2read.c (create_addrmap_from_aranges): Use
10671         sect_offset_str.
10672         (error_check_comp_unit_head): Likewise.
10673         (create_debug_type_hash_table): Likewise.
10674         (read_cutu_die_from_dwo): Likewise.
10675         (init_cutu_and_read_dies): Likewise.
10676         (init_cutu_and_read_dies_no_follow): Likewise.
10677         (process_psymtab_comp_unit_reader): Likewise.
10678         (partial_die_parent_scope): Likewise.
10679         (peek_die_abbrev): Likewise.
10680         (process_queue): Likewise.
10681         (dwarf2_physname): Likewise.
10682         (read_namespace_alias): Likewise.
10683         (read_import_statement): Likewise.
10684         (create_dwo_cu_reader): Likewise.
10685         (create_cus_hash_table): Likewise.
10686         (lookup_dwo_cutu): Likewise.
10687         (inherit_abstract_dies): Likewise.
10688         (read_func_scope): Likewise.
10689         (read_call_site_scope): Likewise.
10690         (dwarf2_add_member_fn): Likewise.
10691         (read_common_block): Likewise.
10692         (read_module_type): Likewise.
10693         (read_typedef): Likewise.
10694         (read_subrange_type): Likewise.
10695         (load_partial_dies): Likewise.
10696         (read_partial_die): Likewise.
10697         (find_partial_die): Likewise.
10698         (read_str_index): Likewise.
10699         (dwarf2_string_attr): Likewise.
10700         (build_error_marker_type): Likewise.
10701         (lookup_die_type): Likewise.
10702         (dump_die_shallow): Likewise.
10703         (follow_die_ref): Likewise.
10704         (dwarf2_fetch_die_loc_sect_off): Likewise.
10705         (dwarf2_fetch_constant_bytes): Likewise.
10706         (follow_die_sig): Likewise.
10707         (get_signatured_type): Likewise.
10708         (get_DW_AT_signature_type): Likewise.
10709         (dwarf2_find_containing_comp_unit): Likewise.
10710         (set_die_type): Likewise.
10711
10712 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
10713
10714         * arch/aarch64.c: Include "common-defs.h".
10715         * arch/amd64.c: Likewise.
10716         * arch/i386.c: Likewise.
10717
10718 2018-02-21  Tom Tromey  <tom@tromey.com>
10719
10720         * value.h: (extract_field_op): Update.
10721         * eval.c (extract_field_op): Return a const char *.
10722         * expression.h (parse_expression_for_completion): Update.
10723         * completer.c (complete_expression): Update.
10724         (add_struct_fields): Make fieldname const.
10725         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
10726         (mark_completion_tag, parse_exp_in_context_1): Update.
10727         (parse_expression_for_completion): Change "name" to
10728         unique_xmalloc_ptr*.
10729
10730 2018-02-21  Tom Tromey  <tom@tromey.com>
10731
10732         * infcall.c (call_function_by_hand_dummy): Use std::vector.
10733
10734 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10735
10736         * avr-tdep.c (avr_read_pc): Change parameter type to
10737         readable_regcache.
10738         * gdbarch.sh (read_pc): Likewise.
10739         * gdbarch.c: Re-generated.
10740         * gdbarch.h: Re-generated.
10741         * hppa-tdep.c (hppa_read_pc): Change parameter type to
10742         readable_regcache.
10743         * ia64-tdep.c (ia64_read_pc): Likewise.
10744         * mips-tdep.c (mips_read_pc): Likewise.
10745         * spu-tdep.c (spu_read_pc): Likewise.
10746
10747 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10748
10749         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
10750         * regcache-dump.c: New file.
10751         * regcache.c: Move register_dump to regcache-dump.c.
10752         (maintenance_print_registers): Likewise.
10753         (maintenance_print_raw_registers): Likewise.
10754         (maintenance_print_cooked_registers): Likewise.
10755         (maintenance_print_register_groups): Likewise.
10756         (maintenance_print_remote_registers): Likewise.
10757         (_initialize_regcache): Likewise.
10758         * regcache.h (register_dump): Moved from regcache.c.
10759
10760 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10761
10762         * regcache.c (regcache::regcache): Update.
10763         (regcache::invalidate): Move it to detached_regcache::invalidate.
10764         (get_thread_arch_aspace_regcache): Update.
10765         (regcache::raw_update): Update.
10766         (regcache::cooked_read): Remove some code.
10767         (regcache::cooked_read_value): Likewise.
10768         (regcache::raw_write): Remove assert on m_readonly_p.
10769         (regcache::raw_supply_integer): Move it to
10770         detached_regcache::raw_supply_integer.
10771         (regcache::raw_supply_zeroed): Likewise.
10772         * regcache.h (detached_regcache) <raw_supply_integer>: New
10773         declaration.
10774         <raw_supply_zeroed, invalidate>: Likewise.
10775         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
10776         <invalidate>: Likewise.
10777         <m_readonly_p>: Removed.
10778
10779 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10780
10781         * infcmd.c (get_return_value): Let stop_regs point to
10782         get_current_regcache.
10783         * regcache.c (regcache::regcache): Remove.
10784         (register_dump_reg_buffer): New class.
10785         (regcache_print): Adjust.
10786         * regcache.h (regcache): Remove constructors.
10787
10788 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10789
10790         * regcache.c (class register_dump): New class.
10791         (register_dump_regcache, register_dump_none): New class.
10792         (register_dump_remote, register_dump_groups): New class.
10793         (regcache_print): Update.
10794         * regcache.h (regcache_dump_what): Move it to regcache.c.
10795         (regcache) <dump>: Remove.
10796
10797 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10798
10799         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
10800          reg_buffer_rw *.
10801         (jit_unwind_reg_set_impl): Call raw_supply.
10802         (jit_frame_sniffer): Use reg_buffer_rw.
10803         * record-full.c (record_full_core_regbuf): Change its type.
10804         (record_full_core_open_1): Use reg_buffer_rw.
10805         (record_full_close): Likewise.
10806         (record_full_core_fetch_registers): Use regcache->raw_supply.
10807         (record_full_core_store_registers): Likewise.
10808         * regcache.c (regcache::get_register_status): Move it to
10809         reg_buffer.
10810         (regcache_raw_set_cached_value): Remove.
10811         (regcache::raw_set_cached_value): Remove.
10812         (regcache::raw_write): Call raw_supply.
10813         (regcache::raw_supply): Move it to reg_buffer_rw.
10814         * regcache.h (regcache_raw_set_cached_value): Remove.
10815         (reg_buffer_rw): New class.
10816
10817 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10818
10819         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
10820         readonly_detached_regcache.
10821         (dummy_frame_prev_register): Use regcache->cooked_read.
10822         * frame.c (frame_save_as_regcache): Change return type.
10823         (frame_pop): Update.
10824         * frame.h (frame_save_as_regcache): Update declaration.
10825         * inferior.h (get_infcall_suspend_state_regcache): Update
10826         declaration.
10827         * infrun.c (infcall_suspend_state) <registers>: use
10828         readonly_detached_regcache.
10829         (save_infcall_suspend_state): Don't use regcache_dup.
10830         (get_infcall_suspend_state_regcache): Change return type.
10831         * linux-fork.c (struct fork_info) <savedregs>: Change to
10832         readonly_detached_regcache.
10833         <pc>: New field.
10834         (fork_save_infrun_state): Don't use regcache_dup.
10835         (info_checkpoints_command): Adjust.
10836         * mi/mi-main.c (register_changed_p): Update declaration.
10837         (mi_cmd_data_list_changed_registers): Use
10838         readonly_detached_regcache.
10839         (register_changed_p): Change parameter type to
10840         readonly_detached_regcache.
10841         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
10842         readonly_detached_regcache.
10843         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
10844         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
10845         New.
10846         (regcache::save): Move it to reg_buffer.
10847         (regcache::restore): Change parameter type.
10848         (regcache_dup): Remove.
10849         * regcache.h (reg_buffer) <save>: New method.
10850         (readonly_detached_regcache): New class.
10851         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
10852         readonly_detached_regcache.
10853         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
10854
10855 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10856
10857         * frame.c (frame_save_as_regcache): Use regcache method save.
10858         (frame_pop): Use regcache method restore.
10859         * infrun.c (restore_infcall_suspend_state): Likewise.
10860         * linux-fork.c (fork_load_infrun_state): Likewise.
10861         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
10862         save.
10863         * regcache.c (regcache_save): Remove.
10864         (regcache::restore): More asserts.
10865         (regcache_cpy): Remove.
10866         * regcache.h (regcache_save): Remove the declaration.
10867         (regcache::restore): Move from private to public.
10868         Remove the friend declaration of regcache_cpy.
10869         (regcache_cpy): Remove declaration.
10870
10871 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10872
10873         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
10874         parameter type to 'readable_regcache *'.
10875         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10876         * arm-tdep.c (arm_neon_quad_read): Likewise.
10877         (arm_pseudo_read): Likewise.
10878         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10879         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10880         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10881         * gdbarch.c: Re-generated.
10882         * gdbarch.h: Re-generated.
10883         * gdbarch.sh (pseudo_register_read): Change parameter type to
10884         'readable_regcache *'.
10885         (pseudo_register_read_value): Likewise.
10886         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
10887         (h8300_pseudo_register_read): Likewise.
10888         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
10889         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10890         (i386_pseudo_register_read_into_value): Likewise.
10891         (i386_pseudo_register_read_value): Likewise.
10892         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
10893         declaration.
10894         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
10895         * m32c-tdep.c (m32c_raw_read): Likewise.
10896         (m32c_read_flg): Likewise.
10897         (m32c_banked_register): Likewise.
10898         (m32c_banked_read): Likewise.
10899         (m32c_sb_read): Likewise.
10900         (m32c_part_read): Likewise.
10901         (m32c_cat_read): Likewise.
10902         (m32c_r3r2r1r0_read): Likewise.
10903         (m32c_pseudo_register_read): Likewise.
10904         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10905         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10906         (mep_pseudo_cr64_read): Likewise.
10907         (mep_pseudo_register_read): Likewise.
10908         * mips-tdep.c (mips_pseudo_register_read): Likewise.
10909         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10910         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10911         * regcache.c (regcache::raw_read): Move it to readable_regcache.
10912         (regcache::cooked_read): Likewise.
10913         (regcache::cooked_read_value): Likewise.
10914         (regcache_cooked_read_signed):
10915         (regcache::cooked_read): Likewise.
10916         * regcache.h (readable_regcache): New class.
10917         (regcache): Inherit readable_regcache.  Move some methods to
10918         readable_regcache.
10919         * rl78-tdep.c (rl78_pseudo_register_read): Change
10920         parameter type to 'readable_regcache *'.
10921         * rs6000-tdep.c (do_regcache_raw_read): Remove.
10922         (e500_pseudo_register_read): Change parameter type to
10923         'readable_regcache *'.
10924         (dfp_pseudo_register_read): Likewise.
10925         (vsx_pseudo_register_read): Likewise.
10926         (efpr_pseudo_register_read): Likewise.
10927         * s390-tdep.c (s390_pseudo_register_read): Likewise.
10928         * sh-tdep.c (sh_pseudo_register_read): Likewise.
10929         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
10930         (sh64_pseudo_register_read): Likewise.
10931         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
10932         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10933         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
10934         (spu_pseudo_register_read): Likewise.
10935         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10936         (xtensa_pseudo_register_read): Likewise.
10937
10938 2018-02-21  Yao Qi  <yao.qi@linaro.org>
10939
10940         * regcache.c (regcache::regcache): Call reg_buffer ctor.
10941         (regcache::arch): Move it to reg_buffer::arch.
10942         (regcache::register_buffer): Likewise.
10943         (regcache::assert_regnum): Likewise.
10944         (regcache::num_raw_registers): Likewise.
10945         * regcache.h (reg_buffer): New class.
10946         (regcache): Inherit reg_buffer.
10947
10948 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
10949
10950         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
10951         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
10952
10953 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
10954
10955         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
10956
10957 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
10958
10959         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
10960         (SFILES): Remove common/*.c files.
10961         (COMMON_OBS): Remove some *.o files built from common/*.c files.
10962         * common/common.host: Add common reference.
10963         * configure.ac: Likewise.
10964         * configure: Regenerate.
10965
10966 2018-02-16  Yao Qi  <yao.qi@linaro.org>
10967
10968         * block.c (block_namespace_info): Inherit allocate_on_obstack.
10969         (block_initialize_namespace): Use new.
10970         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
10971         (dwarf2_free_objfile): Use delete.
10972         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
10973         (copy_type_recursive): Use new.
10974         * gdb_obstack.h (allocate_on_obstack): New.
10975
10976 2018-02-15  Yao Qi  <yao.qi@linaro.org>
10977
10978         PR gdb/22849
10979         * inferior.c (exit_inferior_1): Reset inf->control.
10980
10981 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
10982
10983         * ada-lang.c (ada_to_fixed_value_create): Delete advance
10984         declaration.
10985
10986 2018-02-14  Pedro Alves  <palves@redhat.com>
10987
10988         * frame-unwind.c (frame_unwind_try_unwinder): Always call
10989         frame_cleanup_after_sniffer on exception.
10990
10991 2018-02-14  Tom Tromey  <tom@tromey.com>
10992
10993         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
10994         const.
10995         (solib_bfd_open): Make pathname const.
10996         * solib.c (solib_bfd_open): Make pathname const.
10997         * solib-spu.c (spu_bfd_fopen): Make name const.
10998         (spu_bfd_open): Make pathname const.
10999         * solib-darwin.c (darwin_bfd_open): Make pathname const.
11000         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
11001
11002 2018-02-14  Tom Tromey  <tom@tromey.com>
11003
11004         * symfile.c (symfile_bfd_open): Update.
11005         * source.h (openp, source_full_path_of, find_and_open_source):
11006         Change argument type to unique_xmalloc_ptr.
11007         * source.c (openp): Take a unique_xmalloc_ptr.
11008         (source_full_path_of, find_and_open_source): Likewise.
11009         (open_source_file, symtab_to_fullname): Update.
11010         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
11011         unique_xmalloc_ptr.
11012         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
11013         (exec_file_find): Update.
11014         * psymtab.c (psymtab_to_fullname): Update.
11015         * nto-tdep.h (nto_find_and_open_solib): Update.
11016         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
11017         unique_xmalloc_ptr.
11018         * exec.c (exec_file_attach): Update.
11019         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
11020         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
11021
11022 2018-02-14  Tom Tromey  <tom@tromey.com>
11023
11024         * solib.c: Include source.h.
11025         * nto-tdep.c: Include source.h.
11026         * mi/mi-cmd-env.c: Include source.h.
11027         * infcmd.c: Include source.h.
11028         * exec.c: Include source.h.
11029         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
11030         (add_path, directory_switch, source_path, init_source_path): Move
11031         declarations...
11032         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
11033         (add_path, directory_switch, source_path, init_source_path):
11034         ...here.
11035
11036 2018-02-14  Tom Tromey  <tom@tromey.com>
11037
11038         * solist.h (exec_file_find, solib_find): Return
11039         unique_xmalloc_ptr.
11040         (solib_bfd_fopen): Take a const char *.
11041         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
11042         (exec_file_find, solib_find): Likewise.
11043         (solib_bfd_fopen): Do not take ownership of "pathname".
11044         (solib_bfd_open): Use unique_xmalloc_ptr.
11045         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
11046         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
11047         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
11048         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
11049
11050 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
11051
11052         * ada-lang.c (name_match_type_from_name): Remove reference to
11053         ada_name_for_lookup in function's documentation.
11054         * ada-lang.h (ada_name_for_lookup): Delete declaration.
11055
11056 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11057
11058         * defs.h (enum openp_flags): New enum.
11059         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
11060         Move to enum openp_flags.
11061         (openp_flags): New enum flags.
11062         (openp): Change parameter type to openp_flags.
11063         * source.c (openp): Change parameter type to openp_flags.
11064         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
11065         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
11066
11067 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11068
11069         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
11070         per-command.
11071
11072 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11073
11074         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
11075         into...
11076         (class dwarf2_queue_guard): ...the destructor of this new class.
11077         (dw2_do_instantiate_symtab): Create instance of the new class
11078         dwarf2_queue_guard, remove cleanup.
11079
11080 2018-02-09  Tom Tromey  <tom@tromey.com>
11081
11082         * source.c (find_source_lines): Don't reference past the end of
11083         the vector.
11084
11085 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11086
11087         * remote.c (remote_btrace_maybe_reopen): Change error message.
11088         * btrace.c (btrace_enable): Likewise.
11089         (parse_xml_btrace): Likewise.
11090         (parse_xml_btrace_conf): Likewise.
11091
11092 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11093
11094         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
11095         (linux_enable_pt, linux_enable_bts): Call
11096         diagnose_perf_event_open_fail.
11097
11098 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11099
11100         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
11101         Remove parameter and change return type.  Update callers.  Move it.
11102         (linux_enable_bts, linux_enable_pt): Improve error message.
11103         (linux_enable_pt): Remove zero buffer size check.
11104         (linux_enable_btrace): Improve error messages.  Remove NULL return
11105         check.
11106
11107 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11108
11109         * btrace.c (btrace_enable): Remove target_supports_btrace call.
11110         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
11111         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
11112         (linux_supports_pt, linux_supports_btrace): Remove.
11113         (linux_enable_bts): Call cpu_supports_bts.
11114         * nat/linux-btrace.h (linux_supports_btrace): Remove.
11115         * remote.c (remote_supports_btrace): Remove.
11116         (init_remote_ops): Remove remote_supports_btrace.
11117         * target-delegates.c: Regenerated.
11118         * target.c (target_supports_btrace): Remove.
11119         * target.h (target_ops) <to_supports_btrace>: Remove
11120         (target_supports_btrace): Remove.
11121         * x86-linux-nat.c (x86_linux_create_target): Remove
11122         linux_supports_btrace.
11123
11124 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11125
11126         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
11127         btrace failed.
11128         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
11129         exception and use message in own exception.
11130
11131 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11132
11133         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11134         (perf_event_pt_event_type): Use gdb_file_up.
11135         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11136         scoped_fd, and scoped_mmap.
11137
11138 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11139
11140         * common/scoped_mmap.h: New.
11141         * unittests/scoped_mmap-selftest.c: New.
11142         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11143         unittests/scoped_mmap-selftest.c.
11144
11145 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11146
11147         * common/scoped_fd.h: New.
11148         * unittests/scoped_fd-selftest.c: New.
11149         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11150         unittests/scoped_fd-selftest.c.
11151
11152 2018-02-09  Tom Tromey  <tom@tromey.com>
11153
11154         * auto-load.c (auto_load_section_scripts): Use
11155         gdb::unique_xmalloc_ptr.
11156
11157 2018-02-09  Tom Tromey  <tom@tromey.com>
11158
11159         * auto-load.c (execute_script_contents): Use std::string.
11160
11161 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11162
11163         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11164         Python function, rather than a new command.
11165
11166 2018-02-08  Tom Tromey  <tom@tromey.com>
11167
11168         * solib.c (solib_find_1): Use std::string.
11169         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11170
11171 2018-02-08  Tom Tromey  <tom@tromey.com>
11172
11173         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11174
11175 2018-02-08  Tom Tromey  <tom@tromey.com>
11176
11177         * source.c (find_source_lines): Use gdb::def_vector.
11178
11179 2018-02-08  Tom Tromey  <tom@tromey.com>
11180
11181         * macrocmd.c (struct temporary_macro_definition): New.
11182         (macro_define_command): Use temporary_macro_definition.  Remove
11183         cleanups.
11184         (free_macro_definition_ptr): Remove.
11185
11186 2018-02-08  Tom Tromey  <tom@tromey.com>
11187
11188         * macroexp.c (maybe_expand): Use std::string.
11189
11190 2018-02-08  Tom Tromey  <tom@tromey.com>
11191
11192         * macroexp.c (struct macro_buffer): Add initializers for some
11193         members.
11194         (init_buffer, init_shared_buffer, free_buffer)
11195         (free_buffer_return_text): Remove.
11196         (macro_buffer): New constructors.
11197         (~macro_buffer): New destructor.
11198         (macro_buffer::set_shared): New method.
11199         (macro_buffer::resize_buffer, macro_buffer::appendc)
11200         (macro_buffer::appendmem): Now methods, not free functions.
11201         (set_token, append_tokens_without_splicing, stringify)
11202         (macro_stringify): Update.
11203         (gather_arguments): Change return type.  Remove argc_p argument,
11204         add args_ptr argument.  Use std::vector.
11205         (substitute_args): Remove argc argument.  Accept std::vector.
11206         (expand): Update.  Use std::vector.
11207         (scan, macro_expand, macro_expand_next): Update.
11208
11209 2018-02-08  Tom Tromey  <tom@tromey.com>
11210
11211         * symtab.c (default_collect_symbol_completion_matches_break_on):
11212         Use unique_xmalloc_ptr.
11213         * macroscope.h: (sal_macro_scope, user_macro_scope)
11214         (default_macro_scope): Return unique_xmalloc_ptr.
11215         * macroscope.c (sal_macro_scope, user_macro_scope)
11216         (default_macro_scope): Return unique_xmalloc_ptr.
11217         * macroexp.h (macro_expand, macro_expand_once): Return
11218         unique_xmalloc_ptr.
11219         * macroexp.c (macro_expand, macro_expand_once): Return
11220         unique_xmalloc_ptr.
11221         * macrocmd.c (macro_expand_command, macro_expand_once_command)
11222         (info_macro_command, info_macros_command): Use
11223         unique_xmalloc_ptr.
11224         * compile/compile-c-support.c (write_macro_definitions): Use
11225         unique_xmalloc_ptr.
11226         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
11227
11228 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
11229
11230         * value.c (value_static_field): Assign field type instead of
11231         containing type when returning an optimized out value.
11232
11233 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11234
11235         * ft32-tdep.c (ft32_read_pc): Remove.
11236         (ft32_write_pc): Remove.
11237         (ft32_gdbarch_init): Update.
11238         * m32r-tdep.c (m32r_read_pc): Remove.
11239         (m32r_gdbarch_init): Update.
11240         * mep-tdep.c (mep_read_pc): Remove.
11241         (mep_gdbarch_init): Update.
11242         * microblaze-tdep.c (microblaze_write_pc): Remove.
11243         (microblaze_gdbarch_init): Update.
11244         * mn10300-tdep.c (mn10300_read_pc): Remove.
11245         (mn10300_write_pc): Remove.
11246         (mn10300_gdbarch_init): Update.
11247         * moxie-tdep.c (moxie_read_pc): Remove.
11248         (moxie_write_pc): Remove.
11249         (moxie_gdbarch_init): Update.
11250
11251 2018-02-06  Yao Qi  <yao.qi@linaro.org>
11252
11253         * expprint.c (print_subexp_standard): Handle
11254         OP_F77_UNDETERMINED_ARGLIST.
11255         (dump_subexp_body_standard): Likewise.
11256
11257 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
11258
11259         * target-descriptions.c (tdesc_element_visitor) Add empty
11260         implementations.
11261         (tdesc_type): Move make_gdb_type from here.
11262         (tdesc_type_builtin): Likewise.
11263         (tdesc_type_vector): Likewise.
11264         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
11265         (make_gdb_type_struct): Move from tdesc_type_with_fields.
11266         (make_gdb_type_union): Likewise.
11267         (make_gdb_type_flags): Likewise.
11268         (make_gdb_type_enum): Likewise.
11269         (make_gdb_type): New function.
11270         (tdesc_register_type): Use static make_gdb_type.
11271
11272 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
11273
11274         * infcmd.c (default_print_one_register_info): Align natural-format
11275         column values consistently one under another.
11276         (pad_to_column): New function.
11277
11278 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
11279
11280         * dwarf2read.c (dwarf2_physname): Move commment.
11281
11282 2018-02-01  Leszek Swirski  <leszeks@google.com>
11283
11284         * varobj.c (varobj_formatted_print_options): Allow recursive
11285         pretty printing if pretty printing is enabled.
11286
11287 2018-02-01  Leszek Swirski  <leszeks@google.com>
11288
11289         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
11290         names after a structop as a filename.
11291
11292 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11293
11294         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
11295         (arm_record_coproc_data_proc): Likewise.
11296
11297 2018-02-01  Yao Qi  <yao.qi@linaro.org>
11298
11299         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
11300
11301 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
11302
11303         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
11304         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
11305
11306 2018-01-31  Pedro Alves  <palves@redhat.com>
11307
11308         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
11309         * inflow.c (child_terminal_save_inferior): Wrap reference to
11310         tcgetpgrp in HAVE_TERMIOS_H.
11311         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
11312         _WIN32.
11313         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
11314         always iterate over all inferiors.
11315         (gdbsim_cntrl_c): Adjust.
11316         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
11317
11318 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11319
11320         * gdbtypes.c (lookup_array_range_type): Make sure the array's
11321         index type is objfile-owned if the element type is as well.
11322
11323 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
11324
11325         GDB 8.1 released.
11326
11327 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11328
11329         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
11330         "features/s390x-linux64.c".
11331         (_initialize_s390_linux_tdep): Remove initialization of tdescs
11332         s390_linux32 and s390x_linux64.
11333         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
11334         default tdesc.
11335         * s390-tdep.c: Include "features/s390-linux32.c" and
11336         "features/s390x-linux64.c".
11337         (s390_tdesc_valid): Add check for tdesc_has_registers.
11338         (s390_gdbarch_init): Make sure there is always a valid tdesc.
11339         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
11340         tdesc_s390x_linux64.
11341         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
11342         tdesc_s390x_linux64 to...
11343         * s390-tdep.h: ...here.
11344
11345 2018-01-30  Pedro Alves  <palves@redhat.com>
11346
11347         PR gdb/13211
11348         * config.in, configure: Regenerate.
11349         * configure.ac: Check for getpgid.
11350         * go32-nat.c (go32_pass_ctrlc): New.
11351         (go32_target): Install it.
11352         * inf-child.c (inf_child_target): Install
11353         child_terminal_save_inferior, child_pass_ctrlc and
11354         child_interrupt.
11355         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
11356         (inf_ptrace_target): No longer install it.
11357         * infcmd.c (interrupt_target_1): Adjust.
11358         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
11359         (child_interrupt): Declare.
11360         (inferior::terminal_state): New.
11361         * inflow.c (struct terminal_info): Update comments.
11362         (inferior_process_group): Delete.
11363         (terminal_is_ours): Delete.
11364         (gdb_tty_state): New.
11365         (child_terminal_init): Adjust.
11366         (is_gdb_terminal, sharing_input_terminal_1)
11367         (sharing_input_terminal): New functions.
11368         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
11369         Set the process's actual process group in the foreground if
11370         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
11371         mark terminal as the inferior's if not sharing GDB's terminal.
11372         Don't check attach_flag.
11373         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
11374         pass down a target_terminal_state.
11375         (child_terminal_save_inferior): New, factored out from ...
11376         (child_terminal_ours_1): ... this.  Handle
11377         target_terminal_state::is_ours_for_output.
11378         (child_interrupt, child_pass_ctrlc): New.
11379         (inflow_inferior_exit): Clear the inferior's terminal_state.
11380         (copy_terminal_info): Copy the inferior's terminal state.
11381         (_initialize_inflow): Remove reference to terminal_is_ours.
11382         * inflow.h (inferior_process_group): Delete.
11383         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
11384         * procfs.c (procfs_target): Don't install procfs_interrupt.
11385         (procfs_interrupt): Delete.
11386         * remote.c (remote_serial_quit_handler): Adjust.
11387         (remote_interrupt): Remove ptid parameter.  Adjust.
11388         * target-delegates.c: Regenerate.
11389         * target.c: Include "terminal.h".
11390         (target_terminal::terminal_state): Rename to ...
11391         (target_terminal::m_terminal_state): ... this.
11392         (target_terminal::init): Adjust.
11393         (target_terminal::inferior): Adjust to per-inferior
11394         terminal_state.
11395         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
11396         (target_terminal::ours, target_terminal::ours_for_output): Use
11397         target_terminal_is_ours_kind.
11398         (target_interrupt): Remove ptid parameter.  Adjust.
11399         (default_target_pass_ctrlc): Adjust.
11400         * target.h (target_ops::to_terminal_save_inferior): New field.
11401         (target_ops::to_interrupt): Remove ptid_t parameter.
11402         (target_interrupt): Remove ptid_t parameter.  Update comment.
11403         (target_pass_ctrlc): Update comment.
11404         * target/target.h (target_terminal_state): New scoped enum,
11405         factored out of ...
11406         (target_terminal::terminal_state): ... here.
11407         (target_terminal::inferior): Update comments.
11408         (target_terminal::restore_inferior): New.
11409         (target_terminal::is_inferior, target_terminal::is_ours)
11410         (target_terminal::is_ours_for_output): Adjust.
11411         (target_terminal::scoped_restore_terminal_state): Adjust to
11412         rename, and call restore_inferior() instead of inferior().
11413         (target_terminal::scoped_restore_terminal_state::m_state): Change
11414         type.
11415         (target_terminal::terminal_state): Rename to ...
11416         (target_terminal::m_terminal_state): ... this and change type.
11417
11418 2018-01-30  Pedro Alves  <palves@redhat.com>
11419
11420         * linux-nat.c (wait_for_signal): New function.
11421         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
11422         directly.
11423         (async_terminal_is_ours)
11424         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
11425         (linux_nat_add_target): Don't override
11426         to_terminal_inferior/to_terminal_ours.
11427
11428 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
11429
11430         * remote.c (remote_follow_fork): Don't call "detach_inferior".
11431
11432 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
11433
11434         * dwarf2read.c (free_dwo_files): Add forward-declaration.
11435         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
11436         dwarf2_per_objfile_free here.
11437         (dwarf2_per_objfile_free): Remove.
11438         (_initialize_dwarf2_read): Don't register
11439         dwarf2_per_objfile_free as a registry cleanup.
11440
11441 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
11442
11443         Avoid compilation errors in MinGW native builds
11444
11445         The error is triggered by including python-internal.h, and the
11446         error message is:
11447
11448              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
11449                       from build-gnulib/import/math.h:27,
11450                       from d:/usr/Python26/include/pyport.h:235,
11451                       from d:/usr/Python26/include/Python.h:58,
11452                       from python/python-internal.h:94,
11453                       from python/py-arch.c:24:
11454              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
11455         using ::hypot;
11456                 ^~~~~
11457
11458         This happens because Python headers define 'hypot' to expand t
11459         '_hypot' in the Windows builds.
11460         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
11461         'hypoth'.  This avoids a compilation error.
11462
11463 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11464
11465         * MAINTAINERS (Write After Approval): Fix ordering.
11466
11467 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
11468
11469         * MAINTAINERS (Write After Approval): Add Alan Hayward.
11470
11471 2018-01-26  Alan Modra  <amodra@gmail.com>
11472
11473         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
11474         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
11475         Remove nop.  Make const.  Comment.
11476         (powerpc32_plt_stub_so_2): New.
11477         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
11478         Correct count.  Update uses.
11479         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
11480         Move common code reading PLT entry word.  Correct
11481         powerpc32_plt_stub PLT address calculation.
11482         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
11483         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
11484         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
11485         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
11486         (ppc64_standard_linkage8): Likewise.
11487         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
11488         Correct insns description.
11489         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
11490
11491 2018-01-24  Pedro Alves  <palves@redhat.com>
11492
11493         GCC PR libstdc++/83906
11494         * gdbtypes.c (operator==(const dynamic_prop &,
11495         const dynamic_prop &)): New.
11496         (operator==(const range_bounds &, const range_bounds &)): New.
11497         (check_types_equal): Use them instead of memcmp.
11498         * gdbtypes.h (operator==(const dynamic_prop &,
11499         const dynamic_prop &)): Declare.
11500         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
11501         (operator==(const range_bounds &, const range_bounds &)): Declare.
11502         (operator!=(const range_bounds &, const range_bounds &)): Declare.
11503
11504 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11505
11506         * s390-linux-tdep.c (s390_record_address_mask)
11507         (s390_record_calc_disp_common, s390_record_calc_disp)
11508         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11509         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11510         (s390_process_record): Move to s390-tdep.c.
11511         (s390_linux_init_abi_any): Adjust.
11512         * s390-tdep.c (s390_record_address_mask)
11513         (s390_record_calc_disp_common, s390_record_calc_disp)
11514         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
11515         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
11516         (s390_process_record): Moved from s390-linux-tdep.c
11517         (s390_gdbarch_init): Adjust.
11518
11519 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11520
11521         * s390-linux-nat.c (s390-tdep.h): New include.
11522         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
11523         (HFILES_NO_SRCDIR): Add s390-tdep.h.
11524         (ALLDEPFILES): Add s390-tdep.c.
11525         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
11526         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
11527         * s390-tdep.h: ...this.  New file.
11528         * s390-linux-tdep.c (s390-tdep.h): New include.
11529         (_initialize_s390_tdep): Rename to...
11530         (_initialize_s390_linux_tdep): ...this and adjust.
11531         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
11532         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
11533         s390-tdep.h.
11534         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
11535         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
11536         (s390_is_partial_instruction, s390_software_single_step)
11537         (is_non_branch_ril, s390_displaced_step_copy_insn)
11538         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
11539         (s390_prologue_data, s390_addr, s390_store, s390_load)
11540         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
11541         (s390_register_call_saved, s390_guess_tracepoint_registers)
11542         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
11543         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
11544         (s390_pseudo_register_name, s390_pseudo_register_type)
11545         (s390_pseudo_register_read, s390_pseudo_register_write)
11546         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
11547         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
11548         (s390_addr_bits_remove, s390_address_class_type_flags)
11549         (s390_address_class_type_flags_to_name)
11550         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
11551         (s390_function_arg_float, s390_function_arg_vector)
11552         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
11553         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
11554         (s390_frame_align, s390_register_return_value, s390_return_value)
11555         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
11556         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
11557         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
11558         (s390_trad_frame_prev_register, s390_unwind_cache)
11559         (s390_prologue_frame_unwind_cache)
11560         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
11561         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
11562         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
11563         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
11564         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
11565         (s390_frame_base_address, s390_local_base_address)
11566         (s390_frame_base, s390_gcc_target_options)
11567         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
11568         (s390_validate_reg_range, s390_tdesc_valid)
11569         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
11570         * s390-tdep.c: ...this.  New file.
11571
11572 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11573
11574         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
11575         (s390_process_record, s390_gdbarch_tdep_alloc)
11576         (s390_linux_init_abi_any): Use/set new hook.
11577
11578 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11579
11580         * s390-linux-tdep.c (osabi.h): New include.
11581         (s390_linux_init_abi_31, s390_linux_init_abi_64)
11582         (s390_linux_init_abi_any): New functions.
11583         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
11584
11585 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11586
11587         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
11588         tdesc_has_registers check
11589
11590 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11591
11592         * s390-linux-tdep.c (s390_tdesc_valid): New function.
11593         (s390_validate_reg_range): New macro.
11594         (s390_gdbarch_init): Adjust.
11595
11596 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11597
11598         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
11599         (s390_gdbarch_tdep_alloc): Adjust.
11600         (s390_gdbarch_init): Adjust.
11601
11602 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11603
11604         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
11605         <have_tdb>: Change type to bool.
11606         (s390_gdbarch_tdep_alloc): Adjust.
11607         (s390_gdbarch_init): Adjust.
11608
11609 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11610
11611         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
11612         (gdbarch_tdep) <have_upper, have_vx>: New fields.
11613         (s390_gdbarch_tdep_alloc): New function.
11614         (s390_gdbarch_init): Allocate tdep at start and use its fields
11615         instead of separate variables.
11616
11617 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
11618
11619         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
11620         when looking for cached gdbarch and add comment for remaining.
11621
11622 2018-01-22  Pedro Alves  <palves@redhat.com>
11623             Sergio Durigan Junior  <sergiodj@redhat.com>
11624
11625         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
11626         case.
11627
11628 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
11629
11630         * MAINTAINERS: Update my company e-mail address.
11631
11632 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11633
11634         * regcache.c (cooked_write_test): New function.
11635         (_initialize_regcache): Register the test.
11636
11637 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11638
11639         * ia64-tdep.c (ia64_pseudo_register_read): Call
11640         regcache->cooked_read instead of regcache_cooked_read_unsigned.
11641         * m32c-tdep.c (m32c_cat_read): Likewise.
11642         (m32c_r3r2r1r0_read): Likewise.
11643         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11644         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11645
11646 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11647
11648         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
11649         method raw_read instead of regcache_raw_read.
11650         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11651         * arm-tdep.c (arm_neon_quad_read): Likewise.
11652         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11653         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11654         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11655         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
11656         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11657         (i386_pseudo_register_read_into_value): Likewise.
11658         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11659         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11660         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11661         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
11662         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
11663         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
11664         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11665         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
11666         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
11667
11668 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11669
11670         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
11671         * configure.tgt: Remove target mt.
11672         * mt-tdep.c: Remove.
11673         * regcache.c (cooked_read_test): Remove the check for mt.
11674
11675 2018-01-22  Yao Qi  <yao.qi@linaro.org>
11676
11677         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
11678         instead of gdbarch_pseudo_register_read_value.
11679
11680 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11681
11682         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
11683         language is Ada.
11684
11685 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
11686
11687         * linespec.c (create_sals_line_offset): Remove code that preserved
11688         the symtab_and_line's line number.
11689
11690 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11691
11692         * varobj.c (varobj_create): Don't set valid_block when creating a
11693         floating varobj.
11694
11695 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11696
11697         * varobj.c (varobj_create): Remove out of date comment.
11698
11699 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11700
11701         PR mi/20395
11702         * ada-exp.y (write_var_from_sym): Pass extra parameter when
11703         updating innermost block.
11704         * parse.c (innermost_block_tracker::update): Take extra type
11705         parameter, and check types match before updating innermost block.
11706         (write_dollar_variable): Update innermost block for registers.
11707         * parser-defs.h (enum innermost_block_tracker_type): New enum.
11708         (innermost_block_tracker::innermost_block_tracker): Initialise
11709         m_types member.
11710         (innermost_block_tracker::reset): Take type parameter.
11711         (innermost_block_tracker::update): Take type parameter, and pass
11712         type through as needed.
11713         (innermost_block_tracker::m_types): New member.
11714         * varobj.c (varobj_create): Pass type when reseting innermost
11715         block.
11716
11717 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11718
11719         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
11720         * ada-lang.c (resolve_subexp): Likewise.
11721         * breakpoint.c (set_breakpoint_condition) Likewise.
11722         (watch_command_1) Likewise.
11723         * c-exp.y (variable): Likewise.
11724         * d-exp.y (PrimaryExpression): Likewise.
11725         * f-exp.y (variable): Likewise.
11726         * go-exp.y (variable): Likewise.
11727         * m2-exp.y (variable): Likewise.
11728         * objfiles.c (objfile::~objfile): Likewise.
11729         * p-exp.y (variable): Likewise.
11730         * parse.c (innermost_block): Change type.
11731         * parser-defs.h (class innermost_block_tracker): New.
11732         (innermost_block): Change to innermost_block_tracker.
11733         * printcmd.c (display_command): Switch to innermost_block API.
11734         (do_one_display): Likewise.
11735         * rust-exp.y (do_one_display): Likewise.
11736         * symfile.c (clear_symtab_users): Likewise.
11737         * varobj.c (varobj_create): Switch to innermost_block API, replace
11738         use of innermost_block with block stored on varobj object.
11739
11740 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
11741
11742         * expression.h (innermost_block): Remove declaration.
11743         * varobj.c: Add 'parser-defs.h' include.
11744
11745 2018-01-19  Tom Tromey  <tom@tromey.com>
11746
11747         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
11748         symbols in the static and global blocks.
11749
11750 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
11751
11752         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
11753         gdb_ptrace.h, and move including gdb_wait.h ...
11754         * nat/linux-ptrace.h: ... to here.
11755
11756 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11757
11758         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
11759         inf_ptrace_detach_success.
11760         (inf_ptrace_detach_success): Add inferior parameter, use it
11761         instead of inferior_ptid, pass it to detach_inferior.
11762         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
11763         parameter.
11764         * inferior.c (detach_inferior): Add overload that takes an
11765         inferior object.
11766         * inferior.h (detach_inferior): Likewise.
11767         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
11768         use inferior_ptid, adjust call to inf_ptrace_detach_success.
11769         * linux-thread-db.c (thread_db_detach): Use inf parameter.
11770
11771 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11772
11773         * target.h (struct target_ops) <to_detach>: Add inferior
11774         parameter.
11775         (target_detach): Likewise.
11776         * target.c (dispose_inferior): Pass inferior down.
11777         (target_detach): Pass inferior down.  Assert that it is equal to
11778         the current inferior.
11779         * aix-thread.c (aix_thread_detach): Pass inferior down.
11780         * corefile.c (core_file_command): Pass current_inferior() down.
11781         * corelow.c (core_detach): Add inferior parameter.
11782         * darwin-nat.c (darwin_detach): Likewise.
11783         * gnu-nat.c (gnu_detach): Likewise.
11784         * inf-ptrace.c (inf_ptrace_detach): Likewise.
11785         * infcmd.c (detach_command): Pass current_inferior() down to
11786         target_detach.
11787         * infrun.c (follow_fork_inferior): Pass parent_inf to
11788         target_detach.
11789         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
11790         target_detach.
11791         * linux-nat.c (linux_nat_detach): Add inferior parameter.
11792         * linux-thread-db.c (thread_db_detach): Likewise.
11793         * nto-procfs.c (procfs_detach): Likewise.
11794         * procfs.c (procfs_detach): Likewise.
11795         * record.c (record_detach): Likewise.
11796         * record.h (struct inferior): Forward-declare.
11797         (record_detach): Add inferior parameter.
11798         * remote-sim.c (gdbsim_detach): Likewise.
11799         * remote.c (remote_detach_1): Likewise.
11800         (remote_detach): Likewise.
11801         (extended_remote_detach): Likewise.
11802         * sol-thread.c (sol_thread_detach): Likewise.
11803         * target-debug.h (target_debug_print_inferior_p): New macro.
11804         * target-delegates.c: Re-generate.
11805         * top.c (kill_or_detach): Pass inferior down to target_detach.
11806         * windows-nat.c (windows_detach): Add inferior parameter.
11807
11808 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
11809
11810         * target.h (struct target_ops) <to_detach>: Remove args
11811         parameter.
11812         (target_detach): Likewise.
11813         * target.c (dispose_inferior): Adjust.
11814         (target_detach): Remove args parameter, adjust.
11815         * aix-thread.c (aix_thread_detach): Adjust.
11816         * corefile.c (core_file_command): Adjust.
11817         * corelow.c (core_detach): Adjust.
11818         * darwin-nat.c (darwin_detach): Adjust.
11819         * gnu-nat.c (gnu_detach): Adjust.
11820         * inf-ptrace.c (inf_ptrace_detach): Adjust.
11821         * infcmd.c (detach_command): Adjust
11822         * infrun.c (follow_fork_inferior): Adjust.
11823         (handle_vfork_child_exec_or_exit): Adjust.
11824         * linux-fork.c (linux_fork_detach): Remove args parameter.
11825         * linux-fork.h (linux_fork_detach): Likewise.
11826         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
11827         * linux-thread-db.c (thread_db_detach): Likewise.
11828         * nto-procfs.c (procfs_detach): Likewise.
11829         * procfs.c (procfs_detach): Likewise.
11830         (do_detach): Remove signo parameter.
11831         * record.c (record_detach): Remove args parameter.
11832         * record.h (record_detach): Likewise.
11833         * remote-sim.c (gdbsim_detach): Likewise.
11834         * remote.c (remote_detach_1): Likewise.
11835         (remote_detach): Likewise.
11836         (extended_remote_detach): Likewise.
11837         * sol-thread.c (sol_thread_detach): Likewise.
11838         * target-delegates.c: Re-generate.
11839         * top.c (struct qt_args) <args>: Remove field.
11840         (kill_or_detach): Don't pass args.
11841         (quit_force): Don't set args.
11842         * windows-nat.c (windows_detach): Remove args parameter.
11843
11844 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11845
11846         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
11847         (arm_linux_init_abi): Install it.
11848
11849 2018-01-19  Yao Qi  <yao.qi@linaro.org>
11850
11851         * osabi.c (gdb_osabi_names): Extend the regexp for
11852         arm-linux-gnueabihf.
11853
11854 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11855
11856         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
11857         m_abbrevs.
11858         (abbrev_table::add_abbrev): Update.
11859         (abbrev_table::lookup_abbrev): Update.
11860
11861 2018-01-18  Yao Qi  <yao.qi@linaro.org>
11862
11863         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
11864
11865 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
11866
11867         * compile/compile.c (compile_to_object): Convert "triplet_rx"
11868         to "std::string".
11869
11870 2018-01-17  Tom Tromey  <tom@tromey.com>
11871
11872         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
11873
11874 2018-01-17  Tom Tromey  <tom@tromey.com>
11875
11876         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
11877         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
11878         (create_array_type_with_stride): Update.
11879         * dwarf2read.c (set_die_type): Update.
11880
11881 2018-01-17  Tom Tromey  <tom@tromey.com>
11882
11883         * dwarf2read.c (delayed_method_info): Remove typedef.
11884         (dwarf2_cu::method_info): Now a std::vector.
11885         (add_to_method_list): Update.
11886         (free_delayed_list): Remove.
11887         (compute_delayed_physnames): Update.
11888         (process_full_comp_unit, process_full_type_unit): Clear the method
11889         list.  Remove cleanups.
11890         (psymtab_include_file_name): Add name_holder parameter.  Use
11891         unique_xmalloc_ptr.
11892         (dwarf_decode_lines): Update.
11893
11894 2018-01-17  Tom Tromey  <tom@tromey.com>
11895             Simon Marchi  <simon.marchi@ericsson.com>
11896
11897         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
11898         (dwarf2_per_objfile::free_cached_comp_units)
11899         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11900         (init_cutu_and_read_dies_no_follow): Update.
11901         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
11902         (dwarf2_cu::~dwarf2_cu): New.
11903         (free_heap_comp_unit, free_stack_comp_unit): Remove.
11904         (age_cached_comp_units, free_one_cached_comp_unit): Update.
11905
11906 2018-01-17  Tom Tromey  <tom@tromey.com>
11907             Simon Marchi  <simon.marchi@ericsson.com>
11908
11909         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
11910         (struct die_reader_specs) <abbrev_table>: New member.
11911         (struct abbrev_table): Add constructor.
11912         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
11913         <abbrev_obstack>: Now an auto_obstack.
11914         (abbrev_table_up): New typedef.
11915         (init_cu_die_reader): Add abbrev_table parameter.
11916         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
11917         Add result_dwo_abbrev_table.
11918         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
11919         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
11920         Update.
11921         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
11922         parameter.
11923         (skip_children): Update.
11924         (abbrev_table::alloc_abbrev): Rename from
11925         abbrev_table_alloc_abbrev.
11926         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
11927         (abbrev_table::lookup_abbrev): Rename from
11928         abbrev_table_lookup_abbrev.
11929         (abbrev_table_read_table): Return abbrev_table_up.
11930         (abbrev_table_free, abbrev_table_free_cleanup)
11931         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
11932         (load_partial_dies): Update.
11933
11934 2018-01-17  Tom Tromey  <tom@tromey.com>
11935
11936         * dwarf2read.c (dwarf2_compute_name): Update comment.
11937         (read_func_scope, read_variable): Update.
11938         (new_symbol): Remove.
11939         (new_symbol_full): Rename to new_symbol.
11940
11941 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
11942
11943         PR gdb/16577
11944         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
11945         a warning instead of throwing an error, set section size to 0 and return
11946         NULL.
11947         * gdb_bfd.h (gdb_bfd_map_section): Update description.
11948
11949 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11950
11951         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
11952         std::string.
11953         (linux_ptrace_attach_fail_reason_string): Likewise.
11954         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
11955         Likewise.
11956         (linux_ptrace_attach_fail_reason_string): Likewise.
11957         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
11958
11959 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
11960
11961         * linux-nat.c (linux_nat_attach): Remove xstrdup.
11962
11963 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
11964
11965         PR gdb/21559
11966         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
11967         checking for fs_base/gs_base fields in struct user_regs_struct.
11968         * configure: Regenerate.
11969
11970 2018-01-17  Yao Qi  <yao.qi@linaro.org>
11971
11972         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
11973         function.
11974         (aarch64_linux_init_abi): Install it to gdbarch hook
11975         gcc_target_options.
11976
11977 2018-01-15  Pedro Alves  <palves@redhat.com>
11978
11979         * common/signals-state-save-restore.c
11980         (save_original_signals_state): Fix typos.
11981
11982 2017-01-12  Tom Tromey  <tom@tromey.com>
11983             Sergio Durigan Junior  <sergiodj@redhat.com>
11984
11985         * Makefile.in (install-only): Install gdb-add-index.
11986
11987 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
11988
11989         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
11990
11991 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11992
11993         * infrun.c (keep_going_pass_signal): Clear step-over info when
11994         insert_breakpoints fails.
11995
11996 2018-01-11  Pedro Alves  <palves@redhat.com>
11997
11998         PR gdb/22583
11999         * infrun.c (resume): Rename to ...
12000         (resume_1): ... this.
12001         (resume): Reimplement as wrapper around resume_1.
12002
12003 2018-01-11  Pedro Alves  <palves@redhat.com>
12004
12005         PR remote/22597
12006         * remote.c (remote_parse_stop_reply): Default to the last-set
12007         general thread instead of to 'magic_null_ptid'.
12008
12009 2018-01-10  Pedro Alves  <palves@redhat.com>
12010
12011         * language.h (language_get_symbol_name_matcher): Rename ...
12012         (get_symbol_name_matcher): ... this.
12013         * language.c (language_get_symbol_name_matcher): Ditto.
12014         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
12015         callers adjusted.
12016
12017 2018-01-10  Pedro Alves  <palves@redhat.com>
12018
12019         PR gdb/22670
12020         * dwarf2read.c
12021         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
12022         Adjust to use language_get_symbol_name_matcher instead of
12023         language_defn::la_get_symbol_name_matcher.
12024         * language.c (language_get_symbol_name_matcher): If in Ada mode
12025         and the lookup name is a verbatim match, return Ada's matcher.
12026         * language.h (language_get_symbol_name_matcher): Adjust comment.
12027         (ada_lookup_name_info::verbatim_p):: New method.
12028
12029 2018-01-10  Pedro Alves  <palves@redhat.com>
12030
12031         PR gdb/22670
12032         * ada-lang.c (ada_collect_symbol_completion_matches): If the
12033         minsym's language is language_auto or language_cplus, pass down
12034         language_ada instead.
12035         * symtab.c (compare_symbol_name): Don't frob symbol language here.
12036
12037 2018-01-10  Pedro Alves  <palves@redhat.com>
12038
12039         PR gdb/22670
12040         * minsyms.c (linkage_name_str): New function.
12041         (iterate_over_minimal_symbols): Use it.
12042
12043 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12044
12045         * NEWS: Document that 'info proc' now works on FreeBSD.
12046
12047 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12048
12049         * configure.ac: Check for kinfo_getfile in libutil.
12050         * configure: Regenerate.
12051         * config.in: Regenerate.
12052         * fbsd-nat.c: Include "fbsd-tdep.h".
12053         (fbsd_fetch_cmdline): New.
12054         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
12055         rather than calling error.
12056         (fbsd_info_proc): New.
12057         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
12058         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
12059         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
12060
12061 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12062
12063         * fbsd-nat.c (struct free_deleter): Remove.
12064         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
12065
12066 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12067
12068         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
12069         NULL for an empty pathname.
12070
12071 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12072
12073         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
12074         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
12075         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
12076         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
12077         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
12078         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
12079         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
12080         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
12081         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
12082         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
12083         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
12084         (fbsd_core_fetch_timeval, fbsd_print_sigset)
12085         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
12086         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
12087         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
12088
12089 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
12090
12091         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
12092         (gnu_xfer_auxv): New function.
12093         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
12094         TARGET_OBJECT_AUXV.
12095
12096 2018-01-08  Yao Qi  <yao.qi@linaro.org>
12097             Simon Marchi  <simon.marchi@ericsson.com>
12098
12099         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
12100         common/selftest.c.
12101         (COMMON_OBS): Remove selftest.o.
12102         * configure.ac: Append selftest-arch.c and common/selftest.c to
12103         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
12104         * configure: Re-generated.
12105         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
12106         GDB_SELF_TEST.
12107         (maintenance_info_selftests): Likewise.
12108
12109 2018-01-08  Xavier Roirand  <roirand@adacore.com>
12110
12111         * ada-valprint.c (val_print_packed_array_elements): Use
12112         proper number of elements when printing an array indexed
12113         by an enumeration type.
12114
12115 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12116
12117         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
12118         (dw2_get_file_names_reader): Adjust.
12119         (lookup_dwo_signatured_type): Adjust.
12120         (lookup_dwp_signatured_type): Adjust.
12121         (lookup_signatured_type): Adjust.
12122         (create_type_unit_group): Adjust.
12123         (get_type_unit_group): Adjust.
12124         (process_psymtab_comp_unit_reader): Adjust.
12125         (build_type_psymtabs_reader): Adjust.
12126         (scan_partial_symbols): Adjust.
12127         (add_partial_symbol): Adjust.
12128         (add_partial_subprogram): Adjust.
12129         (peek_die_abbrev): Adjust.
12130         (fixup_go_packaging): Adjust.
12131         (process_imported_unit_die): Adjust.
12132         (dwarf2_compute_name): Adjust.
12133         (dwarf2_physname): Adjust.
12134         (read_import_statement): Adjust.
12135         (handle_DW_AT_stmt_list): Adjust.
12136         (read_file_scope): Adjust.
12137         (read_func_scope): Adjust.
12138         (read_lexical_block_scope): Adjust.
12139         (read_call_site_scope): Adjust.
12140         (read_variable): Adjust.
12141         (dwarf2_rnglists_process): Adjust.
12142         (dwarf2_ranges_process): Adjust.
12143         (dwarf2_ranges_read): Adjust.
12144         (dwarf2_get_pc_bounds): Adjust.
12145         (dwarf2_record_block_ranges): Adjust.
12146         (dwarf2_add_field): Adjust.
12147         (dwarf2_add_member_fn): Adjust.
12148         (read_structure_type): Adjust.
12149         (process_structure_scope): Adjust.
12150         (read_enumeration_type): Adjust.
12151         (read_array_type): Adjust.
12152         (mark_common_block_symbol_computed): Adjust.
12153         (read_common_block): Adjust.
12154         (read_namespace_type): Adjust.
12155         (read_namespace): Adjust.
12156         (read_module_type): Adjust.
12157         (read_tag_pointer_type): Adjust.
12158         (read_tag_ptr_to_member_type): Adjust.
12159         (read_tag_string_type): Adjust.
12160         (read_subroutine_type): Adjust.
12161         (read_typedef): Adjust.
12162         (read_base_type): Adjust.
12163         (attr_to_dynamic_prop): Adjust.
12164         (read_subrange_type): Adjust.
12165         (read_unspecified_type): Adjust.
12166         (dwarf2_read_abbrevs): Adjust.
12167         (load_partial_dies): Adjust.
12168         (read_partial_die): Adjust.
12169         (find_partial_die): Adjust.
12170         (guess_partial_die_structure_name): Adjust.
12171         (fixup_partial_die): Adjust.
12172         (read_attribute_value): Adjust.
12173         (read_addr_index): Adjust.
12174         (read_addr_index_from_leb128): Adjust.
12175         (read_str_index): Adjust.
12176         (dwarf2_string_attr): Adjust.
12177         (get_debug_line_section): Adjust.
12178         (dwarf_decode_line_header): Adjust.
12179         (lnp_state_machine::check_line_address): Adjust.
12180         (dwarf_decode_lines_1): Adjust.
12181         (dwarf_decode_lines): Adjust.
12182         (dwarf2_start_symtab): Adjust.
12183         (var_decode_location): Adjust.
12184         (new_symbol_full): Adjust.
12185         (dwarf2_const_value_data): Adjust.
12186         (dwarf2_const_value_attr): Adjust.
12187         (dwarf2_const_value): Adjust.
12188         (die_type): Adjust.
12189         (die_containing_type): Adjust.
12190         (build_error_marker_type): Adjust.
12191         (lookup_die_type): Adjust.
12192         (guess_full_die_structure_name): Adjust.
12193         (anonymous_struct_prefix): Adjust.
12194         (determine_prefix): Adjust.
12195         (dwarf2_name): Adjust.
12196         (follow_die_ref_or_sig): Adjust.
12197         (follow_die_offset): Adjust.
12198         (follow_die_ref): Adjust.
12199         (follow_die_sig_1): Adjust.
12200         (follow_die_sig): Adjust.
12201         (get_signatured_type): Adjust.
12202         (get_DW_AT_signature_type): Adjust.
12203         (decode_locdesc): Adjust.
12204         (dwarf_decode_macros): Adjust.
12205         (cu_debug_loc_section): Adjust.
12206         (fill_in_loclist_baton): Adjust.
12207         (dwarf2_symbol_mark_computed): Adjust.
12208         (init_one_comp_unit): Don't assign
12209         dwarf2_cu::dwarf2_per_objfile.
12210         (set_die_type): Adjust.
12211
12212 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12213
12214         * dwarf2read.c (struct mapped_debug_names): Add constructor.
12215         <dwarf2_per_objfile>: New field.
12216         (dwarf2_per_objfile): Remove global.
12217         (get_dwarf2_per_objfile): New function.
12218         (set_dwarf2_per_objfile): New function.
12219         (dwarf2_build_psymtabs_hard): Change objfile parameter to
12220         dwarf2_per_objfile.
12221         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12222         (read_abbrev_offset): Likewise.
12223         (read_indirect_string): Likewise.
12224         (read_indirect_line_string): Likewise.
12225         (read_indirect_string_at_offset): Likewise.
12226         (read_indirect_string_from_dwz): Likewise.
12227         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12228         dwarf2_per_objfile.
12229         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12230         (create_all_comp_units): Change objfile parameter to
12231         dwarf2_per_objfile.
12232         (create_all_type_units): Likewise.
12233         (process_queue): Add dwarf2_per_objfile parameter.
12234         (read_and_check_comp_unit_head): Likewise.
12235         (lookup_dwo_unit_in_dwp): Likewise.
12236         (get_dwp_file): Likewise.
12237         (process_cu_includes): Likewise.
12238         (struct free_dwo_file_cleanup_data): New struct.
12239         (dwarf2_has_info): Use get_dwarf2_per_objfile and
12240         set_dwarf2_per_objfile.
12241         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
12242         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
12243         context, adjust calls.
12244         (dw2_instantiate_symtab): Likewise.
12245         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
12246         (dw2_get_cu): Likewise.
12247         (create_cu_from_index_list): Change objfile parameter to
12248         dwarf2_per_objfile.
12249         (create_cus_from_index_list): Get dwarf2_per_objfile from
12250         context, adjust calls.
12251         (create_cus_from_index): Likewise.
12252         (create_signatured_type_table_from_index): Change objfile
12253         parameter to dwarf2_per_objfile.
12254         (create_signatured_type_table_from_debug_names): Change objfile
12255         parameter to dwarf2_per_objfile.
12256         (create_addrmap_from_index): Likewise.
12257         (create_addrmap_from_aranges): Likewise.
12258         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
12259         (dw2_setup): Remove.
12260         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
12261         context.
12262         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
12263         get_dwarf2_per_objfile.
12264         (dw2_forget_cached_source_info): Likewise.
12265         (dw2_map_symtabs_matching_filename): Likewise.
12266         (struct dw2_symtab_iterator) <index>: Remove.
12267         <dwarf2_per_objfile>: New field.
12268         (dw2_symtab_iter_init): Replace index parameter with
12269         dwarf2_per_objfile.
12270         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
12271         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
12272         (dw2_print_stats): Likewise.
12273         (dw2_dump): Likewise.
12274         (dw2_expand_symtabs_for_function): Likewise.
12275         (dw2_expand_all_symtabs): Likewise.
12276         (dw2_expand_symtabs_with_fullname): Likewise.
12277         (dw2_expand_marked_cus): Replace index and objfile parameters
12278         with dwarf2_per_objfile.
12279         (dw_expand_symtabs_matching_file_matcher): Add
12280         dwarf2_per_objfile parameter and adjust calls.
12281         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
12282         adjust calls.
12283         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
12284         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
12285         adjust calls.
12286         (create_cus_from_debug_names_list): Replace objfile parameter
12287         with dwarf2_per_objfile and adjust calls.
12288         (create_cus_from_debug_names): Likewise.
12289         (dwarf2_read_debug_names): Likewise.
12290         (mapped_debug_names::namei_to_name): Adjust call.
12291         (dw2_debug_names_iterator::next): Likewise.
12292         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
12293         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
12294         (dw2_debug_names_dump): Likewise.
12295         (dw2_debug_names_expand_symtabs_for_function): Likewise.
12296         (dw2_debug_names_expand_symtabs_matching): Likewise.
12297         (dwarf2_initialize_objfile): Likewise.
12298         (dwarf2_build_psymtabs): Likewise.
12299         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
12300         this_cu.
12301         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
12302         (read_and_check_comp_unit_head): Likewise.
12303         (read_abbrev_offset): Likewise.
12304         (create_debug_type_hash_table): Likewise.
12305         (create_debug_types_hash_table): Likewise.
12306         (create_all_type_units): Replace objfile parameter with
12307         dwarf2_per_objfile.
12308         (add_type_unit): Add dwarf2_per_objfile parameter.
12309         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
12310         with dwarf2_per_objfile.
12311         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
12312         (lookup_dwp_signatured_type): Likewise.
12313         (lookup_signatured_type): Likewise.
12314         (read_cutu_die_from_dwo): Likewise.
12315         (init_tu_and_read_dwo_dies): Likewise.
12316         (init_cutu_and_read_dies): Likewise.
12317         (init_cutu_and_read_dies_no_follow): Likewise.
12318         (allocate_type_unit_groups_table): Add objfile parameter.
12319         (create_type_unit_group): Use dwarf2_per_objfile from cu.
12320         (get_type_unit_group): Likewise.
12321         (process_psymtab_comp_unit): Update call.
12322         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
12323         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
12324         (print_tu_stats): Likewise.
12325         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
12326         in void* parameter.
12327         (build_type_psymtabs): Change objfile parameter to
12328         dwarf2_per_objfile.
12329         (process_skeletonless_type_unit): Use dwarf2_per_objfile
12330         passed in void* parameter.
12331         (process_skeletonless_type_units): Change objfile parameter to
12332         dwarf2_per_objfile.
12333         (set_partial_user): Likewise.
12334         (dwarf2_build_psymtabs_hard): Likewise.
12335         (read_comp_units_from_section): Likewise.
12336         (create_all_comp_units): Likewise.
12337         (scan_partial_symbols): Update calls.
12338         (add_partial_symbol): Likewise.
12339         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
12340         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
12341         (process_queue): Add dwarf2_per_objfile parameter.
12342         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
12343         (compute_compunit_symtab_includes): Likewise.
12344         (process_cu_includes): Add dwarf2_per_objfile parameter.
12345         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
12346         (process_full_type_unit): Likewise.
12347         (process_imported_unit_die): Update call.
12348         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
12349         (read_file_scope): Likewise.
12350         (allocate_dwo_file_hash_table): Add objfile parameter.
12351         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
12352         (create_cus_hash_table): Likewise.
12353         (create_dwp_hash_table): Likewise.
12354         (create_dwo_unit_in_dwp_v1): Likewise.
12355         (create_dwp_v2_section): Likewise.
12356         (create_dwo_unit_in_dwp_v2): Likewise.
12357         (lookup_dwo_unit_in_dwp): Likewise.
12358         (try_open_dwop_file): Likewise.
12359         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
12360         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
12361         cleanup to include a reference to dwarf2_per_objfile.
12362         (open_dwp_file): Add dwarf2_per_objfile parameter.
12363         (open_and_init_dwp_file): Likewise.
12364         (get_dwp_file): Likewise.
12365         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
12366         (queue_and_load_all_dwo_tus): Update call.
12367         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
12368         data.
12369         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
12370         (dwarf2_ranges_process): Likewise.
12371         (dwarf2_get_pc_bounds): Likewise.
12372         (mark_common_block_symbol_computed): Likewise.
12373         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
12374         (dwarf2_read_abbrevs): Update call.
12375         (read_partial_die): Use dwarf2_per_objfile from cu.
12376         (find_partial_die): Likewise.
12377         (fixup_partial_die): Likewise.
12378         (read_attribute_value): Likewise.
12379         (read_indirect_string_at_offset_from): Add objfile parameter.
12380         (read_indirect_string_at_offset): Add dwarf2_per_objfile
12381         parameter.
12382         (read_indirect_string_from_dwz): Add objfile parameter.
12383         (read_indirect_string): Add objfile parameter.
12384         (read_addr_index_1): Add dwarf2_per_objfile parameter.
12385         (read_addr_index): Use dwarf2_per_objfile from cu.
12386         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
12387         call dw2_setup.
12388         (read_str_index): Use dwarf2_per_objfile from cu.
12389         (get_debug_line_section): Likewise.
12390         (read_formatted_entries): Add dwarf2_per_objfile parameter.
12391         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
12392         (new_symbol_full): Use dwarf2_per_objfile from cu.
12393         (build_error_marker_type): Likewise.
12394         (lookup_die_type): Likewise.
12395         (determine_prefix): Likewise.
12396         (follow_die_offset): Likewise.
12397         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
12398         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
12399         (dwarf2_fetch_die_type_sect_off): Likewise.
12400         (dwarf2_get_die_type): Likewise.
12401         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
12402         (get_signatured_type): Likewise.
12403         (get_DW_AT_signature_type): Likewise.
12404         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
12405         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
12406         (cu_debug_loc_section): Likewise.
12407         (fill_in_loclist_baton): Likewise.
12408         (dwarf2_symbol_mark_computed): Likewise.
12409         (dwarf2_find_containing_comp_unit): Change objfile parameter to
12410         dwarf2_per_objfile.
12411         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
12412         parameter.
12413         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
12414         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
12415         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
12416         (set_die_type): Use dwarf2_free_objfile from cu.
12417         (get_die_type_at_offset): Likewise.
12418         (dwarf2_per_objfile_free): Don't assign global variable.
12419         (debug_names) <constructor>: Add dwarf2_per_objfile
12420         parameter, update m_debugstrlookup construction.
12421         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
12422         parameter.
12423         <m_dwarf2_per_objfile>: New field.
12424         <lookup>: Use m_dwarf2_per_objfile.
12425         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
12426         (psyms_seen_size): Likewise.
12427         (write_gdbindex): Replace objfile parameter with
12428         dwarf2_per_objfile.
12429         (write_debug_names): Likewise.
12430         (write_psymtabs_to_index): Likewise.
12431         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
12432         calls.
12433
12434 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12435
12436         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
12437         <dwarf2_per_objfile>: New field.
12438         (struct dwarf2_per_cu_data) <objfile>: Remove.
12439         <dwarf2_per_objfile>: New field.
12440         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
12441         of objfile.
12442         (create_signatured_type_table_from_index): Likewise.
12443         (create_debug_type_hash_table): Likewise.
12444         (fill_in_sig_entry_from_dwo_entry): Likewise.
12445         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
12446         (create_type_unit_group): Assign dwarf2_per_objfile instead of
12447         objfile.
12448         (create_partial_symtab): Access objfile through
12449         dwarf2_per_objfile.
12450         (process_psymtab_comp_unit_reader): Likewise.
12451         (read_comp_units_from_section): Likewise.
12452         (scan_partial_symbols): Likewise.
12453         (add_partial_symbol): Likewise.
12454         (add_partial_subprogram): Likewise.
12455         (peek_die_abbrev): Likewise.
12456         (fixup_go_packaging): Likewise.
12457         (process_full_comp_unit): Likewise.
12458         (process_full_type_unit): Likewise.
12459         (process_imported_unit_die): Likewise.
12460         (dwarf2_compute_name): Likewise.
12461         (dwarf2_physname): Likewise.
12462         (read_import_statement): Likewise.
12463         (create_cus_hash_table): Assign dwarf2_physname instead of
12464         objfile.
12465         (read_func_scope): Access objfile through dwarf2_per_objfile.
12466         (read_lexical_block_scope): Likewise.
12467         (read_call_site_scope): Likewise.
12468         (read_variable): Likewise.
12469         (dwarf2_rnglists_process): Likewise.
12470         (dwarf2_ranges_process): Likewise.
12471         (dwarf2_ranges_read): Likewise.
12472         (dwarf2_record_block_ranges): Likewise.
12473         (dwarf2_add_field): Likewise.
12474         (dwarf2_add_member_fn): Likewise.
12475         (read_structure_type): Likewise.
12476         (process_structure_scope): Likewise.
12477         (read_enumeration_type): Likewise.
12478         (read_array_type): Likewise.
12479         (read_common_block): Likewise.
12480         (read_namespace_type): Likewise.
12481         (read_namespace): Likewise.
12482         (read_module_type): Likewise.
12483         (read_tag_pointer_type): Likewise.
12484         (read_tag_ptr_to_member_type): Likewise.
12485         (read_tag_string_type): Likewise.
12486         (read_subroutine_type): Likewise.
12487         (read_typedef): Likewise.
12488         (read_base_type): Likewise.
12489         (attr_to_dynamic_prop): Likewise.
12490         (read_subrange_type): Likewise.
12491         (read_unspecified_type): Likewise.
12492         (load_partial_dies): Likewise.
12493         (read_partial_die): Likewise.
12494         (find_partial_die): Likewise.
12495         (guess_partial_die_structure_name): Likewise.
12496         (fixup_partial_die): Likewise.
12497         (read_attribute_value): Likewise.
12498         (read_addr_index_from_leb128): Likewise.
12499         (dwarf2_read_addr_index): Likewise.
12500         (dwarf2_string_attr): Likewise.
12501         (lnp_state_machine::check_line_address): Likewise.
12502         (dwarf_decode_lines_1): Likewise.
12503         (dwarf_decode_lines): Likewise.
12504         (dwarf2_start_symtab): Likewise.
12505         (var_decode_location): Likewise.
12506         (new_symbol_full): Likewise.
12507         (dwarf2_const_value_data): Likewise.
12508         (dwarf2_const_value_attr): Likewise.
12509         (dwarf2_const_value): Likewise.
12510         (die_type): Likewise.
12511         (die_containing_type): Likewise.
12512         (lookup_die_type): Likewise.
12513         (guess_full_die_structure_name): Likewise.
12514         (anonymous_struct_prefix): Likewise.
12515         (dwarf2_name): Likewise.
12516         (follow_die_ref_or_sig): Likewise.
12517         (follow_die_offset): Likewise.
12518         (follow_die_ref): Likewise.
12519         (dwarf2_fetch_die_loc_sect_off): Likewise.
12520         (dwarf2_fetch_constant_bytes): Likewise.
12521         (dwarf2_fetch_die_type_sect_off): Likewise.
12522         (dwarf2_get_die_type): Likewise.
12523         (follow_die_sig): Likewise.
12524         (decode_locdesc): Likewise.
12525         (dwarf2_per_cu_objfile): Likewise.
12526         (dwarf2_per_cu_text_offset): Likewise.
12527         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
12528         objfile.
12529         (set_die_type): Access objfile through
12530         dwarf2_per_objfile.
12531
12532 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
12533
12534         * valprint.c (converted_character_d): Remove typedef.
12535         (DEF_VEC_O (converted_character_d)): Remove.
12536         (count_next_character): Use std::vector.
12537         (print_converted_chars_to_obstack): Likewise.
12538         (generic_printstr): Likewise.
12539
12540 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12541
12542         * xml-support.h (struct gdb_xml_value): Add constructor.
12543         <value>: Change type to unique_xmalloc_ptr.
12544         (gdb_xml_value_s): Remove typedef.
12545         (DEF_VEC_O (gdb_xml_value_s)): Remove.
12546         (gdb_xml_element_start_handler): Change parameter type to
12547         std::vector.
12548         (xml_find_attribute): Likewise.
12549         * xml-support.c (xml_find_attribute): Change parameter type to
12550         std::vector and adjust.
12551         (gdb_xml_values_cleanup): Remove.
12552         (gdb_xml_parser::start_element): Adjust to std::vector.
12553         (xinclude_start_include): Change paraeter type to std::vector
12554         and adjust.
12555         * btrace.c (check_xml_btrace_version): Likewise.
12556         (parse_xml_btrace_block): Likewise.
12557         (parse_xml_btrace_pt_config_cpu): Likewise.
12558         (parse_xml_btrace_pt): Likewise.
12559         (parse_xml_btrace_conf_bts): Likewise.
12560         (parse_xml_btrace_conf_pt): Likewise.
12561         * memory-map.c (memory_map_start_memory): Likewise.
12562         (memory_map_start_property): Likewise.
12563         * osdata.c (osdata_start_osdata): Likewise.
12564         (osdata_start_item): Likewise.
12565         (osdata_start_column): Likewise.
12566         * remote.c (start_thread): Likewise.
12567         * solib-aix.c (library_list_start_library): Likewise.
12568         (library_list_start_list): Likewise.
12569         * solib-svr4.c (library_list_start_library): Likewise.
12570         (svr4_library_list_start_list): Likewise.
12571         * solib-target.c (library_list_start_segment): Likewise.
12572         (library_list_start_section): Likewise.
12573         (library_list_start_library): Likewise.
12574         (library_list_start_list): Likewise.
12575         * tracepoint.c (traceframe_info_start_memory): Likewise.
12576         (traceframe_info_start_tvar): Likewise.
12577         * xml-syscall.c (syscall_start_syscall): Likewise.
12578         * xml-tdesc.c (tdesc_start_target): Likewise.
12579         (tdesc_start_feature): Likewise.
12580         (tdesc_start_reg): Likewise.
12581         (tdesc_start_union): Likewise.
12582         (tdesc_start_struct): Likewise.
12583         (tdesc_start_flags): Likewise.
12584         (tdesc_start_enum): Likewise.
12585         (tdesc_start_field): Likewise.
12586         (tdesc_start_enum_value): Likewise.
12587         (tdesc_start_vector): Likewise.
12588
12589 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12590
12591         * extension.h (struct xmethod_worker) <clone>: Remove.
12592         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
12593         Remove.
12594         (python_xmethod_worker::clone): Remove.
12595         * valops.c (find_overload_match): Use std::move instead of
12596         clone.
12597
12598 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12599
12600         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
12601         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
12602         <free_xmethod_worker_data>: Remove.
12603         <get_matching_xmethod_workers>: Chance VEC to std::vector.
12604         <get_xmethod_arg_types>: Remove.
12605         <get_xmethod_result_type>: Remove.
12606         <invoke_xmethod>: Remove.
12607         * extension.c (new_xmethod_worker): Remove.
12608         (clone_xmethod_worker): Remove.
12609         (get_matching_xmethod_workers): Return void, pass std::vector by
12610         pointer.
12611         (get_xmethod_arg_types): Rename to...
12612         (xmethod_worker::get_arg_types): ... this, and adjust.
12613         (get_xmethod_result_type): Rename to...
12614         (xmethod_worker::get_result_type): ... this, and adjust.
12615         (invoke_xmethod): Remove.
12616         (free_xmethod_worker): Remove.
12617         (free_xmethod_worker_vec): Remove.
12618         * extension.h (enum ext_lang_rc): Move here from
12619         extension-priv.h.
12620         (struct xmethod_worker): Add constructor and destructor.
12621         <data>: Remove.
12622         <value>: Remove.
12623         <invoke, clone, do_get_result_type, do_get_arg_types>: New
12624         virtual pure methods.
12625         <get_arg_types, get_result_type>: New methods.
12626         (xmethod_worker_ptr): Remove typedef.
12627         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
12628         (xmethod_worker_vec): Remove typedef.
12629         (xmethod_worker_up): New typedef.
12630         (invoke_xmethod): Remove.
12631         (clone_xmethod_worker): Remove.
12632         (free_xmethod_worker): Remove.
12633         (free_xmethod_worker_vec): Remove.
12634         (get_xmethod_arg_types): Remove.
12635         (get_xmethod_result_type): Remove.
12636         * valops.c (find_method_list): Use std::vector, don't use
12637         intermediate vector.
12638         (value_find_oload_method_list): Use std::vector.
12639         (find_overload_match): Use std::vector.
12640         (find_oload_champ): Use std::vector.
12641         * value.c (value_free): Use operator delete.
12642         (value_of_xmethod): Rename to...
12643         (value_from_xmethod): ... this.  Don't assign
12644         xmethod_worker::value, take rvalue-reference.
12645         (result_type_of_xmethod): Adjust.
12646         (call_xmethod): Adjust.
12647         * value.h: Include extension.h.
12648         (struct xmethod_worker): Don't forward-declare.
12649         (value_of_xmethod): Rename to...
12650         (value_from_xmethod): ... this, take rvalue-reference.
12651         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
12652         (struct python_xmethod_worker): ... this, add constructor and
12653         destructor.
12654         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
12655         (gdbpy_free_xmethod_worker_data): Rename to...
12656         (python_xmethod_worker::~python_xmethod_worker): ... this and
12657         adjust.
12658         (gdbpy_clone_xmethod_worker_data): Rename to...
12659         (python_xmethod_worker::clone): ... this and adjust.
12660         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
12661         temporary vector.
12662         (gdbpy_get_xmethod_arg_types): Rename to...
12663         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
12664         (gdbpy_get_xmethod_result_type): Rename to...
12665         (python_xmethod_worker::do_get_result_type): ... this and
12666         adjust.
12667         (gdbpy_invoke_xmethod): Rename to...
12668         (python_xmethod_worker::invoke): ... this and adjust.
12669         (new_python_xmethod_worker): Rename to...
12670         (python_xmethod_worker::python_xmethod_worker): ... this and
12671         adjust.
12672         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
12673         Remove.
12674         (gdbpy_free_xmethod_worker_data): Remove.
12675         (gdbpy_get_matching_xmethod_workers): Use std::vector.
12676         (gdbpy_get_xmethod_arg_types): Remove.
12677         (gdbpy_get_xmethod_result_type): Remove.
12678         (gdbpy_invoke_xmethod): Remove.
12679         * python/python.c (python_extension_ops): Remove obsolete
12680         callbacks.
12681
12682 2018-01-05  Pedro Alves  <palves@redhat.com>
12683
12684         PR gdb/18653
12685         * common/signals-state-save-restore.c
12686         (save_original_signals_state): New parameter 'quiet'.  Warn if we
12687         find a custom handler preinstalled, instead of internal erroring.
12688         But only warn if !quiet.
12689         * common/signals-state-save-restore.h
12690         (save_original_signals_state): New parameter 'quiet'.
12691         * main.c (captured_main_1): Move save_original_signals_state call
12692         after option handling, and pass QUIET.
12693
12694 2018-01-05  Pedro Alves  <palves@redhat.com>
12695
12696         * spu-tdep.c (spu_catch_start): Pass
12697         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
12698
12699 2018-01-05  Pedro Alves  <palves@redhat.com>
12700
12701         PR gdb/22670
12702         * ada-lang.c (literal_symbol_name_matcher): New function.
12703         (ada_get_symbol_name_matcher): Use it for
12704         symbol_name_match_type::SEARCH_NAME.
12705         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
12706         it down instead of assuming symbol_name_match_type::FULL.
12707         * block.h (block_lookup_symbol): New parameter 'match_type'.
12708         * c-valprint.c (print_unpacked_pointer): Use
12709         lookup_symbol_search_name instead of lookup_symbol.
12710         * compile/compile-object-load.c (get_out_value_type): Pass down
12711         symbol_name_match_type::SEARCH_NAME.
12712         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
12713         symbol_name_match_type::FULL.
12714         * cp-support.c (cp_get_symbol_name_matcher): Handle
12715         symbol_name_match_type::SEARCH_NAME.
12716         * infrun.c (insert_exception_resume_breakpoint): Use
12717         lookup_symbol_search_name.
12718         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
12719         * psymtab.c (maintenance_check_psymtabs): Use
12720         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
12721         * stack.c (print_frame_args): Use lookup_symbol_search_name and
12722         SYMBOL_SEARCH_NAME.
12723         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
12724         if symbol_name_match_type::SEARCH_NAME.
12725         (lookup_symbol_in_language): Pass down
12726         symbol_name_match_type::FULL.
12727         (lookup_symbol_search_name): New.
12728         (lookup_language_this): Pass down
12729         symbol_name_match_type::SEARCH_NAME.
12730         (lookup_symbol_aux, lookup_local_symbol): New parameter
12731         'match_type'.  Pass it down.
12732         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
12733         (lookup_symbol_search_name): New declaration.
12734         (lookup_symbol_in_block): New 'match_type' parameter.
12735
12736 2018-01-05  Pedro Alves  <palves@redhat.com>
12737
12738         PR gdb/22670
12739         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
12740         ada_lookup_symbol.
12741         (ada_lookup_symbol): Reimplement in terms of
12742         ada_lookup_symbol_list, bits factored out from
12743         ada_lookup_encoded_symbol.
12744
12745 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12746
12747         * ada-exp.y (write_object_renaming): When subscripting an array
12748         using a symbol as the index, pass the block in call to
12749         ada_lookup_encoded_symbol when looking that symbol up.
12750
12751 2018-01-05  Jerome Guitton  <guitton@adacore.com>
12752
12753         * ada-lang.c (ada_array_length): Use ada_index_type instead of
12754         TYPE_INDEX_TYPE.
12755
12756 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12757
12758         * ada-lang.c (ada_to_fixed_value_create): Add handling of
12759         the case where VALUE_LVAL (val0) is not lval_memory.
12760
12761 2018-01-05  Xavier Roirand  <roirand@adacore.com>
12762
12763         * ada-valprint.c (print_optional_low_bound): Handle
12764         character-indexed array printing like boolean-indexed array
12765         printing.
12766
12767 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12768
12769         * NEWS: Create a new section for the next release branch.
12770         Rename the section of the current branch, now that it has
12771         been cut.
12772
12773 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
12774
12775         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
12776         * version.in: Bump version to 8.1.50.DATE-git.
12777
12778 2018-01-03  Xavier Roirand  <roirand@adacore.com>
12779
12780         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
12781         Add field.
12782         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
12783         Add field.
12784         (default_exception_support_info) <catch_handlers_sym>: Add field.
12785         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
12786         (ada_exception_name_addr_1): Add "catch handlers" handling.
12787         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
12788         Update all callers.
12789         (create_excep_cond_exprs) <ex>: Add parameter.
12790         (re_set_exception): Update create_excep_cond_exprs call.
12791         (print_it_exception, print_one_exception, print_mention_exception)
12792         (print_recreate_exception): Add "catch handler" handling.
12793         (allocate_location_catch_handlers, re_set_catch_handlers)
12794         (check_status_catch_handlers, print_it_catch_handlers)
12795         (print_one_catch_handlers, print_mention_catch_handlers)
12796         (print_recreate_catch_handlers): New function.
12797         (catch_handlers_breakpoint_ops): New variable.
12798         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
12799         Add parameter.  Add "catch handler" handling.
12800         (ada_exception_sym_name, ada_exception_breakpoint_ops):
12801         Add "catch handler" handling.
12802         (ada_exception_catchpoint_cond_string): Add "catch handler"
12803         handling.
12804         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
12805         call.
12806         (catch_ada_handlers_command): New function.
12807         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
12808         operations structure.
12809         (_initialize_ada_language): Add "catch handlers" command entry.
12810         * NEWS: Document "catch handlers" feature.
12811
12812 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12813
12814         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
12815         account when creating the array type of the slice.
12816         (ada_value_slice): Likewise.
12817
12818 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12819
12820         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
12821         New enum value.
12822         (create_array_type_with_stride): Add byte_stride_prop parameter.
12823         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
12824         New parameter.  Update all callers in this file.
12825         (array_type_has_dynamic_stride): New function.
12826         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
12827         of arrays with dynamic byte strides.
12828         * dwarf2read.c (read_array_type): Add support for dynamic
12829         DW_AT_byte_stride attributes.
12830
12831 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
12832
12833         * dwarf2read.c (read_unspecified_type): Treat
12834         DW_TAG_enumeration_type DIEs from Ada units as stubs.
12835
12836 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12837
12838         Update copyright year range in all GDB files.
12839
12840 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12841
12842         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
12843         and gdb/testsuite/gdb.base/step-line.c.
12844
12845 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12846
12847         * copyright.py (main): Dump the contents of
12848         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
12849         even if BY_HAND is empty.
12850
12851 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12852
12853         * top.c (print_gdb_version): Update Copyright year in version
12854         message.
12855
12856 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
12857
12858         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
12859
12860 For older changes see ChangeLog-2017.
12861 \f
12862 Local Variables:
12863 mode: change-log
12864 left-margin: 8
12865 fill-column: 74
12866 version-control: never
12867 coding: utf-8
12868 End: