Aarch64 SVE VG is Vector Granule
[external/binutils.git] / gdb / ChangeLog
1 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2
3         * arch/aarch64.h (aarch64_regnum): Update comment.
4
5 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
6
7         * NEWS: Add SVE to 8.2 section.
8
9 2018-08-21  Pedro Alves  <palves@redhat.com>
10
11         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
12         out from gdbscm_parse_function_args.
13         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
14         gdbscm_parse_function_args_1.
15
16 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
17
18         PR gdb/17816
19         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
20         operator.
21
22 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
23
24         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
25
26 2018-08-19  Michael Spang  <spang@google.com>
27
28         PR gdb/11786
29         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
30         for PT_TLS segments.
31
32 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
33
34         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
35         dwarf_variable_value.
36         * dwarf2-frame.c (class dwarf_expr_executor):
37         Add override for dwarf_variable_value.
38         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
39         (class symbol_needs_eval_context): Likewise.
40         (indirect_synthetic_pointer): Add forward declaration.
41         (sect_variable_value): New function.
42         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
43         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
44         for DW_OP_GNU_variable_value.
45
46 2018-08-16  Tom Tromey  <tom@tromey.com>
47
48         * top.c (read_command_file): Update.
49         (command_line_input): Remove "repeat" argument.
50         * ada-lang.c (get_selections): Update.
51         * linespec.c (decode_line_2): Update.
52         * defs.h (command_line_input): Remove argument.
53         * cli/cli-script.c (read_next_line): Update.
54         * python/py-gdb-readline.c: Update.
55
56 2018-08-17  Tom Tromey  <tom@tromey.com>
57
58         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
59         command_line_input.
60
61 2018-08-15  Tom Tromey  <tom@tromey.com>
62
63         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
64
65 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
66
67         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
68         If used, use find_pc_partial_function to find address range
69         to disassemble.
70         * mi/mi-main.c (mi_cmd_list_features): Report
71         "data-disassemble-a-option" feature.
72         * NEWS: Mention new -data-disassemble option -a.
73
74 2018-08-13  Tom Tromey  <tom@tromey.com>
75
76         * common/common-defs.h (_FORTIFY_SOURCE): Define.
77
78 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
79
80         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
81         (aarch64_linux_collect_sve_regset): Likewise.
82         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
83         * regcache.h (regcache_map_entry_size): New function.
84
85 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
86
87         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
88         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
89         (SVE_HEADER_VL_LENGTH): Likewise.
90         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
91         (SVE_HEADER_FLAGS_LENGTH): Likewise.
92         (SVE_HEADER_RESERVED_LENGTH): Likewise.
93         (SVE_HEADER_SIZE_OFFSET): Likewise.
94         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
95         (SVE_HEADER_VL_OFFSET): Likewise.
96         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
97         (SVE_HEADER_FLAGS_OFFSET): Likewise.
98         (SVE_HEADER_RESERVED_OFFSET): Likewise.
99         (SVE_HEADER_SIZE): Likewise.
100         (aarch64_linux_core_read_vq): Add function.
101         (aarch64_linux_core_read_description): Check for SVE section.
102
103 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
104
105         * aarch64-fbsd-tdep.c
106         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
107         collect_size.
108         * aarch64-linux-tdep.c
109         (aarch64_linux_iterate_over_regset_sections): Likewise.
110         * alpha-linux-tdep.c
111         (alpha_linux_iterate_over_regset_sections):
112         * alpha-nbsd-tdep.c
113         (alphanbsd_iterate_over_regset_sections): Likewise.
114         * amd64-fbsd-tdep.c
115         (amd64fbsd_iterate_over_regset_sections): Likewise.
116         * amd64-linux-tdep.c
117         (amd64_linux_iterate_over_regset_sections): Likewise.
118         * arm-bsd-tdep.c
119         (armbsd_iterate_over_regset_sections): Likewise.
120         * arm-fbsd-tdep.c
121         (arm_fbsd_iterate_over_regset_sections): Likewise.
122         * arm-linux-tdep.c
123         (arm_linux_iterate_over_regset_sections): Likewise.
124         * corelow.c (get_core_registers_cb): Likewise.
125         (core_target::fetch_registers): Likewise.
126         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
127         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
128         * gdbarch.h (void): Regenerate.
129         * gdbarch.sh: Add supply_size and collect_size.
130         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
131         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
132         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
133         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
134         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
135         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
136         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
137         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
138         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
139         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
140         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
141         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
142         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
143         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
144         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
145         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
146         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
147         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
148         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
149         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
150         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
151         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
152         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
153         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
154         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
155         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
156         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
157         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
158         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
159         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
160
161 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
162
163         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
164         with string_printf.
165
166 2018-08-10  Keith Seitz  <keiths@redhat.com>
167
168         * compile/compile-c-support.c (add_code_header, add_code_footer):
169         Move into policy class.
170         (c_push_user_expression, pop_user_expression_nop)
171         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
172         (compile_program): New host class.
173         (c_compile_program): New typedef.
174         (c_compute_porgram): Use c_compile_program.
175
176 2018-08-10  Keith Seitz  <keiths@redhat.com>
177
178         * compile/compile-internal.h (compile_instance::~compile_instance):
179         Remove calls to htab_delete.
180         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
181         * compile.c (compile_instance::compile_instance): Initialize
182         htab unique pointers.
183         (compile_instance::get_cached_type, compile_instance::insert_type)
184         (compile_instance::error_symbol_once): Update for unique_ptr.
185
186 2018-08-10  Keith Seitz  <keiths@redhat.com>
187
188         * compile/compile-c-symbols.c (struct symbol_error)
189         (hash_symbol_error, eq_symbol_error, del_symbol_error)
190         (compile_instance::insert_symbol_error)
191         (compile_instance::error_symbol_once): Move to ...
192         * compile/compile.c: ... here.
193
194 2018-08-10  Keith Seitz  <keiths@redhat.com>
195
196         * compile/compile-c-support.c (c_get_compile_context): Use `new'
197         instead of `new_compile_instance'.
198         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
199         Update description.
200         If the symbol error map is not initialized, create it.
201         (generate_c_for_for_one_symbol): Do not check/initialize
202         the symbol error map.
203         * compile/compile-c-types.c (compile_c_instance): Make a class.
204         Update all callers.
205         (compile_instance::compile_instance): Initialize the type cache.
206         (get_cached_type): New function.
207         (insert_type): Update description.
208         (compile_c_instance::m_default_cflags): Define.
209         (convert_type): Update description.  Use get_cached_type.
210         (delete_instance): Moved to destructor.
211         (new_compile_instance): Moved to constructor.
212         * compile/compile-c.h (compile_c_instance): Make class inheriting
213         from compile_instance.
214         <base>: Remove field.
215         <type_map, symbol_err_map>: Move to base class.
216         <c_plugin>: Rename to `m_plugin' and remove pointer type.
217         * compile/compile-internal.h (compile_instance): Make class.
218         <type_map_t, symbol_err_map_t>: Define.
219         <fe>: Rename to `m_gcc_fe'.
220         <scope, block, gcc_target_options>: Add `m_' prefix.
221         <m_type_map, m_symbol_err_map>: New fields, moved from
222         compile_c_instance.
223         <destroy>: Remove.
224         (convert_type, new_compile_instance): Remove.
225         * compile/compile.c (cleanup_compile_instance): Remove.
226         (compile_to_object): Use unique_ptr to eliminate cleanups.
227         (compile_instance::set_print_callback, compile_instance::version)
228         (compile_instance::set_verbose)
229         (compile_instance::set_driver_filename)
230         (compile_instance::set_triplet_regexp)
231         (compile_instance::set_arguments)
232         (compile_instance::set_source_file)
233         (compile_instance::compile): Define.
234
235 2018-08-10  Keith Seitz  <keiths@redhat.com>
236
237         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
238         * compile/compile-c-types.c: Define GCC_METHODN macros and include
239         gcc-c-fe.def to define C plugin.
240         (delete_instance): Delete `c_plugin'.
241         (new_compile_instance): Initialize `c_plugin'.
242         * compile/compile-c.h: Include gcc_c_plugin.h.
243         (struct compile_c_instance) <c_plugin>: New member.
244         * gcc-c-plugin.h: New file.
245         Update all callers with API change.
246
247 2018-08-10  Keith Seitz  <keiths@redhat.com>
248
249         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
250         (HFILES_NO_SRCDIR): ... to here.
251         Add compile-internal.h and compile-c.h.
252         * compile/compile-c-support.c: Include compile-c.h.
253         * compile/compile-c-symbols.c: Include compile-c.h.
254         (generate_c_for_variable_locations): Update comment.
255         * compile/compile-c-types.c: Include compile-c.h.
256         * compile/compile-c.h: New file -- moved C language declarations
257         from other files here.
258         * compile/compile-internal.h: Do not include hashtab.h or
259         common/enum-flags.h.
260         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
261         (gcc_convert_symbol, gcc_symbol_address)
262         (generate_c_for_variable_locations, c_get_mode_for_size)
263         (c_get_range_decl_name): Definitions moved to compile-c.h.
264         * compile/compile-loc2c.c: Include compile-c.h.
265
266 2018-08-10  Keith Seitz  <keiths@redhat.com>
267
268         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
269         (c_symbol_substitution_name): ... this.
270         Update all callers.
271
272 2018-08-10  Keith Seitz  <keiths@redhat.com>
273
274         * compile/compile-c-support.c (c_compute_program): Use
275         unique_xmalloc_ptr to eliminate cleanup.
276         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
277         Return a unique_xmalloc_ptr and eliminate cleanup.
278         * compile/compile-internal.h (generate_c_for_variable_locations):
279         Return unique_xmalloc_ptr and update description.
280
281 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
282
283         * corelow.c (core_target::get_core_register_section): Rename
284         min_size to section_min_size.
285
286 2018-08-09  Jim Wilson  <jimw@sifive.com>
287
288         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
289         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
290         * NEWS: Mention new GNU/Linux RISC-V target.
291         * configure.host: Add riscv*-*-linux*.
292         * configure.nat: Add riscv*.
293         * configure.tgt: Add riscv*-*-linux*.
294         * riscv-linux-nat.c: New file.
295         * riscv-linux-tdep.c: New file.
296
297 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
298
299         * infrun.c (resume): Make static, add forward declaration.
300         (proceed): Update header comment.
301         * infrun.h (resume): Delete declaration.
302
303 2018-08-09  Tom Tromey  <tom@tromey.com>
304
305         * riscv-tdep.h: Minor formatting fixes.
306
307 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
308
309         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
310         * dwarf-index-cache.c (create_dir_and_check): Likewise.
311         (test_mkdir_recursive): Likewise.
312         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
313
314 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
315
316         * valarith.c (value_subscripted_rvalue): If an array is not in
317         memory, and we don't know the upper bound, then we can't know that
318         the requested element exists or not.
319
320 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
321
322         * target.c (str_comma_list_concat_elem): Fix typo in comment.
323         (target_options_to_string): Add comment.
324
325 2018-08-08  Tom Tromey  <tom@tromey.com>
326
327         * unittests/scoped_mmap-selftests.c: Check result of "write".
328
329 2018-08-08  Jim Wilson  <jimw@sifive.com>
330
331         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
332         (decode_register_index_short): New.
333         (decode_j_type_insn, decode_cj_type_insn): New.
334         (decode_b_type_insn, decode_cb_type_insn): New.
335         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
336         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
337         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
338         is_c_sw_insn instead of is_sw_insn.
339         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
340         (riscv_software_single_step): New.
341         * riscv-tdep.h (riscv_software_single_step): Declare.
342
343         * riscv-tdep.c (riscv_isa_xlen): Drop static.
344         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
345
346 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
347
348         PR gdb/18050:
349         * target.c (dispose_inferior): Don't dispose of inferiors that are
350         already killed.
351
352 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
353
354         * remote.c (remote_target::download_tracepoint): Change char* to
355         const char*.
356
357 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
358
359         * target.h (target_options_to_string): Return an std::string.
360         * target.c (str_comma_list_concat_elem): Return void, use
361         std::string.
362         (do_option): Likewise.
363         (target_options_to_string): Return an std::string.
364         * linux-nat.c (linux_nat_target::wait): Adjust.
365         * target-debug.h (target_debug_print_options): Adjust.
366
367 2018-08-07  Tom Tromey  <tom@tromey.com>
368
369         * Makefile.in (CPPFLAGS): New variable.
370         (INTERNAL_CPPFLAGS): Use it.
371
372 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
373
374         * NEWS: Mention the index cache.
375
376 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
377
378         * common/pathstuff.h (get_standard_cache_dir): New.
379         * common/pathstuff.c (get_standard_cache_dir): New.
380         * build-id.h (build_id_to_string): New.
381         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
382         DEBUG_STR_SUFFIX): Move to here.
383         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
384         DEBUG_STR_SUFFIX): Move from there.
385         (write_psymtabs_to_index): Make non-static, add basename
386         parameter.  Write to temporary files, rename when done.
387         (save_gdb_index_command): Adjust call to
388         write_psymtabs_to_index.
389         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
390         field.
391         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
392         (get_gdb_index_contents_from_cache): New.
393         (get_gdb_index_contents_from_cache_dwz): New.
394         (dwarf2_initialize_objfile): Read index from cache.
395         (dwarf2_build_psymtabs): Save to index.
396         * dwarf-index-cache.h: New file.
397         * dwarf-index-cache.c: New file.
398         * dwarf-index-write.h: New file.
399
400 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
401
402         * gnulib/aclocal.m4: Re-generate.
403         * gnulib/config.in: Re-generate.
404         * gnulib/configure: Re-generate.
405         * gnulib/import/Makefile.am: Re-generate.
406         * gnulib/import/Makefile.in: Re-generate.
407         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
408         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
409         * gnulib/import/m4/mkdir.m4: New file.
410         * gnulib/import/mkdir.c: New file.
411         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
412         module.
413
414 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
415
416         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
417         * common/scoped_mmap.c: New file.
418         * common/scoped_mmap.h (destroy): New method.
419         (~scoped_mmap, reset): Use destroy.
420         (scoped_mmap): New move constructor.
421         (mmap_file): New declaration.
422         * unittests/scoped_mmap-selftests.c (test_normal,
423         test_invalid_filename, run_tests): New functions.
424         (_initialize_scoped_mmap_selftests): Register selftest.
425
426 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
427
428         * dwarf2read.c (read_gdb_index_from_section): Rename to...
429         (read_gdb_index_from_buffer): ... this.  Remove section
430         parameter, add buffer parameter.
431         (get_gdb_index_contents_ftype,
432         get_gdb_index_contents_dwz_ftype): New typedefs.
433         (dwarf2_read_gdb_index): Add callback parameters to get the
434         index contents.
435         (get_gdb_index_contents_from_section): New.
436         (dwarf2_initialize_objfile): Update call to
437         dwarf2_read_gdb_index.
438
439 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
440
441         * common/filestuff.h (gdb_fopen_cloexec): New overload.
442         (gdb_open_cloexec): Likewise.
443         * nat/linux-osdata.c (command_from_pid): Use string_printf.
444         (commandline_from_pid): Likewise.
445         (linux_xfer_osdata_threads): Likewise.
446         (linux_xfer_osdata_fds): Likewise.
447         * ada-lang.c (is_package_name): Likewise.
448         * auxv.c (procfs_xfer_auxv): Likewise.
449         * breakpoint.c (print_one_breakpoint_location): Use
450         uiout::field_fmt.
451         (print_one_catch_solib): Use string_printf.
452         * coff-pe-read.c (add_pe_exported_sym): Likewise.
453         (add_pe_forwarded_sym): Likewise.
454         * dwarf2read.c (create_type_unit_group): Likewise.
455         (build_error_marker_type): Likewise.
456         * infcall.c (get_function_name): Likewise.
457         * valprint.c (print_converted_chars_to_obstack): Likewise.
458         * xtensa-tdep.c (xtensa_register_type): Likewise.
459
460 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
461
462         * remote.c (remote_target::download_tracepoint): Fix format
463         string errors.
464
465 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
466
467         * tracefile.c: Include common/byte-vector.h.
468         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
469         with trace_regblock_size if needed.  Update uses of buf.
470
471 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
472
473         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
474         std::vector<unsigned char>.
475         * tracepoint.c (collection_list::collection_list): Remove
476         m_regs_mask initializer from initializer list.  Resize
477         m_regs_mask using the largest remote register number.
478         (collection_list::add_remote_register): Remove size check on
479         m_regs_mask.  Use at to access element.
480         (collection_list::stringify): Change type of temp_buf to
481         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
482         stringify the register mask.  Use pack_hex_byte for the register
483         mask.
484
485 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
486
487         * tracepoint.h (class collection_list) <add_register>: Remove.
488         <add_remote_register, add_ax_registers, add_local_register>:
489         Declare.
490         <add_memrange>: Add scope parameter.
491         * tracepoint.c (encode_actions_1): Likewise.
492         (collection_list::add_register): Rename to ...
493         (collection_list::add_remote_register): ... this.  Update
494         comment.
495         (collection_list::add_ax_registers, add_local_register): New
496         methods.
497         (collection_list::add_memrange): Add scope parameter.  Call
498         add_local_register instead of add_register.
499         (finalize_tracepoint_aexpr): New function.
500         (collection_list::collect_symbol): Update calls to add_memrange.
501         Call add_local_register instead of add_register.  Call
502         add_ax_registers.  Call finalize_tracepoint_aexpr.
503         (encode_actions_1): Get remote regnos for $reg action.  Call
504         add_remote_register, add_ax_registers, and add_local_register.
505         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
506         (validate_actionline): Call finalize_tracepoint_aexpr.
507
508 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
509
510         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
511         Replace array buf with gdb::char_vector buf, of size
512         get_remote_packet_size ().  Replace references to buf and
513         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
514         and xsnprintf with snprintf.  Raise errors if the buffer is too
515         small.
516
517 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
518
519         * remote.c (remote_target::download_tracepoint): Fix the has_more
520         predicate in the QTDP action list iteration.
521
522 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
523
524         * remote.c (remote_target::download_tracepoint): Fix indentation
525         in for block.
526
527 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
528
529         * proc-api.c (_initialize_proc_api): Remove c, unused.
530         * procfs.c (procfs_init_inferior): Remove signals, unused.
531         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
532         unused.
533
534 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
535             Andrew Burgess  <andrew.burgess@embecosm.com>
536
537         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
538         'W_STOPCODE (0)' as this could be ambiguous.
539
540 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
541
542         * ser-tcp.c (net_open): Fix thinko when deciding whether to
543         disable TCP's Nagle algorithm (use "ai_protocol" instead of
544         "ai_socktype").
545
546 2018-08-02  Tom Tromey  <tom@tromey.com>
547
548         PR symtab/16842.
549         * dwarf2read.c (read_func_scope): Set symtab on template parameter
550         symbols.
551         (process_structure_scope): Likewise.
552
553 2018-08-02  Xavier Roirand  <roirand@adacore.com>
554
555         PR gdb/22629:
556         * darwin-nat.c (darwin_kill_inferior): Fix handling of
557         kill inferior.
558
559 2018-08-02  Tom Tromey  <tom@tromey.com>
560
561         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
562         (darwin_suspend_inferior, darwin_resume_inferior)
563         (darwin_decode_notify_message, darwin_resume_inferior_threads)
564         (darwin_check_new_threads): Check result of get_darwin_inferior.
565
566 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
567
568         GDB 8.1.1 released.
569
570 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
571
572         * varobj.c (varobj_get_path_expr_parent): Report an error if
573         parent is a dynamic varobj.
574
575 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
576
577         * gnulib/aclocal.m4: Re-generate.
578         * gnulib/config.in: Re-generate.
579         * gnulib/configure: Re-generate.
580         * gnulib/import/Makefile.in: Re-generate.
581         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
582         * gnulib/import/m4/onceonly.m4: Re-generate.
583
584 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
585
586         * target-descriptions.c (struct xml_test_tdesc): New.
587         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
588         (record_xml_tdesc): Update.
589         (maintenance_check_xml_descriptions): Update.
590         * target-descriptions.h (record_xml_tdesc): Update comment.
591
592 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
593
594         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
595         checking array bounds are defined.
596
597 2018-07-30  Tom Tromey  <tom@tromey.com>
598
599         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
600         irreflexivity violation.
601
602 2018-07-30  Tom Tromey  <tom@tromey.com>
603
604         * cli/cli-decode.c (lookup_cmd): Remove lint code.
605         * value.c (unpack_long): Remove lint code.
606         * valops.c (value_ind): Remove lint code.
607         * valarith.c (value_x_binop, value_x_unop, value_equal)
608         (value_pos): Remove lint code.
609
610 2018-07-28  Tom de Vries  <tdevries@suse.de>
611
612         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
613         with undefined upper bound as <optimized out>.
614
615 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
616
617         * gcore.in: Rename variable "name" to "prefix".  Expand
618         "usage" text.
619
620 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
621
622         * windows-nat.c (windows_nat_target::create_inferior): Update to
623         call close() in global namespace.
624
625 2018-07-26  Tom Tromey  <tom@tromey.com>
626
627         * dwarf-index-write.c (add_address_entry): Don't add objfile
628         offsets.
629         * dbxread.c (find_stab_function): Rename from
630         find_stab_function_addr.  Return a bound_minimal_symbol.
631         (read_dbx_symtab): Use raw_text_low, raw_text_high.
632         Don't add objfile offsets.
633         (end_psymtab): Use raw_text_low, raw_text_high,
634         MSYMBOL_VALUE_RAW_ADDRESS.
635         (read_ofile_symtab): Update.
636         (process_one_symbol): Update.
637         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
638         offsets.
639         (dw2_relocate): Remove.
640         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
641         searching addrmap.
642         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
643         Update.
644         (process_psymtab_comp_unit_reader, add_partial_symbol)
645         (add_partial_subprogram, dwarf2_ranges_read): Update.
646         (load_partial_dies): Update.
647         (add_address_entry): Don't add objfile offsets.
648         (dwarf2_build_include_psymtabs): Update.
649         (create_addrmap_from_aranges): Don't add objfile offsets.
650         (dw2_find_pc_sect_compunit_symtab): Update.
651         * mdebugread.c (parse_symbol): Don't add objfile offsets.
652         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
653         Update.
654         (parse_partial_symbols): Don't add objfile offsets.  Use
655         raw_text_low, raw_text_high.  Update.
656         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
657         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
658         or call 'relocate' quick function.  Clear psymbol_map.
659         * psympriv.h (struct partial_symbol) <address>: Add section
660         offset.
661         <set_unrelocated_address>: Rename from set_address.
662         <raw_text_low, raw_text_high>: New methods.
663         <text_low, text_high>: Add objfile parameter.
664         (add_psymbol_to_bcache): Add 'section' parameter.  Call
665         set_unrelocated_address.
666         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
667         (find_pc_psymbol): Update.
668         (fixup_psymbol_section, relocate_psymtabs): Remove.
669         (dump_psymtab, psym_functions): Update.
670         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
671         parameter.
672         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
673         (start_psymtab_common): Update.
674         * symfile-debug.c (debug_qf_relocate): Remove.
675         (debug_sym_quick_functions): Update.
676         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
677         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
678         Update.
679
680 2018-07-26  Tom Tromey  <tromey@redhat.com>
681
682         * dbxread.c (end_psymtab): Use text_high_valid and
683         text_low_valid.
684         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
685         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
686         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
687         Update comment.
688         <text_low_valid, text_high_valid>: New fields.
689         <set_text_low, set_text_high>: Update.
690         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
691
692 2018-07-26  Tom Tromey  <tom@tromey.com>
693
694         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
695         Update.
696         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
697         textlow and texthigh fields.
698         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
699         Update.
700         * mdebugread.c (parse_lines, parse_partial_symbols)
701         (psymtab_to_symtab_1): Update.
702         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
703         Rename fields.  Update comment.  Now private.
704         <text_low, text_high, set_text_low, set_text_high>: New methods.
705         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
706         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
707         (start_psymtab_common, maintenance_info_psymtabs)
708         (maintenance_check_psymtabs): Update.
709         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
710         texthigh fields.
711         (scan_xcoff_symtab): Update.
712
713 2018-07-26  Tom Tromey  <tromey@redhat.com>
714
715         * psympriv.h (struct partial_symbol) <unrelocated_address,
716         address, set_address>: New methods.
717         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
718         (fixup_psymbol_section, relocate_psymtabs): Update.
719         (print_partial_symbols): Add 'objfile' parameter.  Update.
720         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
721         Update.
722
723 2018-07-26  Tom Tromey  <tom@tromey.com>
724
725         * dwarf-index-write.c (write_psymbols, debug_names::insert)
726         (debug_names::write_psymbols): Update.
727         * psympriv.h (struct partial_symbol): Derive from
728         general_symbol_info.
729         <obj_section>: New method.
730         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
731         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
732         (find_pc_sect_psymbol, fixup_psymbol_section)
733         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
734         (print_partial_symbols, recursively_search_psymtabs)
735         (compare_psymbols, psymbol_hash, psymbol_compare)
736         (add_psymbol_to_bcache, maintenance_check_psymtabs)
737         (psymbol_name_matches, psym_fill_psymbol_map): Update.
738
739 2018-07-26  Tom Tromey  <tromey@redhat.com>
740
741         * dbxread.c (end_psymtab): Remove dead code.
742
743 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
744
745         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
746         DWARF unwinders are disabled.
747         * dwarf2-frame.c: Add dwarf2read.h include.
748         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
749         disabled.
750         (dwarf2_frame_unwinders_enabled_p): Define.
751         (show_dwarf_unwinders_enabled_p): New function.
752         (_initialize_dwarf2_frame): Register switch to control DWARF
753         unwinder use.
754         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
755         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
756         (show_dwarf_cmdlist): Remove static keyword.
757         * dwarf2read.h (set_dwarf_cmdlist): Declare.
758         (show_dwarf_cmdlist): Declare.
759         * NEWS: Document new feature.
760
761 2018-07-26  Tom de Vries  <tdevries@suse.de>
762
763         PR breakpoints/23366
764         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
765
766 2018-07-26  Tom de Vries  <tdevries@suse.de>
767
768         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
769         DW_AT_count can't be translated to a dynamic prop.
770
771 2018-07-25  Tom de Vries  <tdevries@suse.de>
772
773         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
774         try/catch.
775
776 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
777
778         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
779
780 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
781
782         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
783
784 2018-07-24  Keith Seitz  <keiths@redhat.comt
785
786         PR symtab/23010
787         * dwarf2read.c (dw2_add_symbol_to_list): New function.
788         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
789         instead of add_symbol_to_list.
790         (read_file_scope): Call prepare_one_comp_unit before reading
791         any other DIEs.
792
793 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
794
795         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
796
797 2018-07-24  Tom Tromey  <tom@tromey.com>
798
799         * utils.c (malloc, realloc, free): Don't declare.
800         * configure, config.in: Rebuild.
801         * configure.ac: Don't check for declarations of free, malloc, or
802         realloc.
803
804 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
805
806         * aarch64-linux-nat.c
807         (aarch64_linux_nat_target::stopped_data_address): Remove unused
808         variable.
809         * arm-linux-nat.c (fetch_regs): Likewise.
810         (store_regs): Likewise.
811         (fetch_vfp_regs): Likewise.
812         (store_vfp_regs): Likewise.
813         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
814         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
815         (arm_linux_nat_target::insert_watchpoint): Likewise.
816         (arm_linux_nat_target::remove_watchpoint): Likewise.
817         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
818         Likewise.
819         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
820         Likewise.
821         * ppc-linux-nat.c (fetch_register): Likewise.
822         (fetch_all_gp_regs): Likewise.
823         (fetch_ppc_registers): Likewise.
824         (store_all_gp_regs): Likewise.
825         (store_ppc_registers): Likewise.
826         (hwdebug_insert_point): Likewise.
827         (can_use_watchpoint_cond_accel): Likewise.
828         * remote-sim.c (gdb_os_write_stdout): Likewise.
829
830 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
831             Tom Tromey  <tom@tromey.com>
832
833         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
834         test for it.
835         * configure: Rebuild.
836
837 2018-07-22  Tom Tromey  <tom@tromey.com>
838
839         * regformats/regdat.sh: Define xmltarget_${name} inside
840         #ifndef IN_PROCESS_AGENT.
841
842 2018-07-22  Tom Tromey  <tom@tromey.com>
843
844         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
845
846 2018-07-22  Tom Tromey  <tom@tromey.com>
847
848         * symfile.c (reread_symbols): Notify iter, not objfile.
849
850 2018-07-22  Tom Tromey  <tom@tromey.com>
851
852         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
853         Use arch_ops.
854         (ravenscar_thread_target::prepare_to_store): Likewise.
855
856 2018-07-22  Tom Tromey  <tom@tromey.com>
857
858         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
859         unused variable.  Call value_fetch_lazy when needed.
860         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
861         Remove unused variable.  Call value_fetch_lazy when needed.
862
863 2018-07-22  Tom Tromey  <tom@tromey.com>
864
865         * m32c-tdep.c (mark_dma): Return void.
866         (make_regs): Remove unused declarations.
867
868 2018-07-22  Tom Tromey  <tom@tromey.com>
869
870         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
871         cmdscm_get_valid_command_smob_arg_unsafe for effect.
872         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
873         bkscm_get_valid_block_smob_arg_unsafe for effect.
874
875 2018-07-22  Tom Tromey  <tom@tromey.com>
876
877         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
878         value_type.
879
880 2018-07-22  Tom Tromey  <tom@tromey.com>
881
882         * windows-nat.c (saved_context): Conditionally define.
883         * remote.c (remote_target::remote_btrace_maybe_reopen):
884         Conditionally declare "warned".
885         * inflow.c (sigquit_ours): Conditionally define.
886         (new_tty): Move "tty" declaration inside #if.
887         * guile/guile.c (guile_datadir): Conditionally define.
888         * charset.c (set_be_le_names): Move some declarations inside #if.
889         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
890         #if.
891         (parse_xml_btrace_conf): Likewise.
892
893 2018-07-22  Tom Tromey  <tom@tromey.com>
894
895         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
896
897 2018-07-22  Tom Tromey  <tom@tromey.com>
898
899         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
900         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
901         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
902         * buildsym-legacy.c (get_macro_table): Remove unused variable.
903         * stack.c (frame_apply_level_command): Remove unused variable.
904         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
905         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
906         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
907         unused variable.
908         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
909         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
910         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
911         variable.
912         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
913         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
914         variable.
915         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
916         Remove unused variable.
917         * cli/cli-script.c (recurse_read_control_structure): Remove unused
918         variable.
919         * common/tdesc.c (print_xml_feature::visit): Remove unused
920         variable.
921         * compile/compile-object-load.c (store_regs): Remove unused
922         variables.
923         * complaints.c (clear_complaints): Remove unused variable.
924         * corelow.c (core_target_open): Remove unused variable.
925         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
926         variable.
927         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
928         variable.
929         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
930         variable.
931         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
932         variable.
933         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
934         variable.
935         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
936         variable.
937         * ia64-tdep.c (examine_prologue): Remove unused variable.
938         * infcall.c (run_inferior_call): Remove unused variable.
939         * inferior.c (exit_inferior): Remove unused variable.
940         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
941         * linespec.c (decode_line_2): Remove unused variable.
942         * linux-nat.c (super_close): Remove.
943         * linux-tdep.c (linux_info_proc): Remove unused variable.
944         * mi/mi-main.c (mi_execute_command): Remove unused variable.
945         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
946         Remove unused variable.
947         * parse.c (find_minsym_type_and_address): Remove unused variable.
948         * printcmd.c (info_symbol_command, printf_floating): Remove unused
949         variable.
950         * python/py-breakpoint.c (bppy_set_commands): Remove unused
951         variable.
952         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
953         variables.
954         * record-btrace.c (record_btrace_target::store_registers): Remove
955         unused variable.
956         (cmd_show_record_btrace_cpu): Remove unused variable.
957         * riscv-tdep.c (riscv_register_reggroup_p)
958         (riscv_push_dummy_call, riscv_return_value): Remove unused
959         variable.
960         * rust-exp.y (literal): Remove unused variable.
961         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
962         unused variable.
963         <STRUCTOP_ANONYMOUS>: Likewise.
964         * s390-linux-tdep.c (s390_linux_init_abi_31)
965         (s390_linux_init_abi_64): Remove unused variable.
966         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
967         (file_select_thread, net_windows_open, _initialize_ser_windows):
968         Remove unused variables.
969         * symtab.c (find_pc_sect_line): Remove unused variable.
970         * target-memory.c (compute_garbled_blocks): Remove unused
971         variable.
972         (target_write_memory_blocks): Remove unused variable.
973         * target.c (target_stack::unpush): Remove unused variables.
974         * tracepoint.c (start_tracing, all_tracepoint_actions)
975         (merge_uploaded_trace_state_variables)
976         (print_one_static_tracepoint_marker): Remove unused variable.
977         * unittests/basic_string_view/element_access/char/1.cc (test01):
978         Remove unused variable.
979         * windows-nat.c (windows_continue, windows_add_all_dlls)
980         (do_initial_windows_stuff, windows_nat_target::create_inferior):
981         Remove unused variables.
982
983 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
984
985         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
986         attr_profile in HAVE_ELF.
987         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
988         HAVE_ELF.
989
990 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
991
992         * frame.c (frame_register_unwind): Change parameter name.
993         (frame_unwind_register): Likewise.
994         (frame_unwind_register_value): Likewise.
995         (frame_unwind_register_signed): Likewise.
996         (frame_unwind_register_unsigned): Likewise.
997         * frame.h (frame_register_unwind): Likewise.
998         (frame_unwind_register): Likewise.
999         (frame_unwind_register_value): Likewise.
1000         (frame_unwind_register_signed): Likewise.
1001         (frame_unwind_register_unsigned): Likewise.
1002         (frame_unwind_arch): Likewise.
1003
1004 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1005
1006         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1007         ISA maintenance.
1008
1009 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1010
1011         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1012         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1013         hand.
1014
1015 2018-07-20  Keith Seitz  <keiths@redhat.com>
1016
1017         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1018         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1019         m_compunit_symtab, m_language>: Add "m_" prefix.
1020         Update all uses.
1021         * buildsym.c: Update all uses.
1022
1023 2018-07-20  Tom Tromey  <tom@tromey.com>
1024
1025         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1026         * buildsym.h (record_line_ftype): Remove typedef.
1027
1028 2018-07-20  Tom Tromey  <tom@tromey.com>
1029
1030         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1031         (end_expandable_symtab): Likewise.
1032         (end_symtab_get_static_block): Likewise.
1033         (end_symtab_from_static_block): Likewise.
1034         * buildsym-legacy.c (augment_type_symtab): Remove.
1035         (end_expandable_symtab): Remove.
1036         (end_symtab_get_static_block): Remove.
1037         (end_symtab_from_static_block): Remove.
1038
1039 2018-07-20  Tom Tromey  <tom@tromey.com>
1040
1041         * dwarf2read.c: Include buildsym.h.
1042         (struct dwarf2_cu) <builder>: New method.
1043         (fixup_go_packaging): Update.
1044         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1045         use scoped_free_pendings.
1046         (using_directives): Add "cu" parameter, remove "language".
1047         (read_import_statement, setup_type_unit_groups, )
1048         (read_func_scope, read_lexical_block_scope)
1049         (dwarf2_record_block_ranges, read_namespace): Update.
1050         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1051         (lnp_state_machine::handle_end_sequence): Update.
1052         (class lnp_state_machine) <m_cu>: New member.
1053         <m_record_line_callback>: Remove.
1054         <m_currently_recording_lines>: New member.
1055         (lnp_state_machine::handle_set_file): Update.
1056         (noop_record_line): Remove.
1057         (dwarf_record_line_p): Add cu parameter.
1058         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1059         (lnp_state_machine::record_line)
1060         (lnp_state_machine::lnp_state_machine)
1061         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1062         (dwarf_decode_lines): Update.
1063         (dwarf2_start_subfile): Add cu parameter.
1064         (dwarf2_start_symtab, new_symbol): Update.
1065         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1066         Remove dwarf2_per_objfile parameter.
1067         (dwarf_decode_macros): Update.
1068
1069 2018-07-20  Tom Tromey  <tom@tromey.com>
1070
1071         * stabsread.c (define_symbol): Update.
1072         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1073         * dwarf2read.c (new_symbol): Update.
1074         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1075         * cp-namespace.c: Include buildsym.h.
1076         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1077         * buildsym-legacy.c (get_buildsym_compunit): New function.
1078
1079 2018-07-20  Tom Tromey  <tom@tromey.com>
1080
1081         * xcoffread.c: Include buildsym-legacy.h.
1082         * windows-nat.c: Include buildsym-legacy.h.
1083         * stabsread.c: Include buildsym-legacy.h.
1084         * mdebugread.c: Include buildsym-legacy.h.
1085         * buildsym-legacy.h: New file.
1086         * buildsym-legacy.c: New file, from buildsym.c.
1087         * go32-nat.c: Include buildsym-legacy.h.
1088         * dwarf2read.c: Include buildsym-legacy.h.
1089         * dbxread.c: Include buildsym-legacy.h.
1090         * cp-namespace.c: Include buildsym-legacy.h.
1091         * coffread.c: Include buildsym-legacy.h.
1092         * buildsym.h: Move some contents to buildsym-legacy.h.
1093         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1094         buildsym-legacy.c.
1095         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1096
1097 2018-07-20  Tom Tromey  <tom@tromey.com>
1098
1099         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1100         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1101         (buildsym_compunit::buildsym_compunit)
1102         (buildsym_compunit::~buildsym_compunit)
1103         (buildsym_compunit::get_macro_table): Define.
1104
1105 2018-07-20  Tom Tromey  <tom@tromey.com>
1106
1107         * buildsym.c (reset_symtab_globals): Remove.
1108         (buildsym_compunit::end_symtab_from_static_block): Update.
1109         (buildsym_compunit::augment_type_symtab): Update.
1110         (end_symtab_from_static_block): Call free_buildsym_compunit.
1111         (augment_type_symtab, end_symtab, end_expandable_symtab):
1112         Likewise.
1113
1114 2018-07-20  Tom Tromey  <tom@tromey.com>
1115
1116         * arch-utils.c: Do not include buildsym.h.
1117         * mipsread.c: Do not include buildsym.h.
1118         * machoread.c: Do not include buildsym.h.
1119         * elfread.c: Do not include buildsym.h.
1120
1121 2018-07-20  Tom Tromey  <tom@tromey.com>
1122
1123         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
1124         initialization.
1125         (buildsym_compunit): Add new constructor.
1126         (struct buildsym_compunit) <get_last_source_file, finish_block,
1127         record_block_range, start_subfile, patch_subfile_names,
1128         push_subfile, pop_subfile, record_line, get_compunit_symtab,
1129         set_last_source_start_addr, get_last_source_start_addr,
1130         get_local_using_directives, set_local_using_directives,
1131         get_global_using_directives, outermost_context_p,
1132         get_current_context_stack, get_context_stack_depth,
1133         get_current_subfile, get_local_symbols, get_file_symbols,
1134         get_global_symbols, record_debugformat, record_producer,
1135         push_context, pop_context, end_symtab_get_static_block,
1136         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
1137         New public methods.
1138         <record_pending_block, finish_block_internal, make_blockvector,
1139         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
1140         private methods.
1141         Update all users.
1142
1143 2018-05-22  Tom Tromey  <tom@tromey.com>
1144
1145         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1146         parameter.
1147         (finish_block_internal): Update.
1148
1149 2018-07-20  Tom Tromey  <tom@tromey.com>
1150
1151         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1152         parameter.
1153         (finish_block_internal): Update.
1154
1155 2018-07-20  Tom Tromey  <tom@tromey.com>
1156
1157         * buildsym.h (EXTERN): Don't define or undef.
1158         * buildsym.c (EXTERN): Don't define.
1159
1160 2018-07-20  Tom Tromey  <tom@tromey.com>
1161
1162         * buildsym.c: Remove TODO comment.
1163
1164 2018-07-20  Tom Tromey  <tom@tromey.com>
1165
1166         * coffread.c (coff_symtab_read): Update.
1167         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
1168         (xcoff_new_init): Update.
1169         * mipsread.c (mipscoff_new_init): Update.
1170         * mdebugread.c (mdebug_build_psymtabs): Update.
1171         * elfread.c (elf_new_init): Update.
1172         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
1173         Update.
1174         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
1175         (coffstab_build_psymtabs, elfstab_build_psymtabs)
1176         (stabsect_build_psymtabs): Update.
1177         * buildsym.h (buildsym_init): Don't declare.
1178         * buildsym.c: Update comment.
1179         (prepare_for_building): Remove.
1180         (start_symtab, restart_symtab): Update.
1181         (reset_symtab_globals): Update comment.
1182         (buildsym_init): Remove.
1183
1184 2018-07-20  Tom Tromey  <tom@tromey.com>
1185
1186         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
1187         * stabsread.c (patch_block_stabs, define_symbol, read_type)
1188         (read_enum_type, common_block_start, common_block_end)
1189         (cleanup_undefined_types_1, finish_global_stabs): Update.
1190         * mdebugread.c (psymtab_to_symtab_1): Update.
1191         * dwarf2read.c (fixup_go_packaging, read_func_scope)
1192         (read_lexical_block_scope, new_symbol): Update.
1193         * dbxread.c (process_one_symbol): Update.
1194         * coffread.c (coff_symtab_read, process_coff_symbol)
1195         (coff_read_enum_type): Update.
1196         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
1197         declare.
1198         (get_local_symbols, get_file_symbols, get_global_symbols): New
1199         functions.
1200         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
1201         m_global_symbols.
1202         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
1203         (~scoped_free_pendings): Update.
1204         (finish_block, prepare_for_building, reset_symtab_globals)
1205         (end_symtab_get_static_block, end_symtab_with_blockvector)
1206         (augment_type_symtab, push_context): Update.
1207         (get_local_symbols, get_file_symbols, get_global_symbols): New
1208         functions.
1209         (buildsym_init): Update.
1210
1211 2018-07-20  Tom Tromey  <tom@tromey.com>
1212
1213         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
1214         (process_full_type_unit): Likewise.
1215         (dwarf2_start_symtab): Set list_in_scope.
1216
1217 2018-07-20  Tom Tromey  <tom@tromey.com>
1218
1219         * dwarf2read.c (process_psymtab_comp_unit_reader)
1220         (build_type_psymtabs_reader): Do not set list_in_scope.
1221
1222 2018-07-20  Tom Tromey  <tom@tromey.com>
1223
1224         * buildsym.c (free_pendings): Remove.
1225         (add_symbol_to_list, scoped_free_pendings)
1226         (finish_block_internal, buildsym_init): Update.
1227
1228 2018-07-20  Tom Tromey  <tom@tromey.com>
1229
1230         * xcoffread.c (read_xcoff_symtab): Update.
1231         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
1232         Update.
1233         * dbxread.c (process_one_symbol): Update.
1234         * coffread.c (coff_symtab_read): Update.
1235         * buildsym.h (finish_block): Update.
1236         * buildsym.c (finish_block): Remove "listhead" argument.
1237         (end_symtab_get_static_block): Update.
1238
1239 2018-07-20  Tom Tromey  <tom@tromey.com>
1240
1241         * buildsym.h (class scoped_free_pendings): Remove constructor.
1242         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
1243         method.
1244         <m_pending_block_obstack, m_pending_blocks>: New members.
1245         (pending_block_obstack, pending_blocks): Remove.
1246         (scoped_free_pendings::scoped_free_pendings): Default.
1247         (~scoped_free_pendings): Update.
1248         (free_pending_blocks): Remove.
1249         (finish_block_internal, record_pending_block, make_blockvector)
1250         (end_symtab_get_static_block, augment_type_symtab, push_context)
1251         (buildsym_init): Update.
1252
1253 2018-07-20  Tom Tromey  <tom@tromey.com>
1254
1255         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
1256         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
1257         members.
1258         (pending_addrmap, pending_addrmap_obstack)
1259         (pending_addrmap_interesting): Remove.
1260         (scoped_free_pendings, record_block_range, make_blockvector)
1261         (prepare_for_building, reset_symtab_globals, buildsym_init):
1262         Update.
1263
1264 2018-07-20  Tom Tromey  <tom@tromey.com>
1265
1266         * xcoffread.c (process_linenos): Update.
1267         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
1268         * mdebugread.c (psymtab_to_symtab_1): Update.
1269         * dwarf2read.c (setup_type_unit_groups)
1270         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
1271         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
1272         * dbxread.c (process_one_symbol): Update.
1273         * coffread.c (coff_symtab_read, enter_linenos)
1274         (process_coff_symbol): Update.
1275         * buildsym.h (current_subfile): Don't declare.
1276         (get_current_subfile): Declare.
1277         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
1278         member.
1279         (start_subfile, free_buildsym_compunit, push_subfile)
1280         (prepare_for_building, start_symtab): Update.
1281         (get_current_subfile): New function.
1282
1283 2018-07-20  Tom Tromey  <tom@tromey.com>
1284
1285         * coffread.c (coff_symtab_read): Update.
1286         * xcoffread.c (read_xcoff_symtab): Update.
1287         * dwarf2read.c (new_symbol): Update.
1288         (read_func_scope, read_lexical_block_scope): Update.
1289         * dbxread.c (process_one_symbol): Update.
1290         * buildsym.h (context_stack, context_stack_depth): Don't declare.
1291         (outermost_context_p): Remove macro.
1292         (outermost_context_p, get_current_context_stack)
1293         (get_context_stack_depth): Declare.
1294         (pop_context): Return struct context_stack.
1295         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
1296         member.
1297         (context_stack_size): Remove.
1298         (INITIAL_CONTEXT_STACK_SIZE): Remove.
1299         (prepare_for_building, end_symtab_get_static_block)
1300         (augment_type_symtab, push_context): Update.
1301         (pop_context): Return struct context_stack.
1302         (outermost_context_p, get_current_context_stack)
1303         (get_context_stack_depth): New functions.
1304         (buildsym_init): Update.
1305
1306 2018-07-20  Tom Tromey  <tom@tromey.com>
1307
1308         * rust-exp.y: Now a pure parser.  Update all rules.
1309         (%union): Move earlier.
1310         (current_parser, work_obstack): Remove globals.
1311         (rust_parser, ~rust_parser): Update.
1312         (class rust_parser) <copy_name, concat3, crate_name, super_name,
1313         lex_character, lex_number, lex_string, lex_identifier,
1314         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
1315         convert_name, convert_params_to_expression,
1316         convert_ast_to_expression, ast_basic_type, ast_operation,
1317         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
1318         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
1319         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
1320         ast_array_type, ast_slice_type, ast_reference_type,
1321         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
1322         (rust_parse): Update.
1323         (rustyyerror, rustyylex): Add parser parameter.
1324         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
1325         (rust_lex_stringish_test, rust_lex_test_sequence)
1326         (rust_lex_test_trailing_dot, rust_lex_test_completion)
1327         (rust_lex_test_push_back, rust_lex_tests): Update.
1328
1329 2018-07-19  Pedro Alves  <palves@redhat.com>
1330
1331         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
1332         gdb::unique_xmalloc_ptr.
1333         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
1334         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
1335         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
1336         copy-initialization.
1337         * guile/scm-pretty-print.c (ppscm_print_children): Use
1338         gdb::unique_xmalloc_ptr instead of cleanups.
1339         (gdbscm_apply_val_pretty_printer): Remove cleanups.
1340         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
1341         gdb::unique_xmalloc_ptr.
1342         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1343         Adjust to use gdb::unique_xmalloc_ptr.
1344         * guile/scm-utils.c (extract_arg): Adjust.
1345         * guile/scm-value.c (gdbscm_value_field): Adjust to use
1346         gdb::unique_xmalloc_ptr instead of a cleanup.
1347
1348 2018-07-19  Tom Tromey  <tom@tromey.com>
1349
1350         * utils.c (do_value_free_to_mark)
1351         (make_cleanup_value_free_to_mark): Remove.
1352         * utils.h (make_cleanup_value_free_to_mark): Remove.
1353
1354 2018-07-19  Pedro Alves  <palves@redhat.com>
1355
1356         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
1357         forwarding reference.
1358
1359 2018-07-18  Pedro Alves  <palves@redhat.com>
1360
1361         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
1362         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
1363         cleanup.
1364
1365 2018-07-18  Pedro Alves  <palves@redhat.com>
1366
1367         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
1368         exceptions.
1369         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
1370         (gdbscm_wrap): New.
1371         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
1372         directly instead of a cleanup.
1373         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
1374         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
1375         (vlscm_binop_gdbthrow): New, factored out from ...
1376         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
1377         (vlscm_rich_compare): Use gdbscm_wrap.
1378         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
1379         instead of a cleanup.
1380         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
1381         cleanup.
1382         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1383         Use xfree directly instead of a cleanup.
1384         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
1385         Adjust to use gdbscm_wrap and scoped_value_mark.
1386         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
1387         (gdbscm_value_address, gdbscm_value_dereference)
1388         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
1389         scoped_value_mark.
1390         (gdbscm_value_dynamic_type): Use scoped_value_mark.
1391         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
1392         scoped_value_mark.
1393         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
1394         gdbscm_wrap and scoped_value_mark.
1395         (gdbscm_value_to_string): Use xfree directly instead of a
1396         cleanup.  Move 'buffer' unique_ptr to TRY scope.
1397         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
1398         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
1399         scoped_value_mark.
1400         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
1401         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
1402         scoped_value_mark.
1403         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
1404         gdbscm_wrap.
1405
1406 2018-07-18  Tom de Vries  <tdevries@suse.de>
1407
1408         * findvar.c (default_read_var_value): Also resolve dynamic type for
1409         LOC_OPTIMIZED_OUT vars.
1410
1411 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
1412
1413         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
1414         decoding.
1415
1416 2018-07-17  Tom Tromey  <tom@tromey.com>
1417
1418         * guile/scm-param.c (pascm_set_func, pascm_show_func)
1419         (compute_enum_list, pascm_set_param_value_x)
1420         (gdbscm_parameter_value): Update.
1421         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
1422         (gdbscm_scm_to_host_string): Update.
1423         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
1424         Update.
1425         * guile/scm-cmd.c (cmdscm_add_completion): Update.
1426         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
1427         * guile/scm-string.c (gdbscm_scm_to_string): Return
1428         unique_xmalloc_ptr.
1429         (gdbscm_scm_to_host_string): Likewise.
1430
1431 2018-07-17  Tom Tromey  <tom@tromey.com>
1432
1433         * guile/guile.c (gdbscm_eval_from_control_command): Update.
1434         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
1435         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
1436         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
1437         unique_xmalloc_ptr.
1438
1439 2018-07-17  Tom Tromey  <tom@tromey.com>
1440
1441         * guile/scm-param.c (pascm_signal_setshow_error): Update.
1442         * guile/guile-internal.h (gdbscm_exception_message_to_string):
1443         Update.
1444         * guile/scm-cmd.c (cmdscm_function): Update.
1445         * guile/scm-pretty-print.c
1446         (ppscm_print_exception_unless_memory_error): Update.
1447         * guile/scm-exception.c (gdbscm_exception_message_to_string):
1448         Return unique_xmalloc_ptr.
1449
1450 2018-07-17  Tom Tromey  <tom@tromey.com>
1451
1452         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
1453         Use string_printf.
1454
1455 2018-07-17  Jim Wilson  <jimw@sifive.com>
1456
1457         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
1458         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
1459         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
1460         unecessary braces after EF_RISCV_RVC test.  Delete call to
1461         set_gdbarch_decr_pc_after_break.
1462
1463         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
1464         RISCV_LAST_FP_REGNUM + 1.
1465         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
1466
1467 2018-07-17  Tom Tromey  <tom@tromey.com>
1468
1469         * configure.ac: Remove --disable-gdbcli.
1470         * configure: Rebuild.
1471         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
1472         (SUBDIR_CLI_CFLAGS): Remove.
1473         (SFILES): Use SUBDIR_CLI_SRCS.
1474         (COMMON_OBS): Use SUBDIR_CLI_OBS.
1475
1476 2018-07-17  Tom Tromey  <tom@tromey.com>
1477
1478         PR gdb/18624:
1479         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
1480
1481 2018-07-16  Jim Wilson  <jimw@sifive.com>
1482
1483         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
1484
1485 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1486
1487         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
1488         variable.
1489         (libunwind_frame_sniffer): Likewise.
1490         (libunwind_frame_prev_register): Likewise.
1491         (libunwind_sigtramp_frame_sniffer): Likewise.
1492         * ia64-tdep.c (ia64_access_reg): Likewise.
1493         (ia64_access_rse_reg): Likewise.
1494         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
1495         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
1496
1497 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1498
1499         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
1500
1501 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1502
1503         * remote-sim.c (gdbsim_target::close,
1504         gdbsim_target::mourn_inferior): Remove unused variables.
1505
1506 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
1507
1508         * ia64-tdep.c (ktab_buf): New global.
1509         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
1510         (get_kernel_table): Adjust.
1511
1512 2018-07-16  Tom Tromey  <tom@tromey.com>
1513
1514         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
1515         * dwarf2read.c (using_directives, new_symbol): Use
1516         outermost_context_p.
1517         * dbxread.c (process_one_symbol): Use outermost_context_p.
1518         * coffread.c (coff_symtab_read): Use outermost_context_p.
1519
1520 2018-07-16  Tom Tromey  <tom@tromey.com>
1521
1522         * dwarf2read.c (using_directives, read_func_scope)
1523         (read_lexical_block_scope): Update.
1524         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
1525         * buildsym.h (local_using_directives, global_using_directives):
1526         Don't declare.
1527         (get_local_using_directives, set_local_using_directives)
1528         (get_global_using_directives): Declare.
1529         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1530         m_global_using_directives>: New members.
1531         (finish_block_internal, prepare_for_building)
1532         (reset_symtab_globals, end_symtab_get_static_block)
1533         (push_context): Update.
1534         (get_local_using_directives, set_local_using_directives)
1535         (get_global_using_directives): New functions.
1536         (buildsym_init): Update.
1537
1538 2018-07-16  Tom Tromey  <tom@tromey.com>
1539
1540         * xcoffread.c (xcoff_initial_scan): Don't call
1541         free_pending_blocks.
1542         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1543         * buildsym.h (class scoped_free_pendings): Add constructor.
1544         (free_pending_blocks): Don't declare.
1545         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1546         (free_pending_blocks): Now static.
1547
1548 2018-07-16  Tom Tromey  <tom@tromey.com>
1549
1550         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1551         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1552         member.
1553         (struct subfile_stack): Remove.
1554         (subfile_stack): Remove.
1555         (push_subfile, pop_subfile, buildsym_init): Update.
1556
1557 2018-07-16  Tom Tromey  <tom@tromey.com>
1558
1559         * buildsym.c (push_subfile): Use gdb_assert.
1560         (pop_subfile): Use gdb_assert.
1561
1562 2018-07-16  Tom Tromey  <tom@tromey.com>
1563
1564         * buildsym.h (merge_symbol_lists): Remove.
1565         * buildsym.c (merge_symbol_lists): Remove.
1566
1567 2018-07-16  Tom Tromey  <tom@tromey.com>
1568
1569         * stabsread.c (scan_file_globals): Update comment.
1570         * stabsread.h (scan_file_globals): Move from buildsym.h.
1571         * buildsym.h (scan_file_globals): Move to stabsread.h.
1572
1573 2018-07-16  Tom Tromey  <tom@tromey.com>
1574
1575         * xcoffread.c (xcoff_new_init): Update.
1576         * mipsread.c (mipscoff_new_init): Update.
1577         * mdebugread.c (mdebug_build_psymtabs): Update.
1578         * elfread.c (elf_new_init): Update.
1579         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1580         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1581         * buildsym.h (buildsym_new_init): Don't declare.
1582         * buildsym.c (buildsym_new_init): Remove.
1583
1584 2018-07-16  Tom Tromey  <tom@tromey.com>
1585
1586         * stabsread.h (within_function): Move from buildsym.h.
1587         * stabsread.c (start_stabs): Clear within_function.
1588         * coffread.c (coff_start_symtab): Clear within_function.
1589         * buildsym.h (within_function): Move to stabsread.h.
1590         * buildsym.c (prepare_for_building): Update.
1591
1592 2018-07-16  Tom Tromey  <tom@tromey.com>
1593
1594         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1595         * dwarf2read.c (dwarf2_start_symtab): Don't set
1596         processing_gcc_compilation.
1597         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1598
1599 2018-07-16  Tom Tromey  <tom@tromey.com>
1600
1601         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1602         (next_symbol_text_func): Move from buildsym.h.
1603         * stabsread.c (hashname): Move from buildsym.c.
1604         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1605         (next_symbol_text_func, hashname): Move to stabsread.h.
1606         * buildsym.c: Don't include bcache.h
1607         (hashname): Move to stasbread.c.
1608
1609 2018-07-16  Tom Tromey  <tom@tromey.com>
1610
1611         * buildsym.h (context_stack_size): Don't declare.
1612         * buildsym.c (context_stack_size): New global.
1613
1614 2018-07-16  Tom Tromey  <tom@tromey.com>
1615
1616         * dbxread.c (processing_acc_compilation): New global.
1617         * buildsym.h (processing_acc_compilation): Don't declare.
1618
1619 2018-07-16  Tom Tromey  <tom@tromey.com>
1620
1621         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1622         * dbxread.c (read_ofile_symtab): Update.
1623         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1624         * buildsym.h (last_source_start_addr): Remove.
1625         (set_last_source_start_addr, get_last_source_start_addr):
1626         Declare.
1627         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1628         parameter.
1629         (struct buildsym_compunit) <m_last_source_start_addr>: New
1630         member.
1631         (prepare_for_building): Remove start_addr parameter.
1632         (start_symtab, restart_symtab, end_symtab_get_static_block)
1633         (end_symtab_with_blockvector): Update.
1634         (set_last_source_start_addr, get_last_source_start_addr): New
1635         functions.
1636
1637 2018-07-16  Tom Tromey  <tom@tromey.com>
1638
1639         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1640         member.
1641         (have_line_numbers): Remove.
1642         (record_line, prepare_for_building, end_symtab_get_static_block)
1643         (augment_type_symtab): Update.
1644
1645 2018-07-16  Tom Tromey  <tom@tromey.com>
1646
1647         * buildsym.c (~buildsym_compunit): Free the macro table.
1648         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1649         methods.
1650         <m_pending_macros>: New member.
1651         (pending_macros): Remove.
1652         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1653         (reset_symtab_globals, end_symtab_get_static_block)
1654         (end_symtab_with_blockvector, augment_type_symtab)
1655         (buildsym_init): Update.
1656
1657 2018-07-16  Tom Tromey  <tom@tromey.com>
1658
1659         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1660         parameter.
1661         (buildsym_compunit::set_last_source_file): New method.
1662         <m_last_source_file>: New member.
1663         (prepare_for_building): Remove "name" parameter.
1664         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1665         (last_source_file): Remove.
1666         (set_last_source_file, get_last_source_file): Update.
1667
1668 2018-07-16  Tom Tromey  <tom@tromey.com>
1669
1670         * buildsym.c (prepare_for_building): Add assert.
1671
1672 2018-07-16  Tom Tromey  <tom@tromey.com>
1673
1674         * buildsym.c (~buildsym_compunit): Update.
1675         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1676         (start_subfile, patch_subfile_names)
1677         (end_symtab_with_blockvector): Update.
1678
1679 2018-07-16  Tom Tromey  <tom@tromey.com>
1680
1681         * buildsym.c (struct buildsym_compunit): Add constructor,
1682         destructor, initializers.
1683         (start_buildsym_compunit): Remove.
1684         (free_buildsym_compunit): Use "delete".
1685         (start_symtab, restart_symtab): Use "new".
1686
1687 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1688
1689         * symfile.c (set_objfile_default_section_offset): Remove struct
1690         keyword.
1691
1692 2018-07-14  Stafford Horne  <shorne@gmail.com>
1693
1694         * (Responsible Maintainers): Add myself as or1k maintainer.
1695
1696 2018-07-13  Tom Tromey  <tom@tromey.com>
1697
1698         * symfile.c (set_objfile_default_section_offset): Use extra braces
1699         around initializer.
1700
1701 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1702
1703         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1704         non-branching basr.
1705
1706 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1707
1708         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1709         unittests/cli-utils-selftests.c
1710         * unittests/cli-utils-selftests.c: New file.
1711
1712 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1713
1714         * NEWS: Mention new commands. Mention change to 'thread apply'.
1715
1716 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1717
1718         * thread.c (thr_try_catch_cmd): New function.
1719         (thread_apply_all_command): Handle qcs flags.
1720         (thread_apply_command): Handle qcs flags.
1721         (taas_command): New function.
1722         (tfaas_command): New function.
1723         (_initialize_thread): Update to setup the new commands 'taas
1724         and 'tfaas'. Change doc string for 'thread apply'.
1725
1726 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1727
1728         * stack.c: (trailing_outermost_frame): New function, mostly
1729         extracted from backtrace_command_1.
1730         (leading_innermost_frame): New function.
1731         (backtrace_command_1): Update to call trailing_outermost_frame.
1732         (frame_apply_command_count): New function.
1733         (frame_apply_level_command): New function.
1734         (frame_apply_all_command): New function.
1735         (frame_apply_command): New function.
1736         (faas_command): New function.
1737         (frame_cmd_list): New variable.
1738         (_initialize_stack): Update to setup the new commands 'frame apply'
1739         and 'faas'.
1740
1741 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1742
1743         * cli-utils.c (number_or_range_parser::get_number): Only handle
1744         numbers or convenience var as numbers.
1745         (parse_flags): New function.
1746         (parse_flags_qcs): New function.
1747         (number_or_range_parser::finished): Ensure parsing end is detected
1748         before end of string.
1749         * cli-utils.h (parse_flags): New function.
1750         (parse_flags_qcs): New function.
1751         (number_or_range_parser): Remove m_finished bool.
1752         (number_or_range_parser::skip_range): Set m_in_range to false.
1753
1754 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1755
1756         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1757         on Windows.
1758
1759 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1760             Jan Kratochvil  <jan.kratochvil@redhat.com>
1761             Paul Fertser  <fercerpav@gmail.com>
1762             Tsutomu Seki  <sekiriki@gmail.com>
1763             Pedro Alves  <palves@redhat.com>
1764
1765         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1766         'unittests/parse-connection-spec-selftests.c'.
1767         (COMMON_SFILES): Add 'common/netstuff.c'.
1768         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1769         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1770         * common/netstuff.c: New file.
1771         * common/netstuff.h: New file.
1772         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1773         (wait_for_connect): Update comment.  New parameter
1774         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1775         Use 'sock' directly instead of 'scb->fd'.
1776         (try_connect): New function, with code from 'net_open'.
1777         (net_open): Rewrite main loop to deal with multiple
1778         sockets/addresses.  Handle IPv6-style hostnames; implement
1779         support for IPv6 connections.
1780         * unittests/parse-connection-spec-selftests.c: New file.
1781
1782 2018-07-11  Pedro Alves  <palves@redhat.com>
1783
1784         PR gdb/23377
1785         * remote.c (remote_target::remote_detach_pid): Call
1786         set_current_process.
1787
1788 2018-07-11  Pedro Alves  <palves@redhat.com>
1789
1790         * h8300-tdep.c (h8300_gdbarch_init): Remove
1791         set_gdbarch_ecoff_reg_to_regnum calls.
1792
1793 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1794
1795         PR c++/23373
1796         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1797         offsets/sizes for static members of a class/struct.
1798
1799 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1800
1801         * target-descriptions.c (tdesc_register_bitsize): Rename.
1802         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1803         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1804         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1805
1806 2018-07-10  Tom Tromey  <tom@tromey.com>
1807
1808         * breakpoint.c (moribund_locations): Now static and a
1809         std::vector.
1810         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1811         (build_bpstat_chain, update_global_location_list)
1812         (breakpoint_retire_moribund): Update.
1813         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1814         VEC.
1815
1816 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1817
1818         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1819         (riscv_register_reggroup_p): Use new function, remove unneeded
1820         parenthesis.
1821         (riscv_push_dummy_call): Extend assert to compare against xlen or
1822         flen based on register type.
1823
1824 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1825
1826         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1827
1828 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1829
1830         * remote.c (show_hardware_watchpoint_limit): New function.
1831         (show_hardware_watchpoint_length_limit): New function.
1832         (show_hardware_breakpoint_limit): New function.
1833         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1834         where appropriate, update help text.
1835
1836 2018-07-09  Tom Tromey  <tom@tromey.com>
1837
1838         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1839         (CLIBS): Don't mention NAT_CLIBS.
1840
1841 2018-07-09  Tom Tromey  <tom@tromey.com>
1842
1843         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1844         (LIBGDB_OBS, clean mostlyclean): Update.
1845         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1846
1847 2018-07-09  Tom Tromey  <tom@tromey.com>
1848
1849         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1850         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1851         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1852
1853 2018-07-09  Tom Tromey  <tom@tromey.com>
1854
1855         * Makefile.in (ALLDEPFILES): Remove exec.c.
1856         (COMMON_OBS): Remove exec.o.
1857         (COMMON_SFILES): Add exec.c.
1858
1859 2018-07-09  Tom Tromey  <tom@tromey.com>
1860
1861         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1862
1863 2018-07-09  Tom Tromey  <tom@tromey.com>
1864
1865         * Makefile.in (clean mostlyclean): Remove stamp-version.
1866         (version.c): Depend on stamp-version.
1867         (stamp-version): New rule, from version.c rule.
1868
1869 2018-07-09  Tom Tromey  <tom@tromey.com>
1870
1871         * Makefile.in (init.c): Depend on stamp-init.
1872         (stamp-init): New rule, from init.c rule.
1873         (clean mostlyclean): Remove stamp-init.
1874
1875 2018-07-09  Tom Tromey  <tom@tromey.com>
1876
1877         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1878         SUBDIR_GCC_COMPILE_SRCS.
1879
1880 2018-07-09  Tom Tromey  <tom@tromey.com>
1881
1882         * Makefile.in (init.c): Remove some unused sed rules.
1883
1884 2018-07-09  Tom Tromey  <tom@tromey.com>
1885
1886         * Makefile.in (TSOBS): Remove.
1887         (INIT_FILES): Update.
1888         (LIBGDB_OBS): Update.
1889         (COMMON_SFILES): Add inflow.c.
1890         (SFILES): Remove inflow.c.
1891
1892 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1893
1894         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1895
1896 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1897
1898         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1899         get_saveloc_name, is_signal_frame_name, step_name,
1900         init_remote_name, create_addr_space_name,
1901         destroy_addr_space_name, search_unwind_table_name,
1902         find_dyn_list_name): Constify.
1903
1904 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1905
1906         * darwin-nat.c (darwin_pthread_kill): New function.
1907         (darwin_resume_thread): Use darwin_pthread_kill.
1908
1909 2018-07-05  Tom de Vries  <tdevries@suse.de>
1910
1911         * macroexp.c (macro_buffer) <operator=>: New member function.
1912
1913 2018-07-04  Tom Tromey  <tom@tromey.com>
1914
1915         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1916
1917 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1918
1919         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1920         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1921         * maint.c: Likewise.
1922         * top.c: Likewise.
1923
1924 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1925
1926         * NEWS: Create a new section for the next release branch.
1927         Rename the section of the current branch, now that it has
1928         been cut.
1929
1930 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1931
1932         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1933         * version.in: Bump version to 8.2.50.DATE-git.
1934
1935 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1936             Pedro Alves  <palves@redhat.com>
1937
1938         * linux-nat.c (linux_init_ptrace): Rename to ...
1939         (linux_init_ptrace_procfs): ... this.  Call
1940         linux_proc_init_warnings.
1941         (linux_nat_target::post_attach)
1942         (linux_nat_target::post_startup_inferior): Adjust.
1943         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1944         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1945
1946 2018-07-04  Tom de Vries  <tdevries@suse.de>
1947
1948         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1949         check ...
1950         (read_comp_unit_head): ... here.
1951
1952 2018-07-03  Tom Tromey  <tom@tromey.com>
1953
1954         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1955         (stop_tracing, tstatus_command)
1956         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1957         (print_one_static_tracepoint_marker): Update.
1958         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1959         std::vector.
1960         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1961         VEC.
1962         (all_tracepoints, static_tracepoints_here): Return std::vector.
1963
1964 2018-07-03  Tom Tromey  <tom@tromey.com>
1965
1966         * common/ptid.c (ptid_equal): Remove.
1967         * common/ptid.h (ptid_equal): Don't declare.
1968         * ada-tasks.c: Update.
1969         * breakpoint.c: Update.
1970         * common/agent.c: Update.
1971         * corelow.c: Update.
1972         * darwin-nat-info.c: Update.
1973         * darwin-nat.c: Update.
1974         * dcache.c: Update.
1975         * dtrace-probe.c: Update.
1976         * dummy-frame.c: Update.
1977         * fbsd-nat.c: Update.
1978         * frame.c: Update.
1979         * gdbthread.h: Update.
1980         * gnu-nat.c: Update.
1981         * go32-nat.c: Update.
1982         * inf-loop.c: Update.
1983         * inf-ptrace.c: Update.
1984         * infcall.c: Update.
1985         * infcmd.c: Update.
1986         * inflow.c: Update.
1987         * infrun.c: Update.
1988         * linux-fork.c: Update.
1989         * linux-nat.c: Update.
1990         * linux-thread-db.c: Update.
1991         * mi/mi-cmd-var.c: Update.
1992         * mi/mi-interp.c: Update.
1993         * mi/mi-main.c: Update.
1994         * nto-procfs.c: Update.
1995         * ppc-linux-tdep.c: Update.
1996         * procfs.c: Update.
1997         * python/py-inferior.c: Update.
1998         * python/py-record-btrace.c: Update.
1999         * python/py-record.c: Update.
2000         * ravenscar-thread.c: Update.
2001         * regcache.c: Update.
2002         * remote-sim.c: Update.
2003         * remote.c: Update.
2004         * sol-thread.c: Update.
2005         * solib.c: Update.
2006         * target.c: Update.
2007         * tui/tui-stack.c: Update.
2008         * varobj.c: Update.
2009         * windows-nat.c: Update.
2010         * windows-tdep.c: Update.
2011
2012 2018-07-03  Tom Tromey  <tom@tromey.com>
2013
2014         * common/ptid.c (ptid_match): Remove.
2015         * common/ptid.h (ptid_match): Don't declare.
2016         * fbsd-nat.c: Update.
2017         * infcmd.c: Update.
2018         * infrun.c: Update.
2019         * linux-nat.c: Update.
2020         * record-btrace.c: Update.
2021         * regcache.c: Update.
2022         * remote.c: Update.
2023
2024 2018-07-03  Tom Tromey  <tom@tromey.com>
2025
2026         * common/ptid.c (ptid_tid_p): Remove.
2027         * common/ptid.h (ptid_tid_p): Don't declare.
2028         * sol-thread.c: Update.
2029
2030 2018-07-03  Tom Tromey  <tom@tromey.com>
2031
2032         * common/ptid.c (ptid_lwp_p): Remove.
2033         * common/ptid.h (ptid_lwp_p): Don't declare.
2034         * fbsd-nat.c: Update.
2035         * linux-nat.c: Update.
2036         * nat/linux-procfs.c: Update.
2037         * nat/x86-linux-dregs.c: Update.
2038         * sol-thread.c: Update.
2039
2040 2018-07-03  Tom Tromey  <tom@tromey.com>
2041
2042         * common/ptid.c (ptid_is_pid): Remove.
2043         * common/ptid.h (ptid_is_pid): Don't declare.
2044         * infrun.c: Update.
2045         * linux-nat.c: Update.
2046         * mi/mi-interp.c: Update.
2047         * remote.c: Update.
2048         * thread.c: Update.
2049
2050 2018-07-03  Tom Tromey  <tom@tromey.com>
2051
2052         * common/ptid.c (ptid_get_tid): Remove.
2053         * common/ptid.h (ptid_get_tid): Don't declare.
2054         * ada-tasks.c: Update.
2055         * aix-thread.c: Update.
2056         * bsd-uthread.c: Update.
2057         * darwin-nat.c: Update.
2058         * fbsd-nat.c: Update.
2059         * i386-darwin-nat.c: Update.
2060         * infrun.c: Update.
2061         * linux-tdep.c: Update.
2062         * nto-procfs.c: Update.
2063         * ppc-ravenscar-thread.c: Update.
2064         * python/py-infthread.c: Update.
2065         * ravenscar-thread.c: Update.
2066         * sol-thread.c: Update.
2067         * sparc-ravenscar-thread.c: Update.
2068         * windows-nat.c: Update.
2069
2070 2018-07-03  Tom Tromey  <tom@tromey.com>
2071
2072         * common/ptid.c (ptid_get_lwp): Remove.
2073         * common/ptid.h (ptid_get_lwp): Don't declare.
2074         * aarch64-linux-nat.c: Update.
2075         * ada-tasks.c: Update.
2076         * aix-thread.c: Update.
2077         * amd64-linux-nat.c: Update.
2078         * arm-linux-nat.c: Update.
2079         * corelow.c: Update.
2080         * fbsd-nat.c: Update.
2081         * fbsd-tdep.c: Update.
2082         * gnu-nat.c: Update.
2083         * i386-cygwin-tdep.c: Update.
2084         * i386-gnu-nat.c: Update.
2085         * i386-linux-nat.c: Update.
2086         * ia64-linux-nat.c: Update.
2087         * inf-ptrace.c: Update.
2088         * infrun.c: Update.
2089         * linux-fork.c: Update.
2090         * linux-nat.c: Update.
2091         * linux-tdep.c: Update.
2092         * linux-thread-db.c: Update.
2093         * mips-linux-nat.c: Update.
2094         * nat/aarch64-linux-hw-point.c: Update.
2095         * nat/aarch64-linux.c: Update.
2096         * nat/linux-btrace.c: Update.
2097         * nat/linux-osdata.c: Update.
2098         * nat/linux-procfs.c: Update.
2099         * nat/x86-linux-dregs.c: Update.
2100         * obsd-nat.c: Update.
2101         * ppc-fbsd-nat.c: Update.
2102         * ppc-linux-nat.c: Update.
2103         * procfs.c: Update.
2104         * python/py-infthread.c: Update.
2105         * ravenscar-thread.c: Update.
2106         * remote.c: Update.
2107         * s390-linux-nat.c: Update.
2108         * sol-thread.c: Update.
2109         * sol2-tdep.c: Update.
2110         * spu-linux-nat.c: Update.
2111         * x86-linux-nat.c: Update.
2112         * xtensa-linux-nat.c: Update.
2113
2114 2018-07-03  Tom Tromey  <tom@tromey.com>
2115
2116         * common/ptid.c (ptid_get_pid): Remove.
2117         * common/ptid.h (ptid_get_pid): Don't declare.
2118         * aarch64-linux-nat.c: Update.
2119         * ada-lang.c: Update.
2120         * aix-thread.c: Update.
2121         * alpha-bsd-nat.c: Update.
2122         * amd64-fbsd-nat.c: Update.
2123         * amd64-linux-nat.c: Update.
2124         * arm-linux-nat.c: Update.
2125         * arm-nbsd-nat.c: Update.
2126         * auxv.c: Update.
2127         * break-catch-syscall.c: Update.
2128         * breakpoint.c: Update.
2129         * bsd-uthread.c: Update.
2130         * corelow.c: Update.
2131         * ctf.c: Update.
2132         * darwin-nat.c: Update.
2133         * fbsd-nat.c: Update.
2134         * fbsd-tdep.c: Update.
2135         * gcore.c: Update.
2136         * gnu-nat.c: Update.
2137         * hppa-nbsd-nat.c: Update.
2138         * hppa-obsd-nat.c: Update.
2139         * i386-fbsd-nat.c: Update.
2140         * ia64-linux-nat.c: Update.
2141         * inf-ptrace.c: Update.
2142         * infcmd.c: Update.
2143         * inferior.c: Update.
2144         * inferior.h: Update.
2145         * inflow.c: Update.
2146         * infrun.c: Update.
2147         * linux-fork.c: Update.
2148         * linux-nat.c: Update.
2149         * linux-tdep.c: Update.
2150         * linux-thread-db.c: Update.
2151         * m68k-bsd-nat.c: Update.
2152         * mi/mi-interp.c: Update.
2153         * mi/mi-main.c: Update.
2154         * mips-linux-nat.c: Update.
2155         * mips-nbsd-nat.c: Update.
2156         * mips64-obsd-nat.c: Update.
2157         * nat/aarch64-linux-hw-point.c: Update.
2158         * nat/aarch64-linux.c: Update.
2159         * nat/linux-btrace.c: Update.
2160         * nat/linux-osdata.c: Update.
2161         * nat/linux-procfs.c: Update.
2162         * nat/x86-linux-dregs.c: Update.
2163         * nto-procfs.c: Update.
2164         * obsd-nat.c: Update.
2165         * ppc-linux-nat.c: Update.
2166         * ppc-nbsd-nat.c: Update.
2167         * ppc-obsd-nat.c: Update.
2168         * proc-service.c: Update.
2169         * procfs.c: Update.
2170         * python/py-inferior.c: Update.
2171         * python/py-infthread.c: Update.
2172         * ravenscar-thread.c: Update.
2173         * record.c: Update.
2174         * remote-sim.c: Update.
2175         * remote.c: Update.
2176         * rs6000-nat.c: Update.
2177         * s390-linux-nat.c: Update.
2178         * sh-nbsd-nat.c: Update.
2179         * sol-thread.c: Update.
2180         * sparc-nat.c: Update.
2181         * sparc64-tdep.c: Update.
2182         * spu-linux-nat.c: Update.
2183         * spu-tdep.c: Update.
2184         * target-debug.h: Update.
2185         * target.c: Update.
2186         * thread.c: Update.
2187         * tid-parse.c: Update.
2188         * tracefile-tfile.c: Update.
2189         * vax-bsd-nat.c: Update.
2190         * windows-nat.c: Update.
2191         * x86-linux-nat.c: Update.
2192         * x86-nat.c: Update.
2193
2194 2018-07-03  Tom Tromey  <tom@tromey.com>
2195
2196         * common/ptid.c (pid_to_ptid): Remove.
2197         * common/ptid.h (pid_to_ptid): Don't declare.
2198         * aix-thread.c: Update.
2199         * arm-linux-nat.c: Update.
2200         * common/ptid.c: Update.
2201         * common/ptid.h: Update.
2202         * corelow.c: Update.
2203         * ctf.c: Update.
2204         * darwin-nat.c: Update.
2205         * fbsd-nat.c: Update.
2206         * fork-child.c: Update.
2207         * gnu-nat.c: Update.
2208         * go32-nat.c: Update.
2209         * inf-ptrace.c: Update.
2210         * infcmd.c: Update.
2211         * inferior.c: Update.
2212         * infrun.c: Update.
2213         * linux-fork.c: Update.
2214         * linux-nat.c: Update.
2215         * nat/aarch64-linux-hw-point.c: Update.
2216         * nat/fork-inferior.c: Update.
2217         * nat/x86-linux-dregs.c: Update.
2218         * nto-procfs.c: Update.
2219         * obsd-nat.c: Update.
2220         * procfs.c: Update.
2221         * progspace.c: Update.
2222         * remote.c: Update.
2223         * rs6000-nat.c: Update.
2224         * s390-linux-nat.c: Update.
2225         * sol-thread.c: Update.
2226         * spu-linux-nat.c: Update.
2227         * target.c: Update.
2228         * top.c: Update.
2229         * tracefile-tfile.c: Update.
2230         * windows-nat.c: Update.
2231
2232 2018-07-03  Tom Tromey  <tom@tromey.com>
2233
2234         * common/ptid.h (ptid_build): Don't declare.
2235         * common/ptid.c (ptid_build): Remove.
2236         * aix-thread.c: Update.
2237         * bsd-kvm.c: Update.
2238         * bsd-uthread.c: Update.
2239         * common/agent.c: Update.
2240         * common/ptid.c: Update.
2241         * common/ptid.h: Update.
2242         * corelow.c: Update.
2243         * darwin-nat.c: Update.
2244         * fbsd-nat.c: Update.
2245         * gnu-nat.c: Update.
2246         * linux-fork.c: Update.
2247         * linux-nat.c: Update.
2248         * linux-thread-db.c: Update.
2249         * nat/linux-osdata.c: Update.
2250         * nat/linux-procfs.c: Update.
2251         * nto-procfs.c: Update.
2252         * obsd-nat.c: Update.
2253         * proc-service.c: Update.
2254         * procfs.c: Update.
2255         * ravenscar-thread.c: Update.
2256         * remote-sim.c: Update.
2257         * remote.c: Update.
2258         * sol-thread.c: Update.
2259         * target.c: Update.
2260         * windows-nat.c: Update.
2261
2262 2018-07-03  Tom Tromey  <tom@tromey.com>
2263
2264         * infrun.c (follow_exec): Use exit_inferior_silent.
2265         * inferior.c (exit_inferior_num_silent): Remove.
2266         * inferior.h (exit_inferior_num_silent): Don't declare.
2267
2268 2018-07-03  Tom Tromey  <tom@tromey.com>
2269
2270         PR cli/23340:
2271         * darwin-nat.c (darwin_attach_pid): Reset inferior and
2272         inferior_ptid on error.
2273
2274 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
2275             Simon Marchi  <simon.marchi@polymtl.ca>
2276
2277         PR tdep/8282
2278         * disasm.h (gdb_disassembler): Add
2279         `m_disassembler_options_holder'. member
2280         * disasm.c (get_all_disassembler_options): New function.
2281         (gdb_disassembler::gdb_disassembler): Use it.
2282         (gdb_buffered_insn_length_init_dis): Likewise.
2283         (gdb_buffered_insn_length): Adjust accordingly.
2284         (set_disassembler_options): Handle options with arguments.
2285         (show_disassembler_options_sfunc): Likewise.  Add a leading new
2286         line if showing options with descriptions.
2287         (disassembler_options_completer): Adapt to using the
2288         `disasm_options_and_args_t' structure.
2289         * mips-tdep.c (mips_disassembler_options): New variable.
2290         (mips_disassembler_options_o32): Likewise.
2291         (mips_disassembler_options_n32): Likewise.
2292         (mips_disassembler_options_n64): Likewise.
2293         (gdb_print_insn_mips): Don't set `disassembler_options'.
2294         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
2295         functions.
2296         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
2297         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
2298         `gdbarch_disassembler_options_implicit' and
2299         `gdbarch_valid_disassembler_options'.
2300         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
2301         `disasm_options_and_args_t' structure.
2302         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
2303         method.
2304         (valid_disassembler_options): Switch from `disasm_options_t' to
2305         the `disasm_options_and_args_t' structure.
2306         * NEWS: Document `set disassembler-options' support for the MIPS
2307         target.
2308         * gdbarch.h: Regenerate.
2309         * gdbarch.c: Regenerate.
2310
2311 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2312
2313         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
2314
2315 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
2316
2317         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
2318         parameter in call to amd64_target_description.
2319         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
2320         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
2321         (amd64fbsd_init_abi): Likewise.
2322         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
2323         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
2324         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
2325         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
2326
2327 2018-06-29  Pedro Alves  <palves@redhat.com>
2328
2329         * gdb/amd64-tdep.h (amd64_create_target_description): Add
2330         "segments" parameter.
2331         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
2332         (_initialize_amd64_tdep): Update call to
2333         amd64_create_target_description.
2334         (amd64_target_description): Add "segments" parameter.  Adjust
2335         the implementation to use it.
2336         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
2337         call to amd64_create_target_description.
2338         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
2339         * gdb/arch/amd64.h (amd64_create_target_description): Add
2340         "segments" register.
2341         * gdb/arch/amd64.c (amd64_create_target_description): Add
2342         "segments" parameter.  Call create_feature_i386_64bit_segments
2343         only if SEGMENTS is true.
2344         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
2345         call to amd64_create_target_description.
2346
2347 2018-06-29  Pedro Alves  <palves@redhat.com>
2348
2349         * thread.c (thread_target_id_str): New, factored out from ...
2350         (print_thread_info_1): ... here.  Use it to compute the max
2351         "Target Id" column width.
2352
2353 2018-06-29  Pedro Alves  <palves@redhat.com>
2354
2355         * remote.c (remote_target::extra_thread_info): Delete
2356         'display_buf' and 'n' locals.  from the cache, regardless of
2357         packet mechanims is in use.  Use cache for qThreadExtra and qP
2358         methods too.
2359
2360 2018-06-29  Pedro Alves  <palves@redhat.com>
2361
2362         * blockframe.c (find_pc_sect_containing_function): New function.
2363         * breakpoint.c (print_breakpoint_location): Don't call
2364         find_pc_sect_function.
2365         * linespec.c (create_sals_line_offset): Record the location's
2366         symbol in the sal.
2367         * linespec.c (convert_address_location_to_sals): Fill in sal's
2368         symbol with find_pc_sect_containing_function.
2369         * symtab.c (find_function_start_sal): Rename to ...
2370         (find_function_start_sal_1): ... this.
2371         (find_function_start_sal): Reimplement as wrapper around
2372         find_function_start_sal_1, and use
2373         find_pc_sect_containing_function to fill in the sal's symbol.
2374         (find_function_start_sal(symbol*, bool)): Adjust.
2375         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
2376         comments.
2377         (find_pc_sect_containing_function): Declare.
2378
2379 2018-06-29  Pedro Alves  <palves@redhat.com>
2380
2381         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
2382         true if the the location has no symbol.
2383
2384 2018-06-28  Tom Tromey  <tom@tromey.com>
2385
2386         * NEWS: Mention --enable-codesign.
2387         * silent-rules.mk (ECHO_SIGN): New variable.
2388         * configure.ac: Add --enable-codesign.
2389         * configure: Rebuild.
2390         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
2391         (gdb$(EXEEXT)): Optionally invoke codesign.
2392
2393 2018-06-28  Pedro Alves  <palves@redhat.com>
2394
2395         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
2396         comments.
2397         (switch_to_thread_no_regs): Adjust comment.
2398         * infcmd.c (stop_pc): Delete.
2399         (post_create_inferior, info_program_command): Replace references
2400         to stop_pc with references to thread_info->suspend.stop_pc.
2401         * inferior.h (stop_pc): Delete declaration.
2402         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
2403         (handle_inferior_event_1, handle_signal_stop)
2404         (process_event_stop_test, keep_going_stepped_thread)
2405         (handle_step_into_function, handle_step_into_function_backward)
2406         (print_stop_location): Replace references to stop_pc with
2407         references to thread_info->suspend.stop_pc.
2408         (struct infcall_suspend_state) <stop_pc>: Delete field.
2409         (save_infcall_suspend_state, restore_infcall_suspend_state):
2410         Remove references to inf_stat->stop_pc.
2411         * linux-fork.c (fork_load_infrun_state): Likewise.
2412         * record-btrace.c (record_btrace_set_replay): Likewise.
2413         * record-full.c (record_full_goto_entry): Likewise.
2414         * remote.c (print_one_stopped_thread): Likewise.
2415         * target.c (target_resume): Extend comment.
2416         * thread.c (set_executing_thread): New.
2417         (set_executing): Use it.
2418         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
2419         Remove references to stop_pc.
2420
2421 2018-06-28  Pedro Alves  <palves@redhat.com>
2422
2423         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
2424         Moving fetching stop_pc until after ecs->event_thread is refreshed.
2425
2426 2018-06-28  Tom Tromey  <tom@tromey.com>
2427
2428         * coffread.c (coff_symfile_finish): Update.
2429         * xcoffread.c (xcoff_symfile_finish): Update.
2430         * elfread.c (elf_symfile_finish): Update.
2431         * symfile.h (dwarf2_free_objfile): Don't declare.
2432         * dwarf2read.c (_initialize_dwarf2_read): Use
2433         register_objfile_data_with_cleanup.
2434         (dwarf2_free_objfile): Now static.  Change signature.
2435
2436 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2437
2438         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
2439         option "-o" to add-symbol-file-load to add an offset to each
2440         section's load address.
2441         * symfile.c (set_objfile_default_section_offset): New function.
2442
2443 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2444
2445         * symfile.c (add_symbol_file_command): Make sure that sections
2446         with the same name are sorted in the same order.
2447
2448 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2449
2450         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
2451         require the second argument.  If omitted, load sections at the
2452         addresses specified in the file.
2453
2454 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2455
2456         * symfile.c (symbol_file_command, symbol_file_add_main_1)
2457         (_initialize_symfile): Add option "-o" to symbol-file to add an
2458         offset to each section of the symbol file.
2459
2460 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2461
2462         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
2463
2464 2018-06-27  Tom Tromey  <tom@tromey.com>
2465
2466         * stack.c (_initialize_stack): Update "func" help text.
2467
2468 2018-06-27  Tom Tromey  <tom@tromey.com>
2469
2470         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
2471         std::vector.
2472         (unwind_infopy_str, pyuw_create_unwind_info)
2473         (unwind_infopy_add_saved_register, pyuw_sniffer)
2474         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
2475         Update.
2476         (struct saved_reg): Add constructor.
2477         <value>: Now a gdbpy_ref<>.
2478
2479 2018-06-27  Tom Tromey  <tom@tromey.com>
2480
2481         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
2482
2483 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2484
2485         * gdb-gdb.py.in: Format using autopep8.
2486
2487 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2488
2489         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
2490         (type_lookup_function): Recognize CORE_ADDR values.
2491
2492 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2493
2494         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
2495         print tag_name.
2496
2497 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2498
2499         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
2500         <__lt__>: Add.
2501
2502 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2503
2504         * gdb-gdb.py: Move to...
2505         * gdb-gdb.py.in: ... here.
2506         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
2507         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
2508         dependencies.
2509         (distclean): Remove gdb-gdb.py when cleaning.
2510         (gdb-gdb.py, gdb-gdb.gdb): New rules.
2511         * configure: Re-generate.
2512
2513 2018-06-27  Pedro Alves  <palves@redhat.com>
2514
2515         * proc-service.c (get_ps_regcache): New.
2516         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2517         (ps_lsetfpregs): Use it.
2518
2519 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
2520
2521         PR gdb/21695
2522         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
2523         (dwarf_decode_lines_1): Adjust.
2524
2525 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2526
2527         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2528         override.
2529         <info_proc>: Likewise.
2530
2531 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2532
2533         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2534         to windows_fetch_one_register, and only handle the case of
2535         fetching one register.  Move the code that reloads the context
2536         and iterates over all registers if R is negative to...
2537         (windows_nat_target::fetch_registers): ... here.
2538         (do_windows_store_inferior_registers): Rename to
2539         windows_store_one_register, and only handle the case of storing
2540         one register.  Move the code that handles the case where r is
2541         negative to...
2542         (windows_nat_target::store_registers) ... here.
2543
2544 2018-06-26  Tom Tromey  <tom@tromey.com>
2545
2546         PR rust/22574:
2547         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2548         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2549         Update.
2550         (rust_internal_print_type): Add podata parameter.
2551         (rust_print_type): Update.
2552
2553 2018-06-26  Tom Tromey  <tom@tromey.com>
2554
2555         * typeprint.h (struct print_offset_data) <update, finish,
2556         maybe_print_hole>: New methods.
2557         <indentation>: New constant.
2558         * typeprint.c (print_offset_data::indentation): Define.
2559         (print_offset_data::maybe_print_hole, print_offset_data::update)
2560         (print_offset_data::finish): Move from c-typeprint.c and rename.
2561         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2562         (print_spaces_filtered_with_print_options): Update.
2563         (c_print_type_union_field_offset, maybe_print_hole)
2564         (c_print_type_struct_field_offset): Move to typeprint.c and
2565         rename.
2566         (c_type_print_base_struct_union): Update.
2567
2568 2018-06-25  Pedro Alves  <palves@redhat.com>
2569
2570         * gdbthread.h (thread_info_ref, delete_thread)
2571         (delete_thread_silent, first_thread_of_inferior)
2572         (any_thread_of_inferior, switch_to_thread)
2573         (enable_thread_stack_temporaries)
2574         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2575         (get_last_thread_stack_temporary)
2576         (value_in_thread_stack_temporaries, can_access_registers_thread):
2577         Spell out "struct thread_info" instead of just "thread_info".
2578         * inferior.h (notice_new_inferior): Likewise.
2579
2580 2018-06-25  Pedro Alves  <palves@redhat.com>
2581
2582         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2583         pass thread_info pointer to delete_thread.
2584         (windows_nat_target::detach): Pass inferior pointer to
2585         detach_inferior.
2586         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2587         delete_thread.
2588         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2589         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2590         and pass a thread_info pointer to delete_thread.
2591         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2592         pass thread_info pointer to delete_thread.
2593         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2594         delete_thread_silent call.
2595         * procfs.c (procfs_target::detach): Pass inferior pointer to
2596         detach_inferior.
2597         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2598         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2599         delete_thread_silent call.
2600         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2601         pass thread_info pointer to delete_thread.
2602         (windows_nat_target::detach): Pass inferior pointer to
2603         delete_inferior.
2604
2605 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2606
2607         * regcache.c (readable_regcache::read_part): Fix asserts.
2608         (reg_buffer::raw_collect_part): New function.
2609         (regcache::write_part): Fix asserts.
2610         (reg_buffer::raw_supply_part): New function.
2611         (regcache::transfer_regset_register): New helper function.
2612         (regcache::transfer_regset): Call new functions.
2613         (regcache_supply_regset): Use gdb_byte*.
2614         (regcache::supply_regset): Likewise.
2615         (regcache_collect_regset): Likewise.
2616         (regcache::collect_regset): Likewise.
2617         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2618         (reg_buffer::raw_supply_part): Likewise.
2619         (regcache::transfer_regset_register): Likewise.
2620         (regcache::transfer_regset): Use gdb_byte*.
2621
2622 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2623
2624         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2625
2626 2018-06-21  Pedro Alves  <palves@redhat.com>
2627
2628         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2629         instead of a ptid_t.  All callers adjusted.
2630         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2631         adjusted.
2632         (print_ada_task_info, display_current_task_id, task_command_1):
2633         Adjust.
2634         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2635         inferior_thread.
2636         (breakpoint_kind): Adjust.
2637         (remove_breakpoints_pid): Rename to ...
2638         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2639         pointer.  All callers adjusted.
2640         (bpstat_clear_actions): Use inferior_thread.
2641         (get_bpstat_thread): New.
2642         (bpstat_do_actions): Use it.
2643         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2644         to take a thread_info pointer.  All callers adjusted.
2645         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2646         (breakpoint_re_set_thread): Use inferior_thread.
2647         * breakpoint.h (struct inferior): Forward declare.
2648         (bpstat_stop_status): Update.
2649         (remove_breakpoints_pid): Delete.
2650         (remove_breakpoints_inf): New.
2651         * bsd-uthread.c (bsd_uthread_target::wait)
2652         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2653         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2654         (maint_btrace_packet_history_cmd)
2655         (maint_btrace_clear_packet_history_cmd): Adjust.
2656         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2657         inferior_thread.
2658         * cli/cli-interp.c: Include "inferior.h".
2659         * common/refcounted-object.h (struct
2660         refcounted_object_ref_policy): New.
2661         * compile/compile-object-load.c: Include gdbthread.h.
2662         (store_regs): Use inferior_thread.
2663         * corelow.c (core_target::close): Use current_inferior.
2664         (core_target_open): Adjust to use first_thread_of_inferior and use
2665         the current inferior.
2666         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2667         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2668         <thread>: ... this new field.  All references adjusted.
2669         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2670         Take a thread_info pointer instead of a ptid_t.
2671         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2672         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2673         thread_info pointer instead of a ptid_t.
2674         * elfread.c: Include "inferior.h".
2675         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2676         Use inferior_thread.
2677         * eval.c (evaluate_subexp): Likewise.
2678         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2679         inferior_thread.
2680         * gdb_proc_service.h (struct thread_info): Forward declare.
2681         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2682         <thread>: ... this new field.  All references adjusted.
2683         * gdbarch.h, gdbarch.c: Regenerate.
2684         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2685         'thread' parameter.  All implementations and callers adjusted.
2686         * gdbthread.h (thread_info) <set_running>: New method.
2687         (delete_thread, delete_thread_silent): Take a thread_info pointer
2688         instead of a ptid.
2689         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2690         (first_thread_of_process): Delete, replaced by ...
2691         (first_thread_of_inferior): ... this new function.  All callers
2692         adjusted.
2693         (any_live_thread_of_process): Delete, replaced by ...
2694         (any_live_thread_of_inferior): ... this new function.  All callers
2695         adjusted.
2696         (switch_to_thread, switch_to_no_thread): Declare.
2697         (is_executing): Delete.
2698         (enable_thread_stack_temporaries): Update comment.
2699         <enable_thread_stack_temporaries>: Take a thread_info pointer
2700         instead of a ptid_t.  Incref the thread.
2701         <~enable_thread_stack_temporaries>: Decref the thread.
2702         <m_ptid>: Delete
2703         <m_thr>: New.
2704         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2705         (get_last_thread_stack_temporary)
2706         (value_in_thread_stack_temporaries, can_access_registers_thread):
2707         Take a thread_info pointer instead of a ptid_t.  All callers
2708         adjusted.
2709         * infcall.c (get_call_return_value): Use inferior_thread.
2710         (run_inferior_call): Work with thread pointers instead of ptid_t.
2711         (call_function_by_hand_dummy): Work with thread pointers instead
2712         of ptid_t.  Use thread_info_ref.
2713         * infcmd.c (proceed_thread_callback): Access thread's state
2714         directly.
2715         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2716         access thread's state directly.
2717         (continue_command): Use inferior_thread.
2718         (info_program_command): Use find_thread_ptid and access thread
2719         state directly.
2720         (proceed_after_attach_callback): Use thread state directly.
2721         (notice_new_inferior): Take a thread_info pointer instead of a
2722         ptid_t.  All callers adjusted.
2723         (exit_inferior): Take an inferior pointer instead of a pid.  All
2724         callers adjusted.
2725         (exit_inferior_silent): New.
2726         (detach_inferior): Delete.
2727         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2728         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2729         (detach_inferior_command, kill_inferior_command): Use
2730         find_inferior_id instead of valid_gdb_inferior_id and
2731         gdb_inferior_id_to_pid.
2732         (inferior_command): Use inferior and thread pointers.
2733         * inferior.h (struct thread_info): Forward declare.
2734         (notice_new_inferior): Take a thread_info pointer instead of a
2735         ptid_t.  All callers adjusted.
2736         (detach_inferior): Delete declaration.
2737         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2738         instead of a pid.  All callers adjusted.
2739         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2740         (valid_gdb_inferior_id): Delete.
2741         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2742         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2743         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2744         ...
2745         <inf>: ... this new field.
2746         <step_ptid>: Delete, replaced by ...
2747         <step_thread>: ... this new field.
2748         (get_displaced_stepping_state): Take an inferior pointer instead
2749         of a pid.  All callers adjusted.
2750         (displaced_step_in_progress_any_inferior): Adjust.
2751         (displaced_step_in_progress_thread): Take a thread pointer instead
2752         of a ptid_t.  All callers adjusted.
2753         (displaced_step_in_progress, add_displaced_stepping_state): Take
2754         an inferior pointer instead of a pid.  All callers adjusted.
2755         (get_displaced_step_closure_by_addr): Adjust.
2756         (remove_displaced_stepping_state): Take an inferior pointer
2757         instead of a pid.  All callers adjusted.
2758         (displaced_step_prepare_throw, displaced_step_prepare)
2759         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2760         All callers adjusted.
2761         (start_step_over): Adjust.
2762         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2763         displaced step queue.
2764         (do_target_resume): Adjust.
2765         (fetch_inferior_event): Use inferior_thread.
2766         (context_switch, get_inferior_stop_soon): Take an
2767         execution_control_state pointer instead of a ptid_t.  All callers
2768         adjusted.
2769         (switch_to_thread_cleanup): Delete.
2770         (stop_all_threads): Use scoped_restore_current_thread.
2771         * inline-frame.c: Include "gdbthread.h".
2772         (inline_state) <inline_state>: Take a thread pointer instead of a
2773         ptid_t.  All callers adjusted.
2774         <ptid>: Delete, replaced by ...
2775         <thread>: ... this new field.
2776         (find_inline_frame_state): Take a thread pointer instead of a
2777         ptid_t.  All callers adjusted.
2778         (skip_inline_frames, step_into_inline_frame)
2779         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2780         pointer instead of a ptid_t.  All callers adjusted.
2781         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2782         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2783         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2784         pointers directly.
2785         * linux-nat.c (get_detach_signal): Likewise.
2786         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2787         (thread_db_notice_clone): Adjust.
2788         (thread_db_find_new_threads_silently)
2789         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2790         a thread pointer instead of a ptid_t.  All callers adjusted.
2791         * mi/mi-cmd-var.c: Include "inferior.h".
2792         (mi_cmd_var_update_iter): Update to use thread pointers.
2793         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2794         inferior directly.
2795         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2796         out to ...
2797         (mi_output_running): ... this new function.
2798         (mi_on_resume_1): Adjust to use it.
2799         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2800         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2801         directly.
2802         (interrupt_thread_callback): : Adjust to use thread and inferior
2803         pointers.
2804         * proc-service.c: Include "gdbthread.h".
2805         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2806         * progspace-and-thread.c: Include "inferior.h".
2807         * progspace.c: Include "inferior.h".
2808         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2809         hold a reference to an inferior_object.
2810         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2811         inferior_thread.
2812         * python/py-inferior.c (struct inferior_object): Give the type a
2813         tag name instead of a typedef.
2814         (python_on_normal_stop): No need to check if the current thread is
2815         listed.
2816         (inferior_to_inferior_object): Change return type to
2817         inferior_object.  All callers adjusted.
2818         (find_thread_object): Delete, bits factored out to ...
2819         (thread_to_thread_object): ... this new function.
2820         * python/py-infthread.c (create_thread_object): Use
2821         inferior_to_inferior_object.
2822         (thpy_is_stopped): Use thread pointer directly.
2823         (gdbpy_selected_thread): Use inferior_thread.
2824         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2825         field, replaced with ...
2826         <thread>: ... this new field.  All users adjusted.
2827         (btpy_insn_or_gap_new): Drop const.
2828         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2829         callers adjusted.
2830         * python/py-record.c: Include "gdbthread.h".
2831         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2832         a ptid_t.  All callers adjusted.
2833         (gdbpy_current_recording): Use inferior_thread.
2834         * python/py-record.h (recpy_record_object) <ptid>: Delete
2835         field, replaced with ...
2836         <thread>: ... this new field.  All users adjusted.
2837         (recpy_element_object) <ptid>: Delete
2838         field, replaced with ...
2839         <thread>: ... this new field.  All users adjusted.
2840         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2841         a ptid_t.  All callers adjusted.
2842         * python/py-threadevent.c: Include "gdbthread.h".
2843         (get_event_thread): Use thread_to_thread_object.
2844         * python/python-internal.h (struct inferior_object): Forward
2845         declare.
2846         (find_thread_object, find_inferior_object): Delete declarations.
2847         (thread_to_thread_object, inferior_to_inferior_object): New
2848         declarations.
2849         * record-btrace.c: Include "inferior.h".
2850         (require_btrace_thread): Use inferior_thread.
2851         (record_btrace_frame_sniffer)
2852         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2853         (get_thread_current_frame): Use scoped_restore_current_thread and
2854         switch_to_thread.
2855         (get_thread_current_frame): Use thread pointer directly.
2856         (record_btrace_replay_at_breakpoint): Use thread's inferior
2857         pointer directly.
2858         * record-full.c: Include "inferior.h".
2859         * regcache.c: Include "gdbthread.h".
2860         (get_thread_arch_regcache): Use the inferior's address space
2861         directly.
2862         (get_thread_regcache, registers_changed_thread): New.
2863         * regcache.h (get_thread_regcache(thread_info *thread)): New
2864         overload.
2865         (registers_changed_thread): New.
2866         (remote_target) <remote_detach_1>: Swap order of parameters.
2867         (remote_add_thread): <remote_add_thread>: Return the new thread.
2868         (get_remote_thread_info(ptid_t)): New overload.
2869         (remote_target::remote_notice_new_inferior): Use thread pointers
2870         directly.
2871         (remote_target::process_initial_stop_replies): Use
2872         thread_info::set_running.
2873         (remote_target::remote_detach_1, remote_target::detach)
2874         (extended_remote_target::detach): Adjust.
2875         * stack.c (frame_show_address): Use inferior_thread.
2876         * target-debug.h (target_debug_print_thread_info_pp): New.
2877         * target-delegates.c: Regenerate.
2878         * target.c (default_thread_address_space): Delete.
2879         (memory_xfer_partial_1): Use current_inferior.
2880         (target_detach): Use current_inferior.
2881         (target_thread_address_space): Delete.
2882         (generic_mourn_inferior): Use current_inferior.
2883         * target.h (struct target_ops) <thread_address_space>: Delete.
2884         (target_thread_address_space): Delete.
2885         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2886         pointers directly.
2887         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2888         thread pointer instead of a ptid_t.  Adjust all callers.
2889         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2890         (first_thread_of_process): Delete, replaced by ...
2891         (first_thread_of_inferior): ... this new function.  All callers
2892         adjusted.
2893         (any_thread_of_process): Rename to ...
2894         (any_thread_of_inferior): ... this, and take an inferior pointer.
2895         (any_live_thread_of_process): Rename to ...
2896         (any_live_thread_of_inferior): ... this, and take an inferior
2897         pointer.
2898         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2899         (value_in_thread_stack_temporaries)
2900         (get_last_thread_stack_temporary): Take a thread pointer instead
2901         of a ptid_t.  Adjust all callers.
2902         (thread_info::set_running): New.
2903         (validate_registers_access): Use inferior_thread.
2904         (can_access_registers_ptid): Rename to ...
2905         (can_access_registers_thread): ... this, and take a thread
2906         pointer.
2907         (print_thread_info_1): Adjust to compare thread pointers instead
2908         of ptids.
2909         (switch_to_no_thread, switch_to_thread): Make extern.
2910         (scoped_restore_current_thread::~scoped_restore_current_thread):
2911         Use m_thread pointer directly.
2912         (scoped_restore_current_thread::scoped_restore_current_thread):
2913         Use inferior_thread.
2914         (thread_command): Use thread pointer directly.
2915         (thread_num_make_value_helper): Use inferior_thread.
2916         * top.c (execute_command): Use inferior_thread.
2917         * tui/tui-interp.c: Include "inferior.h".
2918         * varobj.c (varobj_create): Use inferior_thread.
2919         (value_of_root_1): Use find_thread_global_id instead of
2920         global_thread_id_to_ptid.
2921
2922 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2923
2924         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2925         possible.
2926         (regcache::write_part): Likewise.
2927         (readable_regcache::cooked_read_part): Update comment.
2928         (readable_regcache::cooked_write_part): Likewise.
2929         * regcache.h: (readable_regcache::read_part): Likewise.
2930         (regcache::write_part): Likewise.
2931
2932 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2933             Dirk Schubert  <dirk.schubert@arm.com>
2934
2935         * aarch64-linux-nat.c (post_attach): New.
2936         (aarch64_linux_nat_target::post_attach): Override post_attach to
2937         record the number of hardware debug registers.
2938
2939 2018-06-20  Tom Tromey  <tom@tromey.com>
2940
2941         * python/py-param.c (add_setshow_generic): Make parameters const.
2942         (parmpy_init): Update.
2943
2944 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2945
2946         * regcache.h (regcache_cooked_read_ftype): Rename to...
2947         (register_read_ftype): ...this, change type to function_view.
2948         (class reg_buffer) <save>: Remove src parameter.
2949         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2950         parameter non-const in first overload.  Remove src parameter in
2951         second overload.
2952         * regcache.c (do_cooked_read): Remove.
2953         (readonly_detached_regcache::readonly_detached_regcache): Make
2954         parameter non-const, adjust call to other constructor.
2955         (reg_buffer::save): Remove src parameter.
2956         * frame.c (do_frame_register_read): Remove.
2957         (frame_save_as_regcache): Use lambda function.
2958         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2959         parameter to ppu2spu_data *.
2960         (ppu2spu_sniffer): Use lambda function.
2961
2962 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2963
2964         * record-full.c (record_full_target::insert_breakpoint): Remove
2965         "struct" keyword, add const.
2966
2967 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2968
2969         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2970         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2971         * configure.ac: Remove AC_PREREQ, add missing quoting.
2972         * gnulib/configure.ac: Modernize usage of
2973         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2974         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2975         (AUTOMAKE_VERSION): Bump to 1.15.1.
2976         * configure: Re-generate.
2977         * config.in: Re-generate.
2978         * aclocal.m4: Re-generate.
2979         * gnulib/aclocal.m4: Re-generate.
2980         * gnulib/config.in: Re-generate.
2981         * gnulib/configure: Re-generate.
2982         * gnulib/import/Makefile.in: Re-generate.
2983
2984 2018-06-19  Pedro Alves  <palves@redhat.com>
2985
2986         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2987         (lookup_minimal_symbol_by_pc_section): ... here with
2988         gdb_assert_not_reached added.
2989
2990 2018-06-19  Pedro Alves  <palves@redhat.com>
2991
2992         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2993         parameter with a block parameter.  Compare location's block symbol
2994         with the frame's block instead of addresses.
2995         (skip_inline_frames): Pass the current block instead of the
2996         frame's address.  Break out as soon as we determine the frame
2997         should not be skipped.
2998
2999 2018-06-18  Tom Tromey  <tom@tromey.com>
3000
3001         * solib-aix.c (solib_aix_get_section_offsets): Return
3002         unique_xmalloc_ptr.
3003         (solib_aix_solib_create_inferior_hook): Update.
3004
3005 2018-06-18  Tom Tromey  <tom@tromey.com>
3006
3007         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3008
3009 2018-06-18  Tom Tromey  <tom@tromey.com>
3010
3011         * solib-frv.c (frv_relocate_main_executable): Use
3012         unique_xmalloc_ptr.
3013         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3014         unique_xmalloc_ptr.
3015
3016 2018-06-18  Tom Tromey  <tom@tromey.com>
3017
3018         * objfiles.h (inhibit_section_map_updates): Update.
3019         (resume_section_map_updates, resume_section_map_updates_cleanup):
3020         Remove.
3021         * solib-svr4.c (svr4_handle_solib_event): Update.
3022         * objfiles.c (inhibit_section_map_updates): Return
3023         scoped_restore_tmpl<int>.
3024         (resume_section_map_updates, resume_section_map_updates_cleanup):
3025         Remove.
3026
3027 2018-06-18  Tom Tromey  <tom@tromey.com>
3028
3029         * valprint.h (read_string): Update.
3030         * valprint.c (read_string): Change type of "buffer".
3031         (val_print_string): Update.
3032         * python/py-value.c (valpy_string): Update.
3033         * language.h (struct language_defn) <la_get_string>: Change
3034         type of "buffer".
3035         (default_get_string, c_get_string): Update.
3036         * language.c (default_get_string): Change type of "buffer".
3037         * guile/scm-value.c (gdbscm_value_to_string): Update.
3038         * c-lang.c (c_get_string): Change type of "buffer".
3039
3040 2018-06-18  Tom Tromey  <tom@tromey.com>
3041
3042         * ser-mingw.c (struct pipe_state_destroyer): New.
3043         (pipe_state_up): New typedef.
3044         (cleanup_pipe_state): Remove.
3045         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3046
3047 2018-06-18  Tom Tromey  <tom@tromey.com>
3048
3049         * rust-lang.h (rust_yyerror): Don't declare.
3050         * rust-lang.c (rust_language_defn): Update.
3051         * rust-exp.y (yyerror): Now static.
3052         * parse.c (parse_exp_in_context_1): Update.
3053         * p-lang.h (p_yyerror): Don't declare.
3054         * p-lang.c (p_language_defn): Update.
3055         * p-exp.y (yyerror): Now static.
3056         * opencl-lang.c (opencl_language_defn): Update.
3057         * objc-lang.c (objc_language_defn): Update.
3058         * m2-lang.h (m2_yyerror): Don't declare.
3059         * m2-lang.c (m2_language_defn): Update.
3060         * m2-exp.y (yyerror): Now static.
3061         * language.h (struct language_defn) <la_error>: Remove.
3062         * language.c (unk_lang_error): Remove.
3063         (unknown_language_defn, auto_language_defn): Remove.
3064         * go-lang.h (go_yyerror): Don't declare.
3065         * go-lang.c (go_language_defn): Update.
3066         * go-exp.y (yyerror): Now static.
3067         * f-lang.h (f_yyerror): Don't declare.
3068         * f-lang.c (f_language_defn): Update.
3069         * f-exp.y (yyerror): Now static.
3070         * d-lang.h (d_yyerror): Don't declare.
3071         * d-lang.c (d_language_defn): Update.
3072         * d-exp.y (yyerror): Now static.
3073         * c-lang.h (c_yyerror): Don't declare.
3074         * c-lang.c (c_language_defn, cplus_language_defn)
3075         (asm_language_defn, minimal_language_defn): Update.
3076         * c-exp.y (yyerror): Now static.
3077         * ada-lang.h (ada_yyerror): Don't declare.
3078         * ada-lang.c (ada_language_defn): Update.
3079         * ada-exp.y (yyerror): Now static.
3080
3081 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3082
3083         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3084         (store_sveregs_to_thread): Likewise.
3085         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3086         (aarch64_linux_store_inferior_registers): Likewise.
3087         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3088         function.
3089         (aarch64_sve_regs_copy_to_regcache): Likewise.
3090         (aarch64_sve_regs_copy_from_regcache): Likewise.
3091         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3092         declaration.
3093         (aarch64_sve_regs_copy_to_regcache): Likewise.
3094         (aarch64_sve_regs_copy_from_regcache): Likewise.
3095         (sve_context): Structure from Linux headers.
3096         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3097         (SVE_SIG_ZREG_SIZE): Likewise.
3098         (SVE_SIG_PREG_SIZE): Likewise.
3099         (SVE_SIG_FFR_SIZE): Likewise.
3100         (SVE_SIG_REGS_OFFSET): Likewise.
3101         (SVE_SIG_ZREGS_OFFSET): Likewise.
3102         (SVE_SIG_ZREG_OFFSET): Likewise.
3103         (SVE_SIG_ZREGS_SIZE): Likewise.
3104         (SVE_SIG_PREGS_OFFSET): Likewise.
3105         (SVE_SIG_PREG_OFFSET): Likewise.
3106         (SVE_SIG_PREGS_SIZE): Likewise.
3107         (SVE_SIG_FFR_OFFSET): Likewise.
3108         (SVE_SIG_REGS_SIZE): Likewise.
3109         (SVE_SIG_CONTEXT_SIZE): Likewise.
3110         (SVE_PT_REGS_MASK): Likewise.
3111         (SVE_PT_REGS_FPSIMD): Likewise.
3112         (SVE_PT_REGS_SVE): Likewise.
3113         (SVE_PT_VL_INHERIT): Likewise.
3114         (SVE_PT_VL_ONEXEC): Likewise.
3115         (SVE_PT_REGS_OFFSET): Likewise.
3116         (SVE_PT_FPSIMD_OFFSET): Likewise.
3117         (SVE_PT_FPSIMD_SIZE): Likewise.
3118         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3119         (SVE_PT_SVE_PREG_SIZE): Likewise.
3120         (SVE_PT_SVE_FFR_SIZE): Likewise.
3121         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3122         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3123         (__SVE_SIG_TO_PT): Likewise.
3124         (SVE_PT_SVE_OFFSET): Likewise.
3125         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
3126         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
3127         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
3128         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
3129         (SVE_PT_SVE_PREG_OFFSET): Likewise.
3130         (SVE_PT_SVE_PREGS_SIZE): Likewise.
3131         (SVE_PT_SVE_FFR_OFFSET): Likewise.
3132         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
3133         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
3134         (SVE_PT_SVE_SIZE): Likewise.
3135         (SVE_PT_SIZE): Likewise.
3136         (HAS_SVE_STATE): New define.
3137
3138 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3139
3140         * nat/aarch64-sve-linux-sigcontext.h: New file.
3141         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
3142         new files.
3143         (SVE_VQ_MIN): Likewise.
3144         (SVE_VQ_MAX): Likewise.
3145         (SVE_VL_MIN): Likewise.
3146         (SVE_VL_MAX): Likewise.
3147         (SVE_NUM_ZREGS): Likewise.
3148         (SVE_NUM_PREGS): Likewise.
3149         (sve_vl_valid): Likewise.
3150         (struct user_sve_header): Likewise.
3151
3152 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
3153             Richard Bunt <Richard.Bunt@arm.com>
3154
3155         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
3156         was requested by GDB.
3157
3158 2018-06-15  Tom de Vries  <tdevries@suse.de>
3159
3160         * MAINTAINERS (Write After Approval): Add Tom de Vries.
3161
3162 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
3163
3164         * gnulib/update-gnulib.sh: Print expected versions of
3165         autoconf/aclocal.
3166
3167 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
3168
3169         * arch-utils.c (default_type_align): Use type_length_units.
3170         * gdbtypes.c (type_align): Use type_length_units.
3171
3172 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3173
3174         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
3175         of 'define' command.
3176
3177 2018-06-14  Tom de Vries  <tdevries@suse.de>
3178
3179         PR cli/22573
3180         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
3181         get_no_prettyformat_print_options.
3182
3183 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
3184
3185         * sparc-nat.h: Include target.h.
3186         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
3187         <fetch_registers>: Remove this argument in function call.
3188         <store_registers>: Remove this argument in function call, remove
3189         extra semicolon.
3190         <low_forget_process>: Call sparc64_forget_process instead of
3191         sparc_forget_process.
3192
3193 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3194
3195         * procfs.c (_initialize_procfs): Use add_inf_child_target.
3196         (procfs_target::make_corefile_notes): Adjust to new
3197         target_read_alloc return type.
3198
3199 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3200             Stephen Roberts  <stephen.roberts@arm.com>
3201
3202         PR gdb/22882
3203         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
3204         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
3205         Move should_notify_stop local into more inner scope.
3206
3207 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3208             Stephen Roberts  <stephen.roberts@arm.com>
3209
3210         PR gdb/22882
3211         * infrun.c (resume_1): Add call to mark_async_event_handler.
3212
3213 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3214
3215         * infrun.c (do_target_wait): Change old version of $pc printed.
3216
3217 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
3218
3219         * dwarf2read.c (read_index_from_section): Rename to...
3220         (read_gdb_index_from_section): ... this, update all callers.
3221         (dwarf2_read_index): Rename to...
3222         (dwarf2_read_gdb_index): ... this, update all callers.
3223
3224 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
3225
3226         * gdb/hppa-linux-nat.c
3227         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
3228         hppa_linux_nat_target::fetch_registers.
3229
3230 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3231
3232         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
3233         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
3234         (AARCH64_DWARF_SVE_FFR): Likewise.
3235         (AARCH64_DWARF_SVE_P0): Likewise.
3236         (AARCH64_DWARF_SVE_Z0): Likewise.
3237
3238 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3239
3240         * common/common-regcache.h (raw_compare): New function.
3241         * regcache.c (regcache::raw_compare): Likewise.
3242         * regcache.h (regcache::raw_compare): New declaration.
3243
3244 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3245
3246         * common/common-regcache.h (reg_buffer_common): New structure.
3247         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
3248         (reg_buffer::raw_supply): Likewise.
3249         (reg_buffer::raw_supply_integer): Likewise.
3250         (reg_buffer::raw_supply_zeroed): Likewise.
3251         (reg_buffer::raw_collect): Likewise.
3252         (reg_buffer::raw_collect_integer): Likewise.
3253         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
3254         (reg_buffer::raw_supply): Likewise.
3255         (reg_buffer::raw_supply_integer): Likewise.
3256         (reg_buffer::raw_supply_zeroed): Likewise.
3257         (reg_buffer::raw_collect): Likewise.
3258         (reg_buffer::raw_collect_integer): Likewise.
3259
3260 2018-06-10  Tom Tromey  <tom@tromey.com>
3261
3262         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
3263         (class remote_state) <stop_reply_queue>: Now std::vector.
3264         (remote_state::~remote_state)
3265         (remote_target::stop_reply_queue_length): Update.
3266         (struct queue_iter_param, remove_child_of_pending_fork)
3267         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
3268         (check_pending_event_prevents_wildcard_vcont_callback)
3269         (remove_stop_reply_for_inferior)
3270         (remove_stop_reply_of_remote_state)
3271         (remote_notif_remove_once_on_match)
3272         (stop_reply_match_ptid_and_ws)
3273         (remote_kill_child_of_pending_fork): Remove.
3274         (remote_target::remove_new_fork_children)
3275         (remote_target::check_pending_events_prevent_wildcard_vcont)
3276         (remote_target::discard_pending_stop_replies)
3277         (remote_target::discard_pending_stop_replies_in_queue)
3278         (remote_target::remote_notif_remove_queued_reply)
3279         (remote_target::queued_stop_reply)
3280         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
3281         (remote_target::wait, remote_target::kill_new_fork_children)
3282         (remote_target::async): Update.
3283
3284 2018-06-10  Tom Tromey  <tom@tromey.com>
3285
3286         * record-full.c (record_full_arch_list_cleanups): Remove.
3287         (record_full_message): Use try/catch.
3288         (record_full_wait_cleanups): Remove.
3289         (record_full_wait_1): Use try/catch.
3290         (record_full_restore): Likewise.
3291
3292 2018-06-10  Tom Tromey  <tom@tromey.com>
3293
3294         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
3295         declare VEC.  Add constructor.
3296         <in_target_beneath>: Now bool.
3297         (record_full_breakpoints): Now a std::vector, static.
3298         (record_full_sync_record_breakpoints)
3299         (record_full_init_record_breakpoints)
3300         (record_full_target::insert_breakpoint)
3301         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
3302
3303 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
3304
3305         * dwarf2read.c (process_cu_includes): Remove struct keyword.
3306         * serial.c (serial_interface_lookup): Remove struct keyword.
3307
3308 2018-06-10  Tom Tromey  <tom@tromey.com>
3309
3310         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
3311         method.
3312         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
3313         a method.
3314         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
3315         method.
3316         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
3317         "beneath" as a method.
3318         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
3319         Use "beneath" as a method.
3320
3321 2018-06-10  Tom Tromey  <tom@tromey.com>
3322
3323         * tracefile.c (struct trace_file_writer_deleter): New.
3324         <operator()>: Rename from trace_file_writer_xfree.
3325         (trace_file_writer_up): New typedef.
3326         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
3327
3328 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3329
3330         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
3331         <m_registers, m_register_status>: Change type to
3332         std::unique_ptr.
3333         * regcache.c (reg_buffer::reg_buffer): Use new instead of
3334         XCNEWVEC.
3335
3336 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3337
3338         * common/common-regcache.h (enum register_status): Add
3339         underlying type "signed char".
3340         * regcache.h (reg_buffer) <m_register_status>: Change type to
3341         register_status *.
3342         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
3343         register_status instead of signed char.
3344         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
3345         (reg_buffer::get_register_status): Remove cast.
3346         (readable_regcache::raw_read): Remove cast.
3347         (readable_regcache::cooked_read): Remove cast.
3348
3349 2018-06-09  Tom Tromey  <tom@tromey.com>
3350
3351         * source.c (reverse_search_command, forward_search_command): Use
3352         scoped_fd.
3353
3354 2018-06-09  Tom Tromey  <tom@tromey.com>
3355
3356         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
3357         (serial_ops_list): Now static, std::vector.
3358         (serial_interface_lookup, serial_add_interface): Update.
3359
3360 2018-06-09  Tom Tromey  <tom@tromey.com>
3361
3362         * dwarf2read.c (process_cu_includes): Update.
3363         (process_full_comp_unit): Update.
3364         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
3365         std::vector.
3366
3367 2018-06-08  Paul Koning  <paul_koning@dell.com>
3368
3369         PR gdb/23252
3370
3371         * python/python.c (do_start_initialization):
3372         Avoid call to internal Python API.
3373         (init__gdb_module): New function.
3374
3375 2018-06-08  Gary Benson <gbenson@redhat.com>
3376
3377         * linux-thread-db.c (valprint.h): New include.
3378         (struct check_thread_db_info): New structure.
3379         (check_thread_db_on_load, tdb_testinfo): New static globals.
3380         (check_thread_db, check_thread_db_callback): New functions.
3381         (try_thread_db_load_1): Run integrity checks if requested.
3382         (maintenance_check_libthread_db): New function.
3383         (_initialize_thread_db): Register "maint check libthread-db"
3384         and "maint set/show check-libthread-db".
3385         * NEWS: Mention the above new commands.
3386
3387 2018-06-08  Tom Tromey  <tom@tromey.com>
3388
3389         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
3390         now a method.
3391
3392 2018-06-08  Tom Tromey  <tom@tromey.com>
3393
3394         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
3395
3396 2018-06-08  Tom Tromey  <tom@tromey.com>
3397
3398         * common/btrace-common.h (struct btrace_data): Add constructor,
3399         destructor, move assignment operator.
3400         <empty, clear, fini>: New methods.
3401         <format>: Initialize.
3402         (btrace_data_init, btrace_data_fini, btrace_data_clear)
3403         (btrace_data_empty): Don't declare.
3404         * common/btrace-common.c (btrace_data_init): Remove.
3405         (btrace_data::fini): Rename from btrace_data_fini.
3406         (btrace_data::empty): Rename from btrace_data_empty.
3407         (btrace_data::clear): Rename from btrace_data_clear.  Return
3408         bool.
3409         * btrace.h (make_cleanup_btrace_data): Don't declare.
3410         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
3411         (parse_xml_btrace): Update.
3412         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
3413         (maint_btrace_clear_packet_history_cmd): Update.
3414
3415 2018-06-07  Pedro Alves  <palves@redhat.com>
3416
3417         * target.h (target_ops) <beneath>: Now a method.  All references
3418         updated.
3419         (class target_stack): New.
3420         * target.c (g_target_stack): New.
3421         (g_current_top_target): Delete.
3422         (current_top_target): Get the top target out of g_target_stack.
3423         (target_stack::push, target_stack::unpush): New.
3424         (push_target, unpush_target): Reimplement.
3425         (target_is_pushed): Reimplement in terms of g_target_stack.
3426         (target_ops::beneath, target_stack::find_beneath): New.
3427
3428 2018-06-07  Pedro Alves  <palves@redhat.com>
3429
3430         * target.h (find_target_beneath): Delete declaration.
3431         * target.c (find_target_beneath): Delete definition.
3432         * aix-thread.c: All callers of find_target_beneath adjusted to
3433         call target_ops::beneath instead.
3434         * bsd-uthread.c: Likewise.
3435         * linux-thread-db.c: Likewise.
3436         * ravenscar-thread.c: Likewise.
3437         * sol-thread.c: Likewise.
3438         * spu-multiarch.c: Likewise.
3439
3440 2018-06-07  Pedro Alves  <palves@redhat.com>
3441
3442         * target.h (target_ops) <beneath>: Now a method.  All references
3443         updated.
3444         (target_ops) <m_beneath>: New.
3445         * target.c (target_ops::beneath): New.
3446         * corelow.c: Adjust all references to target_ops::beneath.
3447         * linux-thread-db.c: Likewise.
3448         * make-target-delegates: Likewise.
3449         * record-btrace.c: Likewise.
3450         * record-full.c: Likewise.
3451         * remote.c: Likewise.
3452         * target.c: Likewise.
3453         * target-delegates.c: Regenerate.
3454
3455 2018-06-07  Pedro Alves  <palves@redhat.com>
3456
3457         * target.h (target_stack): Delete.
3458         (current_top_target): Declare function.
3459         * target.c (target_stack): Delete.
3460         (g_current_top_target): New.
3461         (current_top_target): New function.
3462         * auxv.c: Use current_top_target instead of target_stack
3463         throughout.
3464         * avr-tdep.c: Likewise.
3465         * breakpoint.c: Likewise.
3466         * corefile.c: Likewise.
3467         * elfread.c: Likewise.
3468         * eval.c: Likewise.
3469         * exceptions.c: Likewise.
3470         * frame.c: Likewise.
3471         * gdbarch-selftests.c: Likewise.
3472         * gnu-v3-abi.c: Likewise.
3473         * ia64-tdep.c: Likewise.
3474         * ia64-vms-tdep.c: Likewise.
3475         * infcall.c: Likewise.
3476         * infcmd.c: Likewise.
3477         * infrun.c: Likewise.
3478         * linespec.c: Likewise.
3479         * linux-tdep.c: Likewise.
3480         * minsyms.c: Likewise.
3481         * ppc-linux-nat.c: Likewise.
3482         * ppc-linux-tdep.c: Likewise.
3483         * procfs.c: Likewise.
3484         * regcache.c: Likewise.
3485         * remote.c: Likewise.
3486         * rs6000-tdep.c: Likewise.
3487         * s390-linux-nat.c: Likewise.
3488         * s390-tdep.c: Likewise.
3489         * solib-aix.c: Likewise.
3490         * solib-darwin.c: Likewise.
3491         * solib-dsbt.c: Likewise.
3492         * solib-spu.c: Likewise.
3493         * solib-svr4.c: Likewise.
3494         * solib-target.c: Likewise.
3495         * sparc-tdep.c: Likewise.
3496         * sparc64-tdep.c: Likewise.
3497         * spu-tdep.c: Likewise.
3498         * symfile.c: Likewise.
3499         * symtab.c: Likewise.
3500         * target-descriptions.c: Likewise.
3501         * target-memory.c: Likewise.
3502         * target.c: Likewise.
3503         * target.h: Likewise.
3504         * tracefile-tfile.c: Likewise.
3505         * tracepoint.c: Likewise.
3506         * valops.c: Likewise.
3507         * valprint.c: Likewise.
3508         * value.c: Likewise.
3509         * windows-tdep.c: Likewise.
3510         * mi/mi-main.c: Likewise.
3511
3512 2018-06-07  Tom Tromey  <tom@tromey.com>
3513
3514         * valprint.h (build_address_symbolic): Declare.
3515         * printcmd.c (print_address_symbolic): Update.
3516         (build_address_symbolic): Change "name" and "filename" to
3517         std::string.
3518         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
3519         Update.
3520         * defs.h (build_address_symbolic): Remove declaration.
3521
3522 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
3523
3524         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
3525         (aarch64_vnv_type): Add function.
3526         (aarch64_pseudo_register_name): Add V regs for SVE.
3527         (aarch64_pseudo_register_type): Likewise.
3528         (aarch64_pseudo_register_reggroup_p): Likewise.
3529         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3530         (aarch64_pseudo_read_value): Add V regs for SVE.
3531         (aarch64_pseudo_write_2): Use V0 offset for SVE
3532         (aarch64_pseudo_write): Add V regs for SVE.
3533         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3534
3535 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3536
3537         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3538         (sve_vl_from_vq): Likewise.
3539
3540 2018-06-05  Tom Tromey  <tom@tromey.com>
3541
3542         * cli/cli-cmds.c (show_version): Update.
3543         * top.c (print_gdb_version): Add "interactive" parameter.
3544         Update.
3545         * main.c (captured_main_1): Update.
3546         * top.h (print_gdb_version): Add "interactive" parameter and a
3547         comment.
3548
3549 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3550
3551         * common/enum-flags.h: Add trailing semicolon to example in
3552         comment.
3553
3554 2018-06-05  Tom Tromey  <tom@tromey.com>
3555
3556         PR cli/12326:
3557         * NEWS: Add entry about pager.
3558         * utils.c (pagination_disabled_for_command): New global.
3559         (prompt_for_continue): Allow "c" response to prompt.
3560         (reinitialize_more_filter): Clear
3561         pagination_disabled_for_command.
3562         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3563
3564 2018-06-04  Tom Tromey  <tom@tromey.com>
3565
3566         * ada-lang.h (ada_lookup_symbol_list): Update.
3567         * ada-lang.c (resolve_subexp): Update.
3568         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3569         parameter.
3570         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3571         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3572         results parameter to std::vector.
3573         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3574         Update.
3575         * ada-exp.y (block_lookup): Update.
3576         (select_possible_type_sym): Change type of syms.  Remove nsyms
3577         parameter.
3578         (write_var_or_type, write_name_assoc): Update.
3579
3580 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3581
3582         * windows-nat.c (windows_nat_target::xfer_partial): Return
3583         TARGET_XFER_E_IO if we need to delegate to the target beneath
3584         but BENEATH is NULL.
3585
3586 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3587
3588         * Makefile.in (config.status): Add configure.nat as a
3589         dependency.
3590
3591 2018-06-04  Tom Tromey  <tom@tromey.com>
3592
3593         * cp-name-parser.y (cpname_state): Add method declarations.
3594         (HANDLE_QUAL): Update.
3595         (cpname_state::d_grab, cpname_state::fill_comp)
3596         (cpname_state::make_operator, cpname_state::make_dtor)
3597         (cpname_state::make_builtin_type, cpname_state::make_name)
3598         (cpname_state::d_qualify, cpname_state::d_int_type)
3599         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3600         (%union): Move earlier.
3601
3602 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3603
3604         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3605
3606 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3607
3608         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3609         (aarch64_pseudo_write_1): Likewise.
3610         (aarch64_pseudo_read_value): Use helper.
3611         (aarch64_pseudo_write): Likewise.
3612
3613 2018-06-04  Pedro Alves  <palves@redhat.com>
3614
3615         * darwin-nat.c (darwin_ops): Delete.
3616         (darwin_attach_pid): Use get_native_target.
3617
3618 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3619
3620         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3621         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3622
3623 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3624
3625         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3626         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3627         (aarch64_gdbarch_init): Check for SVE.
3628         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3629
3630 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3631
3632         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3633         * aarch64-tdep.h (aarch64_read_description): Likewise.
3634         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3635         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3636         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3637         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3638         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3639
3640 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3641
3642         * value.c (value_fetch_lazy_bitfield): New.
3643         (value_fetch_lazy_memory): New.
3644         (value_fetch_lazy_register): New.
3645         (value_fetch_lazy): Factor out to smaller functions.
3646
3647 2018-06-01  Tom Tromey  <tom@tromey.com>
3648
3649         * cp-name-parser.y (backslashable, represented): Now const.
3650
3651 2018-06-01  Tom Tromey  <tom@tromey.com>
3652
3653         * cp-name-parser.y: Include parser-defs.h.
3654         (parser_fprintf): Remove declaration.
3655
3656 2018-06-01  Tom Tromey  <tom@tromey.com>
3657
3658         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3659         %parse-param.
3660         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3661         (global_result): Remove globals.
3662         (struct cpname_state): New.
3663         (yyparse): Don't declare.
3664         (yylex, yyerror): Move declarations after %union.
3665         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3666         (make_name): Add state parameter.
3667         Update all callers.
3668         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3669         parameter.
3670         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3671         Update.
3672         (yylex): Add lvalp, state parameters.
3673         (yyerror): Add state parameter.
3674         (cp_demangled_name_to_comp): Update.
3675
3676 2018-06-01  Tom Tromey  <tom@tromey.com>
3677
3678         * cp-name-parser.y (parser_fprintf): Declare.
3679         (GDB_YY_REMAP_PREFIX): Define.
3680         Include yy-remap.h.  Don't redefine yy* identifiers.
3681
3682 2018-06-01  Tom Tromey  <tom@tromey.com>
3683
3684         * python/py-type.c (typy_legacy_template_argument): Update.
3685         * cp-support.h (cp_demangled_name_to_comp): Update.
3686         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3687         parameter to be a "std::string *".
3688         (main): Update.
3689
3690 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3691
3692         * ada-lex.l: Include "diagnostics.h" instead of
3693         "common/diagnostics.h".
3694         * unittests/environ-selftests.c: Likewise.
3695         * common/diagnostics.h: Moved to ../include.
3696
3697 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3698
3699         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3700         to language_mode_manual while calling breakpoint_re_set_one.
3701
3702 2018-06-01  Tom Tromey  <tom@tromey.com>
3703
3704         * valops.c (value_cast_structs, destructor_name_p): Update.
3705         * symtab.c (gdb_mangle_name): Update.
3706         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3707         Update.
3708         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3709         (pascal_object_print_value_fields, pascal_object_print_value):
3710         Update.
3711         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3712         * linespec.c (find_methods): Update.
3713         * gdbtypes.h (type_name_no_tag): Remove.
3714         (type_name_or_error): Rename from type_name_no_tag_or_error.
3715         * gdbtypes.c (type_name_no_tag): Remove.
3716         (type_name_or_error): Rename from type_name_no_tag_or_error.
3717         (lookup_struct_elt_type, check_typedef): Update.
3718         * expprint.c (print_subexp_standard): Update.
3719         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3720         * d-namespace.c (d_lookup_nested_symbol): Update.
3721         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3722         (cp_print_class_member): Update.
3723         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3724         * completer.c (add_struct_fields): Update.
3725         * c-typeprint.c (cp_type_print_derivation_info)
3726         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3727         Update.
3728         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3729         (ada_prefer_type, ada_is_exception_sym): Update.
3730
3731 2018-06-01  Tom Tromey  <tom@tromey.com>
3732
3733         * valops.c (enum_constant_from_type, value_namespace_elt)
3734         (value_maybe_namespace_elt): Update.
3735         * valarith.c (find_size_for_pointer_math): Update.
3736         * target-descriptions.c (make_gdb_type): Update.
3737         * symmisc.c (print_symbol): Update.
3738         * stabsread.c (define_symbol, read_type)
3739         (complain_about_struct_wipeout, add_undefined_type)
3740         (cleanup_undefined_types_1): Update.
3741         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3742         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3743         (rust_internal_print_type, rust_composite_type)
3744         (rust_evaluate_funcall, rust_evaluate_subexp)
3745         (rust_inclusive_range_type_p): Update.
3746         * python/py-type.c (typy_get_tag): Update.
3747         * p-typeprint.c (pascal_type_print_base): Update.
3748         * mdebugread.c (parse_symbol, parse_type): Update.
3749         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3750         Update.
3751         * guile/scm-type.c (gdbscm_type_tag): Update.
3752         * go-lang.c (sixg_string_p): Update.
3753         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3754         Update.
3755         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3756         (TYPE_TAG_NAME): Remove.
3757         * gdbtypes.c (type_name_no_tag): Simplify.
3758         (check_typedef, check_types_equal, recursive_dump_type)
3759         (copy_type_recursive, arch_composite_type): Update.
3760         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3761         in summary mode when needed.
3762         * eval.c (evaluate_funcall): Update.
3763         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3764         (process_structure_scope, read_enumeration_type)
3765         (read_namespace_type, read_module_type, determine_prefix): Update.
3766         * cp-support.c (inspect_type): Update.
3767         * coffread.c (process_coff_symbol, decode_base_type): Update.
3768         * c-varobj.c (c_is_path_expr_parent): Update.
3769         * c-typeprint.c (c_type_print_base_struct_union): Update.
3770         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3771         summary when using C language.
3772         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3773         (gen_maybe_namespace_elt): Update.
3774         * ada-lang.c (ada_type_name): Simplify.
3775         (empty_record, ada_template_to_fixed_record_type_1)
3776         (template_to_static_fixed_type)
3777         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3778
3779 2018-06-01  Tom Tromey  <tom@tromey.com>
3780
3781         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3782         c_print_type.
3783         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3784         (c_print_type): Update.
3785         (c_print_type): New overload.
3786         (c_type_print_varspec_prefix, c_type_print_args)
3787         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3788         (c_type_print_base_struct_union, c_type_print_base_1)
3789         (cp_type_print_method_args): Add "language" parameter.
3790         (c_type_print_base): Update.
3791         * c-lang.h (c_print_type): Add new overload.
3792
3793 2018-06-01  Tom Tromey  <tom@tromey.com>
3794
3795         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3796         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3797
3798 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3799
3800         * aarch64-tdep.c (aarch64_sve_register_names): New const
3801         var.
3802         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3803         (AARCH64_SVE_Z_REGS_NUM): New define.
3804         (AARCH64_SVE_P_REGS_NUM): Likewise.
3805         (AARCH64_SVE_NUM_REGS): Likewise.
3806
3807 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3808
3809         * nat/linux-ptrace.h [__alpha__]
3810         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3811         definitions.
3812
3813 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3814
3815         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3816         the endianness selected.
3817         * NEWS: Document `set endian auto' mode operation update.
3818
3819 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3820
3821         * Makefile.in: Add new header.
3822         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3823         (sve_vl_from_vg): Likewise.
3824         (sve_vq_from_vl): Likewise.
3825         (sve_vl_from_vq): Likewise.
3826         (sve_vq_from_vg): Likewise.
3827         (sve_vg_from_vq): Likewise.
3828         * configure.nat: Add new c file.
3829         * nat/aarch64-sve-linux-ptrace.c: New file.
3830         * nat/aarch64-sve-linux-ptrace.h: New file.
3831
3832 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3833
3834         * aarch64-linux-nat.c (aarch64_linux_read_description):
3835         Add parmeter zero.
3836         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3837         Likewise.
3838         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3839         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3840         (aarch64_gdbarch_init): Add parmeter zero.
3841         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3842         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3843         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3844         parmeter.
3845         * doc/gdb.texinfo: Describe SVE feature
3846         * features/aarch64-sve.c: New file.
3847
3848 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3849
3850         PR gdb/23210
3851         * gdbarch.sh (significant_addr_bit): Default to zero when
3852         not set by target architecture.
3853         * gdbarch.c: Re-generated.
3854         * utils.c (address_significant): Update.
3855
3856 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3857
3858         * stack.c (func_command): Remove trailing newline in call to error.
3859
3860 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3861
3862         * regcache.h (regcache_raw_collect): Remove, update callers to
3863         use regcache::raw_collect.
3864         * regcache.c (regcache_raw_collect): Remove.
3865
3866 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3867
3868         * regcache.h (regcache_raw_supply): Remove, update callers to
3869         use detached_regcache::raw_supply.
3870         * regcache.c (regcache_raw_supply): Remove.
3871
3872 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3873
3874         * regcache.h (regcache_cooked_write_part): Remove, update
3875         callers to use regcache::cooked_write_part.
3876         * regcache.c (regcache_cooked_write_part): Remove.
3877
3878 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3879
3880         * regcache.h (regcache_cooked_read_part): Remove, update callers
3881         to use readable_regcache::cooked_read_part.
3882         * regcache.c (regcache_cooked_read_part): Remove.
3883
3884 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3885
3886         * regcache.h (regcache_cooked_read_value): Remove, update
3887         callers to use readable_regcache::cooked_read_value.
3888         * regcache.c (regcache_cooked_read_value): Remove.
3889
3890 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3891
3892         * regcache.h (regcache_cooked_write): Remove, update callers to
3893         use regcache::cooked_write.
3894         * regcache.c (regcache_cooked_write): Remove.
3895
3896 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3897
3898         * regcache.h (regcache_invalidate): Remove, update callers to
3899         use detached_regcache::invalidate instead.
3900         * regcache.c (regcache_invalidate): Remove.
3901
3902 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3903
3904         * regcache.h (regcache_raw_write_part): Remove, update callers
3905         to use regcache::raw_write_part instead.
3906         * regcache.c (regcache_raw_write_part): Remove.
3907
3908 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3909
3910         * regcache.h (regcache_raw_read_part): Remove, update callers to
3911         use readable_regcache::raw_read_part instead.
3912         * regcache.c (regcache_raw_read_part): Remove.
3913
3914 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3915
3916         * regcache.h (regcache_cooked_read): Remove, update callers to
3917         use readable_regcache::cooked_read instead.
3918         * regcache.c (regcache_cooked_read): Remove.
3919
3920 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3921
3922         * regcache.h (regcache_raw_write): Remove, update callers to use
3923         regcache::raw_write instead.
3924         * regcache.c (regcache_raw_write): Remove.
3925
3926 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3927
3928         * regcache.h (regcache_raw_read): Remove, update callers to use
3929         readable_regcache::raw_read instead.
3930         * regcache.c (regcache_raw_read): Remove.
3931
3932 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3933
3934         * regcache.h (regcache_raw_update): Remove, update callers to
3935         use readable_regcache::raw_update instead.
3936         * regcache.c (regcache_raw_update): Remove.
3937
3938 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3939
3940         * regcache.h (regcache_register_status): Remove, update callers
3941         to use reg_buffer::get_register_status directly instead.
3942         * regcache.c (regcache_register_status): Remove.
3943
3944 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3945
3946         * regcache.h (regcache_get_ptid): Remove, update all callers to
3947         call regcache::ptid instead.
3948         * regcache.c (regcache_get_ptid): Remove.
3949
3950 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3951
3952         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3953
3954 2018-05-30  Pedro Alves  <palves@redhat.com>
3955
3956         * common/common-exceptions.h (exception_rethrow): Use
3957         ATTRIBUTE_NORETURN.
3958
3959 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3960
3961         * breakpoint.c (print_solib_event, check_status_catch_solib):
3962         Remove struct keyword in range-based for loops.
3963         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3964         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3965         Likewise.
3966         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3967         Likewise.
3968         * symfile.c (addr_info_make_relative): Likewise.
3969         * thread.c (value_in_thread_stack_temporaries): Likewise.
3970
3971 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3972
3973         PR gdb/16841
3974         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3975         aggregate type to get its real type before accessing it.
3976
3977 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3978
3979         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3980         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3981         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3982         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3983         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3984         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3985         * printcmd.c (info_address_command): Likewise.
3986
3987 2018-05-29  Tom Tromey  <tom@tromey.com>
3988
3989         * windows-nat.c (handle_exception): Update fall-through comment.
3990
3991 2018-05-29  Tom Tromey  <tom@tromey.com>
3992
3993         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3994         (struct program_space) <added_solibs>: Now a std::vector.
3995         * breakpoint.c (print_solib_event): Update.
3996         (check_status_catch_solib): Update.
3997         * progspace.c (clear_program_space_solib_cache): Update.
3998         * solib.c (update_solib_list): Update.
3999
4000 2018-05-29  Tom Tromey  <tom@tromey.com>
4001
4002         * python/py-type.c (typy_richcompare): Update.
4003         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4004         * gdbtypes.h (types_deeply_equal): Return bool.
4005         (types_equal): Likewise.
4006         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4007         declare VEC.
4008         (check_types_equal): Change worklist to std::vector.  Return
4009         bool.
4010         (struct type_equality_entry): Add constructor.
4011         (compare_maybe_null_strings): Return bool.
4012         (check_types_worklist): Return bool.  Change worklist to
4013         std::vector.
4014         (types_deeply_equal): Use std::vector.
4015         (types_equal): Return bool.
4016         (compare_maybe_null_strings): Simplify.
4017
4018 2018-05-29  Tom Tromey  <tom@tromey.com>
4019
4020         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4021
4022 2018-05-29  Tom Tromey  <tom@tromey.com>
4023
4024         * objc-lang.h: Don't include cp-support.h.
4025         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4026         declare VEC.
4027
4028 2018-05-27  Tom Tromey  <tom@tromey.com>
4029
4030         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4031
4032 2018-05-25  Tom Tromey  <tom@tromey.com>
4033
4034         * value.c (value::location): Initialize.
4035
4036 2018-05-25  Tom Tromey  <tom@tromey.com>
4037
4038         * dbxread.c (init_bincl_list): Remove.
4039         (bincl_list): Now a std::vector.
4040         (bincls_allocated, next_bincl): Remove.
4041         (free_bincl_list, do_free_bincl_list_cleanup)
4042         (make_cleanup_free_bincl_list): Remove.
4043         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4044         unique_xmalloc_ptr.
4045         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4046         (struct header_file_location): Add constructor.
4047         (add_bincl_to_list): Remove.
4048
4049 2018-05-25  Tom Tromey  <tom@tromey.com>
4050
4051         * tui/tui.c (tui_enable): Update.
4052         * mi/mi-interp.c (mi_interp::init): Update.
4053         * interps.h (class interp) <name>: New method.
4054         <m_name>: Rename from name.
4055         (~scoped_restore_interp): Update.
4056         * interps.c (interp::interp): Update.
4057         (interp_add, interp_set, interp_lookup_existing)
4058         (current_interp_named_p): Update.
4059
4060 2018-05-25  Tom Tromey  <tom@tromey.com>
4061
4062         * interps.c (interp_name): Remove.
4063         * mi/mi-interp.c (mi_interp::init): Update.
4064         * interps.h (interp_name): Remove.
4065         (~scoped_restore_interp): Update.
4066         * tui/tui.c (tui_enable): Update.
4067
4068 2018-05-25  Tom Tromey  <tom@tromey.com>
4069
4070         * utils.c (fputs_maybe_filtered): Update.
4071         * linespec.c (decode_line_full): Update.
4072         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4073         (mi_print_breakpoint_for_event, mi_solib_loaded)
4074         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4075         (mi_user_selected_context_changed): Update.
4076         * mi/mi-main.c (mi_execute_command): Update.
4077         * cli/cli-script.c (execute_control_command): Update.
4078         * python/python.c (execute_gdb_command): Update.
4079         * solib.c (info_sharedlibrary_command): Update.
4080         * interps.c (interp_ui_out): Remove.
4081         * interps.h (interp_ui_out): Remove.
4082
4083 2018-05-25  Tom Tromey  <tom@tromey.com>
4084
4085         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4086         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4087         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4088
4089 2018-05-25  Tom Tromey  <tom@tromey.com>
4090
4091         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4092         * interps.c (interp_exec): Use scoped_restore.
4093
4094 2018-05-25  Tom Tromey  <tom@tromey.com>
4095
4096         * remote.c (remote_target::remote_file_get): Use
4097         gdb::byte_vector.
4098         (remote_target::remote_file_put): Likewise.
4099
4100 2018-05-25  Tom Tromey  <tom@tromey.com>
4101
4102         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4103         a std::string.
4104         (get_pe_section_index, add_pe_exported_sym): Update.
4105         (read_pe_exported_syms): Use gdb::def_vector.
4106
4107 2018-05-25  Tom Tromey  <tom@tromey.com>
4108
4109         * frame.c (remove_prev_frame): Remove.
4110         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4111
4112 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4113
4114         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4115         Remove prototypes.
4116         * mips-linux-nat.c (supply_fpregset): Always call
4117         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4118         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4119         `mips_fill_fpregset'.
4120         * mips-linux-tdep.c (mips_supply_fpregset)
4121         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4122         (mips_fill_fpregset_wrapper): Remove functions.
4123         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
4124         (mips_linux_fpregset): Remove variable.
4125         (mips_linux_iterate_over_regset_sections): Use
4126         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
4127         (mips_linux_o32_sigframe_init): Remove comment.
4128
4129 2018-05-25  Pedro Alves  <palves@redhat.com>
4130
4131         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
4132         (struct readahead_cache, struct packet_reg, struct
4133         remote_arch_state, class remote_state): Move higher up in the
4134         file.
4135         (remote_target::m_remote_state): Now an object instead of a pointer.
4136         (remote_target::get_remote_state): Adjust.
4137
4138 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4139
4140         * stack.c (select_and_print_frame): Delete.
4141         (struct function_bounds): Move struct within function.
4142         (func_command): Most content moved into new function
4143         find_frame_for_function, use new function, print result, add
4144         function comment.
4145         (find_frame_for_function): New function, now returns a result.
4146
4147 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4148
4149         * stack.c (iterate_over_block_arg_vars): Fix comment.
4150         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
4151
4152 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4153
4154         PR gdb/23203
4155         * frame.c
4156         (scoped_restore_selected_frame::scoped_restore_selected_frame):
4157         Define.
4158         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
4159         Define.
4160         * frame.h (class scoped_restore_selected_frame): New class.
4161         * stack.c (print_frame_local_vars): Remove catching and rethrowing
4162         of any exception, use scoped_restore_selected_frame to restore the
4163         frame instead.
4164
4165 2018-05-24  Pedro Alves  <palves@redhat.com>
4166
4167         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
4168         override.
4169
4170 2018-05-23  Tom Tromey  <tom@tromey.com>
4171
4172         * complaints.c (struct complaints): Remove.
4173         (symfile_complaint_book): Remove.
4174         (series): New global.
4175         (complaint_internal): Update.
4176         (clear_complaints): Update.
4177
4178 2018-05-23  Tom Tromey  <tom@tromey.com>
4179
4180         * complaints.c (counters): New global.
4181         (struct complain): Remove.
4182         (struct complaints) <root>: Remove.
4183         (complaint_sentinel): Remove.
4184         (symfile_complaint_book): Update.
4185         (find_complaint) Remove.
4186         (complaint_internal, clear_complaints): Update.
4187
4188 2018-05-23  Tom Tromey  <tom@tromey.com>
4189
4190         * complaints.c (struct complain) <file, line>: Remove.
4191         (find_complaint): Remove file, line parameters.
4192         (complaint_internal): Update.
4193
4194 2018-05-23  Tom Tromey  <tom@tromey.com>
4195
4196         * complaints.c (vcomplaint): Remove.
4197         (complaint_internal) Merge in contents of vcomplaint.
4198
4199 2018-05-23  Tom Tromey  <tom@tromey.com>
4200
4201         * complaints.c (struct complaints) <explanation>: Remove.
4202         (symfile_explanations): Remove.
4203         (symfile_complaint_book): Update.
4204         (vcomplaint): Update.
4205         (struct explanation): Remove.
4206
4207 2018-05-23  Tom Tromey  <tom@tromey.com>
4208
4209         * complaints.c (symfile_complaints): Remove.
4210         (complaint_internal): Remove "complaints" parameter.
4211         (clear_complaints, vcomplaint): Remove "c" parameter.
4212         (get_complaints): Remove.
4213         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
4214         (dwarf2_debug_line_missing_file_complaint)
4215         (dwarf2_debug_line_missing_end_sequence_complaint)
4216         (dwarf2_complex_location_expr_complaint)
4217         (dwarf2_const_value_length_mismatch_complaint)
4218         (dwarf2_section_buffer_overflow_complaint)
4219         (dwarf2_macro_malformed_definition_complaint)
4220         (dwarf2_invalid_attrib_class_complaint)
4221         (create_addrmap_from_index, dw2_symtab_iter_next)
4222         (dw2_expand_marked_cus)
4223         (dw2_debug_names_iterator::find_vec_in_debug_names)
4224         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
4225         (create_debug_type_hash_table, init_cutu_and_read_dies)
4226         (partial_die_parent_scope, add_partial_enumeration)
4227         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
4228         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
4229         (read_import_statement, read_file_scope, create_dwo_cu_reader)
4230         (create_cus_hash_table, create_dwp_hash_table)
4231         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
4232         (dwarf2_rnglists_process, dwarf2_ranges_process)
4233         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
4234         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
4235         (handle_struct_member_die, process_structure_scope)
4236         (read_array_type, read_common_block, read_module_type)
4237         (read_tag_pointer_type, read_typedef, read_base_type)
4238         (read_subrange_type, load_partial_dies, partial_die_info::read)
4239         (partial_die_info::read, partial_die_info::read)
4240         (partial_die_info::read, read_checked_initial_length_and_offset)
4241         (dwarf2_string_attr, read_formatted_entries)
4242         (dwarf_decode_line_header)
4243         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4244         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
4245         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
4246         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
4247         (get_signatured_type, get_DW_AT_signature_type)
4248         (decode_locdesc, file_file_name, consume_improper_spaces)
4249         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
4250         (dwarf_decode_macro_bytes, dwarf_decode_macros)
4251         (dwarf2_symbol_mark_computed, set_die_type)
4252         (read_attribute_value): Update.
4253         * stap-probe.c (handle_stap_probe, get_stap_base_address):
4254         Update.
4255         * dbxread.c (unknown_symtype_complaint)
4256         (lbrac_mismatch_complaint, repeated_header_complaint)
4257         (set_namestring, function_outside_compilation_unit_complaint)
4258         (read_dbx_symtab, process_one_symbol): Update.
4259         * gdbtypes.c (stub_noname_complaint): Update.
4260         * windows-nat.c (handle_unload_dll): Update.
4261         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
4262         (decode_base_type): Update.
4263         * xcoffread.c (bf_notfound_complaint, ef_complaint)
4264         (eb_complaint, record_include_begin, record_include_end)
4265         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
4266         (process_xcoff_symbol, read_symbol)
4267         (function_outside_compilation_unit_complaint)
4268         (scan_xcoff_symtab): Update.
4269         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
4270         * buildsym.c (finish_block_internal, make_blockvector)
4271         (end_symtab_get_static_block, augment_type_symtab): Update.
4272         * dtrace-probe.c (dtrace_process_dof)
4273         (dtrace_static_probe_ops::get_probes): Update.
4274         * complaints.h (struct complaint): Don't declare.
4275         (symfile_complaints): Remove.
4276         (complaint_internal): Remove "complaints" parameter.
4277         (complaint): Likewise.
4278         (clear_complaints): Likewise.
4279         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4280         (reread_symbols): Update.
4281         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
4282         (dwarf2_frame_cache, decode_frame_entry): Update.
4283         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
4284         * objc-lang.c (lookup_objc_class, lookup_child_selector)
4285         (info_selectors_command): Update.
4286         * macrotab.c (macro_include, check_for_redefinition)
4287         (macro_undef): Update.
4288         * objfiles.c (filter_overlapping_sections): Update.
4289         * stabsread.c (invalid_cpp_abbrev_complaint)
4290         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
4291         (define_symbol, error_type, read_type, rs6000_builtin_type)
4292         (stabs_method_name_from_physname, read_member_functions)
4293         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
4294         (attach_fields_to_type, complain_about_struct_wipeout)
4295         (read_range_type, read_args, common_block_start)
4296         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
4297         Update.
4298         * mdebugread.c (index_complaint, unknown_ext_complaint)
4299         (basic_type_complaint, bad_tag_guess_complaint)
4300         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
4301         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
4302         (parse_procedure, parse_lines)
4303         (function_outside_compilation_unit_complaint)
4304         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
4305         (bad_tag_guess_complaint, reg_value_complaint): Update.
4306         * cp-support.c (demangled_name_complaint): Update.
4307         * macroscope.c (sal_macro_scope): Update.
4308         * dwarf-index-write.c (class debug_names): Update.
4309
4310 2018-05-23  Tom Tromey  <tom@tromey.com>
4311
4312         * complaints.c (clear_complaints): Remove "noisy" parameter.
4313         * complaints.h (clear_complaints): Update.
4314         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4315         (reread_symbols): Update.
4316
4317 2018-05-23  Tom Tromey  <tom@tromey.com>
4318
4319         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
4320         SUBSEQUENT_MESSAGE.
4321         (vcomplaint, clear_complaints): Update.
4322         (symfile_explanations): Remove some messages.
4323
4324 2018-05-23  Tom Tromey  <tom@tromey.com>
4325
4326         * complaints.c (internal_complaint): Remove.
4327         * complaints.h (internal_complaint): Remove.
4328
4329 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4330
4331         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
4332
4333 2018-05-22  Pedro Alves  <palves@redhat.com>
4334
4335         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
4336         (remote_fileio_badfd, remote_fileio_return_errno)
4337         (remote_fileio_return_success, remote_fileio_func_open)
4338         (remote_fileio_func_open, remote_fileio_func_close)
4339         (remote_fileio_func_read, remote_fileio_func_write)
4340         (remote_fileio_func_lseek, remote_fileio_func_rename)
4341         (remote_fileio_func_unlink, remote_fileio_func_stat)
4342         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
4343         (remote_fileio_func_isatty, remote_fileio_func_system): Add
4344         remote_target parameter.
4345         (remote_fio_func_map) <func>: Add remote_target parameter.
4346         (do_remote_fileio_request, remote_fileio_request):
4347         * remote-fileio.h (remote_fileio_request):
4348         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
4349         remote_target parameter.
4350         (remote_notif_process, handle_notification): Adjust to pass down
4351         the remote.
4352         (remote_notif_state_allocate): Add remote_target parameter.  Save
4353         it.
4354         * remote-notif.h (struct remote_target): Forward declare.
4355         (struct notif_client) <parse, ack, can_get_pending_events>: Add
4356         remote_target parameter.
4357         (struct remote_notif_state) <remote>: New field.
4358         (remote_notif_ack, remote_notif_parse): Add remote_target
4359         parameter.
4360         (remote_notif_state_allocate, remote_notif_state_allocate): Add
4361         remote_target parameter.
4362         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
4363         (threads_listing_context, rmt_thread_action, protocol_feature)
4364         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
4365         (packet_result, struct threads_listing_context, remote_state):
4366         Move definitions and declarations higher up.
4367         (remote_target) <~remote_target>: Declare.
4368         (remote_download_command_source, remote_file_put, remote_file_get)
4369         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
4370         (remote_hostio_pread_vFile, remote_hostio_send_command)
4371         (remote_hostio_set_filesystem, remote_hostio_open)
4372         (remote_hostio_close, remote_hostio_unlink, remote_state)
4373         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
4374         (get_memory_write_packet_size, get_memory_read_packet_size)
4375         (append_pending_thread_resumptions, remote_detach_1)
4376         (append_resumption, remote_resume_with_vcont)
4377         (add_current_inferior_and_thread, wait_ns, wait_as)
4378         (process_stop_reply, remote_notice_new_inferior)
4379         (process_initial_stop_replies, remote_add_thread)
4380         (btrace_sync_conf, remote_btrace_maybe_reopen)
4381         (remove_new_fork_children, kill_new_fork_children)
4382         (discard_pending_stop_replies, stop_reply_queue_length)
4383         (check_pending_events_prevent_wildcard_vcont)
4384         (discard_pending_stop_replies_in_queue, stop_reply)
4385         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
4386         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
4387         (remote_interrupt_as, remote_interrupt_ns)
4388         (remote_get_noisy_reply, remote_query_attached)
4389         (remote_add_inferior, remote_current_thread, get_current_thread)
4390         (set_thread, set_general_thread, set_continue_thread)
4391         (set_general_process, write_ptid)
4392         (remote_unpack_thread_info_response, remote_get_threadinfo)
4393         (parse_threadlist_response, remote_get_threadlist)
4394         (remote_threadlist_iterator, remote_get_threads_with_ql)
4395         (remote_get_threads_with_qxfer)
4396         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
4397         (get_offsets, remote_check_symbols, remote_supported_packet)
4398         (remote_query_supported, remote_packet_size)
4399         (remote_serial_quit_handler, remote_detach_pid)
4400         (remote_vcont_probe, remote_resume_with_hc)
4401         (send_interrupt_sequence, interrupt_query)
4402         (remote_notif_get_pending_events, fetch_register_using_p)
4403         (send_g_packet, process_g_packet, fetch_registers_using_g)
4404         (store_register_using_P, store_registers_using_G)
4405         (set_remote_traceframe, check_binary_download)
4406         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
4407         (remote_xfer_live_readonly_partial, remote_read_bytes)
4408         (remote_send_printf, remote_flash_write, readchar)
4409         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
4410         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
4411         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
4412         (extended_remote_disable_randomization, extended_remote_run)
4413         (send_environment_packet, extended_remote_environment_support)
4414         (extended_remote_set_inferior_cwd, remote_write_qxfer)
4415         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
4416         (packet_command): Now methods of ...
4417         (remote_target): ... this class.
4418         (m_remote_state) <remote_target>: New field.
4419         (struct remote_state) <stop_reply_queue,
4420         remote_async_inferior_event_token, wait_forever_enabled_p>: New
4421         fields.
4422         (remote_state::remote_state): Allocate stop_reply_queue.
4423         (remote_state): Delete global.
4424         (get_remote_state_raw): Delete.
4425         (remote_target::get_remote_state): Allocate m_remote_state on
4426         demand.
4427         (get_current_remote_target): New.
4428         (remote_ops, extended_remote_ops): Delete.
4429         (wait_forever_enabled_p, remote_async_inferior_event_token):
4430         Delete, moved to struct remote_state.
4431         (remote_target::close): Delete self.  Destruction bits split to
4432         ...
4433         (remote_target::~remote_target): ... this.
4434         (show_memory_packet_size): Adjust to use
4435         get_current_remote_target.
4436         (struct protocol_feature) <func>: Add remote_target parameter.
4437         All callers adjusted.
4438         (curr_quit_handler_target): New.
4439         (remote_serial_quit_handler): Reimplement.
4440         (remote_target::open_1): Adjust to use get_current_remote_target.
4441         Heap-allocate remote_target/extended_remote_target instances.
4442         (vcont_builder::vcont_builder): Add remote_target parameter, and
4443         save it in m_remote.  All callers adjusted.
4444         (vcont_builder::m_remote): New field.
4445         (vcont_builder::restart, vcont_builder::flush)
4446         (vcont_builder::push_action): Use it.
4447         (remote_target::commit_resume): Use it.
4448         (struct queue_iter_param) <remote>: New field.
4449         (remote_target::remove_new_fork_children): Fill in 'remote' field.
4450         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
4451         (check_pending_event_prevents_wildcard_vcont_callback)
4452         (remote_target::check_pending_events_prevent_wildcard_vcont)
4453         (remote_target::discard_pending_stop_replies)
4454         (remote_target::discard_pending_stop_replies_in_queue)
4455         (remote_target::remote_notif_remove_queued_reply): Fill in
4456         'remote' field.
4457         (remote_notif_get_pending_events): New.
4458         (remote_target::readchar, remote_target::remote_serial_write):
4459         Save/restore curr_quit_handler_target.
4460         (putpkt): New.
4461         (kill_new_fork_children): Fill in 'remote' field.
4462         (packet_command): Use get_current_remote_target, defer to
4463         remote_target method of same name.
4464         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
4465         parameter, and save it in m_remote.  All callers adjusted.
4466         (scoped_remote_fd::release): Use m_remote.
4467         (scoped_remote_fd::m_remote): New field.
4468         (remote_file_put, remote_file_get, remote_file_delete): Use
4469         get_current_remote_target, defer to remote_target method of same
4470         name.
4471         (remote_btrace_reset): Add remote_state paremeter.  Update all
4472         callers.
4473         (remote_async_inferior_event_handler). Pass down 'data'.
4474         (remote_new_objfile): Use get_current_remote_target.
4475         (remote_target::vcont_r_supported): New.
4476         (set_range_stepping): Use get_current_remote_target and
4477         remote_target::vcont_r_supported.
4478         (_initialize_remote): Don't allocate 'remote_state' and
4479         'stop_reply_queue' globals.
4480         * remote.h (struct remote_target): Forward declare.
4481         (getpkt, putpkt, remote_notif_get_pending_events): Add
4482         'remote_target' parameter.
4483
4484 2018-05-22  Pedro Alves  <palves@redhat.com>
4485
4486         * remote.c (vcont_builder): Now a class.  Make all data members
4487         private.
4488         (vcont_builder) <vcont_builder, restart, flush, push_action>:
4489         Declare methods.
4490         (vcont_builder_restart): Rename to ...
4491         (vcont_builder::restart): ... this.
4492         (vcont_builder_flush): Rename to ...
4493         (vcont_builder::flush): ... this.
4494         (vcont_builder_push_action): Rename to ...
4495         (vcont_builder::push_action): ... this.
4496         (remote_target::commit_resume): Adjust.
4497
4498 2018-05-22  Pedro Alves  <palves@redhat.com>
4499
4500         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
4501         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
4502         (get_fixed_memory_packet_size): New.
4503         (get_memory_packet_size): Use it.
4504         (set_memory_packet_size): Don't override the config size with
4505         DEFAULT_MAX_MEMORY_PACKET_SIZE.
4506         (show_memory_packet_size): Use get_fixed_memory_packet_size.
4507         Don't refer to get_memory_packet_size if not connected to a remote
4508         target.  Show "(default)" if configured size is 0.
4509
4510 2018-05-22  Pedro Alves  <palves@redhat.com>
4511
4512         * remote.c (remote_target::mourn_inferior): Move
4513         discard_pending_stop_replies call here from ...
4514         (_initialize_remote): ... here.
4515
4516 2018-05-22  Pedro Alves  <palves@redhat.com>
4517
4518         * remote.c (compare_section_command): Remove set_general_process
4519         call.
4520
4521 2018-05-22  Pedro Alves  <palves@redhat.com>
4522
4523         * remote.c (struct packet_reg, struct remote_arch_state):
4524         Move higher up in the file.
4525         (remote_state) <m_arch_states>: Store remote_arch_state values
4526         instead of remote_arch_state pointers.
4527         (remote_state::get_remote_arch_state): Adjust.
4528
4529 2018-05-22  Pedro Alves  <palves@redhat.com>
4530
4531         * remote.c: Include <unordered_map>.
4532         (remote_state): Now a class.
4533         (remote_state) <get_remote_arch_state>: Declare method.
4534         <get_remote_arch_state>: New field.
4535         (remote_arch_state) <remote_arch_state>: Declare ctor.
4536         <regs>: Now a unique_ptr.
4537         (remote_gdbarch_data_handle): Delete.
4538         (get_remote_arch_state): Delete.
4539         (remote_state::get_remote_arch_state): New.
4540         (get_remote_state): Adjust to call remote_state's
4541         get_remote_arch_state method.
4542         (init_remote_state): Delete, bits factored out to ...
4543         (remote_arch_state::remote_arch_state): ... this new method.
4544         (get_remote_packet_size, get_memory_packet_size)
4545         (process_g_packet, remote_target::fetch_registers)
4546         (remote_target::prepare_to_store, store_registers_using_G)
4547         (remote_target::store_registers, remote_target::get_trace_status):
4548         Adjust to call remote_state's method.
4549         (_initialize_remote): Remove reference to
4550         remote_gdbarch_data_handle.
4551
4552 2018-05-22  Pedro Alves  <palves@redhat.com>
4553
4554         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4555         pread>: New method declarations.
4556         (remote_target::open_1): Adjust.
4557         (readahead_cache_invalidate): Rename to ...
4558         (readahead_cache::invalidate): ... this, and adjust to be a class
4559         method.
4560         (readahead_cache_invalidate_fd): Rename to ...
4561         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4562         class method.
4563         (remote_hostio_pwrite): Adjust.
4564         (remote_hostio_pread_from_cache): Rename to ...
4565         (readahead_cache::pread): ... this, and adjust to be a class
4566         method.
4567         (remote_hostio_close): Adjust.
4568
4569 2018-05-22  Pedro Alves  <palves@redhat.com>
4570
4571         * remote.c (remote_hostio_close_cleanup): Delete.
4572         (class scoped_remote_fd): New.
4573         (remote_file_put, remote_file_get): Use it.
4574
4575 2018-05-22  Pedro Alves  <palves@redhat.com>
4576
4577         (struct vCont_action_support): Use bool and initialize all fields.
4578         (struct readahead_cache): Initialize all fields.
4579         (remote_state): Use bool and initialize all fields.
4580         (remote_state::remote_state, remote_state::~remote_state): New.
4581         (new_remote_state): Delete.
4582         (_initialize_remote): Use new to allocate remote_state.
4583
4584 2018-05-22  Pedro Alves  <palves@redhat.com>
4585             張俊芝  <zjz@zjz.name>
4586
4587         PR gdb/22973
4588         * c-exp.y: Include "c-support.h".
4589         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4590         of tolower.  Use c_ident_is_alpha to scan names.
4591         * c-lang.c: Include "c-support.h".
4592         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4593         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4594         * c-support.h: New file, with bits factored out from ...
4595         * cp-name-parser.y: ... this file.
4596         Include "c-support.h".
4597         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4598         c-support.h and renamed.
4599         (symbol_end, yylex): Adjust.
4600
4601 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4602
4603         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4604         parameter type to CORE_ADDR.
4605         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4606         parameter type in declaration to CORE_ADDR.
4607         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4608         target_auxv_search to get AT_HWCAP and use the result to get the
4609         target description.
4610         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4611         to CORE_ADDR. Remove the cast of the return value to unsigned
4612         long. Fix error predicate of target_auxv_search.
4613         (ppc_linux_nat_target::read_description): Change the type of the
4614         hwcap variable to CORE_ADDR.
4615
4616 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4617
4618         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4619         if the size of fpscr is larger than 32 bits.
4620
4621 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4622
4623         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4624         (ppc32_linux_vsxregmap): New global.
4625         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4626         regcache_supply_regset, and regcache_collect_regset.
4627         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4628         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4629         (fetch_vsx_register, store_vsx_register): Remove.
4630         (fetch_vsx_registers): Add regno parameter. Get regset using
4631         ppc_linux_vsxregset. Use regset to supply registers.
4632         (store_vsx_registers): Add regno parameter. Get regset using
4633         ppc_linux_vsxregset. Use regset to collect registers.
4634         (fetch_register): Call fetch_vsx_registers instead of
4635         fetch_vsx_register.
4636         (store_register): Call store_vsx_registers instead of
4637         store_vsx_register.
4638         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4639         new regno parameter.
4640         (store_ppc_registers): Call store_vsx_registers with -1 for the
4641         new regno parameter.
4642         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4643         (ppc_collect_vsxregset): Remove.
4644
4645 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4646
4647         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4648         offset fields.
4649         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4650         for vector register offset fields.
4651         (ppc64_fbsd_reg_offsets): Likewise.
4652         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4653         to vector register offset fields.
4654         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4655         to vector register offset fields.
4656         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4657         vector register offset fields.
4658         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4659         initializers for vector register offset fields.
4660         (rs6000_aix64_reg_offsets): Likewise.
4661         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4662         (ppc_supply_vrregset): Remove.
4663         (ppc_collect_vrregset): Remove.
4664         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4665         (ppc_linux_vrregset) : New function.
4666         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4667         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4668         (ppc32_linux_vrregset): Remove.
4669         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4670         and use result instead of ppc32_linux_vrregset.
4671         (ppc32_linux_reg_offsets): Remove initializers for vector register
4672         offset fields.
4673         (ppc64_linux_reg_offsets): Likewise.
4674         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4675         * ppc-linux-nat.c: Include regset.h.
4676         (gdb_vrregset_t): Adjust comment to account for little-endian
4677         mode.
4678         (supply_vrregset, fill_vrregset): Remove.
4679         (fetch_altivec_register, store_altivec_register): Remove.
4680         (fetch_altivec_registers): Add regno parameter. Get regset using
4681         ppc_linux_vrregset. Use regset to supply registers.
4682         (store_altivec_registers): Add regno parameter. Get regset using
4683         ppc_linux_vrregset. Use regset to collect registers.
4684         (fetch_register): Call fetch_altivec_registers instead of
4685         fetch_altivec_register.
4686         (store_register): Call store_altivec_registers instead of
4687         store_altivec_register.
4688         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4689         the new regno parameter.
4690         (store_ppc_registers): Call store_altivec_registers with -1 for
4691         the new regno parameter.
4692
4693 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4694
4695         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4696         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4697         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4698         (gdb_vrregset_t): Change array type size to
4699         PPC_LINUX_SIZEOF_VRREGSET.
4700         (gdb_vsxregset_t): Change array type size to
4701         PPC_LINUX_SIZEOF_VSXREGSET.
4702         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4703         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4704         PPC_LINUX_SIZEOF_VSXREGSET.
4705
4706 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4707
4708         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4709         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4710         nat/ppc-linux.c.
4711         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4712         ppc_linux_target_wordsize with tid.
4713         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4714         wordsize with tid.
4715         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4716         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4717         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4718         tid parameter. Remove static specifier.
4719         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4720         (ppc_linux_target_wordsize): New declaration.
4721
4722 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4723
4724         * arch/ppc-linux-common.c: New file.
4725         * arch/ppc-linux-common.h: New file.
4726         * arch/ppc-linux-tdesc.h: New file.
4727         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4728         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4729         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4730         arch/ppc-linux-tdesc.h.
4731         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4732         arch/ppc-linux-tdesc.h.
4733         (ppc_linux_nat_target::read_description): Remove target
4734         description matching code. Fill a ppc_linux_features struct and
4735         call ppc_linux_match_description with it. Move comment about ISA
4736         2.05 to ppc-linux-common.c.
4737         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4738         arch/ppc-linux-tdesc.h.
4739         (ppc_linux_core_read_description): Remove target description
4740         matching code. Fill a ppc_linux_features struct and call
4741         ppc_linux_match_description with it.
4742         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4743         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4744         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4745         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4746         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4747         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4748         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4749         (tdesc_powerpc_e500l): Remove.
4750
4751 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4752
4753         * ada-lang.c (catch_assert_command): Pass empty string instead
4754         of NULL for excep_string argument.
4755
4756 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4757
4758         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4759         the width of the requested register exceeds the width of the
4760         `ptrace' data type.
4761
4762 2018-05-21  Tom Tromey  <tom@tromey.com>
4763
4764         * printcmd.c (output_command): Remove.
4765         (output_command_const): Rename to output_command.
4766         * valprint.h (output_command): Rename from output_command_const.
4767         * tracepoint.c (trace_dump_actions): Call output_command.
4768
4769 2018-05-21  Tom Tromey  <tom@tromey.com>
4770
4771         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4772         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4773         * ada-lang.h (create_ada_exception_catchpoint): Update.
4774         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4775         std::string.
4776         (create_excep_cond_exprs, ~ada_catchpoint)
4777         (should_stop_exception, print_one_exception)
4778         (print_mention_exception, print_recreate_exception): Update.
4779         (ada_get_next_arg): Remove.
4780         (catch_ada_exception_command_split): Use std::string.  Change type
4781         of "excep_string", "cond_string".
4782         (catch_ada_exception_command): Update.
4783         (create_ada_exception_catchpoint): Change type of excep_string.
4784         (ada_exception_sal): Remove excep_string parameter.
4785         (~ada_catchpoint): Remove.
4786
4787 2018-05-21  Tom Tromey  <tom@tromey.com>
4788
4789         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4790         cleanup.
4791
4792 2018-05-21  Tom Tromey  <tom@tromey.com>
4793
4794         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4795         Return unique_xmalloc_ptr.
4796         (print_it_exception): Update.
4797
4798 2018-05-21  Tom Tromey  <tom@tromey.com>
4799
4800         * tracepoint.c (trace_dump_actions): Use std::string.
4801
4802 2018-05-21  Tom Tromey  <tom@tromey.com>
4803
4804         * symfile.c (reread_symbols): Use std::string for original_name.
4805
4806 2018-05-21  Tom Tromey  <tom@tromey.com>
4807
4808         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4809         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4810         constructor.
4811
4812 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4813
4814         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4815         instance to...
4816         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4817         * objfiles.c (get_objfile_bfd_data): Allocate
4818         objfile_per_bfd_storage with obstack_new when allocating on
4819         obstack.
4820
4821 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4822
4823         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4824         OBSTACK_ZALLOC.
4825         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4826         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4827         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4828         (add_pending): Likewise.
4829         (parse_symbol): Likewise.
4830         (parse_partial_symbols): Likewise.
4831         (psymtab_to_symtab_1): Likewise.
4832         (new_psymtab): Likewise.
4833         (elfmdebug_build_psymtabs): Likewise.
4834         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4835         * objfiles.c (get_objfile_bfd_data): Likewise.
4836         (objfile_register_static_link): Likewise.
4837         * psymtab.c (allocate_psymtab): Likewise.
4838         * stabsread.c (read_member_functions): Likewise.
4839         * xcoffread.c (xcoff_end_psymtab): Likewise.
4840
4841 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4842
4843         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4844         compiler supports std::is_trivially_constructible.
4845         * common/poison.h: Include obstack.h.
4846         (IsMallocable): Define to is_trivially_constructible if the
4847         compiler supports it, define to true_type otherwise.
4848         (xobnew): New.
4849         (XOBNEW): Redefine.
4850         (xobnewvec): New.
4851         (XOBNEWVEC): Redefine.
4852         * gdb_obstack.h (obstack_zalloc): New.
4853         (OBSTACK_ZALLOC): Redefine.
4854         (obstack_calloc): New.
4855         (OBSTACK_CALLOC): Redefine.
4856         (obstack_new): New.
4857         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4858         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4859         gdbarch.c.
4860         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4861         obstack_calloc/obstack_zalloc.
4862         (gdbarch_obstack_zalloc): Remove.
4863         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4864
4865 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4866
4867         * stack.c (backtrace_command_1): Remove useless variable int i.
4868
4869 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4870
4871         * stack.c (print_frame_info): Fix comment.
4872
4873 2018-05-18  Tom Tromey  <tom@tromey.com>
4874
4875         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4876         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4877         (~dwarf2_per_objfile): Update
4878         (dwarf2_get_dwz_file): Use new.
4879         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4880         unique_ptr.
4881
4882 2018-05-18  Tom Tromey  <tom@tromey.com>
4883
4884         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4885         unique_ptr.
4886         * dwarf2read.c (struct dwp_file): Add constructor and
4887         initializers.
4888         (open_and_init_dwp_file): Return a unique_ptr.
4889         (dwarf2_per_objfile, create_dwp_hash_table)
4890         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4891         (lookup_dwo_unit_in_dwp): Update.
4892         (open_and_init_dwp_file, get_dwp_file): Update.
4893
4894 2018-05-18  Tom Tromey  <tom@tromey.com>
4895
4896         * dwarf2read.c (dwarf2_per_objfile): Update.
4897         (struct mapped_index): Add initializers.
4898         (dwarf2_read_index): Use new.
4899         (dw2_symtab_iter_init): Update.
4900         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4901         unique_ptr.
4902
4903 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4904
4905         * dwarf2read.c (mapped_index) <total_size>: Remove.
4906
4907 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4908
4909         * unittests/format_pieces-selftests.c (test_format_specifier):
4910         Add ARI comments.
4911
4912 2018-05-18  Tom Tromey  <tom@tromey.com>
4913
4914         * c-typeprint.c (maybe_print_hole): New function.
4915         (c_print_type_struct_field_offset): Update.
4916         (c_type_print_base_struct_union): Call maybe_print_hole.
4917
4918 2018-05-17  Keith Seitz  <keiths@redhat.com>
4919
4920         * breakpoint.c (build_bpstat_chain): New function, moved from
4921         bpstat_stop_status.
4922         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4923         If no stop chain is passed, call build_bpstat_chain to build it.
4924         * breakpoint.h (build_bpstat_chain): Declare.
4925         (bpstat_stop_status): Move documentation here from breakpoint.c.
4926         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4927         build the stop chain and pass it to skip_inline_frames.
4928         Pass this stop chain to bpstat_stop_status.
4929         * inline-frame.c: Include breakpoint.h.
4930         (stopped_by_user_bp_inline_frame): New function.
4931         (skip_inline_frames): Add parameter `stop_chain'.
4932         Move documention to inline-frame.h.
4933         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4934         whether the frame should be elided.
4935         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4936         Add moved documentation and update for new parameter.
4937
4938 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4939
4940         PR cli/14975
4941         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4942         unittests/format_pieces-selftests.c.
4943         * common/format.h (format_piece) <operator==>: New.
4944         (format_pieces) <operator[]>: Remove.
4945         * common/format.c (format_pieces::format_pieces): Handle \e.
4946         * unittests/format_pieces-selftests.c: New.
4947
4948 2018-05-17  Tom Tromey  <tom@tromey.com>
4949
4950         PR symtab/23010:
4951         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4952         (dw2_instantiate_symtab): Add skip_partial parameter.
4953         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4954         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4955         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4956         (dw2_expand_symtabs_matching_one)
4957         (dw2_find_pc_sect_compunit_symtab)
4958         (dw2_debug_names_lookup_symbol)
4959         (dw2_debug_names_expand_symtabs_for_function): Update.
4960         (init_cutu_and_read_dies): Add skip_partial parameter.
4961         (process_psymtab_comp_unit, build_type_psymtabs_1)
4962         (process_skeletonless_type_unit, load_partial_comp_unit)
4963         (psymtab_to_symtab_1): Update.
4964         (load_full_comp_unit): Add skip_partial parameter.
4965         (process_imported_unit_die, dwarf2_read_addr_index)
4966         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4967         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4968         (read_signatured_type): Update.
4969
4970 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4971
4972         * value.c (release_value): Remove unused variable.
4973         (record_latest_value): Likewise.
4974         (access_value_history): Likewise.
4975         (preserve_values): Likewise.
4976
4977 2018-05-17  Tom Tromey  <tom@tromey.com>
4978
4979         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4980         Initialize.
4981
4982 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4983
4984         PR gdb/22286
4985         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4986         Also handle registers whose width is not a multiple of
4987         PTRACE_TYPE_RET.
4988         (linux_nat_trad_target::store_register): Likewise.
4989
4990 2018-05-16  Tom Tromey  <tom@tromey.com>
4991
4992         * gdbcore.h (core_bfd): Redefine.
4993         * corelow.c (core_target::close): Update.
4994         (core_target_open): Update.
4995         * progspace.h (struct program_space) <cbfd>: Now a
4996         gdb_bfd_ref_ptr.
4997
4998 2018-05-16  Tom Tromey  <tom@tromey.com>
4999
5000         PR cli/19551:
5001         * symfile-add-flags.h (enum symfile_add_flags)
5002         <SYMFILE_NOT_FILENAME>: New constant.
5003         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5004         objfile name from BFD.
5005         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5006         * minidebug.c (find_separate_debug_file_in_section): Put
5007         ".gnu_debugdata" into BFD's file name.
5008
5009 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5010
5011         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5012         Remove.
5013
5014 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5015
5016         PR binutils/21446
5017         * aarch64-tdep.c (aarch64_analyze_prologue,
5018         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5019         Indicate not interested in errors.
5020
5021 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5022
5023         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5024         Supply the MIPS_ZERO_REGNUM register.
5025
5026 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5027
5028         * mips-tdep.c (mask_address_var): Make variable static.
5029
5030 2018-05-14  Tom Tromey  <tom@tromey.com>
5031
5032         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5033
5034 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5035
5036         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5037         FXSAVE_ADDR for the mxcsr register.
5038
5039 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5040
5041         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5042
5043 2018-05-11  Pedro Alves  <palves@redhat.com>
5044
5045         * corelow.c (core_target) <core_target>: No longer inline.
5046         Initialize m_core_gdbarch, m_core_vec and build the section table
5047         here.
5048         <~core_target>: New.
5049         <core_gdbarch, get_core_register_section>: New methods.
5050         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5051         factored out from ...
5052         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5053         (core_ops): Delete.
5054         (sniff_core_bfd): Add gdbarch parameter.
5055         (core_close): Delete, merged into ...
5056         (core_target::close): ... here.  Delete self.
5057         (core_close_cleanup): Delete.
5058         (core_target_open): Allocate a core_target on the heap.  Use a
5059         unique_ptr instead of a cleanup.  Bits moved into the core_target
5060         ctor.  Adjust to use core_target methods instead of globals.
5061         (get_core_register_section): Rename to ...
5062         (core_target::get_core_register_section): ... this and adjust.
5063         (struct get_core_registers_cb_data): New.
5064         (get_core_registers_cb): Use it.  Use bool.
5065         (core_target::fetch_registers, core_target::files_info)
5066         (core_target::xfer_partial, core_target::read_description)
5067         (core_target::pid_to, core_target::thread_name): Adjust to
5068         reference class fields instead of globals.
5069         * target.h (struct target_ops_deleter, target_ops_up): New.
5070
5071 2018-05-11  Pedro Alves  <palves@redhat.com>
5072
5073         * corefile.c (core_file_command): Move to corelow.c.
5074         * corelow.c (the_core_target): Delete.
5075         (core_file_command): Moved from corefile.c.  Check exec_bfd
5076         instead of the_core_target.  Use target_detach instead of calling
5077         into the_core_target directly.
5078         (maybe_say_no_core_file_now): New.
5079         (core_target::detach): Use it.
5080         (_initialize_corelow): Remove references to the_core_target.
5081         * gdbcore.h (the_core_target): Delete.
5082
5083 2018-05-11  Tom Tromey  <tromey@redhat.com>
5084             Pedro Alves  <palves@redhat.com>
5085
5086         * corefile.c (core_bfd): Remove.
5087         * gdbcore.h (core_bfd): Now a macro.
5088         * progspace.h (struct program_space) <cbfd>: New field.
5089
5090 2018-05-11  Tom Tromey  <tom@tromey.com>
5091
5092         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5093         gdb::def_vector.
5094
5095 2018-05-10  Tom Tromey  <tom@tromey.com>
5096
5097         * configure: Rebuild.
5098         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5099
5100 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5101
5102         PR server/23158:
5103         * regformats/regdat.sh: Adjust script, following the addition
5104         of the new expedite_regs parameter to init_target_desc.
5105
5106 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5107     
5108         PR gdb/23127
5109         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5110         set_gdbarch_significant_addr_bit.
5111         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5112         set_gdbarch_significant_addr_bit.
5113         * utils.c (address_significant): Update to sign extend addr.
5114
5115 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5116
5117         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5118         (xtensa_linux_init_abi): Limit tdep->num_regs by
5119         tdep->num_nopriv_regs.
5120         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5121         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5122         not initialized.
5123
5124 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
5125
5126         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
5127
5128 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
5129
5130         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
5131         (I387_MXCSR_INIT_VAL): New constant.
5132         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
5133         buffer if it was supplied by the inferior.
5134         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
5135         (i387_xsave_get_clear_bv): New function.
5136         (i387_supply_xsave): Only read x87 control registers from the
5137         xsave buffer if the feature is enabled, and the state will have
5138         been written, otherwise, provide a suitable default.
5139         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
5140         including x87 control registers.  Update control registers if they
5141         have changed from the default value, and mark features as enabled
5142         as required.
5143         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
5144
5145 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
5146
5147         * spu-tdep.c (info_spu_event_command): Fix output formatting.
5148
5149 2018-05-07  Tom Tromey  <tom@tromey.com>
5150
5151         * configure: Rebuild.
5152         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
5153
5154 2018-05-07  Tom Tromey  <tom@tromey.com>
5155
5156         PR tdep/20362:
5157         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
5158         bit.  Use correct value for VDIV.
5159
5160 2018-05-04  Tom Tromey  <tom@tromey.com>
5161
5162         * configure: Rebuild.
5163         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
5164
5165 2018-05-04  Tom Tromey  <tom@tromey.com>
5166
5167         * linux-record.c (record_linux_system_call) <case
5168         RECORD_SYS_RECVFROM>: Add "break".
5169
5170 2018-05-04  Tom Tromey  <tom@tromey.com>
5171
5172         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
5173         Add missing "break".
5174         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
5175         Add missing "break".
5176
5177 2018-05-04  Tom Tromey  <tom@tromey.com>
5178
5179         * rs6000-tdep.c (ppc_process_record_op4)
5180         (ppc_process_record_op63): Add fall-through comment.
5181
5182 2018-05-04  Tom Tromey  <tom@tromey.com>
5183
5184         * i386-tdep.c (i386_process_record): Add fall-through comment.
5185
5186 2018-05-04  Tom Tromey  <tom@tromey.com>
5187
5188         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
5189         comment.
5190
5191 2018-05-04  Tom Tromey  <tom@tromey.com>
5192
5193         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
5194         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
5195         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
5196         comment.
5197         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
5198         comment.
5199         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
5200         comment.
5201
5202 2018-05-04  Tom Tromey  <tom@tromey.com>
5203
5204         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
5205
5206 2018-05-04  Tom Tromey  <tom@tromey.com>
5207
5208         * s390-tdep.c (s390_process_record): Fix fall-through comments.
5209         * xcoffread.c (scan_xcoff_symtab): Move comment later.
5210         * symfile.c (section_is_mapped): Fix fall-through comment.
5211         * stabsread.c (define_symbol, read_member_functions): Fix
5212         fall-through comment.
5213         * s390-linux-tdep.c (s390_process_record): Fix fall-through
5214         comment.
5215         * remote.c (remote_wait_as): Fix fall-through comment.
5216         * p-exp.y (yylex): Fix fall-through comment.
5217         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
5218         comment.
5219         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
5220         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
5221         * jv-exp.y (yylex): Fix fall-through comment.
5222         * go-exp.y (lex_one_token): Fix fall-through comment.
5223         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
5224         fall-through comment.
5225         * f-exp.y (yylex): Fix fall-through comment.
5226         * dwarf2read.c (process_die): Fix fall-through comments.
5227         * dbxread.c (process_one_symbol): Fix fall-through comment.
5228         * d-exp.y (lex_one_token): Fix fall-through comment.
5229         * cp-name-parser.y (yylex): Fix fall-through comment.
5230         * coffread.c (coff_symtab_read): Fix fall-through comment.
5231         * c-exp.y (lex_one_token): Fix fall-through comment.
5232         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
5233         comment.
5234         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
5235         comment.
5236
5237 2018-05-04  Tom Tromey  <tom@tromey.com>
5238
5239         PR python/22730:
5240         * NEWS: Mention gdb.execute change.
5241         * gdbcmd.h (execute_control_command): Don't declare.
5242         * python/python.c (execute_gdb_command): Use read_command_lines_1,
5243         execute_control_commands, execute_control_commands_to_string.
5244         * cli/cli-script.h (execute_control_commands)
5245         (execute_control_commands_to_string): Declare.
5246         (execute_control_command): Add from_tty parameter.
5247         * cli/cli-script.c (execute_control_commands)
5248         (execute_control_commands_to_string): New functions.
5249         (execute_user_command): Use execute_control_commands.
5250         (execute_control_command_1): Add "from_tty" parameter.  Update.
5251         (execute_control_command): Likewise.
5252
5253 2018-05-04  Tom Tromey  <tom@tromey.com>
5254
5255         PR python/22731:
5256         * NEWS: Mention that breakpoint commands are writable.
5257         * python/py-breakpoint.c (bppy_set_commands): New function.
5258         (breakpoint_object_getset) <"commands">: Use it.
5259
5260 2018-05-04  Tom Tromey  <tom@tromey.com>
5261
5262         * tracepoint.c (actions_command): Update.
5263         * mi/mi-cmd-break.c (mi_command_line_array)
5264         (mi_command_line_array_cnt, mi_command_line_array_ptr)
5265         (mi_read_next_line): Remove.
5266         (mi_cmd_break_commands): Update.
5267         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
5268         function_view.
5269         * cli/cli-script.c (get_command_line): Update.
5270         (process_next_line): Use function_view.  Constify.
5271         (recurse_read_control_structure, read_command_lines)
5272         (read_command_lines_1): Change argument types to function_view.
5273         (do_define_command, document_command): Update.
5274         * breakpoint.h (check_tracepoint_command): Don't declare.
5275         * breakpoint.c (check_tracepoint_command): Remove.
5276         (commands_command_1, create_tracepoint_from_upload): Update.
5277
5278 2018-05-04  Tom Tromey  <tom@tromey.com>
5279
5280         PR gdb/11750:
5281         * cli/cli-script.h (enum command_control_type) <define_control>:
5282         New constant.
5283         * cli/cli-script.c (multi_line_command_p): Handle define_control.
5284         (build_command_line, execute_control_command_1)
5285         (process_next_line): Likewise.
5286         (do_define_command): New function, extracted from define_command.
5287         (define_command): Use it.
5288
5289 2018-05-04  Tom Tromey  <tom@tromey.com>
5290
5291         * tracepoint.c (actions_command): Update.
5292         * cli/cli-script.h (read_command_lines): Update.
5293         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
5294         (MAX_TMPBUF): Remove define.
5295         (define_command): Use string_printf.
5296         (document_command): Likewise.
5297         * breakpoint.c (commands_command_1): Update.
5298
5299 2018-05-04  Tom Tromey  <tom@tromey.com>
5300
5301         * top.c (execute_command): Update.
5302         * cli/cli-script.h (print_command_lines): Now varargs.
5303         * cli/cli-script.c (print_command_lines): Now varargs.
5304         (execute_control_command_1) <case while_control, case if_control>:
5305         Update.
5306
5307 2018-05-04  Tom Tromey  <tom@tromey.com>
5308
5309         * tracepoint.c (all_tracepoint_actions): Rename from
5310         all_tracepoint_actions_and_cleanup.  Change return type.
5311         (actions_command, encode_actions_1, encode_actions)
5312         (trace_dump_actions, tdump_command): Update.
5313         * remote.c (remote_download_command_source): Update.
5314         * python/python.c (gdbpy_eval_from_control_command)
5315         (python_command, python_interactive_command): Update.
5316         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
5317         * guile/guile.c (guile_command)
5318         (gdbscm_eval_from_control_command, guile_command): Update.
5319         * compile/compile.c (compile_code_command)
5320         (compile_print_command, compile_to_object): Update.
5321         * cli/cli-script.h (struct command_lines_deleter): New.
5322         (counted_command_line): New typedef.
5323         (struct command_line): Add constructor, destructor.
5324         <body_list>: Remove.
5325         <body_list_0, body_list_1>: New members.
5326         (command_line_up): Remove typedef.
5327         (read_command_lines, read_command_lines_1, get_command_line):
5328         Update.
5329         (copy_command_lines): Don't declare.
5330         * cli/cli-script.c (build_command_line): Use "new".
5331         (get_command_line): Return counted_command_line.
5332         (print_command_lines, execute_user_command)
5333         (execute_control_command_1, while_command, if_command): Update.
5334         (realloc_body_list): Remove.
5335         (process_next_line, recurse_read_control_structure): Update.
5336         (read_command_lines, read_command_lines_1): Return counted_command_line.
5337         (free_command_lines): Use "delete".
5338         (copy_command_lines): Remove.
5339         (define_command, document_command, show_user_1): Update.
5340         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
5341         a counted_command_line.
5342         * breakpoint.h (counted_command_line): Remove typedef.
5343         (breakpoint_set_commands): Update.
5344         * breakpoint.c (check_no_tracepoint_commands)
5345         (validate_commands_for_breakpoint): Update.
5346         (breakpoint_set_commands): Change commands to be a
5347         counted_command_line.
5348         (commands_command_1, update_dprintf_command_list)
5349         (create_tracepoint_from_upload): Update.
5350
5351 2018-05-04  Tom Tromey  <tom@tromey.com>
5352
5353         * cli/cli-decode.h (cmd_list_element): New constructor.
5354         (~cmd_list_element): New destructor.
5355         (struct cmd_list_element): Add initializers.
5356         * cli/cli-decode.c (do_add_cmd): Use "new".
5357         (delete_cmd): Use "delete".
5358
5359 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
5360             Pedro Alves <palves@redhat.com>
5361
5362         PR breakpoints/19806 and support for PR external/20207.
5363         * NEWS: Mention Aarch64 watchpoint improvements.
5364         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
5365         watchpoints and PR external/20207 watchpoints.
5366         * nat/aarch64-linux-hw-point.c
5367         (kernel_supports_any_contiguous_range): New.
5368         (aarch64_watchpoint_offset): New.
5369         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
5370         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
5371         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
5372         (aarch64_align_watchpoint): New parameters aligned_offset_p and
5373         next_addr_orig_p.  Support PR external/20207 watchpoints.
5374         (aarch64_downgrade_regs): New.
5375         (aarch64_dr_state_insert_one_point): New parameters offset and
5376         addr_orig.
5377         (aarch64_dr_state_remove_one_point): Likewise.
5378         (aarch64_handle_breakpoint): Update caller.
5379         (aarch64_handle_aligned_watchpoint): Likewise.
5380         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
5381         aligned_offset.
5382         (aarch64_linux_set_debug_regs): Remove const from state.  Call
5383         aarch64_downgrade_regs.
5384         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
5385         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
5386         (DR_CONTROL_MASK): ... this.
5387         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
5388         (unsigned int aarch64_watchpoint_offset): New prototype.
5389         (aarch64_linux_set_debug_regs): Remove const from state.
5390         * utils.c (align_up, align_down): Move to ...
5391         * common/common-utils.c (align_up, align_down): ... here.
5392         * utils.h (align_up, align_down): Move to ...
5393         * common/common-utils.h (align_up, align_down): ... here.
5394
5395 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
5396
5397         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
5398         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
5399         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
5400         Re-implement to match the ABI as summarized in GCC's
5401         gcc/config/sparc/sparc.c.  All callers updated.
5402         (sparc32_store_arguments): Remove assertion.
5403
5404 2018-05-04  Tom Tromey  <tom@tromey.com>
5405
5406         * printcmd.c: Don't include tui.h.
5407         (decode_format): Use skip_spaces.
5408
5409 2018-05-04  Tom Tromey  <tom@tromey.com>
5410
5411         PR gdb/22619:
5412         * printcmd.c (last_count): New global.
5413         (x_command): Use saved count when repeating.
5414
5415 2018-05-04  Tom Tromey  <tom@tromey.com>
5416
5417         * nto-procfs.c (do_closedir_cleanup): Remove.
5418         (procfs_pidlist): Use gdb_dir_up.
5419         * procfs.c (do_closedir_cleanup): Remove.
5420         (proc_update_threads): Use gdb_dir_up.
5421         * common/filestuff.h (struct gdb_dir_deleter): New.
5422         (gdb_dir_up): New typedef.
5423
5424 2018-05-04  Tom Tromey  <tom@tromey.com>
5425
5426         * ada-lang.c (print_mention_exception): Use std::string.
5427
5428 2018-05-04  Tom Tromey  <tom@tromey.com>
5429
5430         * ada-lang.c (create_excep_cond_exprs): Update.
5431         (ada_exception_catchpoint_cond_string): Use std::string.
5432
5433 2018-05-04  Tom Tromey  <tom@tromey.com>
5434
5435         * ada-lang.c (xget_renaming_scope): Return std::string.
5436         (old_renaming_is_invisible): Update.
5437
5438 2018-05-04  Tom Tromey  <tom@tromey.com>
5439
5440         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
5441         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
5442
5443 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
5444
5445         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
5446
5447 2018-05-04  Tom Tromey  <tom@tromey.com>
5448
5449         * remote.c (remote_query_supported_append): Change type.
5450         (remote_check_symbols): Update.
5451
5452 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
5453
5454         PR gdb/11420
5455         * configure.ac: Prepend libpython.
5456         * python/python-config.py: Likewise.
5457         * configure: Regenerate.
5458
5459 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
5460
5461         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
5462
5463 2018-05-03  Pedro Alves  <palves@redhat.com>
5464
5465         * s390-linux-nat.c
5466         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
5467         override.  Write 'true' instead of '1'.
5468         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
5469         declaration.
5470
5471 2018-05-02  Pedro Alves  <palves@redhat.com>
5472
5473         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
5474         add_inf_child_target.
5475         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
5476         add_inf_child_target.
5477         * aix-thread.c (aix_thread_target_info): New.
5478         (aix_thread_target) <shortname, longname, doc>: Delete.
5479         <info>: New.
5480         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
5481         add_inf_child_target.
5482         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
5483         add_inf_child_target.
5484         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
5485         add_inf_child_target.
5486         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
5487         add_inf_child_target.
5488         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
5489         add_inf_child_target.
5490         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
5491         add_inf_child_target.
5492         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
5493         add_inf_child_target.
5494         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
5495         add_inf_child_target.
5496         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
5497         add_inf_child_target.
5498         * bfd-target.c (target_bfd_target_info): New.
5499         (target_bfd) <shortname, longname, doc>: Delete.
5500         <info>: New.
5501         * bsd-kvm.c (bsd_kvm_target_info): New.
5502         (bsd_kvm_target) <shortname, longname, doc>: Delete.
5503         <info>: New.
5504         (bsd_kvm_target::open): Rename to ...
5505         (bsd_kvm_target_open): ... this.  Adjust.
5506         * bsd-uthread.c (bsd_uthread_target_info): New.
5507         (bsd_uthread_target) <shortname, longname, doc>: Delete.
5508         <info>: New.
5509         * corefile.c (core_file_command): Adjust.
5510         * corelow.c (core_target_info): New.
5511         (core_target) <shortname, longname, doc>: Delete.
5512         <info>: New.
5513         (core_target::open): Rename to ...
5514         (core_target_open): ... this.  Adjust.
5515         * ctf.c (ctf_target_info): New.
5516         (ctf_target) <shortname, longname, doc>: Delete.
5517         <info>: New.
5518         (ctf_target::open): Rename to ...
5519         (ctf_target_open): ... this.
5520         (_initialize_ctf): Adjust.
5521         * exec.c (exec_target_info): New.
5522         (exec_target) <shortname, longname, doc>: Delete.
5523         <info>: New.
5524         (exec_target::open): Rename to ...
5525         (exec_target_open): ... this.
5526         * gdbcore.h (core_target_open): Declare.
5527         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5528         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5529         add_inf_child_target.
5530         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5531         add_inf_child_target.
5532         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5533         add_inf_child_target.
5534         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5535         add_inf_child_target.
5536         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5537         add_inf_child_target.
5538         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5539         add_inf_child_target.
5540         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5541         add_inf_child_target.
5542         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5543         add_inf_child_target.
5544         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5545         add_inf_child_target.
5546         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5547         add_inf_child_target.
5548         * inf-child.c (inf_child_target_info): New.
5549         (inf_child_target::info): New.
5550         (inf_child_open_target): Remove 'target' parameter.  Use
5551         get_native_target instead.
5552         (inf_child_target::open): Delete.
5553         (add_inf_child_target): New.
5554         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5555         Delete.
5556         <info>: New.
5557         (add_inf_child_target): Declare.
5558         (inf_child_open_target): Declare.
5559         * linux-thread-db.c (thread_db_target_info): New.
5560         (thread_db_target) <shortname, longname, doc>: Delete.
5561         <info>: New.
5562         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5563         add_inf_child_target.
5564         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5565         add_inf_child_target.
5566         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5567         add_inf_child_target.
5568         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5569         add_inf_child_target.
5570         * make-target-delegates (print_class): Adjust.
5571         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5572         add_inf_child_target.
5573         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5574         add_inf_child_target.
5575         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5576         add_inf_child_target.
5577         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5578         add_inf_child_target.
5579         * nto-procfs.c (nto_native_target_info): New.
5580         (nto_procfs_target_native) <shortname, longname, doc>:
5581         Delete.
5582         <info>: New.
5583         (nto_procfs_target_info): New.
5584         (nto_procfs_target_procfs) <shortname, longname, doc>:
5585         Delete.
5586         <info>: New.
5587         (init_procfs_targets): Adjust.
5588         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5589         add_inf_child_target.
5590         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5591         add_inf_child_target.
5592         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5593         add_inf_child_target.
5594         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5595         add_inf_child_target.
5596         * ravenscar-thread.c (ravenscar_target_info): New.
5597         (ravenscar_thread_target) <shortname, longname, doc>:
5598         Delete.
5599         <info>: New.
5600         * record-btrace.c (record_btrace_target_info):
5601         (record_btrace_target) <shortname, longname, doc>: Delete.
5602         <info>: New.
5603         (record_btrace_target::open): Rename to ...
5604         (record_btrace_target_open): ... this.  Adjust.
5605         * record-full.c (record_longname, record_doc): New.
5606         (record_full_base_target) <shortname, longname, doc>: Delete.
5607         <info>: New.
5608         (record_full_target_info): New.
5609         (record_full_target): <shortname>: Delete.
5610         <info>: New.
5611         (record_full_core_open_1, record_full_open_1): Update comments.
5612         (record_full_base_target::open): Rename to ...
5613         (record_full_open): ... this.
5614         (cmd_record_full_restore): Update.
5615         (_initialize_record_full): Update.
5616         * remote-sim.c (remote_sim_target_info): New.
5617         (gdbsim_target) <shortname, longname, doc>: Delete.
5618         <info>: New.
5619         (gdbsim_target::open): Rename to ...
5620         (gdbsim_target_open): ... this.
5621         (_initialize_remote_sim): Adjust.
5622         * remote.c (remote_doc): New.
5623         (remote_target_info): New.
5624         (remote_target) <shortname, longname, doc>: Delete.
5625         <info>: New.
5626         (extended_remote_target_info): New.
5627         (extended_remote_target) <shortname, longname, doc>: Delete.
5628         <info>: New.
5629         (remote_target::open_1): Make static.  Adjust.
5630         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5631         * s390-linux-nat.c (_initialize_s390_nat): Use
5632         add_inf_child_target.
5633         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5634         add_inf_child_target.
5635         * sol-thread.c (thread_db_target_info): New.
5636         (sol_thread_target) <shortname, longname, doc>: Delete.
5637         <info>: New.
5638         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5639         add_inf_child_target.
5640         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5641         add_inf_child_target.
5642         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5643         add_inf_child_target.
5644         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5645         add_inf_child_target.
5646         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5647         add_inf_child_target.
5648         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5649         add_inf_child_target.
5650         * spu-linux-nat.c (_initialize_spu_nat): Use
5651         add_inf_child_target.
5652         * spu-multiarch.c (spu_multiarch_target_info): New.
5653         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5654         <info>: New.
5655         * target-delegates.c: Regenerate.
5656         * target.c: Include <unordered_map>.
5657         (target_ops_p): Delete.
5658         (DEF_VEC_P(target_ops_p)): Delete.
5659         (target_factories): New.
5660         (test_target_info): New.
5661         (test_target_ops::info): New.
5662         (open_target): Adjust to use target_factories.
5663         (add_target_with_completer): Rename to ...
5664         (add_target): ... this.  Change prototype.  Register target_info
5665         and open callback in target_factories.  Register target_info in
5666         command context instead of target_ops.
5667         (add_target): Delete old implementation.
5668         (add_deprecated_target_alias): Change prototype.  Adjust.
5669         (the_native_target): New.
5670         (set_native_target, get_native_target): New.
5671         (find_default_run_target): Use the_native_target.
5672         (find_attach_target, find_run_target): Simplify.
5673         (target_ops::open): Delete.
5674         (dummy_target_info): New.
5675         (dummy_target::shortname, dummy_target::longname)
5676         (dummy_target::doc): Delete.
5677         (dummy_target::info): New.
5678         (debug_target::shortname, debug_target::longname)
5679         (debug_target::doc): Delete.
5680         (debug_target::info): New.
5681         * target.h (struct target_info): New.
5682         (target_ops::~target_ops): Add comment.
5683         (target_ops::info): New.
5684         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5685         longer virtual.  Implement in terms of target_info.
5686         (set_native_target, get_native_target): Declare.
5687         (target_open_ftype): New.
5688         (add_target, add_target_with_completer)
5689         (add_deprecated_target_alias): Change prototype.
5690         (test_target) <shortname, longname, doc>: Delete.
5691         <info>: New.
5692         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5693         add_inf_child_target.
5694         * tracefile-tfile.c (tfile_target_info): New.
5695         (tfile_target) <shortname, longname, doc>: Delete.
5696         <info>: New.
5697         (tfile_target::open): Rename to ...
5698         (tfile_target_open): ... this.
5699         (_initialize_tracefile_tfile): Adjust.
5700         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5701         add_inf_child_target.
5702         * windows-nat.c (_initialize_windows_nat): Use
5703         add_inf_child_target.
5704         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5705         add_inf_child_target.
5706
5707 2018-05-02  Pedro Alves  <palves@redhat.com>
5708
5709         * linux-nat.h (linux_nat_target) <low_new_thread,
5710         low_delete_thread, low_new_fork, low_forget_process,
5711         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5712         New virtual methods.
5713         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5714         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5715         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5716         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5717         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5718         Delete.
5719         * linux-fork.c (delete_fork): Adjust to call low method.
5720         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5721         (linux_nat_new_fork, linux_nat_forget_process_hook)
5722         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5723         (linux_nat_status_is_event):
5724         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5725         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5726         to call low method.
5727         (sigtrap_is_event): Rename to ...
5728         (linux_nat_target::low_status_is_event): ... this.
5729         (linux_nat_set_status_is_event): Delete.
5730         (save_stop_reason, linux_nat_wait_1)
5731         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5732         low methods.
5733         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5734         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5735         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5736         (linux_nat_set_prepare_to_resume): Delete.
5737         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5738         low virtual methods.
5739         * amd64-linux-nat.c: Likewise.
5740         * arm-linux-nat.c: Likewise.
5741         * i386-linux-nat.c: Likewise.
5742         * ia64-linux-nat.c: Likewise.
5743         * mips-linux-nat.c: Likewise.
5744         * ppc-linux-nat.c: Likewise.
5745         * s390-linux-nat.c: Likewise.
5746         * sparc64-linux-nat.c: Likewise.
5747         * x86-linux-nat.c: Likewise.
5748         * x86-linux-nat.h: Include "nat/x86-linux.h".
5749         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5750         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5751         Override methods.
5752
5753 2018-05-02  Pedro Alves  <palves@redhat.com>
5754
5755         * target.h (target_ops)
5756         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5757         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5758         stopped_by_watchpoint, have_continuable_watchpoint,
5759         stopped_data_address, watchpoint_addr_within_range,
5760         can_accel_watchpoint_condition, can_run, thread_alive,
5761         has_all_memory, has_memory, has_stack, has_registers,
5762         has_execution, can_async_p, is_async_p, supports_non_stop,
5763         always_non_stop_p, can_execute_reverse, supports_multi_process,
5764         supports_enable_disable_tracepoint,
5765         supports_disable_randomization, supports_string_tracing,
5766         supports_evaluation_of_breakpoint_conditions,
5767         can_run_breakpoint_commands, filesystem_is_local,
5768         can_download_tracepoint, get_trace_state_variable_value,
5769         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5770         record_is_replaying, record_will_replay,
5771         augmented_libraries_svr4_read>: Adjust to return bool.
5772         * aarch64-linux-nat.c: All implementations adjusted.
5773         * aix-thread.c: All implementations adjusted.
5774         * arm-linux-nat.c: All implementations adjusted.
5775         * breakpoint.c: All implementations adjusted.
5776         * bsd-kvm.c: All implementations adjusted.
5777         * bsd-uthread.c: All implementations adjusted.
5778         * corelow.c: All implementations adjusted.
5779         * ctf.c: All implementations adjusted.
5780         * darwin-nat.c: All implementations adjusted.
5781         * darwin-nat.h: All implementations adjusted.
5782         * exec.c: All implementations adjusted.
5783         * fbsd-nat.c: All implementations adjusted.
5784         * fbsd-nat.h: All implementations adjusted.
5785         * gnu-nat.c: All implementations adjusted.
5786         * gnu-nat.h: All implementations adjusted.
5787         * go32-nat.c: All implementations adjusted.
5788         * ia64-linux-nat.c: All implementations adjusted.
5789         * inf-child.c: All implementations adjusted.
5790         * inf-child.h: All implementations adjusted.
5791         * inf-ptrace.c: All implementations adjusted.
5792         * inf-ptrace.h: All implementations adjusted.
5793         * linux-nat.c: All implementations adjusted.
5794         * linux-nat.h: All implementations adjusted.
5795         * mips-linux-nat.c: All implementations adjusted.
5796         * nto-procfs.c: All implementations adjusted.
5797         * ppc-linux-nat.c: All implementations adjusted.
5798         * procfs.c: All implementations adjusted.
5799         * ravenscar-thread.c: All implementations adjusted.
5800         * record-btrace.c: All implementations adjusted.
5801         * record-full.c: All implementations adjusted.
5802         * remote-sim.c: All implementations adjusted.
5803         * remote.c: All implementations adjusted.
5804         * s390-linux-nat.c: All implementations adjusted.
5805         * sol-thread.c: All implementations adjusted.
5806         * spu-multiarch.c: All implementations adjusted.
5807         * target-delegates.c: All implementations adjusted.
5808         * target.c: All implementations adjusted.
5809         * target.h: All implementations adjusted.
5810         * tracefile-tfile.c: All implementations adjusted.
5811         * tracefile.c: All implementations adjusted.
5812         * tracefile.h: All implementations adjusted.
5813         * windows-nat.c: All implementations adjusted.
5814         * x86-linux-nat.h: All implementations adjusted.
5815         * x86-nat.h: All implementations adjusted.
5816
5817 2018-05-02  Pedro Alves  <palves@redhat.com>
5818
5819         * make-target-delegates (scan_target_h): Don't trim lines here.
5820         Replace sequences of tabs and/or whitespace with a single
5821         whitespace.
5822         (top level, parsing methods): Trim each line before processing it
5823         here.
5824
5825 2018-05-02  Pedro Alves  <palves@redhat.com>
5826             John Baldwin  <jhb@freebsd.org>
5827
5828         * target.h (enum strata) <debug_stratum>: New.
5829         (struct target_ops) <all delegation methods>: Replace by C++
5830         virtual methods, and drop "to_" prefix.  All references updated
5831         throughout.
5832         <to_shortname, to_longname, to_doc, to_data,
5833         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5834         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5835         virtual methods.  All references updated throughout.
5836         <can_attach, supports_terminal_ours, can_create_inferior,
5837         get_thread_control_capabilities, attach_no_wait>: New
5838         virtual methods.
5839         <insert_breakpoint, remove_breakpoint>: Now
5840         TARGET_DEFAULT_NORETURN methods.
5841         <info_proc>: Now returns bool.
5842         <to_magic>: Delete.
5843         (OPS_MAGIC): Delete.
5844         (current_target): Delete.  All references replaced by references
5845         to ...
5846         (target_stack): ... this.  New.
5847         (target_shortname, target_longname): Adjust.
5848         (target_can_run): Now a function declaration.
5849         (default_child_has_all_memory, default_child_has_memory)
5850         (default_child_has_stack, default_child_has_registers)
5851         (default_child_has_execution): Remove target_ops parameter.
5852         (complete_target_initialization): Delete.
5853         (memory_breakpoint_target): New template class.
5854         (test_target_ops): Refactor as a C++ class with virtual methods.
5855         * make-target-delegates (NAME_PART): Tighten.
5856         (POINTER_PART, CP_SYMBOL): New.
5857         (SIMPLE_RETURN_PART): Reimplement.
5858         (VEC_RETURN_PART): Expect less.
5859         (RETURN_PART, VIRTUAL_PART): New.
5860         (METHOD): Adjust to C++ virtual methods.
5861         (scan_target_h): Remove reference to C99.
5862         (dname): Output "target_ops::" prefix.
5863         (write_function_header): Adjust to output a C++ class method.
5864         (write_declaration): New.
5865         (write_delegator): Adjust to output a C++ class method.
5866         (tdname): Output "dummy_target::" prefix.
5867         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5868         method.
5869         (tdefault_names, debug_names): Delete.
5870         (return_types, tdefaults, styles, argtypes_array): New.
5871         (top level): All methods are delegators.
5872         (print_class): New.
5873         (top level): Print dummy_target and debug_target classes.
5874         * target-delegates.c: Regenerate.
5875         * target-debug.h (target_debug_print_enum_info_proc_what)
5876         (target_debug_print_thread_control_capabilities)
5877         (target_debug_print_thread_info_p): New.
5878         * target.c (dummy_target): Delete.
5879         (the_dummy_target, the_debug_target): New.
5880         (target_stack): Now extern.
5881         (set_targetdebug): Push/unpush debug target.
5882         (default_child_has_all_memory, default_child_has_memory)
5883         (default_child_has_stack, default_child_has_registers)
5884         (default_child_has_execution): Remove target_ops parameter.
5885         (complete_target_initialization): Delete.
5886         (add_target_with_completer): No longer call
5887         complete_target_initialization.
5888         (target_supports_terminal_ours): Use regular delegation.
5889         (update_current_target): Delete.
5890         (push_target): No longer check magic number.  Don't call
5891         update_current_target.
5892         (unpush_target): Don't call update_current_target.
5893         (target_is_pushed): No longer check magic number.
5894         (target_require_runnable): Skip for all stratums over
5895         process_stratum.
5896         (target_ops::info_proc): New.
5897         (target_info_proc): Use find_target_at and
5898         find_default_run_target.
5899         (target_supports_disable_randomization): Use regular delegation.
5900         (target_get_osdata): Use find_target_at.
5901         (target_ops::open, target_ops::close, target_ops::can_attach)
5902         (target_ops::attach, target_ops::can_create_inferior)
5903         (target_ops::create_inferior, target_ops::can_run)
5904         (target_can_run): New.
5905         (default_fileio_target): Use regular delegation.
5906         (target_ops::fileio_open, target_ops::fileio_pwrite)
5907         (target_ops::fileio_pread, target_ops::fileio_fstat)
5908         (target_ops::fileio_close, target_ops::fileio_unlink)
5909         (target_ops::fileio_readlink): New.
5910         (target_fileio_open_1, target_fileio_unlink)
5911         (target_fileio_readlink): Always call the target method.  Handle
5912         FILEIO_ENOSYS.
5913         (return_zero, return_zero_has_execution): Delete.
5914         (init_dummy_target): Delete.
5915         (dummy_target::dummy_target, dummy_target::shortname)
5916         (dummy_target::longname, dummy_target::doc)
5917         (debug_target::debug_target, debug_target::shortname)
5918         (debug_target::longname, debug_target::doc): New.
5919         (target_supports_delete_record): Use regular delegation.
5920         (setup_target_debug): Delete.
5921         (maintenance_print_target_stack): Skip debug_stratum.
5922         (initialize_targets): Instantiate the_dummy_target and
5923         the_debug_target.
5924         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5925         use target_stack.
5926         (target_auxv_search, fprint_target_auxv): Adjust.
5927         (info_auxv_command): Adjust to use target_stack.
5928         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5929         * exceptions.c (print_flush): Handle a NULL target_stack.
5930         * regcache.c (target_ops_no_register): Refactor as class with
5931         virtual methods.
5932
5933         * exec.c (exec_target): New class.
5934         (exec_ops): Now an exec_target.
5935         (exec_open, exec_close_1, exec_get_section_table)
5936         (exec_xfer_partial, exec_files_info, exec_has_memory)
5937         (exec_make_note_section): Refactor as exec_target methods.
5938         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5939         Delete.
5940         (exec_target::find_memory_regions): New.
5941         (_initialize_exec): Don't call init_exec_ops.
5942         * gdbcore.h (exec_file_clear): Delete.
5943
5944         * corefile.c (core_target): Delete.
5945         (core_file_command): Adjust.
5946         * corelow.c (core_target): New class.
5947         (the_core_target): New.
5948         (core_close): Remove target_ops parameter.
5949         (core_close_cleanup): Adjust.
5950         (core_target::close): New.
5951         (core_open, core_detach, get_core_registers, core_files_info)
5952         (core_xfer_partial, core_thread_alive, core_read_description)
5953         (core_pid_to_str, core_thread_name, core_has_memory)
5954         (core_has_stack, core_has_registers, core_info_proc): Rework as
5955         core_target methods.
5956         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5957         (_initialize_corelow): Initialize the_core_target.
5958         * gdbcore.h (core_target): Delete.
5959         (the_core_target): New.
5960
5961         * ctf.c: (ctf_target): New class.
5962         (ctf_ops): Now a ctf_target.
5963         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5964         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5965         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5966         methods.
5967         (init_ctf_ops): Delete.
5968         (_initialize_ctf): Don't call it.
5969         * tracefile-tfile.c (tfile_target): New class.
5970         (tfile_ops): Now a tfile_target.
5971         (tfile_open, tfile_close, tfile_files_info)
5972         (tfile_get_tracepoint_status, tfile_trace_find)
5973         (tfile_fetch_registers, tfile_xfer_partial)
5974         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5975         Refactor as tfile_target methods.
5976         (tfile_xfer_partial_features): Remove target_ops parameter.
5977         (init_tfile_ops): Delete.
5978         (_initialize_tracefile_tfile): Don't call it.
5979         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5980         (tracefile_has_stack, tracefile_has_registers)
5981         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5982         tracefile_target methods.
5983         (init_tracefile_ops): Delete.
5984         (tracefile_target::tracefile_target): New.
5985         * tracefile.h: Include "target.h".
5986         (tracefile_target): New class.
5987         (init_tracefile_ops): Delete.
5988
5989         * spu-multiarch.c (spu_multiarch_target): New class.
5990         (spu_ops): Now a spu_multiarch_target.
5991         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5992         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5993         (spu_search_memory, spu_mourn_inferior): Refactor as
5994         spu_multiarch_target methods.
5995         (init_spu_ops): Delete.
5996         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5997         complete_target_initialization.
5998
5999         * ravenscar-thread.c (ravenscar_thread_target): New class.
6000         (ravenscar_ops): Now a ravenscar_thread_target.
6001         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6002         (ravenscar_thread_alive, ravenscar_pid_to_str)
6003         (ravenscar_fetch_registers, ravenscar_store_registers)
6004         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6005         (ravenscar_stopped_by_hw_breakpoint)
6006         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6007         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6008         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6009         methods.
6010         (init_ravenscar_thread_ops): Delete.
6011         (_initialize_ravenscar): Remove references to
6012         init_ravenscar_thread_ops and complete_target_initialization.
6013
6014         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6015         (bsd_uthread_target): New class.
6016         (bsd_uthread_ops): Now a bsd_uthread_target.
6017         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6018         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6019         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6020         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6021         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6022         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6023         (bsd_uthread_target): Delete function.
6024         (_initialize_bsd_uthread): Remove reference to
6025         complete_target_initialization.
6026
6027         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6028         (target_bfd): ... this new class.
6029         (target_bfd_xfer_partial, target_bfd_get_section_table)
6030         (target_bfd_close): Refactor as target_bfd methods.
6031         (target_bfd::~target_bfd): New.
6032         (target_bfd_reopen): Adjust.
6033         (target_bfd::close): New.
6034
6035         * record-btrace.c (record_btrace_target): New class.
6036         (record_btrace_ops): Now a record_btrace_target.
6037         (record_btrace_open, record_btrace_stop_recording)
6038         (record_btrace_disconnect, record_btrace_close)
6039         (record_btrace_async, record_btrace_info)
6040         (record_btrace_insn_history, record_btrace_insn_history_range)
6041         (record_btrace_insn_history_from, record_btrace_call_history)
6042         (record_btrace_call_history_range)
6043         (record_btrace_call_history_from, record_btrace_record_method)
6044         (record_btrace_is_replaying, record_btrace_will_replay)
6045         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6046         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6047         (record_btrace_store_registers, record_btrace_prepare_to_store)
6048         (record_btrace_to_get_unwinder)
6049         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6050         (record_btrace_commit_resume, record_btrace_wait)
6051         (record_btrace_stop, record_btrace_can_execute_reverse)
6052         (record_btrace_stopped_by_sw_breakpoint)
6053         (record_btrace_supports_stopped_by_sw_breakpoint)
6054         (record_btrace_stopped_by_hw_breakpoint)
6055         (record_btrace_supports_stopped_by_hw_breakpoint)
6056         (record_btrace_update_thread_list, record_btrace_thread_alive)
6057         (record_btrace_goto_begin, record_btrace_goto_end)
6058         (record_btrace_goto, record_btrace_stop_replaying_all)
6059         (record_btrace_execution_direction)
6060         (record_btrace_prepare_to_generate_core)
6061         (record_btrace_done_generating_core): Refactor as
6062         record_btrace_target methods.
6063         (init_record_btrace_ops): Delete.
6064         (_initialize_record_btrace): Remove reference to
6065         init_record_btrace_ops.
6066         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6067         the execution_direction global.
6068         (record_full_base_target, record_full_target)
6069         (record_full_core_target): New classes.
6070         (record_full_ops): Now a record_full_target.
6071         (record_full_core_ops): Now a record_full_core_target.
6072         (record_full_target::detach, record_full_target::disconnect)
6073         (record_full_core_target::disconnect)
6074         (record_full_target::mourn_inferior, record_full_target::kill):
6075         New.
6076         (record_full_open, record_full_close, record_full_async): Refactor
6077         as methods of the record_full_base_target class.
6078         (record_full_resume, record_full_commit_resume): Refactor
6079         as methods of the record_full_target class.
6080         (record_full_wait, record_full_stopped_by_watchpoint)
6081         (record_full_stopped_data_address)
6082         (record_full_stopped_by_sw_breakpoint)
6083         (record_full_supports_stopped_by_sw_breakpoint)
6084         (record_full_stopped_by_hw_breakpoint)
6085         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6086         methods of the record_full_base_target class.
6087         (record_full_store_registers, record_full_xfer_partial)
6088         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6089         Refactor as methods of the record_full_target class.
6090         (record_full_can_execute_reverse, record_full_get_bookmark)
6091         (record_full_goto_bookmark, record_full_execution_direction)
6092         (record_full_record_method, record_full_info, record_full_delete)
6093         (record_full_is_replaying, record_full_will_replay)
6094         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6095         (record_full_stop_replaying): Refactor as methods of the
6096         record_full_base_target class.
6097         (record_full_core_resume, record_full_core_kill)
6098         (record_full_core_fetch_registers)
6099         (record_full_core_prepare_to_store)
6100         (record_full_core_store_registers, record_full_core_xfer_partial)
6101         (record_full_core_insert_breakpoint)
6102         (record_full_core_remove_breakpoint)
6103         (record_full_core_has_execution): Refactor
6104         as methods of the record_full_core_target class.
6105         (record_full_base_target::supports_delete_record): New.
6106         (init_record_full_ops): Delete.
6107         (init_record_full_core_ops): Delete.
6108         (record_full_save): Refactor as method of the
6109         record_full_base_target class.
6110         (_initialize_record_full): Remove references to
6111         init_record_full_ops and init_record_full_core_ops.
6112
6113         * remote.c (remote_target, extended_remote_target): New classes.
6114         (remote_ops): Now a remote_target.
6115         (extended_remote_ops): Now an extended_remote_target.
6116         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6117         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6118         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6119         (remote_pass_signals, remote_set_syscall_catchpoint)
6120         (remote_program_signals, )
6121         (remote_thread_always_alive): Remove target_ops parameter.
6122         (remote_thread_alive, remote_thread_name)
6123         (remote_update_thread_list, remote_threads_extra_info)
6124         (remote_static_tracepoint_marker_at)
6125         (remote_static_tracepoint_markers_by_strid)
6126         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
6127         (remote_open): Refactor as methods of remote_target.
6128         (extended_remote_open, extended_remote_detach)
6129         (extended_remote_attach, extended_remote_post_attach):
6130         (extended_remote_supports_disable_randomization)
6131         (extended_remote_create_inferior): : Refactor as method of
6132         extended_remote_target.
6133         (remote_set_permissions, remote_open_1, remote_detach)
6134         (remote_follow_fork, remote_follow_exec, remote_disconnect)
6135         (remote_resume, remote_commit_resume, remote_stop)
6136         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
6137         (remote_terminal_ours, remote_wait, remote_fetch_registers)
6138         (remote_prepare_to_store, remote_store_registers)
6139         (remote_flash_erase, remote_flash_done, remote_files_info)
6140         (remote_kill, remote_mourn, remote_insert_breakpoint)
6141         (remote_remove_breakpoint, remote_insert_watchpoint)
6142         (remote_watchpoint_addr_within_range)
6143         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
6144         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
6145         (remote_supports_stopped_by_sw_breakpoint)
6146         (remote_stopped_by_hw_breakpoint)
6147         (remote_supports_stopped_by_hw_breakpoint)
6148         (remote_stopped_by_watchpoint, remote_stopped_data_address)
6149         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
6150         (remote_verify_memory): Refactor as methods of remote_target.
6151         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
6152         parameter.
6153         (remote_xfer_partial, remote_get_memory_xfer_limit)
6154         (remote_search_memory, remote_rcmd, remote_memory_map)
6155         (remote_pid_to_str, remote_get_thread_local_address)
6156         (remote_get_tib_address, remote_read_description): Refactor as
6157         methods of remote_target.
6158         (remote_target::fileio_open, remote_target::fileio_pwrite)
6159         (remote_target::fileio_pread, remote_target::fileio_close): New.
6160         (remote_hostio_readlink, remote_hostio_fstat)
6161         (remote_filesystem_is_local, remote_can_execute_reverse)
6162         (remote_supports_non_stop, remote_supports_disable_randomization)
6163         (remote_supports_multi_process, remote_supports_cond_breakpoints)
6164         (remote_supports_enable_disable_tracepoint)
6165         (remote_supports_string_tracing)
6166         (remote_can_run_breakpoint_commands, remote_trace_init)
6167         (remote_download_tracepoint, remote_can_download_tracepoint)
6168         (remote_download_trace_state_variable, remote_enable_tracepoint)
6169         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
6170         (remote_trace_start, remote_get_trace_status)
6171         (remote_get_tracepoint_status, remote_trace_stop)
6172         (remote_trace_find, remote_get_trace_state_variable_value)
6173         (remote_save_trace_data, remote_get_raw_trace_data)
6174         (remote_set_disconnected_tracing, remote_core_of_thread)
6175         (remote_set_circular_trace_buffer, remote_traceframe_info)
6176         (remote_get_min_fast_tracepoint_insn_len)
6177         (remote_set_trace_buffer_size, remote_set_trace_notes)
6178         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
6179         (remote_disable_btrace, remote_teardown_btrace)
6180         (remote_read_btrace, remote_btrace_conf)
6181         (remote_augmented_libraries_svr4_read, remote_load)
6182         (remote_pid_to_exec_file, remote_can_do_single_step)
6183         (remote_execution_direction, remote_thread_handle_to_thread_info):
6184         Refactor as methods of remote_target.
6185         (init_remote_ops, init_extended_remote_ops): Delete.
6186         (remote_can_async_p, remote_is_async_p, remote_async)
6187         (remote_thread_events, remote_upload_tracepoints)
6188         (remote_upload_trace_state_variables): Refactor as methods of
6189         remote_target.
6190         (_initialize_remote): Remove references to init_remote_ops and
6191         init_extended_remote_ops.
6192
6193         * remote-sim.c (gdbsim_target): New class.
6194         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
6195         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
6196         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
6197         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
6198         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
6199         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
6200         Refactor as methods of gdbsim_target.
6201         (gdbsim_ops): Now a gdbsim_target.
6202         (init_gdbsim_ops): Delete.
6203         (gdbsim_cntrl_c): Adjust.
6204         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
6205
6206         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
6207         (the_amd64_linux_nat_target): New.
6208         (amd64_linux_fetch_inferior_registers)
6209         (amd64_linux_store_inferior_registers): Refactor as methods of
6210         amd64_linux_nat_target.
6211         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
6212         * i386-linux-nat.c: Don't include "linux-nat.h".
6213         (i386_linux_nat_target): New class.
6214         (the_i386_linux_nat_target): New.
6215         (i386_linux_fetch_inferior_registers)
6216         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
6217         as methods of i386_linux_nat_target.
6218         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
6219         * inf-child.c (inf_child_ops): Delete.
6220         (inf_child_fetch_inferior_registers)
6221         (inf_child_store_inferior_registers): Delete.
6222         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
6223         methods of inf_child_target.
6224         (inf_child_target::supports_terminal_ours)
6225         (inf_child_target::terminal_init)
6226         (inf_child_target::terminal_inferior)
6227         (inf_child_target::terminal_ours_for_output)
6228         (inf_child_target::terminal_ours, inf_child_target::interrupt)
6229         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
6230         New.
6231         (inf_child_open, inf_child_disconnect, inf_child_close)
6232         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
6233         (inf_child_post_startup_inferior, inf_child_can_run)
6234         (inf_child_pid_to_exec_file): Refactor as methods of
6235         inf_child_target.
6236         (inf_child_follow_fork): Delete.
6237         (inf_child_target::can_create_inferior)
6238         (inf_child_target::can_attach): New.
6239         (inf_child_target::has_all_memory, inf_child_target::has_memory)
6240         (inf_child_target::has_stack, inf_child_target::has_registers)
6241         (inf_child_target::has_execution): New.
6242         (inf_child_fileio_open, inf_child_fileio_pwrite)
6243         (inf_child_fileio_pread, inf_child_fileio_fstat)
6244         (inf_child_fileio_close, inf_child_fileio_unlink)
6245         (inf_child_fileio_readlink, inf_child_use_agent)
6246         (inf_child_can_use_agent): Refactor as methods of
6247         inf_child_target.
6248         (return_zero, inf_child_target): Delete.
6249         (inf_child_target::inf_child_target): New.
6250         * inf-child.h: Include "target.h".
6251         (inf_child_target): Delete function prototype.
6252         (inf_child_target): New class.
6253         (inf_child_open_target, inf_child_mourn_inferior)
6254         (inf_child_maybe_unpush_target): Delete.
6255         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
6256         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
6257         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
6258         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
6259         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
6260         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
6261         (inf_ptrace_wait, inf_ptrace_xfer_partial)
6262         (inf_ptrace_thread_alive, inf_ptrace_files_info)
6263         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
6264         methods of inf_ptrace_target.
6265         (inf_ptrace_target): Delete function.
6266         * inf-ptrace.h: Include "inf-child.h".
6267         (inf_ptrace_target): Delete function declaration.
6268         (inf_ptrace_target): New class.
6269         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
6270         * linux-nat.c (linux_target): New.
6271         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
6272         (linux_nat_target::~linux_nat_target): New.
6273         (linux_child_post_attach, linux_child_post_startup_inferior)
6274         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
6275         (linux_child_remove_fork_catchpoint)
6276         (linux_child_insert_vfork_catchpoint)
6277         (linux_child_remove_vfork_catchpoint)
6278         (linux_child_insert_exec_catchpoint)
6279         (linux_child_remove_exec_catchpoint)
6280         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
6281         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
6282         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
6283         (linux_nat_stopped_data_address)
6284         (linux_nat_stopped_by_sw_breakpoint)
6285         (linux_nat_supports_stopped_by_sw_breakpoint)
6286         (linux_nat_stopped_by_hw_breakpoint)
6287         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
6288         (linux_nat_kill, linux_nat_mourn_inferior)
6289         (linux_nat_xfer_partial, linux_nat_thread_alive)
6290         (linux_nat_update_thread_list, linux_nat_pid_to_str)
6291         (linux_nat_thread_name, linux_child_pid_to_exec_file)
6292         (linux_child_static_tracepoint_markers_by_strid)
6293         (linux_nat_is_async_p, linux_nat_can_async_p)
6294         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
6295         (linux_nat_supports_multi_process)
6296         (linux_nat_supports_disable_randomization, linux_nat_async)
6297         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
6298         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
6299         (linux_nat_fileio_open, linux_nat_fileio_readlink)
6300         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
6301         methods of linux_nat_target.
6302         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
6303         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
6304         parameter.
6305         (check_stopped_by_watchpoint): Adjust.
6306         (linux_xfer_partial): Delete.
6307         (linux_target_install_ops, linux_target, linux_nat_add_target):
6308         Delete.
6309         (linux_nat_target::linux_nat_target): New.
6310         * linux-nat.h: Include "inf-ptrace.h".
6311         (linux_nat_target): New.
6312         (linux_target, linux_target_install_ops, linux_nat_add_target):
6313         Delete function declarations.
6314         (linux_target): Declare global.
6315         * linux-thread-db.c (thread_db_target): New.
6316         (thread_db_target::thread_db_target): New.
6317         (thread_db_ops): Delete.
6318         (the_thread_db_target): New.
6319         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
6320         (thread_db_update_thread_list, thread_db_pid_to_str)
6321         (thread_db_extra_thread_info)
6322         (thread_db_thread_handle_to_thread_info)
6323         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
6324         (thread_db_resume): Refactor as methods of thread_db_target.
6325         (init_thread_db_ops): Delete.
6326         (_initialize_thread_db): Remove reference to init_thread_db_ops.
6327         * x86-linux-nat.c: Don't include "linux-nat.h".
6328         (super_post_startup_inferior): Delete.
6329         (x86_linux_nat_target::~x86_linux_nat_target): New.
6330         (x86_linux_child_post_startup_inferior)
6331         (x86_linux_read_description, x86_linux_enable_btrace)
6332         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
6333         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
6334         methods of x86_linux_nat_target.
6335         (x86_linux_create_target): Delete.  Bits folded ...
6336         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
6337         pointer.
6338         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
6339         (x86_linux_nat_target): New class.
6340         (x86_linux_create_target): Delete.
6341         (x86_linux_add_target): Now takes a linux_nat_target pointer.
6342         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
6343         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
6344         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
6345         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
6346         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
6347         make extern.
6348         (x86_use_watchpoints): Delete.
6349         * x86-nat.h: Include "breakpoint.h" and "target.h".
6350         (x86_use_watchpoints): Delete.
6351         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
6352         (x86_stopped_by_watchpoint, x86_stopped_data_address)
6353         (x86_insert_watchpoint, x86_remove_watchpoint)
6354         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
6355         (x86_stopped_by_hw_breakpoint): New declarations.
6356         (x86_nat_target): New template class.
6357
6358         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
6359         (the_ppc_linux_nat_target): New.
6360         (ppc_linux_fetch_inferior_registers)
6361         (ppc_linux_can_use_hw_breakpoint)
6362         (ppc_linux_region_ok_for_hw_watchpoint)
6363         (ppc_linux_ranged_break_num_registers)
6364         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
6365         (ppc_linux_insert_mask_watchpoint)
6366         (ppc_linux_remove_mask_watchpoint)
6367         (ppc_linux_can_accel_watchpoint_condition)
6368         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
6369         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
6370         (ppc_linux_watchpoint_addr_within_range)
6371         (ppc_linux_masked_watch_num_registers)
6372         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
6373         (ppc_linux_read_description): Refactor as methods of
6374         ppc_linux_nat_target.
6375         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
6376
6377         * procfs.c (procfs_xfer_partial): Delete forward declaration.
6378         (procfs_target): New class.
6379         (the_procfs_target): New.
6380         (procfs_target): Delete function.
6381         (procfs_auxv_parse, procfs_attach, procfs_detach)
6382         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
6383         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
6384         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
6385         (procfs_create_inferior, procfs_update_thread_list)
6386         (procfs_thread_alive, procfs_pid_to_str)
6387         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
6388         (procfs_stopped_data_address, procfs_insert_watchpoint)
6389         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
6390         (proc_find_memory_regions, procfs_info_proc)
6391         (procfs_make_note_section): Refactor as methods of procfs_target.
6392         (_initialize_procfs): Adjust.
6393         * sol-thread.c (sol_thread_target): New class.
6394         (sol_thread_ops): Now a sol_thread_target.
6395         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
6396         (sol_thread_fetch_registers, sol_thread_store_registers)
6397         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
6398         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
6399         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
6400         (init_sol_thread_ops): Delete.
6401         (_initialize_sol_thread): Adjust.  Remove references to
6402         init_sol_thread_ops and complete_target_initialization.
6403
6404         * windows-nat.c (windows_nat_target): New class.
6405         (windows_fetch_inferior_registers)
6406         (windows_store_inferior_registers, windows_resume, windows_wait)
6407         (windows_attach, windows_detach, windows_pid_to_exec_file)
6408         (windows_files_info, windows_create_inferior)
6409         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
6410         (windows_close, windows_pid_to_str, windows_xfer_partial)
6411         (windows_get_tib_address, windows_get_ada_task_ptid)
6412         (windows_thread_name, windows_thread_alive): Refactor as
6413         windows_nat_target methods.
6414         (do_initial_windows_stuff): Adjust.
6415         (windows_target): Delete function.
6416         (_initialize_windows_nat): Adjust.
6417
6418         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
6419         (darwin_mourn_inferior, darwin_kill_inferior)
6420         (darwin_create_inferior, darwin_attach, darwin_detach)
6421         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
6422         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
6423         (darwin_supports_multi_process): Refactor as darwin_nat_target
6424         methods.
6425         (darwin_resume_to, darwin_files_info): Delete.
6426         (_initialize_darwin_inferior): Rename to ...
6427         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
6428         * darwin-nat.h: Include "inf-child.h".
6429         (darwin_nat_target): New class.
6430         (darwin_complete_target): Delete.
6431         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
6432         (darwin_target): New.
6433         (i386_darwin_fetch_inferior_registers)
6434         (i386_darwin_store_inferior_registers): Refactor as methods of
6435         darwin_nat_target.
6436         (darwin_complete_target): Delete, with ...
6437         (_initialize_i386_darwin_nat): ... bits factored out here.
6438
6439         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
6440         (the_alpha_linux_nat_target): New.
6441         (alpha_linux_register_u_offset): Refactor as
6442         alpha_linux_nat_target method.
6443         (_initialize_alpha_linux_nat): Adjust.
6444         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
6445         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6446         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
6447         methods of linux_nat_trad_target.
6448         (linux_trad_target): Delete.
6449         * linux-nat-trad.h (linux_trad_target): Delete function.
6450         (linux_nat_trad_target): New class.
6451         * mips-linux-nat.c (mips_linux_nat_target): New class.
6452         (super_fetch_registers, super_store_registers, super_close):
6453         Delete.
6454         (the_mips_linux_nat_target): New.
6455         (mips64_linux_regsets_fetch_registers)
6456         (mips64_linux_regsets_store_registers)
6457         (mips64_linux_fetch_registers, mips64_linux_store_registers)
6458         (mips_linux_register_u_offset, mips_linux_read_description)
6459         (mips_linux_can_use_hw_breakpoint)
6460         (mips_linux_stopped_by_watchpoint)
6461         (mips_linux_stopped_data_address)
6462         (mips_linux_region_ok_for_hw_watchpoint)
6463         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
6464         (mips_linux_close): Refactor as methods of mips_linux_nat.
6465         (_initialize_mips_linux_nat): Adjust to C++ification.
6466
6467         * aix-thread.c (aix_thread_target): New class.
6468         (aix_thread_ops): Now an aix_thread_target.
6469         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
6470         (aix_thread_fetch_registers, aix_thread_store_registers)
6471         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
6472         (aix_thread_thread_alive, aix_thread_pid_to_str)
6473         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
6474         Refactor as methods of aix_thread_target.
6475         (init_aix_thread_ops): Delete.
6476         (_initialize_aix_thread): Remove references to init_aix_thread_ops
6477         and complete_target_initialization.
6478         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
6479         (rs6000_nat_target): New class.
6480         (the_rs6000_nat_target): New.
6481         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
6482         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
6483         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
6484         (super_create_inferior): Delete.
6485         (_initialize_rs6000_nat): Adjust to C++ification.
6486
6487         * arm-linux-nat.c (arm_linux_nat_target): New class.
6488         (the_arm_linux_nat_target): New.
6489         (arm_linux_fetch_inferior_registers)
6490         (arm_linux_store_inferior_registers, arm_linux_read_description)
6491         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
6492         (arm_linux_remove_hw_breakpoint)
6493         (arm_linux_region_ok_for_hw_watchpoint)
6494         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
6495         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
6496         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
6497         arm_linux_nat_target.
6498         (_initialize_arm_linux_nat): Adjust to C++ification.
6499
6500         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
6501         (the_aarch64_linux_nat_target): New.
6502         (aarch64_linux_fetch_inferior_registers)
6503         (aarch64_linux_store_inferior_registers)
6504         (aarch64_linux_child_post_startup_inferior)
6505         (aarch64_linux_read_description)
6506         (aarch64_linux_can_use_hw_breakpoint)
6507         (aarch64_linux_insert_hw_breakpoint)
6508         (aarch64_linux_remove_hw_breakpoint)
6509         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
6510         (aarch64_linux_region_ok_for_hw_watchpoint)
6511         (aarch64_linux_stopped_data_address)
6512         (aarch64_linux_stopped_by_watchpoint)
6513         (aarch64_linux_watchpoint_addr_within_range)
6514         (aarch64_linux_can_do_single_step): Refactor as methods of
6515         aarch64_linux_nat_target.
6516         (super_post_startup_inferior): Delete.
6517         (_initialize_aarch64_linux_nat): Adjust to C++ification.
6518
6519         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
6520         (the_hppa_linux_nat_target): New.
6521         (hppa_linux_fetch_inferior_registers)
6522         (hppa_linux_store_inferior_registers): Refactor as methods of
6523         hppa_linux_nat_target.
6524         (_initialize_hppa_linux_nat): Adjust to C++ification.
6525
6526         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6527         (the_ia64_linux_nat_target): New.
6528         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6529         (ia64_linux_stopped_data_address)
6530         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6531         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6532         ia64_linux_nat_target methods.
6533         (super_xfer_partial): Delete.
6534         (_initialize_ia64_linux_nat): Adjust to C++ification.
6535
6536         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6537         (the_m32r_linux_nat_target): New.
6538         (m32r_linux_fetch_inferior_registers)
6539         (m32r_linux_store_inferior_registers): Refactor as
6540         m32r_linux_nat_target methods.
6541         (_initialize_m32r_linux_nat): Adjust to C++ification.
6542
6543         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6544         (the_m68k_linux_nat_target): New.
6545         (m68k_linux_fetch_inferior_registers)
6546         (m68k_linux_store_inferior_registers): Refactor as
6547         m68k_linux_nat_target methods.
6548         (_initialize_m68k_linux_nat): Adjust to C++ification.
6549
6550         * s390-linux-nat.c (s390_linux_nat_target): New class.
6551         (the_s390_linux_nat_target): New.
6552         (s390_linux_fetch_inferior_registers)
6553         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6554         (s390_insert_watchpoint, s390_remove_watchpoint)
6555         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6556         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6557         (s390_auxv_parse, s390_read_description): Refactor as methods of
6558         s390_linux_nat_target.
6559         (_initialize_s390_nat): Adjust to C++ification.
6560
6561         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6562         (the_sparc_linux_nat_target): New.
6563         (_initialize_sparc_linux_nat): Adjust to C++ification.
6564         * sparc-nat.c (sparc_fetch_inferior_registers)
6565         (sparc_store_inferior_registers): Remove target_ops parameter.
6566         * sparc-nat.h (sparc_fetch_inferior_registers)
6567         (sparc_store_inferior_registers): Remove target_ops parameter.
6568         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6569         (the_sparc64_linux_nat_target): New.
6570         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6571
6572         * spu-linux-nat.c (spu_linux_nat_target): New class.
6573         (the_spu_linux_nat_target): New.
6574         (spu_child_post_startup_inferior, spu_child_post_attach)
6575         (spu_child_wait, spu_fetch_inferior_registers)
6576         (spu_store_inferior_registers, spu_xfer_partial)
6577         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6578         methods.
6579         (_initialize_spu_nat): Adjust to C++ification.
6580
6581         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6582         (the_tilegx_linux_nat_target): New.
6583         (fetch_inferior_registers, store_inferior_registers):
6584         Refactor as methods.
6585         (_initialize_tile_linux_nat): Adjust to C++ification.
6586
6587         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6588         (the_xtensa_linux_nat_target): New.
6589         (xtensa_linux_fetch_inferior_registers)
6590         (xtensa_linux_store_inferior_registers): Refactor as
6591         xtensa_linux_nat_target methods.
6592         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6593
6594         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6595         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6596         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6597         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6598         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6599         (fbsd_stopped_by_sw_breakpoint)
6600         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6601         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6602         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6603         (fbsd_post_startup_inferior, fbsd_post_attach)
6604         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6605         (fbsd_set_syscall_catchpoint)
6606         (super_xfer_partial, super_resume, super_wait)
6607         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6608         (fbsd_handle_debug_trap): Remove target_ops parameter.
6609         (fbsd_nat_add_target): Delete.
6610         * fbsd-nat.h: Include "inf-ptrace.h".
6611         (fbsd_nat_add_target): Delete.
6612         (USE_SIGTRAP_SIGINFO): Define.
6613         (fbsd_nat_target): New class.
6614
6615         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6616         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6617         (amd64bsd_target): Delete.
6618         * amd64-bsd-nat.h: New file.
6619         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6620         "x86-bsd-nat.h".
6621         (amd64_fbsd_nat_target): New class.
6622         (the_amd64_fbsd_nat_target): New.
6623         (amd64fbsd_read_description): Refactor as method of
6624         amd64_fbsd_nat_target.
6625         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6626         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6627         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6628         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6629         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6630         (i386bsd_target): Delete.
6631         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6632         (i386bsd_fetch_inferior_registers)
6633         (i386bsd_store_inferior_registers): Declare.
6634         (i386_bsd_nat_target): New class.
6635         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6636         (the_i386_fbsd_nat_target): New.
6637         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6638         i386_fbsd_nat_target methods.
6639         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6640         (_initialize_i386fbsd_nat): Adjust to C++ification.
6641         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6642         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6643         (_initialize_x86_bsd_nat): Adjust to C++ification.
6644         * x86-bsd-nat.h: Include "x86-nat.h".
6645         (x86bsd_target): Delete declaration.
6646         (x86bsd_nat_target): New class.
6647
6648         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6649         (the_aarch64_fbsd_nat_target): New.
6650         (aarch64_fbsd_fetch_inferior_registers)
6651         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6652         aarch64_fbsd_nat_target.
6653         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6654         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6655         (the_alpha_bsd_nat_target): New.
6656         (alphabsd_fetch_inferior_registers)
6657         (alphabsd_store_inferior_registers): Refactor as
6658         alpha_bsd_nat_target methods.
6659         (_initialize_alphabsd_nat): Refactor as methods of
6660         alpha_bsd_nat_target.
6661         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6662         (the_amd64_nbsd_nat_target): New.
6663         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6664         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6665         (the_amd64_obsd_nat_target): New.
6666         (_initialize_amd64obsd_nat): Adjust to C++ification.
6667         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6668         (the_arm_fbsd_nat_target): New.
6669         (arm_fbsd_fetch_inferior_registers)
6670         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6671         (_initialize_arm_fbsd_nat): Refactor as methods of
6672         arm_fbsd_nat_target.
6673         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6674         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6675         (the_arm_netbsd_nat_target): New.
6676         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6677         arm_netbsd_nat_target.
6678         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6679         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6680         (the_hppa_nbsd_nat_target): New.
6681         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6682         hppa_nbsd_nat_target methods.
6683         (_initialize_hppanbsd_nat): Adjust to C++ification.
6684         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6685         (the_hppa_obsd_nat_target): New.
6686         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6687         methods of hppa_obsd_nat_target.
6688         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6689         add_target.
6690         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6691         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6692         add_target.
6693         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6694         (_initialize_i386obsd_nat): Use add_target.
6695         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6696         (the_m68k_bsd_nat_target): New.
6697         (m68kbsd_fetch_inferior_registers)
6698         (m68kbsd_store_inferior_registers): Refactor as methods of
6699         m68k_bsd_nat_target.
6700         (_initialize_m68kbsd_nat): Adjust to C++ification.
6701         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6702         (the_mips_fbsd_nat_target): New.
6703         (mips_fbsd_fetch_inferior_registers)
6704         (mips_fbsd_store_inferior_registers): Refactor as methods of
6705         mips_fbsd_nat_target.
6706         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6707         add_target.
6708         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6709         (the_mips_nbsd_nat_target): New.
6710         (mipsnbsd_fetch_inferior_registers)
6711         (mipsnbsd_store_inferior_registers): Refactor as methods of
6712         mips_nbsd_nat_target.
6713         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6714         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6715         (the_mips64_obsd_nat_target): New.
6716         (mips64obsd_fetch_inferior_registers)
6717         (mips64obsd_store_inferior_registers): Refactor as methods of
6718         mips64_obsd_nat_target.
6719         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6720         add_target.
6721         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6722         nbsd_nat_target.
6723         * nbsd-nat.h: Include "inf-ptrace.h".
6724         (nbsd_nat_target): New class.
6725         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6726         (obsd_wait): Refactor as methods of obsd_nat_target.
6727         (obsd_add_target): Delete.
6728         * obsd-nat.h: Include "inf-ptrace.h".
6729         (obsd_nat_target): New class.
6730         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6731         (the_ppc_fbsd_nat_target): New.
6732         (ppcfbsd_fetch_inferior_registers)
6733         (ppcfbsd_store_inferior_registers): Refactor as methods of
6734         ppc_fbsd_nat_target.
6735         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6736         add_target.
6737         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6738         (the_ppc_nbsd_nat_target): New.
6739         (ppcnbsd_fetch_inferior_registers)
6740         (ppcnbsd_store_inferior_registers): Refactor as methods of
6741         ppc_nbsd_nat_target.
6742         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6743         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6744         (the_ppc_obsd_nat_target): New.
6745         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6746         methods of ppc_obsd_nat_target.
6747         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6748         add_target.
6749         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6750         (the_sh_nbsd_nat_target): New.
6751         (shnbsd_fetch_inferior_registers)
6752         (shnbsd_store_inferior_registers): Refactor as methods of
6753         sh_nbsd_nat_target.
6754         (_initialize_shnbsd_nat): Adjust to C++ification.
6755         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6756         (inf_ptrace_xfer_partial): Delete.
6757         (sparc_xfer_partial, sparc_target): Delete.
6758         * sparc-nat.h (sparc_fetch_inferior_registers)
6759         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6760         (sparc_target): Delete function declaration.
6761         (sparc_target): New template class.
6762         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6763         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6764         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6765         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6766         add_target.
6767         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6768         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6769         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6770         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6771         add_target.
6772         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6773         (the_vax_bsd_nat_target): New.
6774         (vaxbsd_fetch_inferior_registers)
6775         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6776         methods.
6777         (_initialize_vaxbsd_nat): Adjust to C++ification.
6778
6779         * bsd-kvm.c (bsd_kvm_target): New class.
6780         (bsd_kvm_ops): Now a bsd_kvm_target.
6781         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6782         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6783         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6784         bsd_kvm_target.
6785         (bsd_kvm_return_one): Delete.
6786         (bsd_kvm_add_target): Adjust to C++ification.
6787
6788         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6789         (nto_procfs_target_procfs): New classes.
6790         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6791         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6792         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6793         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6794         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6795         (procfs_remove_hw_breakpoint, procfs_resume)
6796         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6797         (procfs_kill_inferior, procfs_store_registers)
6798         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6799         as methods of nto_procfs_target.
6800         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6801         (nto_native_ops): Delete.
6802         (procfs_open, procfs_native_open): Delete.
6803         (nto_native_ops): Now an nto_procfs_target_native.
6804         (init_procfs_targets): Adjust to C++ification.
6805         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6806         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6807         Refactor as methods of nto_procfs_target.
6808
6809         * go32-nat.c (go32_nat_target): New class.
6810         (the_go32_nat_target): New.
6811         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6812         (go32_store_registers, go32_xfer_partial, go32_files_info)
6813         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6814         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6815         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6816         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6817         (go32_target): Delete.
6818         (_initialize_go32_nat): Adjust to C++ification.
6819
6820         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6821         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6822         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6823         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6824         gnu_nat_target.
6825         (gnu_target): Delete.
6826         * gnu-nat.h (gnu_target): Delete.
6827         (gnu_nat_target): New class.
6828         * i386-gnu-nat.c (gnu_base_target): New.
6829         (i386_gnu_nat_target): New class.
6830         (the_i386_gnu_nat_target): New.
6831         (_initialize_i386gnu_nat): Adjust to C++ification.
6832
6833 2018-05-02  Pedro Alves  <palves@redhat.com>
6834
6835         * bfd-target.c (target_bfd_xclose): Rename to ...
6836         (target_bfd_close): ... this.
6837         (target_bfd_reopen): Adjust.
6838         * target.c (target_close): Remove references to to_xclose.
6839         * target.h (target_ops::to_xclose): Delete.
6840         (target_ops::to_close): Update comments.
6841
6842 2018-05-02  Pedro Alves  <palves@redhat.com>
6843
6844         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6845         "linux-nat.h".
6846         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6847         * inf-ptrace.c (inf_ptrace_register_u_offset)
6848         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6849         (inf_ptrace_store_register, inf_ptrace_store_registers)
6850         (inf_ptrace_trad_target): Move to ...
6851         * linux-nat-trad.c: ... this new file.
6852         * linux-nat-trad.h: New file.
6853         * linux-nat.c (linux_target_install_ops): Make extern.
6854         (linux_trad_target): Delete.
6855         * linux-nat.h (linux_trad_target): Delete declaration.
6856         (linux_target_install_ops): Declare.
6857         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6858         "linux-nat.h".
6859
6860 2018-05-02  Pedro Alves  <palves@redhat.com>
6861
6862         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6863         procfs_target/add_target here.
6864         * procfs.c (procfs_target): Make static.
6865         (_initialize_procfs): Call add_target here.
6866         * procfs.h (struct target_ops): Remove forward declaration.
6867         (procfs_target): Remove declaration.
6868         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6869
6870 2018-05-02  Pedro Alves  <palves@redhat.com>
6871
6872         * procfs.c (procfs_stopped_by_watchpoint)
6873         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6874         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6875         Forward declare.
6876         (procfs_use_watchpoints): Delete, move contents...
6877         (procfs_target): ... here.
6878         * procfs.h (procfs_use_watchpoints): Delete declaration.
6879         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6880         procfs_use_watchpoints.
6881         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6882         procfs_use_watchpoints.
6883
6884 2018-05-02  Tom Tromey  <tom@tromey.com>
6885
6886         PR python/20084:
6887         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6888         and var_zuinteger_unlimited.
6889         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6890         and PARAM_ZUINTEGER_UNLIMITED.
6891         (set_parameter_value): Handle var_zuinteger and
6892         var_zuinteger_unlimited.
6893         (add_setshow_generic): Likewise.
6894         (parmpy_init): Likewise.
6895
6896 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6897
6898         PR rust/23124
6899         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6900         pointer is not null before dereferencing it.
6901
6902 2018-04-30  Tom Tromey  <tom@tromey.com>
6903
6904         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6905         is_mi_like_p.
6906
6907 2018-04-30  Tom Tromey  <tom@tromey.com>
6908
6909         * breakpoint.c (mention): Remove use of is_mi_like_p.
6910         (print_mention_ranged_breakpoint): Likewise.
6911         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6912         of is_mi_like_p.
6913
6914 2018-04-30  Tom Tromey  <tom@tromey.com>
6915
6916         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6917
6918 2018-04-30  Tom Tromey  <tom@tromey.com>
6919
6920         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6921         (info_spu_event_command): Remove some uses of is_mi_like_p.
6922
6923 2018-04-30  Tom Tromey  <tom@tromey.com>
6924
6925         * python/py-framefilter.c (py_print_single_arg)
6926         (enumerate_locals, py_print_args, py_print_frame): Remove some
6927         uses of is_mi_like_p.
6928
6929 2018-04-30  Tom Tromey  <tom@tromey.com>
6930
6931         * ui-out.c: Update.
6932         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6933         * ui-out.h (ui_out::is_mi_like_p): Now const.
6934         (ui_out::do_is_mi_like_p): Now const.
6935         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6936
6937 2018-04-30  Tom Tromey  <tom@tromey.com>
6938
6939         * varobj.c (varobj_set_visualizer): Use new_reference.
6940         * python/python.c (gdbpy_decode_line): Use new_reference.
6941         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6942         new_reference.
6943
6944 2018-04-30  Tom Tromey  <tom@tromey.com>
6945
6946         * varobj.c (install_new_value): Use new_reference.
6947         * value.h (value_incref): Return void.  Swap intro comment with
6948         value_decref.
6949         * value.c (set_value_parent): Use new_reference.
6950         (value_incref): Return void.  Update intro comment.
6951         (release_value): Use new_reference.
6952         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6953
6954 2018-04-30  Tom Tromey  <tom@tromey.com>
6955
6956         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6957         * gdb_bfd.h (new_bfd_ref): Remove.
6958         (gdb_bfd_open): Update comment.
6959         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6960         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6961         (gdb_bfd_fdopenr): Use new_reference.
6962         * exec.c (exec_file_attach): Use new_reference.
6963
6964 2018-04-30  Tom Tromey  <tom@tromey.com>
6965
6966         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6967         method.
6968
6969 2018-04-30  Tom Tromey  <tom@tromey.com>
6970
6971         * jit.c (jit_read_code_entry): Use type_align.
6972         * i386-tdep.c (i386_gdbarch_init): Don't call
6973         set_gdbarch_long_long_align_bit.
6974         * gdbarch.sh: Remove long_long_align_bit.
6975         * gdbarch.c, gdbarch.h: Rebuild.
6976         * arc-tdep.c (arc_type_align): New function.
6977         (arc_gdbarch_init): Use arc_type_align.  Don't call
6978         set_gdbarch_long_long_align_bit.
6979
6980 2018-04-30  Tom Tromey  <tom@tromey.com>
6981
6982         * rust-lang.c (rust_type_alignment): Remove.
6983         (rust_composite_type): Use type_align.
6984
6985 2018-04-30  Tom Tromey  <tom@tromey.com>
6986
6987         * NEWS: Mention Type.align.
6988         * python/py-type.c (typy_get_alignof): New function.
6989         (type_object_getset): Add "alignof".
6990
6991 2018-04-30  Tom Tromey  <tom@tromey.com>
6992
6993         PR exp/17095:
6994         * NEWS: Update.
6995         * std-operator.def (UNOP_ALIGNOF): New operator.
6996         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6997         New.
6998         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6999         * c-lang.c (c_op_print_tab): Add alignof.
7000         * c-exp.y (ALIGNOF): New token.
7001         (exp): Add "ALIGNOF" production.
7002         (ident_tokens): Add _Alignof and alignof.
7003
7004 2018-04-30  Tom Tromey  <tom@tromey.com>
7005
7006         * i386-tdep.c (i386_type_align): New function.
7007         (i386_gdbarch_init): Update.
7008         * gdbarch.sh (type_align): New method.
7009         * gdbarch.c, gdbarch.h: Rebuild.
7010         * arch-utils.h (default_type_align): Declare.
7011         * arch-utils.c (default_type_align): New function.
7012         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7013         (struct type) <align_log2>: New field.
7014         <instance_flags>: Now a bitfield.
7015         (TYPE_RAW_ALIGN): New macro.
7016         (type_align, type_raw_align, set_type_align): Declare.
7017         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7018         functions.
7019         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7020         (get_alignment, maybe_set_alignment): New functions.
7021         (read_structure_type, read_enumeration_type, read_array_type)
7022         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7023         (read_subrange_type, read_base_type): Set type alignment.
7024
7025 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7026
7027         * dwarf2read.c (read_index_from_section): Use bool.
7028
7029 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7030
7031         PR gdb/22950
7032         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7033         with #ifdef.
7034
7035 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7036
7037         PR build/22873
7038         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7039         last step, and do it atomically.
7040
7041 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7042
7043         * compile/compile-c-types.c (convert_int, convert_float):
7044         Update for C FE v1.
7045
7046 2018-04-27  Tom Tromey  <tom@tromey.com>
7047
7048         PR rust/22545:
7049         * rust-lang.c (rust_inclusive_range_type_p): New function.
7050         (rust_range): Handle inclusive ranges.
7051         (rust_compute_range): Likewise.
7052         * rust-exp.y (struct rust_op) <inclusive>: New field.
7053         (DOTDOTEQ): New constant.
7054         (range_expr): Add "..=" productions.
7055         (operator_tokens): Add "..=" token.
7056         (ast_range): Add "inclusive" parameter.
7057         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7058         ranges.
7059         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7060         bounds values.
7061         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7062         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7063         Update comments.
7064         * expprint.c (print_subexp_standard): Handle new bounds values.
7065         (dump_subexp_body_standard): Likewise.
7066
7067 2018-04-27  Tom Tromey  <tom@tromey.com>
7068
7069         * configure: Rebuild.
7070         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7071         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7072         "OVERRIDE".
7073         (class symbol_needs_eval_context): Likewise.
7074         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7075         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7076         "virtual".
7077         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7078         "override".
7079         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7080         * aarch64-tdep.c (instruction_reader::read): Use "override".
7081         (instruction_reader_test::read): Likewise.
7082         * arm-tdep.c (instruction_reader::read): Use "override".
7083         (instruction_reader_thumb::read): Likewise.
7084
7085 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7086
7087         PR remote/9665
7088         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7089         instead of remote_send.
7090         (remote_send): Remove.
7091
7092 2018-04-26  Pedro Alves  <palves@redhat.com>
7093
7094         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7095         find_function_start_sal instead of find_pc_line.
7096
7097 2018-04-26  Pedro Alves  <palves@redhat.com>
7098
7099         * breakpoint.c (set_breakpoint_location_function): Handle
7100         mst_data_gnu_ifunc.
7101         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7102         * elfread.c (elf_symtab_read): Give data symbols with
7103         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7104         (elf_rel_plt_read): Update comment.
7105         * linespec.c (convert_linespec_to_sals): Handle
7106         mst_data_gnu_ifunc.
7107         (minsym_found): Handle mst_data_gnu_ifunc.
7108         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7109         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7110         * parse.c (find_minsym_type_and_address): Handle
7111         mst_data_gnu_ifunc.
7112         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7113         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7114         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7115         comment.
7116         <mst_data_gnu_ifunc>: New enumerator.
7117
7118 2018-04-26  Pedro Alves  <palves@redhat.com>
7119
7120         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7121         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7122         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7123         Handle it.
7124         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
7125         (lookup_minimal_symbol_by_pc): Adjust.
7126         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
7127         (lookup_solib_trampoline_symbol_by_pc): Adjust.
7128         * minsyms.h (lookup_msym_prefer): New enum.
7129         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7130         parameter by a lookup_msym_prefer parameter.
7131
7132 2018-04-26  Pedro Alves  <palves@redhat.com>
7133
7134         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
7135         ends in "@plt" instead of looking at the symbol's section.
7136
7137 2018-04-26  Pedro Alves  <palves@redhat.com>
7138
7139         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
7140         all references.
7141         (find_pc_partial_function_gnu_ifunc): Rename to ...
7142         (find_pc_partial_function): ... this, and remove references to
7143         'is_gnu_ifunc_p'.
7144         (find_pc_partial_function): Delete old implementation.
7145         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
7146
7147 2018-04-26  Pedro Alves  <palves@redhat.com>
7148
7149         * linespec.c (struct bound_minimal_symbol_search_key): New.
7150         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
7151         skip first line if we found a GNU ifunc minimal symbol by name.
7152         (compare_msymbols): Change parameters to work with a destructured
7153         lhs minsym.
7154         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
7155         functions.
7156
7157 2018-04-26  Pedro Alves  <palves@redhat.com>
7158
7159         * breakpoint.c (set_breakpoint_location_function): Don't resolve
7160         ifunc targets here.  Instead, if we have an ifunc minsym, use its
7161         address/name.
7162         (add_location_to_breakpoint): Store the minsym and the objfile in
7163         the breakpoint location.
7164         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
7165         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
7166         Record the minsym in the sal.
7167         * symtab.h (symtab_and_line) <msymbol>: New field.
7168
7169 2018-04-26  Pedro Alves  <palves@redhat.com>
7170
7171         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
7172         unless we actually resolved the ifunc.
7173
7174 2018-04-26  Pedro Alves  <palves@redhat.com>
7175
7176         * c-exp.y (variable production): Prefer ifunc minsyms over
7177         regular function symbols.
7178         * symtab.c (find_gnu_ifunc): New function.
7179         * minsyms.h (lookup_msym_prefer): New enum.
7180         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7181         parameter by a lookup_msym_prefer parameter.
7182         * symtab.h (find_gnu_ifunc): New declaration.
7183
7184 2018-04-26  Pedro Alves  <palves@redhat.com>
7185
7186         * blockframe.c (find_gnu_ifunc_target_type): New function.
7187         (find_function_type): New.
7188         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
7189         return a value with a memory address.
7190         (eval_call): For calls to GNU ifunc functions, try to find the
7191         type of the target function from the type that the resolver
7192         returns.
7193         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
7194         symbols.
7195         * infcall.c (find_function_return_type): Delete.
7196         (find_function_addr): Add 'function_type' parameter.  For calls to
7197         GNU ifunc functions, try to find the type of the target function
7198         from the type that the resolver returns, and return it via
7199         FUNCTION_TYPE.
7200         (call_function_by_hand_dummy): Adjust to use the function type
7201         returned by find_function_addr.
7202         (find_function_addr): Add 'function_type' parameter and move
7203         description here.
7204         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
7205         declarations.
7206
7207 2018-04-26  Pedro Alves  <palves@redhat.com>
7208
7209         * c-exp.y (variable production): Skip finding an alias for ifunc
7210         symbols.
7211
7212 2018-04-26  Pedro Alves  <palves@redhat.com>
7213
7214         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
7215
7216 2018-04-25  Pedro Alves  <palves@redhat.com>
7217
7218         * infcmd.c (kill_command): Print the pid as string, not the whole
7219         thread's ptid.  Add comment.  s/has been killed/killed/ in output
7220         message.
7221         * remote.c (remote_detach_1): Print the pid as string, not the
7222         whole thread's ptid.
7223
7224 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7225             Sergio Durigan Junior  <sergiodj@redhat.com>
7226             Pedro Alves  <palves@redhat.com>
7227
7228         * infcmd.c (kill_command): Print message when inferior has
7229         been killed.
7230         * inferior.c (print_inferior_events): Remove 'static'.  Set as
7231         '1'.
7232         (add_inferior): Improve message printed when
7233         'print_inferior_events' is on.
7234         (exit_inferior): Remove message printed when
7235         'print_inferior_events' is on.
7236         (detach_inferior): Improve message printed when
7237         'print_inferior_events' is on.
7238         (initialize_inferiors): Use 'add_inferior_silent' to set
7239         'current_inferior_'.
7240         * inferior.h (print_inferior_events): Declare here as
7241         'extern'.
7242         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
7243         '[Detaching...]' messages when 'print_inferior_events' is on.
7244         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
7245         as prefix/suffix for messages.  Remove periods.  Fix erroneous
7246         'Detaching after fork from child...', replace it by '... from
7247         parent...'.
7248         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
7249         prefix/suffix when printing 'Detaching...' messages.  Print
7250         them when 'print_inferior_events' is on.
7251         * remote.c (remote_detach_1): Print message when detaching
7252         from inferior and '!is_fork_parent'.
7253
7254 2018-04-24  Tom Tromey  <tom@tromey.com>
7255
7256         * cli-out.h: Reindent.
7257
7258 2018-04-24  Tom Tromey  <tom@tromey.com>
7259
7260         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
7261         (cli_ui_out::do_field_string): Use fputs_filtered.
7262         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
7263
7264 2018-04-23  Tom Tromey  <tom@tromey.com>
7265
7266         * guile/scm-frame.c (gdbscm_frame_read_var): Use
7267         gdb::unique_xmalloc_ptr.
7268
7269 2018-04-23  Tom Tromey  <tom@tromey.com>
7270
7271         * configure: Rebuild.
7272
7273 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
7274
7275         PR gdb/23095
7276         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
7277         prepare_for_testing.  Set normal_bp to r_debug_state if target
7278         is bsd.
7279
7280 2018-04-21  Pedro Alves  <palves@redhat.com>
7281             Rajendra SY  <rajendra.sy@gmail.com>
7282
7283         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
7284         * remote.c (extended_remote_attach): In all-stop mode, mark the
7285         thread as executing.
7286
7287 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7288
7289         * thread.c (thread_apply_all_command): Fix comment.
7290         (thread_command): Fix comment.
7291
7292 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
7293
7294         * common/tdesc.h (tdesc_create_feature): Remove xml filename
7295         parameter.
7296         * features/aarch64-core.c (create_feature_aarch64_core):
7297         Regenerate.
7298         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
7299         Likewise.
7300         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
7301         Likewise.
7302         * features/i386/32bit-avx512.c
7303         (create_feature_i386_32bit_avx512): Likewise.
7304         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
7305         Likewise.
7306         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
7307         Likewise.
7308         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
7309         Likewise.
7310         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
7311         Likewise.
7312         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
7313         Likewise.
7314         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
7315         Likewise.
7316         * features/i386/64bit-avx512.c
7317         (create_feature_i386_64bit_avx512): Likewise.
7318         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
7319         Likewise.
7320         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
7321         Likewise.
7322         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
7323         Likewise.
7324         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
7325         Likewise.
7326         * features/i386/64bit-segments.c
7327         (create_feature_i386_64bit_segments): Likewise.
7328         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
7329         Likewise.
7330         * features/i386/x32-core.c
7331         (create_feature_i386_x32_core): Likewise.
7332         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
7333         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
7334         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
7335         * target-descriptions.c: In generated code, don't pass xml
7336         filename.
7337
7338 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7339
7340         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
7341         (print_xml_feature::visit_post): Likewise.
7342         (print_xml_feature::visit): Likewise.
7343         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
7344         (print_xml_feature): Add new class.
7345         * regformats/regdat.sh: Null xmltarget on feature targets.
7346         * target-descriptions.c (struct target_desc): Add xmltarget.
7347         (maintenance_check_tdesc_xml_convert): Add unittest function.
7348         (tdesc_get_features_xml): Add function to get xml.
7349         (maintenance_check_xml_descriptions): Test xml generation.
7350         * xml-tdesc.c (string_read_description_xml): Add function.
7351         * xml-tdesc.h (string_read_description_xml): Add declaration.
7352
7353 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7354
7355         * features/Makefile: Add feature marker to targets with new style
7356         target descriptions.
7357         * regformats/aarch64.dat: Regenerate.
7358         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
7359         * regformats/i386/amd64-avx-linux.dat: Likewise.
7360         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
7361         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
7362         * regformats/i386/amd64-linux.dat: Likewise.
7363         * regformats/i386/amd64-mpx-linux.dat: Likewise.
7364         * regformats/i386/amd64.dat: Likewise.
7365         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
7366         * regformats/i386/i386-avx-linux.dat: Likewise.
7367         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
7368         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
7369         * regformats/i386/i386-linux.dat: Likewise.
7370         * regformats/i386/i386-mmx-linux.dat: Likewise.
7371         * regformats/i386/i386-mpx-linux.dat: Likewise.
7372         * regformats/i386/i386.dat: Likewise.
7373         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
7374         * regformats/i386/x32-avx-linux.dat: Likewise.
7375         * regformats/i386/x32-linux.dat: Likewise.
7376         * regformats/tic6x-c62x-linux.dat: Likewise.
7377         * regformats/tic6x-c64x-linux.dat: Likewise.
7378         * regformats/tic6x-c64xp-linux.dat: Likewise.
7379         * regformats/regdat.sh: Parse feature marker.
7380
7381 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7382
7383         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
7384         (tdesc_osabi_name): Likewise.
7385         * target-descriptions.c (tdesc_architecture_name): Add new
7386         function.
7387         (tdesc_osabi_name): Likewise.
7388
7389 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7390
7391         * common/tdesc.c (tdesc_predefined_type): Move to here.
7392         (tdesc_named_type): Likewise.
7393         (tdesc_create_vector): Likewise.
7394         (tdesc_create_struct): Likewise.
7395         (tdesc_set_struct_size): Likewise.
7396         (tdesc_create_union): Likewise.
7397         (tdesc_create_flags): Likewise.
7398         (tdesc_create_enum): Likewise.
7399         (tdesc_add_field): Likewise.
7400         (tdesc_add_typed_bitfield): Likewise.
7401         (tdesc_add_bitfield): Likewise.
7402         (tdesc_add_flag): Likewise.
7403         (tdesc_add_enum_value): Likewise.
7404         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
7405         (struct tdesc_type_vector): Likewise.
7406         (struct tdesc_type_field): Likewise.
7407         (struct tdesc_type_with_fields): Likewise.
7408         (tdesc_create_enum): Add declaration.
7409         (tdesc_add_typed_bitfield): Likewise.
7410         (tdesc_add_enum_value): Likewise.
7411         * target-descriptions.c (tdesc_type_field): Move from here.
7412         (tdesc_type_builtin): Likewise.
7413         (tdesc_type_vector): Likewise.
7414         (tdesc_type_with_fields): Likewise.
7415         (tdesc_predefined_types): Likewise.
7416         (tdesc_named_type): Likewise.
7417         (tdesc_create_vector): Likewise.
7418         (tdesc_create_struct): Likewise.
7419         (tdesc_set_struct_size): Likewise.
7420         (tdesc_create_union): Likewise.
7421         (tdesc_create_flags): Likewise.
7422         (tdesc_create_enum): Likewise.
7423         (tdesc_add_field): Likewise.
7424         (tdesc_add_typed_bitfield): Likewise.
7425         (tdesc_add_bitfield): Likewise.
7426         (tdesc_add_flag): Likewise.
7427         (tdesc_add_enum_value): Likewise.
7428         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
7429         (tdesc_add_typed_bitfield): Likewise.
7430         (tdesc_add_enum_value): Likewise.
7431
7432 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7433
7434         * common/tdesc.c (tdesc_feature::accept): Move to here.
7435         (tdesc_feature::operator==): Likewise.
7436         (tdesc_create_reg): Likewise.
7437         * common/tdesc.h (tdesc_type_kind): Likewise.
7438         (struct tdesc_type): Likewise.
7439         (struct tdesc_feature): Likewise.
7440         * regformats/regdat.sh: Create a feature.
7441         * target-descriptions.c (tdesc_type_kind): Move from here.
7442         (tdesc_type): Likewise.
7443         (tdesc_type_up): Likewise.
7444         (tdesc_feature): Likewise.
7445         (tdesc_create_reg): Likewise.
7446
7447 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7448
7449         * Makefile.in: Add arch/tdesc.c
7450         * common/tdesc.c: New file.
7451         * common/tdesc.h (tdesc_element_visitor): Move to here.
7452         (tdesc_element): Likewise.
7453         (tdesc_reg): Likewise.
7454         (tdesc_reg_up): Likewise.
7455         * regformats/regdef.h (reg): Add offset to constructors.
7456         * target-descriptions.c (tdesc_element_visitor): Move from here.
7457         (tdesc_element): Likewise.
7458         (tdesc_reg): Likewise.
7459         (tdesc_reg_up): Likewise.
7460
7461 2018-04-17  Tom Tromey  <tom@tromey.com>
7462
7463         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
7464         discriminant field.
7465
7466 2018-04-17  Tom Tromey  <tom@tromey.com>
7467
7468         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
7469
7470 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7471
7472         * symtab.c (print_symbol_info): Skip printing filename and line
7473         number when `last' is NULL.
7474         (symtab_symbol_info): Use empty string instead of NULL for first
7475         invocation of print_symbol_info.
7476         (rbreak_command): Pass NULL to `last' parameter of
7477         print_symbol_info.
7478
7479 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
7480
7481         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
7482         instead of nullptr.
7483
7484 2018-04-16  Pedro Alves  <palves@redhat.com>
7485
7486         * MAINTAINERS (sh): Remove.
7487         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
7488         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
7489         (ALLDEPFILES): Remove sh64-tdep.c.
7490         * NEWS: Mentions that support for SH-5/SH64 is removed.
7491         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
7492         (sh*-*-openbsd*): Ditto.
7493         (sh64-*-elf*): Remove.
7494         (sh*): Remove.
7495         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
7496         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
7497         * sh-tdep.c: No longer include "sh64-tdep.h".
7498         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
7499         * sh64-tdep.c, sh64-tdep.h: Remove files.
7500
7501 2018-04-16  Pedro Alves  <palves@redhat.com>
7502
7503         * MAINTAINERS: Remove m88k.
7504         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
7505         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
7506         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
7507         * NEWS: Mention that support for m88k was removed.
7508         * configure.host (m88*-*-*): Remove support.
7509         * configure.nat (m88k-*-*): Remove support.
7510         * configure.tgt (m88*-*-openbsd*): Remove.
7511         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
7512
7513 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
7514
7515         * configure.tgt (x86_tobjs): New variable.
7516         (amd64_tobjs, i386_tobjs): Use it.
7517
7518 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7519
7520         * symtab.c (print_symbol_info): Precede the symbol definition by
7521         the line number when available.
7522         * NEWS: Advertise this enhancement.
7523
7524 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7525
7526         * NEWS (New options): announce set/show record btrace cpu.
7527         * btrace.c: Include record-btrace.h.
7528         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7529         the vendor is unknown.
7530         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7531         Maybe overwrite the btrace configuration's cpu.
7532         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7533         (btrace_fetch): Add cpu parameter.  Update callers.
7534         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7535         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7536         errata workarounds if the vendor is unknown.
7537         * python/py-record-btrace.c: Include record-btrace.h.
7538         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7539         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7540         * record-btrace.c (record_btrace_cpu_state_kind): New.
7541         (record_btrace_cpu): New.
7542         (set_record_btrace_cpu_cmdlist): New.
7543         (record_btrace_get_cpu): New.
7544         (require_btrace_thread, record_btrace_info)
7545         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7546         (cmd_set_record_btrace_cpu_none): New.
7547         (cmd_set_record_btrace_cpu_auto): New.
7548         (cmd_set_record_btrace_cpu): New.
7549         (cmd_show_record_btrace_cpu): New.
7550         (_initialize_record_btrace): Initialize set/show record btrace cpu
7551         commands.
7552         * record-btrace.h (record_btrace_get_cpu): New.
7553
7554 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7555
7556         * record.c (set_record_command): Fix typo in message.
7557
7558 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7559
7560         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7561
7562 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7563
7564         * infrun.c (process_event_stop_test): Call
7565         gdbarch_in_indirect_branch_thunk.
7566         * gdbarch.sh (in_indirect_branch_thunk): New.
7567         * gdbarch.c: Regenerated.
7568         * gdbarch.h: Regenerated.
7569         * x86-tdep.h: New.
7570         * x86-tdep.c: New.
7571         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7572         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7573         (ALLDEPFILES): Add x86-tdep.c.
7574         * arch-utils.h (default_in_indirect_branch_thunk): New.
7575         * arch-utils.c (default_in_indirect_branch_thunk): New.
7576         * i386-tdep: Include x86-tdep.h.
7577         (i386_in_indirect_branch_thunk): New.
7578         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7579         function.
7580         * amd64-tdep: Include x86-tdep.h.
7581         (amd64_in_indirect_branch_thunk): New.
7582         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7583
7584 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7585
7586         PR gdb/23053
7587         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7588         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7589         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7590         regression.
7591
7592 2018-04-12  Tom Tromey  <tom@tromey.com>
7593
7594         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7595         (rust_evaluate_subexp): Likewise.
7596
7597 2018-04-12  Pedro Alves  <palves@redhat.com>
7598
7599         * procfs.c (procfs_detach): Make forward declaration's prototype
7600         match definition's protototype.
7601         (proc_get_LDT_entry): Remove stale do_cleanups call.
7602
7603 2018-04-12  Pedro Alves  <palves@redhat.com>
7604
7605         * target.h (target_ops::to_has_exited): Delete.
7606         (target_has_exited): Delete.
7607         * target-delegates.c: Regenerate.
7608
7609 2018-04-11  Pedro Alves  <palves@redhat.com>
7610
7611         * target.c (fileio_fh_t::t): Add comment.
7612         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7613         (target_fileio_close): Handle a NULL target.
7614         (invalidate_fileio_fh): New.
7615         (target_close): Call it.
7616         * remote.c (remote_hostio_send_command): No longer check whether
7617         remote_desc is open.
7618
7619 2018-04-11  Pedro Alves  <palves@redhat.com>
7620
7621         * target.c (fileio_fh_t): Make it a named struct instead of a
7622         typedef.
7623         (fileio_fh_t::is_closed): New method.
7624         (DEF_VEC_O (fileio_fh_t)): Remove.
7625         (fileio_fhandles): Now a std::vector.
7626         (is_closed_fileio_fh): Delete.
7627         (acquire_fileio_fd): Adjust.  Rename parameters.
7628         (release_fileio_fd): Adjust.
7629         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7630         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7631         (target_fileio_close): Adjust.
7632
7633 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7634
7635         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7636         index.
7637
7638 2018-04-10  Pedro Alves  <palves@redhat.com>
7639
7640         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7641         (scoped_finish_thread_state): New class.
7642         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7643         cleanup.
7644         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7645         (fetch_inferior_event, normal_stop): Likewise.
7646         * thread.c (finish_thread_state_cleanup): Delete.
7647
7648 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7649             Pedro Alves  <palves@redhat.com>
7650
7651         * value.c: Include "selftest.h" and "common/array-view.h".
7652         (struct range) <operator ==>: New.
7653         (test_ranges_contain): New.
7654         (check_ranges_vector): New.
7655         (test_insert_into_bit_range_vector): New.
7656         (_initialize_values): Register selftests.
7657         * common/array-view.h (operator==, operator!=): New.
7658
7659 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7660
7661         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7662         an iterator.
7663         * inline-frame.c: Include <algorithm>.
7664         (struct inline_state): Add constructor.
7665         (inline_state_s): Remove.
7666         (DEF_VEC_O(inline_state_s)): Remove.
7667         (inline_states): Change type to std::vector.
7668         (find_inline_frame_state): Adjust to std::vector.
7669         (allocate_inline_frame_state): Remove.
7670         (clear_inline_frame_state): Adjust to std::vector.
7671         (skip_inline_frames): Adjust to std::vector.
7672
7673 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7674
7675         * tracepoint.h (struct trace_state_variable): Add constructor.
7676         <name>: Change type to std::string.
7677         * tracepoint.c (tsv_s): Remove.
7678         (DEF_VEC_O(tsv_s)): Remove.
7679         (tvariables): Change to std::vector.
7680         (create_trace_state_variable): Adjust to std::vector.
7681         (find_trace_state_variable): Likewise.
7682         (find_trace_state_variable_by_number): Likewise.
7683         (delete_trace_state_variable): Likewise.
7684         (trace_variable_command): Adjust to std::string.
7685         (delete_trace_variable_command): Likewise.
7686         (tvariables_info_1): Adjust to std::vector.
7687         (save_trace_state_variables): Likewise.
7688         (start_tracing): Likewise.
7689         (merge_uploaded_trace_state_variables): Adjust to std::vector
7690         and std::string.
7691         * target.h (struct target_ops)
7692         <to_download_trace_state_variable>: Pass reference to
7693         trace_state_variable.
7694         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7695         * target-delegates.c: Re-generate.
7696         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7697         (mi_tsv_deleted): Likewise.
7698         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7699         * remote.c (remote_download_trace_state_variable): Change
7700         pointer to reference and adjust.
7701         * make-target-delegates (parse_argtypes): Handle references.
7702         (write_function_header): Likewise.
7703         (munge_type): Likewise.
7704
7705 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7706
7707         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7708         string_view-selftests.c.
7709         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7710         testsuite.
7711         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7712         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7713         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7714         * unittests/basic_string_view/element_access/char/1.cc:
7715         Likewise.
7716         * unittests/basic_string_view/element_access/char/empty.cc:
7717         Likewise.
7718         * unittests/basic_string_view/element_access/char/front_back.cc:
7719         Likewise.
7720         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7721         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7722         Likewise.
7723         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7724         Likewise.
7725         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7726         Likewise.
7727         * unittests/basic_string_view/operations/compare/char/1.cc:
7728         Likewise.
7729         * unittests/basic_string_view/operations/compare/char/13650.cc:
7730         Likewise.
7731         * unittests/basic_string_view/operations/copy/char/1.cc:
7732         Likewise.
7733         * unittests/basic_string_view/operations/data/char/1.cc:
7734         Likewise.
7735         * unittests/basic_string_view/operations/find/char/1.cc:
7736         Likewise.
7737         * unittests/basic_string_view/operations/find/char/2.cc:
7738         Likewise.
7739         * unittests/basic_string_view/operations/find/char/3.cc:
7740         Likewise.
7741         * unittests/basic_string_view/operations/find/char/4.cc:
7742         Likewise.
7743         * unittests/basic_string_view/operations/rfind/char/1.cc:
7744         Likewise.
7745         * unittests/basic_string_view/operations/rfind/char/2.cc:
7746         Likewise.
7747         * unittests/basic_string_view/operations/rfind/char/3.cc:
7748         Likewise.
7749         * unittests/basic_string_view/operations/substr/char/1.cc:
7750         Likewise.
7751         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7752         * unittests/string_view-selftests.c: New file.
7753
7754 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7755
7756         * unittests/basic_string_view/capacity/1.cc: New file.
7757         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7758         * unittests/basic_string_view/cons/char/1.cc: New file.
7759         * unittests/basic_string_view/cons/char/2.cc: New file.
7760         * unittests/basic_string_view/cons/char/3.cc: New file.
7761         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7762         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7763         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7764         * unittests/basic_string_view/element_access/char/1.cc: New file.
7765         * unittests/basic_string_view/element_access/char/2.cc: New file.
7766         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7767         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7768         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7769         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7770         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7771         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7772         * unittests/basic_string_view/include.cc: New file.
7773         * unittests/basic_string_view/inserters/char/1.cc: New file.
7774         * unittests/basic_string_view/inserters/char/2.cc: New file.
7775         * unittests/basic_string_view/inserters/char/3.cc: New file.
7776         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7777         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7778         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7779         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7780         * unittests/basic_string_view/literals/types.cc: New file.
7781         * unittests/basic_string_view/literals/values.cc: New file.
7782         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7783         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7784         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7785         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7786         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7787         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7788         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7789         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7790         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7791         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7792         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7793         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7794         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7795         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7796         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7797         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7798         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7799         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7800         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7801         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7802         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7803         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7804         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7805         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7806         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7807         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7808         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7809         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7810         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7811         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7812         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7813         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7814         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7815         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7816         * unittests/basic_string_view/operators/char/2.cc: New file.
7817         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7818         * unittests/basic_string_view/range_access/char/1.cc: New file.
7819         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7820         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7821         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7822         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7823         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7824         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7825         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7826         * unittests/basic_string_view/typedefs.cc: New file.
7827         * unittests/basic_string_view/types/1.cc: New file.
7828
7829 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7830
7831         * common/gdb_string_view.h: Remove libstdc++ implementation
7832         details, adjust to gdb reality.
7833         * common/gdb_string_view.tcc: Likewise.
7834         * cli/cli-script.c (struct string_view): Remove.
7835         (user_args) <m_args>: Change element type to gdb::string_view.
7836         (user_args::insert_args): Adjust.
7837
7838 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7839
7840         * common/gdb_string_view.h: New file.
7841         * common/gdb_string_view.tcc: New file.
7842
7843 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7844
7845         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7846         * configure: Re-generate.
7847
7848 2018-04-09  Pedro Alves  <palves@redhat.com>
7849
7850         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7851         (set_target_gdbarch): Call
7852         gdb::observers::architecture_changed.notify instead of
7853         observer_notify_architecture_changed.
7854
7855 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7856
7857         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7858         (do_restore_current_traceframe_cleanup): Remove.
7859         (restore_current_traceframe_cleanup_dtor): Remove.
7860         (make_cleanup_restore_current_traceframe): Remove.
7861         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7862         New.
7863         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7864         * infrun.c (fetch_inferior_event): Use
7865         scoped_restore_current_traceframe.
7866
7867 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7868
7869         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7870         Remove.
7871         <n_allocated_type_units>: Remove.
7872         <all_type_units>: Change to std::vector.
7873         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7874         to std::vector change.
7875         (dwarf2_per_objfile::get_cutu): Likewise.
7876         (dwarf2_per_objfile::get_tu): Likewise.
7877         (create_signatured_type_table_from_index): Likewise.
7878         (create_signatured_type_table_from_debug_names): Likewise.
7879         (dw2_symtab_iter_next): Likewise.
7880         (dw2_print_stats): Likewise.
7881         (dw2_expand_all_symtabs): Likewise.
7882         (dw2_expand_marked_cus): Likewise.
7883         (dw2_debug_names_iterator::next): Likewise.
7884         (dwarf2_initialize_objfile): Likewise.
7885         (add_signatured_type_cu_to_table): Likewise.
7886         (create_all_type_units): Likewise.
7887         (add_type_unit): Likewise.
7888         (struct tu_abbrev_offset): Add constructor.
7889         (build_type_psymtabs_1): Adjust to std::vector change.
7890         (print_tu_stats): Likewise.
7891         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7892         (write_debug_names): Likewise.
7893
7894 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7895
7896         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7897         Make an std::vector.
7898         <n_comp_units>: Remove.
7899         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7900         to std::vector change.
7901         (dwarf2_per_objfile::get_cutu): Likewise.
7902         (dwarf2_per_objfile::get_cu): Likewise.
7903         (create_cus_from_index): Likewise.
7904         (create_addrmap_from_index): Likewise.
7905         (create_addrmap_from_aranges): Likewise.
7906         (dwarf2_read_index): Likewise.
7907         (dw2_find_last_source_symtab): Likewise.
7908         (dw2_map_symtabs_matching_filename): Likewise.
7909         (dw2_symtab_iter_next): Likewise.
7910         (dw2_print_stats): Likewise.
7911         (dw2_expand_all_symtabs): Likewise.
7912         (dw2_expand_symtabs_with_fullname): Likewise.
7913         (dw2_expand_marked_cus): Likewise.
7914         (dw2_map_symbol_filenames): Likewise.
7915         (create_cus_from_debug_names): Likewise.
7916         (dwarf2_read_debug_names): Likewise.
7917         (dw2_debug_names_iterator::next): Likewise.
7918         (dwarf2_initialize_objfile): Likewise.
7919         (set_partial_user): Likewise.
7920         (dwarf2_build_psymtabs_hard): Likewise.
7921         (read_comp_units_from_section): Remove arguments, adjust to
7922         std::vector change.
7923         (create_all_comp_units): Adjust to std::vector and
7924         read_comp_units_from_section changes.
7925         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7926         change.
7927         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7928         (psyms_seen_size): Likewise.
7929         (write_gdbindex): Likewise.
7930         (write_debug_names): Likewise.
7931
7932 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7933
7934         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7935         with dwarf2_per_objfile.
7936         (create_cus_from_index): Likewise.
7937         (create_signatured_type_table_from_index): Likewise.
7938         (dwarf2_read_index): Likewise.
7939         (dwarf2_initialize_objfile): Likewise.
7940         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7941         per_cu rather than get_dwarf2_per_objfile.
7942
7943 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7944
7945         * dwarf2read.h (struct signatured_type): Forward declare.
7946         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7947         New methods.
7948         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7949         (dw2_get_cutu): ...this.
7950         (dwarf2_per_objfile::get_cu): Rename from...
7951         (dw2_get_cu): ...this.
7952         (dwarf2_per_objfile::get_tu): New.
7953         (create_addrmap_from_index): Adjust.
7954         (create_addrmap_from_aranges): Adjust.
7955         (dw2_find_last_source_symtab): Adjust.
7956         (dw2_map_symtabs_matching_filename): Adjust.
7957         (dw2_symtab_iter_next): Adjust.
7958         (dw2_print_stats): Adjust.
7959         (dw2_expand_all_symtabs): Adjust.
7960         (dw2_expand_symtabs_with_fullname): Adjust.
7961         (dw2_expand_marked_cus): Adjust.
7962         (dw_expand_symtabs_matching_file_matcher): Adjust.
7963         (dw2_map_symbol_filenames): Adjust.
7964         (dw2_debug_names_iterator::next): Adjust.
7965         (dwarf2_initialize_objfile): Adjust.
7966         (set_partial_user): Adjust.
7967         (dwarf2_build_psymtabs_hard): Adjust.
7968
7969 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7970
7971         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7972         Remove unused variables.
7973         (dw2_map_symtabs_matching_filename): Likewise.
7974         (dwarf2_record_block_ranges): Likewise.
7975         (dwarf2_read_addr_index): Likewise.
7976         (follow_die_offset): Likewise.
7977
7978 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7979
7980         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7981         to symbol_file_add_main.
7982
7983 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7984
7985         PR mi/22299
7986         * mi/mi-console.c (do_fputc_async_safe): New.
7987         (mi_console_file::write_async_safe): New.
7988         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7989         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7990         New.
7991         * ui-file.c (ui_file::putstrn): Adjust call to
7992         fputstrn_unfiltered.
7993         * utils.c (printchar): Replace do_fputs and do_fprintf
7994         parameters by do_fputc.
7995         (fputstr_filtered): Adjust call to printchar.
7996         (fputstr_unfiltered): Likewise.
7997         (fputstrn_filtered): Likewise.
7998         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7999         printchar.
8000         * utils.h (do_fputc_ftype): New typedef.
8001         (fputstrn_unfiltered): Add do_fputc parameter.
8002
8003 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8004
8005         * regformats/i386/i386-avx.dat: Remove.
8006
8007 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8008
8009         PR gdb/22979
8010         * amd64-tdep.c (amd64_none_init_abi): New function.
8011         (amd64_x32_none_init_abi): New function.
8012         (_initialize_amd64_tdep): Register handlers for x86-64 and
8013         x64_32 with GDB_OSABI_NONE.
8014         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8015         GDB_OSABI_NONE osabi.
8016
8017 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8018
8019         PR gdb/22980
8020         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8021         GDB_OSABI_NONE.
8022         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8023         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8024
8025 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8026
8027         * common/byte-vector.h (char_vector): New type.
8028         * target.h (target_read_alloc): Return
8029         gdb::optional<byte_vector>.
8030         (target_read_stralloc): Return gdb::optional<char_vector>.
8031         (target_get_osdata): Return gdb::optional<char_vector>.
8032         * target.c (target_read_alloc_1): Templatize.  Replacement
8033         manual memory management with vector.
8034         (target_read_alloc): Change return type, adjust.
8035         (target_read_stralloc): Change return type, adjust.
8036         (target_get_osdata): Change return type, adjust.
8037         * auxv.c (struct auxv_info) <length>: Remove.
8038         <data>: Change type to gdb::optional<byte_vector>.
8039         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8040         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8041         (target_auxv_search): Adjust.
8042         (fprint_target_auxv): Adjust.
8043         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8044         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8045         (linux_make_corefile_notes): Adjust.
8046         * osdata.c (get_osdata): Adjust.
8047         * remote.c (remote_get_threads_with_qxfer): Adjust.
8048         (remote_memory_map): Adjust.
8049         (remote_traceframe_info): Adjust.
8050         (btrace_read_config): Adjust.
8051         (remote_read_btrace): Adjust.
8052         (remote_pid_to_exec_file): Adjust.
8053         * solib-aix.c (solib_aix_get_library_list): Adjust.
8054         * solib-dsbt.c (decode_loadmap): Don't free buf.
8055         (dsbt_get_initial_loadmaps): Adjust.
8056         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8057         * solib-target.c (solib_target_current_sos): Adjust.
8058         * tracepoint.c (sdata_make_value): Adjust.
8059         * xml-support.c (xinclude_start_include): Adjust.
8060         (xml_fetch_content_from_file): Adjust.
8061         * xml-support.h (xml_fetch_another): Change return type.
8062         (xml_fetch_content_from_file): Change return type.
8063         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8064         * xml-tdesc.c (file_read_description_xml): Adjust.
8065         (fetch_available_features_from_target): Change return type.
8066         (target_fetch_description_xml): Adjust.
8067         (target_read_description_xml): Adjust.
8068
8069 2018-04-06  Tom Tromey  <tom@tromey.com>
8070
8071         * value.c (~value): Update.
8072         (struct value) <contents>: Now unique_xmalloc_ptr.
8073         (value_contents_bits_eq, allocate_value_contents)
8074         (value_contents_raw, value_contents_all_raw)
8075         (value_contents_for_printing, value_contents_for_printing_const)
8076         (set_value_enclosing_type): Update.
8077
8078 2018-04-06  Tom Tromey  <tom@tromey.com>
8079
8080         * value.c (range_s): Remove typedef, VEC.
8081         (struct range): Add operator<.
8082         (range_lessthan): Remove.
8083         (ranges_contain): Change type.
8084         (~value): Update.
8085         (struct value) <unavailable, optimized_out>: Now std::vector.
8086         (value_entirely_available)
8087         (value_entirely_covered_by_range_vector)
8088         (value_entirely_unavailable, value_entirely_optimized_out):
8089         Update.
8090         (insert_into_bit_range_vector): Change argument type.
8091         (find_first_range_overlap): Likewise.
8092         (struct ranges_and_idx, value_contents_bits_eq)
8093         (require_not_optimized_out, require_available): Update.
8094         (ranges_copy_adjusted): Change argument types.
8095         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8096
8097 2018-04-06  Tom Tromey  <tom@tromey.com>
8098
8099         * value.c (~value): Update.
8100         (struct value) <parent>: Now a value_ref_ptr.
8101         (value_parent, set_value_parent, value_address, value_copy):
8102         Update.
8103
8104 2018-04-06  Tom Tromey  <tom@tromey.com>
8105
8106         * value.c (struct value): Add constructor, destructor, and member
8107         initializers.
8108         (allocate_value_lazy, value_decref): Update.
8109
8110 2018-04-06  Tom Tromey  <tom@tromey.com>
8111
8112         * value.c (struct value) <released, next>: Remove.
8113         (all_values): Now a std::vector.
8114         (allocate_value_lazy): Update.
8115         (value_next): Remove.
8116         (value_mark, value_free_to_mark, release_value)
8117         (value_release_to_mark): Update.
8118
8119 2018-04-06  Tom Tromey  <tom@tromey.com>
8120
8121         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8122         (free_value_chain): Remove.
8123         * value.c (free_value_chain): Remove.
8124         (value_release_to_mark): Return a std::vector.
8125         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
8126         std::vector.
8127         (check_condition): Update.
8128         * eval.c (fetch_subexp_value): Change "val_chain" to a
8129         std::vector.
8130         * breakpoint.c (update_watchpoint): Update.
8131         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
8132
8133 2018-04-06  Tom Tromey  <tom@tromey.com>
8134
8135         * value.h (free_all_values): Remove.
8136         * value.c (free_all_values): Remove.
8137
8138 2018-04-06  Tom Tromey  <tom@tromey.com>
8139
8140         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
8141         (value_history_chain, value_history_count): Remove.
8142         (value_history): New global.
8143         (record_latest_value, access_value_history, show_values)
8144         (preserve_values): Update.
8145
8146 2018-04-06  Tom Tromey  <tom@tromey.com>
8147
8148         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
8149         * varobj.c (varobj_set_display_format, varobj_set_value)
8150         (install_default_visualizer, construct_visualizer)
8151         (install_new_value, ~varobj, varobj_get_value_type)
8152         (my_value_of_variable, varobj_editable_p): Update.
8153         * c-varobj.c (c_describe_child, c_value_of_variable)
8154         (cplus_number_of_children, cplus_describe_child): Update.
8155         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
8156         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
8157         (ada_value_of_variable, ada_value_is_changeable_p): Update.
8158
8159 2018-04-06  Tom Tromey  <tom@tromey.com>
8160
8161         * printcmd.c (last_examine_address): Change type to
8162         value_ref_ptr.
8163         (do_examine, x_command): Update.
8164
8165 2018-04-06  Tom Tromey  <tom@tromey.com>
8166
8167         * value.c (release_value): Update.
8168         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
8169         (struct bpstats) <val>: Now a value_ref_ptr.
8170         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8171         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8172         (~watchpoint, print_it_watchpoint, watch_command_1)
8173         (invalidate_bp_value_on_memory_change): Update.
8174
8175 2018-04-06  Tom Tromey  <tom@tromey.com>
8176
8177         * varobj.c (varobj_clear_saved_item)
8178         (update_dynamic_varobj_children, install_new_value, ~varobj):
8179         Update.
8180         * value.h (value_incref): Move declaration earlier.
8181         (value_decref): Rename from value_free.
8182         (struct value_ref_policy): New.
8183         (value_ref_ptr): New typedef.
8184         (struct value_deleter): Remove.
8185         (gdb_value_up): Remove typedef.
8186         (release_value): Change return type.
8187         (release_value_or_incref): Remove.
8188         * value.c (set_value_parent): Update.
8189         (value_incref): Change return type.
8190         (value_decref): Rename from value_free.
8191         (value_free_to_mark, free_all_values, free_value_chain): Update.
8192         (release_value): Return value_ref_ptr.
8193         (release_value_or_incref): Remove.
8194         (record_latest_value, set_internalvar, clear_internalvar):
8195         Update.
8196         * stack.c (info_frame_command): Don't call value_free.
8197         * python/py-value.c (valpy_dealloc, valpy_new)
8198         (value_to_value_object): Update.
8199         * printcmd.c (do_examine): Update.
8200         * opencl-lang.c (lval_func_free_closure): Update.
8201         * mi/mi-main.c (register_changed_p): Don't call value_free.
8202         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
8203         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
8204         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
8205         value_free.
8206         * guile/scm-value.c (vlscm_free_value_smob)
8207         (vlscm_scm_from_value): Update.
8208         * frame.c (frame_register_unwind, frame_unwind_register_signed)
8209         (frame_unwind_register_unsigned, get_frame_register_bytes)
8210         (put_frame_register_bytes): Don't call value_free.
8211         * findvar.c (address_from_register): Don't call value_free.
8212         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
8213         * dwarf2loc.c (entry_data_value_free_closure)
8214         (value_of_dwarf_reg_entry, free_pieced_value_closure)
8215         (dwarf2_evaluate_loc_desc_full): Update.
8216         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8217         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8218         (~watchpoint, watch_command_1)
8219         (invalidate_bp_value_on_memory_change): Update.
8220         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
8221
8222 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
8223
8224         PR gdb/23022
8225         * warning.m4: Add -Wno-error=deprecated-register.
8226         * configure: Re-generate.
8227
8228 2018-04-05  Tom Tromey  <tom@tromey.com>
8229
8230         * linespec.h: Remove include of "vec.h".
8231
8232 2018-04-05  Tom Tromey  <tom@tromey.com>
8233
8234         * linespec.c (typep): Remove typedef.
8235         (find_methods, find_superclass_methods): Take a std::vector.
8236         (find_method): Use std::vector.
8237
8238 2018-04-05  Tom Tromey  <tom@tromey.com>
8239
8240         * utils.c (compare_strings): Remove.
8241         * utils.h (compare_strings): Remove.
8242         * objc-lang.h (find_imps): Update.
8243         * objc-lang.c (find_methods): Take a std::vector.
8244         (uniquify_strings, find_imps): Likewise.
8245         * linespec.c (find_methods): Take a std::vector.
8246         (decode_objc): Use std::vector.
8247         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
8248         a std::vector.
8249         (find_method, find_function_symbols): Use std::vector.
8250
8251 2018-04-05  Tom Tromey  <tom@tromey.com>
8252
8253         * completer.c (completion_tracker::completion_tracker): Remove
8254         cast.
8255         (completion_tracker::discard_completions): Likewise.
8256         * breakpoint.c (ambiguous_names_p): Remove cast.
8257         * ada-lang.c (_initialize_ada_language): Remove cast.
8258         * utils.h (streq): Update.
8259         (streq_hash): Add new declaration.
8260         * utils.c (streq): Return bool.
8261         (streq_hash): New function.
8262
8263 2018-04-05  Tom Tromey  <tom@tromey.com>
8264
8265         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
8266         Remove a string copy.
8267
8268 2018-04-05  Tom Tromey  <tom@tromey.com>
8269
8270         * linespec.c (filter_results): Use std::vector.
8271         (decode_line_2, decode_line_full): Update.
8272
8273 2018-04-05  Tom Tromey  <tom@tromey.com>
8274
8275         * linespec.c (canonical_to_fullform): Return std::string.
8276         (filter_results): Update.
8277         (struct decode_line_2_item): Add constructor.
8278         <fullform, displayform>: Now std::string.
8279         (decode_line_2_compare_items): Now a std::sort comparator.
8280         (decode_line_2): Update.
8281
8282 2018-04-05  Tom Tromey  <tom@tromey.com>
8283
8284         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
8285         (unexpected_linespec_error): Update.
8286         (linespec_parse_basic, parse_linespec): Update.
8287
8288 2018-04-05  Tom Tromey  <tom@tromey.com>
8289
8290         * linespec.c (linespec_parse_basic): Reindent.
8291
8292 2018-04-05  Tom Tromey  <tom@tromey.com>
8293
8294         * minsyms.h (iterate_over_minimal_symbols): Update.
8295         * minsyms.c (iterate_over_minimal_symbols): Take a
8296         gdb::function_view.
8297         * linespec.c (struct collect_minsyms): Remove.
8298         (compare_msyms): Now a std::sort comparator.
8299         (add_minsym): Add parameters.
8300         (search_minsyms_for_name): Update.  Use std::vector.
8301
8302 2018-04-03  Tom Tromey  <tom@tromey.com>
8303
8304         * mipsread.c (read_alphacoff_dynamic_symtab): Use
8305         gdb::byte_vector.
8306
8307 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8308
8309         * MAINTAINERS (Write After Approval): Add Weimin Pan.
8310
8311 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8312
8313         PR gdb/16959
8314         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
8315         printing static type.
8316
8317 2018-04-01  Tom Tromey  <tom@tromey.com>
8318
8319         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
8320         (rs6000_xfer_shared_libraries): Update.
8321
8322 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
8323
8324         * common/gdb_vecs.h (char_ptr): Remove.
8325         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
8326
8327 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8328
8329         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
8330         with std::vector.
8331         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
8332
8333 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8334
8335         * tracepoint.h (struct uploaded_tp): Initialize fields.
8336         <actions, step_actions, cmd_strings>: Change type to
8337         std::vector<char *>.
8338         * tracepoint.c (get_uploaded_tp): Allocate with new.
8339         (free_uploaded_tps): Free with delete.
8340         (parse_tracepoint_definition): Adjust to std::vector change.
8341         * breakpoint.c (read_uploaded_action): Likewise.
8342         (create_tracepoint_from_upload): Likewise.
8343         * ctf.c (ctf_write_uploaded_tp): Likewise.
8344         (SET_ARRAY_FIELD): Likewise.
8345         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
8346
8347 2018-03-30  Tom Tromey  <tom@tromey.com>
8348
8349         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
8350         std::unique_ptr.
8351         (svr4_keep_data_in_core): Update.
8352         (svr4_read_so_list): Update.
8353
8354 2018-03-30  Tom Tromey  <tom@tromey.com>
8355
8356         * windows-nat.c (handle_output_debug_string, handle_exception):
8357         Update.
8358         * target.h (target_read_string): Update.
8359         * target.c (target_read_string): Change "string" to
8360         unique_xmalloc_ptr.
8361         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
8362         Update.
8363         * solib-frv.c (frv_current_sos): Update.
8364         * solib-dsbt.c (dsbt_current_sos): Update.
8365         * solib-darwin.c (darwin_current_sos): Update.
8366         * linux-thread-db.c (inferior_has_bug): Update.
8367         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
8368         Update.  Remove alloca.
8369         * ada-lang.c (ada_main_name): Update.
8370
8371 2018-03-30  Tom Tromey  <tom@tromey.com>
8372
8373         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
8374         (struct dwo_file_deleter): New.
8375         (dwo_file_up): New typedef.
8376         (open_and_init_dwo_file): Use dwo_file_up.
8377         (free_dwo_file_cleanup): Remove.
8378
8379 2018-03-30  Tom Tromey  <tom@tromey.com>
8380
8381         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
8382         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
8383
8384 2018-03-30  Tom Tromey  <tom@tromey.com>
8385
8386         * dwarf2read.c (class free_cached_comp_units): New class.
8387         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
8388         (free_cached_comp_units): Remove function.
8389
8390 2018-03-30  Tom Tromey  <tom@tromey.com>
8391
8392         * utils.h (make_cleanup_unpush_target): Remove.
8393         * inf-ptrace.c (struct target_unpusher): New.
8394         (target_unpush_up) New typedef.
8395         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
8396         target_unpush_up.
8397         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
8398
8399 2018-03-27  Tom Tromey  <tom@tromey.com>
8400
8401         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
8402
8403 2018-03-27  Pedro Alves  <palves@redhat.com>
8404             Tom Tromey  <tom@tromey.com>
8405
8406         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
8407         destructor.  Now a class.
8408         (gdb_readline_wrapper_cleanup): Remove function.
8409         (gdb_readline_wrapper): Remove cleanups.
8410
8411 2018-03-27  Tom Tromey  <tom@tromey.com>
8412
8413         * typeprint.h (struct type_print_options) <local_typedefs,
8414         global_typedefs>: Remove "struct" keyword.
8415         (class typedef_hash_table): New class.
8416         (recursively_update_typedef_hash, add_template_parameters)
8417         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
8418         (find_typedef_in_hash): Don't declare.
8419         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
8420         (typedef_hash_table::recursively_update): Rename from
8421         recursively_update_typedef_hash.  Now a member.
8422         (typedef_hash_table::add_template_parameters): Rename from
8423         add_template_parameters.  Now a member.
8424         (typedef_hash_table::typedef_hash_table): Now a constructor;
8425         rename from create_typedef_hash.
8426         (typedef_hash_table::~typedef_hash_table): Now a destructor;
8427         rename from free_typedef_hash.
8428         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
8429         (do_free_global_table): Remove.
8430         (typedef_hash_table::typedef_hash_table): New constructor; renamed
8431         from copy_type_recursive.
8432         (create_global_typedef_table): Remove.
8433         (typedef_hash_table::find_global_typedef): Now a member of
8434         typedef_hash_table.
8435         (typedef_hash_table::find_typedef): Rename from
8436         find_typedef_in_hash; now a member.
8437         (whatis_exp): Update.
8438         * extension.h (struct ext_lang_type_printers): Add constructor and
8439         destructor.
8440         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
8441         declare.
8442         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
8443         Now a constructor; rename from start_ext_lang_type_printers.
8444         (ext_lang_type_printers): Now a destructor; rename from
8445         free_ext_lang_type_printers.
8446         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
8447         Update.
8448         (c_type_print_base_struct_union): Update.  Remove cleanups.
8449
8450 2018-03-27  Tom Tromey  <tom@tromey.com>
8451
8452         * dwarf-index-write.c: Include <cmath>.
8453
8454 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8455
8456         * NEWS: Add entry describing new "set|show varsize-limit" command.
8457         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
8458         command.
8459         * printcmd.c (_initialize_printcmd): Add "set var" alias of
8460         "set variable".
8461
8462 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
8463
8464         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
8465         dwarf-index-write.c
8466         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
8467         * dwarf-index-common.c: New file.
8468         * dwarf-index-common.h: New file.
8469         * dwarf-index-write.c: New file.
8470         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
8471         (struct dwarf2_section_info): Move from here.
8472         (dwarf2_section_info_def): Likewise.
8473         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
8474         (offset_type): Likewise.
8475         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
8476         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
8477         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
8478         (byte_swap): Likewise.
8479         (MAYBE_SWAP): Likewise.
8480         (dwarf2_per_cu_ptr): Likewise.
8481         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
8482         (struct tu_stats): Likewise.
8483         (struct dwarf2_per_objfile): Likewise.
8484         (struct dwarf2_per_cu_data): Likewise.
8485         (struct signatured_type): Likewise.
8486         (sig_type_ptr): Likewise.
8487         (DEF_VEC_P (sig_type_ptr)): Likewise.
8488         (INDEX4_SUFFIX): Likewise.
8489         (INDEX5_SUFFIX): Likewise.
8490         (DEBUG_STR_SUFFIX): Likewise.
8491         (dwarf2_read_section): Make non-static.
8492         (mapped_index_string_hash): Move from here.
8493         (dwarf5_djb_hash): Likewise.
8494         (file_write): Likewise.
8495         (class data_buf): Likewise.
8496         (struct symtab_index_entry): Likewise.
8497         (struct mapped_symtab): Likewise.
8498         (find_slot): Likewise.
8499         (hash_expand): Likewise.
8500         (add_index_entry): Likewise.
8501         (uniquify_cu_indices): Likewise.
8502         (class c_str_view): Likewise.
8503         (class c_str_view_hasher): Likewise.
8504         (class vector_hasher): Likewise.
8505         (write_hash_table): Likewise.
8506         (psym_index_map): Likewise.
8507         (struct addrmap_index_data): Likewise.
8508         (add_address_entry): Likewise.
8509         (add_address_entry_worker): Likewise.
8510         (write_address_map): Likewise.
8511         (symbol_kind): Likewise.
8512         (write_psymbols): Likewise.
8513         (struct signatured_type_index_data): Likewise.
8514         (write_one_signatured_type): Likewise.
8515         (recursively_count_psymbols): Likewise.
8516         (recursively_write_psymbols): Likewise.
8517         (class debug_names): Likewise.
8518         (check_dwarf64_offsets): Likewise.
8519         (psyms_seen_size): Likewise.
8520         (write_gdbindex): Likewise.
8521         (write_debug_names): Likewise.
8522         (assert_file_size): Likewise.
8523         (write_psymtabs_to_index): Likewise.
8524         (save_gdb_index_command): Likewise.
8525         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8526         command.
8527         * dwarf2read.h: New file.
8528
8529 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8530
8531         PR gdb/22670
8532         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8533         symbol name if the CU's language stores symbol names in linkage
8534         format.
8535         * language.h (struct language_defn)
8536         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8537         all instances of this struct.
8538
8539 2018-03-26  Tom Tromey  <tom@tromey.com>
8540
8541         * stack.c (backtrace_command_1): Remove verbose code.
8542
8543 2018-03-26  Tom Tromey  <tom@tromey.com>
8544
8545         * python/py-framefilter.c (py_print_type): Don't catch
8546         exceptions.  Return void.
8547         (py_print_value): Likewise.
8548         (py_print_single_arg): Likewise.
8549         (enumerate_args): Don't catch exceptions.
8550         (py_print_args): Likewise.
8551         (py_print_frame): Likewise.
8552         (gdbpy_apply_frame_filter): Catch exceptions here.
8553
8554 2018-03-26  Tom Tromey  <tom@tromey.com>
8555
8556         * stack.c (_initialize_stack): Remove trailing newlines from help
8557         text.  Add "Usage" line to "backtrace" help.
8558
8559 2018-03-26  Tom Tromey  <tom@tromey.com>
8560
8561         PR python/16486:
8562         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8563
8564 2018-03-26  Tom Tromey  <tom@tromey.com>
8565
8566         * python/py-framefilter.c (py_print_single_arg): Return
8567         EXT_LANG_BT_ERROR from catch.
8568
8569 2018-03-26  Tom Tromey  <tom@tromey.com>
8570
8571         PR backtrace/15584:
8572         * stack.c (backtrace_command_1): Move some code into no-filters
8573         "if".
8574
8575 2018-03-26  Tom Tromey  <tom@tromey.com>
8576
8577         * python/py-framefilter.c (throw_quit_or_print_exception): New
8578         function.
8579         (gdbpy_apply_frame_filter): Use it.
8580
8581 2018-03-26  Tom Tromey  <tom@tromey.com>
8582
8583         PR cli/17716:
8584         * python/py-framefilter.c (py_print_type, py_print_value)
8585         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8586         RETURN_MASK_ERROR.
8587
8588 2018-03-26  Tom Tromey  <tom@tromey.com>
8589
8590         * python/py-framefilter.c (enumerate_args): Use
8591         gdb::unique_xmalloc_ptr.
8592
8593 2018-03-26  Tom Tromey  <tom@tromey.com>
8594
8595         * python/py-framefilter.c (py_print_frame): Return
8596         EXT_LANG_BT_OK.
8597         (gdbpy_apply_frame_filter): Update comment.
8598         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8599         Remove.
8600         <EXT_LANG_BT_NO_FILTERS>: Change value.
8601
8602 2018-03-26  Tom Tromey  <tom@tromey.com>
8603
8604         PR backtrace/15582:
8605         * stack.c (backtrace_command): Parse "hide" argument.
8606         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8607         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8608         constant.
8609
8610 2018-03-26  Tom Tromey  <tom@tromey.com>
8611
8612         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8613         add "flags".
8614         (backtrace_command): Remove "fulltrace", add "flags".
8615
8616 2018-03-26  Tom Tromey  <tom@tromey.com>
8617
8618         * stack.c (backtrace_command): Rewrite command line parsing.
8619
8620 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8621
8622         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8623
8624 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8625
8626         * filename-seen-cache.h: Add include guard.
8627
8628 2018-03-26  Keith Seitz  <keiths@redhat.com>
8629
8630         * symfile.c (place_section): Remove "struct" from section_addr_info
8631         in comment.
8632         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8633         "struct" keyword from section_addr_info.
8634
8635 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8636
8637         * regformats/regdef.h (reg): Add constructors.
8638
8639 2018-03-25  Pedro Alves  <palves@redhat.com>
8640
8641         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8642         if then/else bodies in var_func_name extraction.
8643
8644 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8645
8646         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8647         lookup_minimal_symbol() to find symbol entry.
8648         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8649
8650 2018-03-23  Keith Seitz  <keiths@redhat.com>
8651
8652         PR c++/22968
8653         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8654         nested type definitions for C++, too.
8655
8656 2018-03-23  Tom Tromey  <tom@tromey.com>
8657
8658         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8659         a typedef.
8660         (macho_register_oso): Remove.
8661         (macho_symtab_read): Take a std::vector.
8662         (oso_el_compare_name): Now a std::sort comparator.
8663         (macho_symfile_read_all_oso): Take a std::vector.
8664         (macho_symfile_read): Use std::vector.  Remove cleanups.
8665
8666 2018-03-22  Tom Tromey  <tom@tromey.com>
8667
8668         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8669         (record_full_goto_bookmark): Use std::string.
8670
8671 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8672
8673         PR tdep/18295
8674         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8675         a single mask.
8676
8677 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8678
8679         * rs6000-tdep.c (store_insn_p): New function.
8680         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8681         and cr_reg to their unshifted values. Use store_insn_p to
8682         match LR saves using either R1 or fdata->alloca_reg. Use
8683         store_insn_p to match CR saves. Set alloca_reg_offset
8684         when alloca_reg and framep are set. Remove lr_reg shift
8685         when assigning to fdata->lr_register.
8686
8687 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8688
8689         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8690         command line args instead of emitting a warning.
8691
8692 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8693
8694         * tracepoint.h (struct static_tracepoint_marker): Initialize
8695         fields, define default constructor, move constructor and move
8696         assignment, disable the rest.
8697         <str_id, extra>: Make std::string.
8698         (release_static_tracepoint_marker): Remove.
8699         (free_current_marker): Remove.
8700         * tracepoint.c (free_current_marker): Remove.
8701         (parse_static_tracepoint_marker_definition): Adjust to
8702         std::string, use new hex2str overload.
8703         (release_static_tracepoint_marker): Remove.
8704         (print_one_static_tracepoint_marker): Get marker by reference
8705         and adjust to std::string.
8706         (info_static_tracepoint_markers_command): Adjust to std::vector
8707         changes
8708         * target.h (static_tracepoint_marker_p): Remove typedef.
8709         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8710         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8711         bool.
8712         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8713         * target-debug.h
8714         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8715         (target_debug_print_std_vector_static_tracepoint_marker): New.
8716         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8717         to...
8718         (target_debug_print_static_tracepoint_marker_p): ... this.
8719         * target-delegates.c: Re-generate.
8720         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8721         Make std::string.
8722         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8723         (decode_static_tracepoint_spec): Adjust to std::vector.
8724         (tracepoint_print_one_detail): Adjust to std::string.
8725         (strace_marker_decode_location): Adjust to std::string.
8726         (update_static_tracepoint): Adjust to std::string, remove call
8727         to release_static_tracepoint_marker.
8728         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8729         Adjust to std::vector.
8730         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8731         (remote_static_tracepoint_markers_by_strid): Adjust to
8732         std::vector.
8733         * common/rsp-low.h (hex2str): New overload with explicit count
8734         of bytes.
8735         * common/rsp-low.c (hex2str): New overload with explicit count
8736         of bytes.
8737         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8738         (_initialize_rsp_low_selftests): Add test_hex2str test.
8739         * unittests/tracepoint-selftests.c
8740         (test_parse_static_tracepoint_marker_definition): Adjust to
8741         std::string.
8742
8743 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8744
8745         * tracepoint.c (parse_static_tracepoint_marker_definition):
8746         Consider case where the definition is followed by more
8747         definitions.
8748         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8749         tracepoint-selftests.c.
8750         * unittests/tracepoint-selftests.c: New.
8751
8752 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8753
8754         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8755         Carvalho.
8756
8757 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8758
8759         * symtab.c (find_pc_sect_line): fixed indentation.
8760
8761 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8762
8763         * symtab.c (find_pc_sect_line): now uses binary search.
8764
8765 2018-03-19  Tom Tromey  <tom@tromey.com>
8766
8767         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8768         "IDENT" production.
8769
8770 2018-03-19  Pedro Alves  <palves@redhat.com>
8771             Tom Tromey  <tom@tromey.com>
8772
8773         * unittests/observable-selftests.c: New file.
8774         * common/observable.h: New file.
8775         * observable.h: New file.
8776         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8777         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8778         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8779         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8780         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8781         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8782         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8783         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8784         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8785         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8786         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8787         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8788         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8789         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8790         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8791         tui/tui-interp.c, valops.c: Update all users.
8792         * tui/tui-hooks.c (tui_bp_created_observer)
8793         (tui_bp_deleted_observer, tui_bp_modified_observer)
8794         (tui_inferior_exit_observer, tui_before_prompt_observer)
8795         (tui_normal_stop_observer, tui_register_changed_observer):
8796         Remove.
8797         (tui_observers_token): New global.
8798         (attach_or_detach, tui_attach_detach_observers): New functions.
8799         (tui_install_hooks, tui_remove_hooks): Use
8800         tui_attach_detach_observers.
8801         * record-btrace.c (record_btrace_thread_observer): Remove.
8802         (record_btrace_thread_observer_token): New global.
8803         * observer.sh: Remove.
8804         * observer.c: Rename to observable.c.
8805         * observable.c (namespace gdb_observers): Define new objects.
8806         (observer_debug): Move into gdb_observers namespace.
8807         (struct observer, struct observer_list, xalloc_observer_list_node)
8808         (xfree_observer_list_node, generic_observer_attach)
8809         (generic_observer_detach, generic_observer_notify): Remove.
8810         (_initialize_observer): Update.
8811         Don't include observer.inc.
8812         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8813         (clean mostlyclean): Likewise.
8814         (observer.h, observer.inc): Remove targets.
8815         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8816         (COMMON_SFILES): Use observable.c, not observer.c.
8817         * .gitignore: Remove observer.h.
8818
8819 2018-03-18  Tom Tromey  <tom@tromey.com>
8820
8821         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8822         gdb::def_vector.
8823         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8824
8825 2018-03-17  Tom Tromey  <tom@tromey.com>
8826
8827         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8828
8829 2018-03-17  Tom Tromey  <tom@tromey.com>
8830
8831         * target.c (class scoped_target_fd): New.
8832         (target_fileio_close_cleanup): Remove.
8833         (target_fileio_read_alloc_1): Use scoped_target_fd.
8834
8835 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8836
8837         * silent-rules.mk: New.
8838         * Makefile.in: Include silent-rules.mk
8839         (srcdir, VPATH, top_srcdir): Move up.
8840         (COMPILE): Add ECHO_CXX.
8841         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8842         (init.c): Add ECHO_INIT_C.
8843         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8844         (version.c): Add ECHO_GEN.
8845         (printcmd.o): Add ECHO_CXX.
8846         (target-float.o): Add ECHO_CXX.
8847         (ada-exp.o): Add ECHO_CXX.
8848         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8849         (insight$(EXEEXT)): Add ECHO_CXXLD.
8850         * gnulib/configure.ac: Add AM_SILENT_RULES.
8851         * gnulib/aclocal.m4: Re-generate.
8852         * gnulib/configure: Re-generate.
8853         * gnulib/import/Makefile.in: Re-generate.
8854
8855 2018-03-16  Tom Tromey  <tom@tromey.com>
8856
8857         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8858         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8859         * utils.c (do_free_section_addr_info)
8860         (make_cleanup_free_section_addr_info): Remove.
8861         * symfile.h (struct other_sections): Add constructor.
8862         (struct section_addr_info): Remove.
8863         (section_addr_info): New typedef.
8864         (struct sym_fns) <sym_offsets>: Change type of parameter.
8865         (build_section_addr_info_from_objfile)
8866         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8867         (default_symfile_offsets, symbol_file_add)
8868         (symbol_file_add_from_bfd)
8869         (build_section_addr_info_from_section_table): Update.
8870         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8871         * symfile.c (alloc_section_addr_info): Remove.
8872         (build_section_addr_info_from_section_table): Change return type.
8873         Update.
8874         (build_section_addr_info_from_bfd)
8875         (build_section_addr_info_from_objfile): Likewise.
8876         (free_section_addr_info): Remove.
8877         (relative_addr_info_to_section_offsets): Change type of "addrs".
8878         (addrs_section_compar): Now a std::sort comparator.
8879         (addrs_section_sort): Change return type.
8880         (addr_info_make_relative): Change type of "addrs".  Update.
8881         (default_symfile_offsets, syms_from_objfile_1)
8882         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8883         (symbol_file_add_separate): Update.
8884         (symbol_file_add): Change type of "addrs".  Update.
8885         (add_symbol_file_command): Update.  Remove cleanups.
8886         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8887         cleanups.
8888         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8889         * solib.c (solib_read_symbols): Update.
8890         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8891         * machoread.c (macho_symfile_offsets): Update.
8892         * jit.c (jit_bfd_try_read_symtab): Update.
8893
8894 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8895
8896         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8897         unittests/utils-selftests.c.
8898         * unittests/utils-selftests.c: New file.
8899
8900 2018-03-14  Tom Tromey  <tom@tromey.com>
8901
8902         PR cli/14977:
8903         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8904         for NULL.
8905
8906 2018-03-14  Tom Tromey  <tom@tromey.com>
8907
8908         PR cli/19918:
8909         * printcmd.c (printf_pointer): Allow "-" in format.
8910
8911 2018-03-14  Tom Tromey  <tom@tromey.com>
8912
8913         * printcmd.c (_initialize_printcmd): Add usage to printf.
8914
8915 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8916
8917         * MAINTAINERS: Update my email address.
8918
8919 2018-03-13  Tom Tromey  <tom@tromey.com>
8920
8921         * machoread.c (macho_check_dsym): Change filenamep to a
8922         std::string*.
8923         (macho_symfile_read): Update.
8924         * symfile.c (load_command): Use std::string.
8925
8926 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8927
8928         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8929         to error message string.
8930         (riscv_register_name): Use xsnprintf instead of sprintf.
8931         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8932         internal_error.
8933         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8934         error.
8935         (riscv_push_dummy_call): Likewise.
8936
8937 2018-03-12  Tom Tromey  <tom@tromey.com>
8938
8939         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8940         Use gdb::byte_vector.
8941         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8942
8943 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8944
8945         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8946         parameter type to readable_regcache.
8947         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8948         the declaration.
8949
8950 2018-03-11  Tom Tromey  <tom@tromey.com>
8951
8952         * dwarf2read.c (struct nextfield): Add initializers.
8953         (struct nextfnfield): Remove.
8954         (struct fnfieldlist): Add initializers.  Remove "length" and
8955         "head", use std::vector.
8956         (struct decl_field_list): Remove.
8957         (struct field_info): Add initializers.
8958         <fields, baseclasses>: Now std::vector.
8959         <nbaseclasses, nfnfields, typedef_field_list_count,
8960         nested_types_list_count>: Remove.
8961         (dwarf2_add_field, dwarf2_add_type_defn)
8962         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8963         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8964         (process_structure_scope): Update.
8965
8966 2018-03-11  Tom Tromey  <tom@tromey.com>
8967
8968         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8969         for use by std::sort.
8970         (build_type_psymtabs_1): Use std::vector.
8971
8972 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8973
8974         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8975         and LIBMPFR in the printed configuration.
8976
8977 2018-03-08  Tom Tromey  <tom@tromey.com>
8978
8979         * source.c (get_filename_and_charpos): Use scoped_fd.
8980         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8981         (procfs_pidlist): Likewise.
8982         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8983         (iterate_over_mappings): Likewise.
8984
8985 2018-03-08  Tom Tromey  <tom@tromey.com>
8986
8987         * infcall.c (struct call_return_meta_info)
8988         <stack_temporaries_enabled>: Remove.
8989         (get_call_return_value, call_function_by_hand_dummy): Update.
8990         * thread.c (disable_thread_stack_temporaries): Remove.
8991         (enable_thread_stack_temporaries): Remove.
8992         (thread_stack_temporaries_enabled_p): Return bool.
8993         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8994         (get_last_thread_stack_temporary): Update.
8995         * eval.c (evaluate_subexp): Update.
8996         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8997         class, not a function.
8998         (value_ptr, value_vec): Remove typedefs.
8999         (class thread_info) <stack_temporaries_enabled>: Now bool.
9000         <stack_temporaries>: Now a std::vector.
9001         (thread_stack_temporaries_enabled_p)
9002         (value_in_thread_stack_temporaries): Return bool.
9003
9004 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9005
9006         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9007         (getpkt_or_notif_sane_1): Likewise.
9008
9009 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9010
9011         * build-id.c (build_id_to_debug_bfd): Use std::string.
9012
9013 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9014
9015         * build-id.c (find_separate_debug_file_by_buildid): Return
9016         std::string.
9017         * build-id.h (find_separate_debug_file_by_buildid): Return
9018         std::string.
9019         * coffread.c (coff_symfile_read): Adjust to std::string.
9020         * elfread.c (elf_symfile_read): Adjust to std::string.
9021         * symfile.c (separate_debug_file_exists): Change parameter to
9022         std::string.
9023         (find_separate_debug_file): Return std::string.
9024         (find_separate_debug_file_by_debuglink): Return std::string.
9025         * symfile.h (find_separate_debug_file_by_debuglink): Return
9026         std::string.
9027
9028 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9029
9030         * common/xml-utils.c (xml_escape_text): Move code to...
9031         (xml_escape_text_append): ... this new function.
9032         * common/xml-utils.h (xml_escape_text_append): New declaration.
9033         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9034         New function.
9035         (_initialize_xml_utils): register test_xml_escape_text_append as
9036         a selftest.
9037
9038 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9039
9040         * defs.h: Remove MAX_REGISTER_SIZE.
9041         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9042         asserts.
9043         * python/py-unwind.c (pyuw_sniffer): Likewise.
9044
9045 2018-03-07  Tom Tromey  <tom@tromey.com>
9046
9047         * linux-tdep.c (linux_info_proc): Update.
9048         * target.h (struct target_ops) <to_fileio_readlink>: Return
9049         optional<string>.
9050         (target_fileio_readlink): Return optional<string>.
9051         * remote.c (remote_hostio_readlink): Return optional<string>.
9052         * inf-child.c (inf_child_fileio_readlink): Return
9053         optional<string>.
9054         * target.c (target_fileio_readlink): Return optional<string>.
9055
9056 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9057
9058         * regcache.c (cooked_read_test): Add riscv to the list of
9059         architectures that have a save_reggroup.
9060
9061 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9062
9063         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9064         value is not a dynamic class object.
9065
9066 2018-03-06  Tom Tromey  <tom@tromey.com>
9067
9068         * rust-exp.y: Formatting fixes.
9069
9070 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9071
9072         * riscv-tdep.c (riscv_register_name): Remove target description
9073         support.
9074         (riscv_gdbarch_init): Remove target description check.
9075
9076 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9077
9078         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9079         comment.
9080         * riscv-tdep.h: Likewise.
9081
9082 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9083
9084         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9085         (riscv_pseudo_register_write): Delete.
9086         (riscv_gdbarch_init): Remove all use of pseudo registers.
9087
9088 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9089
9090         * record-btrace.c (btrace_print_lines): Replace cleanup
9091         parameter with RAII equivalents.
9092         (btrace_insn_history): Replace cleanup with RAII equivalents.
9093         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9094         make_cleanup_ui_out_tuple_begin_end): Remove.
9095         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9096         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9097         make_cleanup_ui_out_list_begin_end): Remove.
9098
9099 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9100
9101         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9102         parameter types to std::vector.  Use bool.
9103         (record_btrace_wait): Replace VEC(tp_t) with
9104         std::vector<thread_info *>.
9105         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9106
9107 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9108
9109         * record-btrace.c (record_btrace_disable_callback): Remove.
9110         (struct scoped_btrace_disable): New.
9111         (record_btrace_open): Use scoped_btrace_disable.
9112
9113 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9114
9115         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9116         reading values from registers.
9117
9118 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9119
9120         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9121         where appropriate.
9122
9123 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9124
9125         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
9126         change parameter type.  Use GDB's print functions, and use
9127         core_addr_to_string where appropriate.
9128         (riscv_push_dummy_call): Use core_addr_to_string where
9129         appropriate, update call to riscv_print_arg_location, and reindent
9130         a few lines.
9131         (riscv_return_value): Update call to riscv_print_arg_location.
9132
9133 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9134             Tim Newsome <tim@sifive.com>
9135             Albert Ou <a0u@eecs.berkeley.edu>
9136             Darius Rad <darius@bluespec.com>
9137
9138         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
9139         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
9140         (ALLDEPFILES): Add riscv-tdep.c
9141         * configure.tgt: Add riscv support.
9142         * riscv-tdep.c: New file.
9143         * riscv-tdep.h: New file.
9144         * NEWS: Mention new target.
9145         * MAINTAINERS: Add entry for riscv.
9146
9147 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9148
9149         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
9150         fields within aggregates.
9151
9152 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
9153
9154         * record-btrace.c (btrace_print_lines): Change type of flags to
9155         gdb_disassembly_flags.
9156
9157 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9158
9159         * fbsd-nat.c: Include "inf-ptrace.h".
9160         (USE_SIGTRAP_SIGINFO): Conditionally define.
9161         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
9162         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
9163         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
9164         function.
9165         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
9166         Likewise.
9167         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
9168         Likewise.
9169         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
9170         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
9171         "supports_stopped_by_hw_breakpoint" target methods.
9172
9173 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9174
9175         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
9176         * fbsd-nat.c (debug_fbsd_nat): New variable.
9177         (show_fbsd_nat_debug): New function.
9178         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
9179         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
9180
9181 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9182
9183         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
9184         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
9185         prototype.
9186         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
9187         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
9188         method.
9189
9190 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9191
9192         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
9193         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
9194
9195 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9196
9197         * charset.c (struct charset_vector): New.
9198         (charsets): Change type to charset_vector.
9199         (find_charset_names): Adjust.
9200         (add_one): Adjust.
9201         (_initialize_charset): Adjust.
9202
9203 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9204
9205         * progspace.h (struct program_space) <deleted_solibs>: Change
9206         type to std::vector<std::string>.
9207         * progspace.c (clear_program_space_solib_cache): Adjust.
9208         * breakpoint.c (print_solib_event): Adjust.
9209         (check_status_catch_solib): Adjust.
9210         * solib.c (update_solib_list): Adjust.
9211         * ui-out.h (class ui_out) <field_string>: New overload.
9212         * ui-out.c (ui_out::field_string): New overload.
9213
9214 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9215
9216         * progspace.h (struct program_space): Add constructor and
9217         destructor, initialize fields.
9218         (add_program_space): Remove.
9219         * progspace.c (add_program_space): Rename to...
9220         (program_space::program_space): ... this.
9221         (release_program_space): Rename to...
9222         (program_space::~program_space): ... this.
9223         (delete_program_space): Use delete to delete program_space.
9224         (initialize_progspace): Use new to allocate program_space.
9225         * inferior.c (add_inferior_with_spaces): Likewise.
9226         (clone_inferior_command): Likewise.
9227         * infrun.c (follow_fork_inferior): Likewise.
9228         (handle_vfork_child_exec_or_exit): Likewise.
9229
9230 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9231
9232         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
9233         (delim_string_to_char_ptr_vec): Return std::vector of
9234         gdb::unique_xmalloc_ptr.
9235         (dirnames_to_char_ptr_vec_append): Take std::vector of
9236         gdb::unique_xmalloc_ptr.
9237         (dirnames_to_char_ptr_vec): Return std::vector of
9238         gdb::unique_xmalloc_ptr.
9239         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
9240         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
9241         (delim_string_to_char_ptr_vec): Return an std::vector of
9242         gdb::unique_xmalloc_ptr, adjust the code.
9243         (dirnames_to_char_ptr_vec_append): Take an std::vector of
9244         gdb::unique_xmalloc_ptr, adjust the code.
9245         (dirnames_to_char_ptr_vec): Return an std::vector of
9246         gdb::unique_xmalloc_ptr, adjust the code.
9247         * auto-load.c (auto_load_safe_path_vec): Change type to
9248         std::vector of gdb::unique_xmalloc_ptr.
9249         (auto_load_expand_dir_vars): Return an std::vector of
9250         gdb::unique_xmalloc_ptr, adjust the code.
9251         (auto_load_safe_path_vec_update): Adjust.
9252         (filename_is_in_auto_load_safe_path_vec): Adjust.
9253         (auto_load_objfile_script_1): Adjust.
9254         * build-id.c (build_id_to_debug_bfd): Adjust.
9255         * linux-thread-db.c (thread_db_load_search): Adjust.
9256         * source.c (add_path): Adjust.
9257         (openp): Adjust.
9258         * symfile.c (find_separate_debug_file): Adjust.
9259         * utils.c (do_free_char_ptr_vec): Remove.
9260         (make_cleanup_free_char_ptr_vec): Remove.
9261
9262 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
9263
9264         PR gdb/22907
9265         * common/pathstuff.c: Conditionally include "<windows.h>".
9266
9267 2018-03-01  Georg Sauthoff  <mail@georg.so>
9268
9269         PR gdb/22888
9270         * gcore.in: Quote variables and switch interpreter to bash.
9271
9272 2018-03-01  Tom Tromey  <tom@tromey.com>
9273
9274         * dwarf2read.c (alloc_discriminant_info): Fix default_index
9275         assertion.  Add assertion for discriminant_index.
9276         (quirk_rust_enum): Use correct base type name in univariant case.
9277
9278 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
9279
9280         * record.c (get_call_history_modifiers): Return a
9281         record_print_flags.
9282         (cmd_record_call_history): Adjust.
9283         * record-btrace.c (record_btrace_call_history): Adjust.
9284         (record_btrace_call_history_range): Adjust.
9285         (record_btrace_call_history_from): Adjust.
9286         * target-debug.h (target_debug_print_record_print_flags): New.
9287         * target-delegates.c: Re-generate.
9288         * target.c (target_call_history): Change flags type.
9289         (target_call_history_from): Likewise.
9290         (target_call_history_range): Likewise.
9291         * target.h (struct target_ops) <target_call_history>: Likewise.
9292         (target_call_history_from): Likewise.
9293         (target_call_history_range): Likewise.
9294
9295 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9296             Simon Marchi  <simon.marchi@polymtl.ca>
9297
9298         * common/common-utils.c: Include "sys/stat.h".
9299         (is_regular_file): Move here from "source.c"; change return
9300         type to "bool".
9301         * common/common-utils.h (is_regular_file): New prototype.
9302         * common/pathstuff.c (contains_dir_separator): New function.
9303         * common/pathstuff.h (contains_dir_separator): New prototype.
9304         * source.c: Don't include "sys/stat.h".
9305         (is_regular_file): Move to "common/common-utils.c".
9306
9307 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9308
9309         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
9310         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
9311         * auto-load.c: Include "common/pathstuff.h".
9312         * common/common-def.h (current_directory): Move here.
9313         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
9314         function.
9315         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
9316         prototype.
9317         * common/pathstuff.c: New file.
9318         * common/pathstuff.h: New file.
9319         * compile/compile.c: Include "common/pathstuff.h".
9320         * defs.h (current_directory): Move to "common/common-defs.h".
9321         * dwarf2read.c: Include "common/pathstuff.h".
9322         * exec.c: Likewise.
9323         * guile/scm-safe-call.c: Likewise.
9324         * linux-thread-db.c: Likewise.
9325         * main.c: Likewise.
9326         * nto-tdep.c: Likewise.
9327         * objfiles.c: Likewise.
9328         * source.c: Likewise.
9329         * symtab.c: Likewise.
9330         * utils.c: Include "common/pathstuff.h".
9331         (gdb_realpath): Move to "common/pathstuff.c".
9332         (gdb_realpath_keepfile): Likewise.
9333         (gdb_abspath): Likewise.
9334         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
9335         (gdb_realpath_keepfile): Likewise.
9336         (gdb_abspath): Likewise.
9337
9338 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
9339
9340         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
9341         wildcard process pid for super_resume for kernels with a
9342         specific bug.
9343
9344 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
9345
9346         * compile/compile.c (get_args): Add additional comments
9347         explaining function.
9348
9349 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
9350             Tom Tromey  <tom@tromey.com>
9351
9352         * target.h (memory_write_request_s): Remove typedef.  Don't define
9353         VEC.
9354         (target_write_memory_blocks): Change argument to std::vector.
9355         (struct memory_write_request): Add constructor.
9356         * target-memory.c (compare_block_starting_address): Return bool.
9357         Change argument types.
9358         (claim_memory): Change arguments to use std::vector.
9359         (split_regular_and_flash_blocks, blocks_to_erase)
9360         (compute_garbled_blocks): Likewise.
9361         (cleanup_request_data, cleanup_write_requests_vector): Remove.
9362         (target_write_memory_blocks): Change argument to std::vector.
9363         * symfile.c (struct load_section_data): Add constructor and
9364         destructor.  Use std::vector for "requests".
9365         (struct load_progress_data): Add initializers.
9366         (load_section_callback): Update.  Use "new".
9367         (clear_memory_write_data): Remove.
9368         (generic_load): Update.
9369
9370 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
9371
9372         * arch/aarch64.h: Use common/tdesc.h.
9373
9374 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9375
9376         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
9377         architecture with a 64-bit ABI.
9378
9379 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9380
9381         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
9382         ahead of target description loading.
9383
9384 2018-02-26  Tom Tromey  <tom@tromey.com>
9385
9386         * stack.c (backtrace_command_1): Update.
9387         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
9388         of "flags".
9389         * python/py-framefilter.c (py_print_frame)
9390         (gdbpy_apply_frame_filter): Change type of "flags".
9391         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
9392         of "flags".
9393         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
9394         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
9395         * extension.h (enum frame_filter_flag): Rename from
9396         frame_filter_flags.
9397         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
9398         (apply_ext_lang_frame_filter): Change type of "flags".
9399         * extension.c (apply_ext_lang_frame_filter): Change type of
9400         "flags".
9401         * extension-priv.h (struct extension_language_ops)
9402         <apply_frame_filter>: Change type of "flags".
9403
9404 2018-02-26  Tom Tromey  <tom@tromey.com>
9405
9406         PR python/16497:
9407         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
9408         off-by-one in py_end computation.
9409         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
9410         PRINT_MORE_FRAMES.
9411         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
9412         constant.
9413
9414 2018-02-26  Tom Tromey  <tom@tromey.com>
9415
9416         * dwarf2read.c (struct variant_field): New.
9417         (struct nextfield) <variant>: New field.
9418         (dwarf2_add_field): Handle DW_TAG_variant_part.
9419         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
9420         discriminated union.
9421         (read_structure_type): Handle DW_TAG_variant_part.
9422         (handle_struct_member_die): New function, extracted from
9423         process_structure_scope.  Handle DW_TAG_variant.
9424         (process_structure_scope): Handle discriminated unions.  Call
9425         handle_struct_member_die.
9426
9427 2018-02-26  Tom Tromey  <tom@tromey.com>
9428
9429         * rust-lang.h (rust_last_path_segment): Declare.
9430         * rust-lang.c (rust_last_path_segment): Now public.  Change
9431         contract.
9432         (struct disr_info): Remove.
9433         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
9434         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
9435         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
9436         (rust_enum_p, rust_enum_variant): New function.
9437         (rust_underscore_fields): Remove "offset" parameter.
9438         (rust_print_enum): New function.
9439         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
9440         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
9441         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
9442         enums.
9443         (rust_internal_print_type): New function, from rust_print_type.
9444         Remove enum code.
9445         (rust_print_type): Call rust_internal_print_type.
9446         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
9447         Update enum handling.
9448         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
9449         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
9450         (rust_union_quirks): New functions.
9451         (process_full_comp_unit, process_full_type_unit): Call
9452         rust_union_quirks.
9453         (process_structure_scope): Update rust_unions if necessary.
9454
9455 2018-02-26  Tom Tromey  <tom@tromey.com>
9456
9457         * value.h (value_union_variant): Declare.
9458         * valops.c (value_union_variant): New function.
9459         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
9460         (struct discriminant_info): New.
9461         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
9462         enumerator.
9463         (struct main_type) <flag_discriminated_union>: New field.
9464
9465 2018-02-26  Tom Tromey  <tom@tromey.com>
9466
9467         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9468         unittests/unpack-selftests.c.
9469         * unittests/unpack-selftests.c: New file.
9470         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
9471
9472 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9473
9474         * dwarf2read.c (struct partial_die_info) <read>: New method.
9475         (read_partial_die): Remove the declaration.
9476         (load_partial_dies): Update.
9477         (partial_die_info::partial_die_info):
9478         (read_partial_die): Change it to partial_die_info::read.
9479
9480 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9481
9482         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
9483         (fixup_partial_die): Remove declaration.
9484         (scan_partial_symbols): Update.
9485         (partial_die_parent_scope): Likewise.
9486         (partial_die_full_name): Likewise.
9487         (fixup_partial_die): Change it to partial_die_info::fixup.
9488
9489 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9490
9491         * dwarf2read.c (read_partial_die): Update the declaration.
9492         (load_partial_dies): Caller update.
9493         (read_partial_die): Remove one argument abbrev_len.
9494
9495 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9496
9497         * dwarf2read.c (struct partial_die_info): Add ctor, delete
9498         assignment operator.
9499         (load_partial_dies): Use ctor and copy ctor.
9500         (read_partial_die): Update.
9501         (dwarf2_cu::find_partial_die): Use ctor.
9502
9503 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9504
9505         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
9506         (find_partial_die_in_comp_unit): Change it to
9507         dwarf2_cu::find_partial_die.
9508         (find_partial_die): Update.
9509
9510 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9511
9512         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
9513         is NULL.
9514
9515 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9516
9517         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
9518
9519 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
9520
9521         * arch/amd64.h: Use common/tdesc.h.
9522         * arch/i386.c: Likewise.
9523         * arch/i386.h: Likewise.
9524         * arch/tic6x.c: Likewise.
9525         * arch/tdesc.h: Move file from here...
9526         * common/tdesc.h: ...to here.
9527         * features/aarch64-core.c: Regenerate.
9528         * features/aarch64-fpu.c: Regenerate.
9529         * features/i386/32bit-avx.c: Regenerate.
9530         * features/i386/32bit-avx512.c: Regenerate.
9531         * features/i386/32bit-core.c: Regenerate.
9532         * features/i386/32bit-linux.c: Regenerate.
9533         * features/i386/32bit-mpx.c: Regenerate.
9534         * features/i386/32bit-pkeys.c: Regenerate.
9535         * features/i386/32bit-sse.c: Regenerate.
9536         * features/i386/64bit-avx.c: Regenerate.
9537         * features/i386/64bit-avx512.c: Regenerate.
9538         * features/i386/64bit-core.c: Regenerate.
9539         * features/i386/64bit-linux.c: Regenerate.
9540         * features/i386/64bit-mpx.c: Regenerate.
9541         * features/i386/64bit-pkeys.c: Regenerate.
9542         * features/i386/64bit-segments.c: Regenerate.
9543         * features/i386/64bit-sse.c: Regenerate.
9544         * features/i386/x32-core.c: Regenerate.
9545         * features/tic6x-c6xp.c: Regenerate.
9546         * features/tic6x-core.c: Regenerate.
9547         * features/tic6x-gp.c: Regenerate.
9548         * target-descriptions.c: Use common/tdesc.h.
9549         * target-descriptions.h: Likewise.
9550
9551 2018-02-24  Tom Tromey  <tom@tromey.com>
9552
9553         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9554         (try_thread_db_load_from_dir, thread_db_load_search): Use
9555         std::string.
9556         (info_auto_load_libthread_db_compare): Return bool.  Change
9557         argument types.
9558         (info_auto_load_libthread_db): Use std::vector, std::string.
9559         Remove cleanups.
9560
9561 2018-02-24  Tom Tromey  <tom@tromey.com>
9562
9563         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9564         std::string.
9565         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9566         std::string*.
9567         * gdbarch.c: Rebuild.
9568         * gdbarch.h: Rebuild.
9569         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9570         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9571         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9572         std::string*.
9573
9574 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9575
9576         * gdbtypes.h (sect_offset): Change type to uint64_t.
9577         (sect_offset_str): New function.
9578         * dwarf2read.c (create_addrmap_from_aranges): Use
9579         sect_offset_str.
9580         (error_check_comp_unit_head): Likewise.
9581         (create_debug_type_hash_table): Likewise.
9582         (read_cutu_die_from_dwo): Likewise.
9583         (init_cutu_and_read_dies): Likewise.
9584         (init_cutu_and_read_dies_no_follow): Likewise.
9585         (process_psymtab_comp_unit_reader): Likewise.
9586         (partial_die_parent_scope): Likewise.
9587         (peek_die_abbrev): Likewise.
9588         (process_queue): Likewise.
9589         (dwarf2_physname): Likewise.
9590         (read_namespace_alias): Likewise.
9591         (read_import_statement): Likewise.
9592         (create_dwo_cu_reader): Likewise.
9593         (create_cus_hash_table): Likewise.
9594         (lookup_dwo_cutu): Likewise.
9595         (inherit_abstract_dies): Likewise.
9596         (read_func_scope): Likewise.
9597         (read_call_site_scope): Likewise.
9598         (dwarf2_add_member_fn): Likewise.
9599         (read_common_block): Likewise.
9600         (read_module_type): Likewise.
9601         (read_typedef): Likewise.
9602         (read_subrange_type): Likewise.
9603         (load_partial_dies): Likewise.
9604         (read_partial_die): Likewise.
9605         (find_partial_die): Likewise.
9606         (read_str_index): Likewise.
9607         (dwarf2_string_attr): Likewise.
9608         (build_error_marker_type): Likewise.
9609         (lookup_die_type): Likewise.
9610         (dump_die_shallow): Likewise.
9611         (follow_die_ref): Likewise.
9612         (dwarf2_fetch_die_loc_sect_off): Likewise.
9613         (dwarf2_fetch_constant_bytes): Likewise.
9614         (follow_die_sig): Likewise.
9615         (get_signatured_type): Likewise.
9616         (get_DW_AT_signature_type): Likewise.
9617         (dwarf2_find_containing_comp_unit): Likewise.
9618         (set_die_type): Likewise.
9619
9620 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9621
9622         * arch/aarch64.c: Include "common-defs.h".
9623         * arch/amd64.c: Likewise.
9624         * arch/i386.c: Likewise.
9625
9626 2018-02-21  Tom Tromey  <tom@tromey.com>
9627
9628         * value.h: (extract_field_op): Update.
9629         * eval.c (extract_field_op): Return a const char *.
9630         * expression.h (parse_expression_for_completion): Update.
9631         * completer.c (complete_expression): Update.
9632         (add_struct_fields): Make fieldname const.
9633         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9634         (mark_completion_tag, parse_exp_in_context_1): Update.
9635         (parse_expression_for_completion): Change "name" to
9636         unique_xmalloc_ptr*.
9637
9638 2018-02-21  Tom Tromey  <tom@tromey.com>
9639
9640         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9641
9642 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9643
9644         * avr-tdep.c (avr_read_pc): Change parameter type to
9645         readable_regcache.
9646         * gdbarch.sh (read_pc): Likewise.
9647         * gdbarch.c: Re-generated.
9648         * gdbarch.h: Re-generated.
9649         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9650         readable_regcache.
9651         * ia64-tdep.c (ia64_read_pc): Likewise.
9652         * mips-tdep.c (mips_read_pc): Likewise.
9653         * spu-tdep.c (spu_read_pc): Likewise.
9654
9655 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9656
9657         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9658         * regcache-dump.c: New file.
9659         * regcache.c: Move register_dump to regcache-dump.c.
9660         (maintenance_print_registers): Likewise.
9661         (maintenance_print_raw_registers): Likewise.
9662         (maintenance_print_cooked_registers): Likewise.
9663         (maintenance_print_register_groups): Likewise.
9664         (maintenance_print_remote_registers): Likewise.
9665         (_initialize_regcache): Likewise.
9666         * regcache.h (register_dump): Moved from regcache.c.
9667
9668 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9669
9670         * regcache.c (regcache::regcache): Update.
9671         (regcache::invalidate): Move it to detached_regcache::invalidate.
9672         (get_thread_arch_aspace_regcache): Update.
9673         (regcache::raw_update): Update.
9674         (regcache::cooked_read): Remove some code.
9675         (regcache::cooked_read_value): Likewise.
9676         (regcache::raw_write): Remove assert on m_readonly_p.
9677         (regcache::raw_supply_integer): Move it to
9678         detached_regcache::raw_supply_integer.
9679         (regcache::raw_supply_zeroed): Likewise.
9680         * regcache.h (detached_regcache) <raw_supply_integer>: New
9681         declaration.
9682         <raw_supply_zeroed, invalidate>: Likewise.
9683         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9684         <invalidate>: Likewise.
9685         <m_readonly_p>: Removed.
9686
9687 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9688
9689         * infcmd.c (get_return_value): Let stop_regs point to
9690         get_current_regcache.
9691         * regcache.c (regcache::regcache): Remove.
9692         (register_dump_reg_buffer): New class.
9693         (regcache_print): Adjust.
9694         * regcache.h (regcache): Remove constructors.
9695
9696 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9697
9698         * regcache.c (class register_dump): New class.
9699         (register_dump_regcache, register_dump_none): New class.
9700         (register_dump_remote, register_dump_groups): New class.
9701         (regcache_print): Update.
9702         * regcache.h (regcache_dump_what): Move it to regcache.c.
9703         (regcache) <dump>: Remove.
9704
9705 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9706
9707         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9708          reg_buffer_rw *.
9709         (jit_unwind_reg_set_impl): Call raw_supply.
9710         (jit_frame_sniffer): Use reg_buffer_rw.
9711         * record-full.c (record_full_core_regbuf): Change its type.
9712         (record_full_core_open_1): Use reg_buffer_rw.
9713         (record_full_close): Likewise.
9714         (record_full_core_fetch_registers): Use regcache->raw_supply.
9715         (record_full_core_store_registers): Likewise.
9716         * regcache.c (regcache::get_register_status): Move it to
9717         reg_buffer.
9718         (regcache_raw_set_cached_value): Remove.
9719         (regcache::raw_set_cached_value): Remove.
9720         (regcache::raw_write): Call raw_supply.
9721         (regcache::raw_supply): Move it to reg_buffer_rw.
9722         * regcache.h (regcache_raw_set_cached_value): Remove.
9723         (reg_buffer_rw): New class.
9724
9725 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9726
9727         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9728         readonly_detached_regcache.
9729         (dummy_frame_prev_register): Use regcache->cooked_read.
9730         * frame.c (frame_save_as_regcache): Change return type.
9731         (frame_pop): Update.
9732         * frame.h (frame_save_as_regcache): Update declaration.
9733         * inferior.h (get_infcall_suspend_state_regcache): Update
9734         declaration.
9735         * infrun.c (infcall_suspend_state) <registers>: use
9736         readonly_detached_regcache.
9737         (save_infcall_suspend_state): Don't use regcache_dup.
9738         (get_infcall_suspend_state_regcache): Change return type.
9739         * linux-fork.c (struct fork_info) <savedregs>: Change to
9740         readonly_detached_regcache.
9741         <pc>: New field.
9742         (fork_save_infrun_state): Don't use regcache_dup.
9743         (info_checkpoints_command): Adjust.
9744         * mi/mi-main.c (register_changed_p): Update declaration.
9745         (mi_cmd_data_list_changed_registers): Use
9746         readonly_detached_regcache.
9747         (register_changed_p): Change parameter type to
9748         readonly_detached_regcache.
9749         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9750         readonly_detached_regcache.
9751         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9752         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9753         New.
9754         (regcache::save): Move it to reg_buffer.
9755         (regcache::restore): Change parameter type.
9756         (regcache_dup): Remove.
9757         * regcache.h (reg_buffer) <save>: New method.
9758         (readonly_detached_regcache): New class.
9759         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9760         readonly_detached_regcache.
9761         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9762
9763 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9764
9765         * frame.c (frame_save_as_regcache): Use regcache method save.
9766         (frame_pop): Use regcache method restore.
9767         * infrun.c (restore_infcall_suspend_state): Likewise.
9768         * linux-fork.c (fork_load_infrun_state): Likewise.
9769         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9770         save.
9771         * regcache.c (regcache_save): Remove.
9772         (regcache::restore): More asserts.
9773         (regcache_cpy): Remove.
9774         * regcache.h (regcache_save): Remove the declaration.
9775         (regcache::restore): Move from private to public.
9776         Remove the friend declaration of regcache_cpy.
9777         (regcache_cpy): Remove declaration.
9778
9779 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9780
9781         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9782         parameter type to 'readable_regcache *'.
9783         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9784         * arm-tdep.c (arm_neon_quad_read): Likewise.
9785         (arm_pseudo_read): Likewise.
9786         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9787         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9788         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9789         * gdbarch.c: Re-generated.
9790         * gdbarch.h: Re-generated.
9791         * gdbarch.sh (pseudo_register_read): Change parameter type to
9792         'readable_regcache *'.
9793         (pseudo_register_read_value): Likewise.
9794         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9795         (h8300_pseudo_register_read): Likewise.
9796         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9797         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9798         (i386_pseudo_register_read_into_value): Likewise.
9799         (i386_pseudo_register_read_value): Likewise.
9800         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9801         declaration.
9802         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9803         * m32c-tdep.c (m32c_raw_read): Likewise.
9804         (m32c_read_flg): Likewise.
9805         (m32c_banked_register): Likewise.
9806         (m32c_banked_read): Likewise.
9807         (m32c_sb_read): Likewise.
9808         (m32c_part_read): Likewise.
9809         (m32c_cat_read): Likewise.
9810         (m32c_r3r2r1r0_read): Likewise.
9811         (m32c_pseudo_register_read): Likewise.
9812         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9813         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9814         (mep_pseudo_cr64_read): Likewise.
9815         (mep_pseudo_register_read): Likewise.
9816         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9817         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9818         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9819         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9820         (regcache::cooked_read): Likewise.
9821         (regcache::cooked_read_value): Likewise.
9822         (regcache_cooked_read_signed):
9823         (regcache::cooked_read): Likewise.
9824         * regcache.h (readable_regcache): New class.
9825         (regcache): Inherit readable_regcache.  Move some methods to
9826         readable_regcache.
9827         * rl78-tdep.c (rl78_pseudo_register_read): Change
9828         parameter type to 'readable_regcache *'.
9829         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9830         (e500_pseudo_register_read): Change parameter type to
9831         'readable_regcache *'.
9832         (dfp_pseudo_register_read): Likewise.
9833         (vsx_pseudo_register_read): Likewise.
9834         (efpr_pseudo_register_read): Likewise.
9835         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9836         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9837         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9838         (sh64_pseudo_register_read): Likewise.
9839         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9840         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9841         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9842         (spu_pseudo_register_read): Likewise.
9843         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9844         (xtensa_pseudo_register_read): Likewise.
9845
9846 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9847
9848         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9849         (regcache::arch): Move it to reg_buffer::arch.
9850         (regcache::register_buffer): Likewise.
9851         (regcache::assert_regnum): Likewise.
9852         (regcache::num_raw_registers): Likewise.
9853         * regcache.h (reg_buffer): New class.
9854         (regcache): Inherit reg_buffer.
9855
9856 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9857
9858         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9859         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9860
9861 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9862
9863         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9864
9865 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9866
9867         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9868         (SFILES): Remove common/*.c files.
9869         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9870         * common/common.host: Add common reference.
9871         * configure.ac: Likewise.
9872         * configure: Regenerate.
9873
9874 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9875
9876         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9877         (block_initialize_namespace): Use new.
9878         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9879         (dwarf2_free_objfile): Use delete.
9880         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9881         (copy_type_recursive): Use new.
9882         * gdb_obstack.h (allocate_on_obstack): New.
9883
9884 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9885
9886         PR gdb/22849
9887         * inferior.c (exit_inferior_1): Reset inf->control.
9888
9889 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9890
9891         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9892         declaration.
9893
9894 2018-02-14  Pedro Alves  <palves@redhat.com>
9895
9896         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9897         frame_cleanup_after_sniffer on exception.
9898
9899 2018-02-14  Tom Tromey  <tom@tromey.com>
9900
9901         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9902         const.
9903         (solib_bfd_open): Make pathname const.
9904         * solib.c (solib_bfd_open): Make pathname const.
9905         * solib-spu.c (spu_bfd_fopen): Make name const.
9906         (spu_bfd_open): Make pathname const.
9907         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9908         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9909
9910 2018-02-14  Tom Tromey  <tom@tromey.com>
9911
9912         * symfile.c (symfile_bfd_open): Update.
9913         * source.h (openp, source_full_path_of, find_and_open_source):
9914         Change argument type to unique_xmalloc_ptr.
9915         * source.c (openp): Take a unique_xmalloc_ptr.
9916         (source_full_path_of, find_and_open_source): Likewise.
9917         (open_source_file, symtab_to_fullname): Update.
9918         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9919         unique_xmalloc_ptr.
9920         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9921         (exec_file_find): Update.
9922         * psymtab.c (psymtab_to_fullname): Update.
9923         * nto-tdep.h (nto_find_and_open_solib): Update.
9924         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9925         unique_xmalloc_ptr.
9926         * exec.c (exec_file_attach): Update.
9927         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9928         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9929
9930 2018-02-14  Tom Tromey  <tom@tromey.com>
9931
9932         * solib.c: Include source.h.
9933         * nto-tdep.c: Include source.h.
9934         * mi/mi-cmd-env.c: Include source.h.
9935         * infcmd.c: Include source.h.
9936         * exec.c: Include source.h.
9937         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9938         (add_path, directory_switch, source_path, init_source_path): Move
9939         declarations...
9940         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9941         (add_path, directory_switch, source_path, init_source_path):
9942         ...here.
9943
9944 2018-02-14  Tom Tromey  <tom@tromey.com>
9945
9946         * solist.h (exec_file_find, solib_find): Return
9947         unique_xmalloc_ptr.
9948         (solib_bfd_fopen): Take a const char *.
9949         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9950         (exec_file_find, solib_find): Likewise.
9951         (solib_bfd_fopen): Do not take ownership of "pathname".
9952         (solib_bfd_open): Use unique_xmalloc_ptr.
9953         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9954         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9955         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9956         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9957
9958 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9959
9960         * ada-lang.c (name_match_type_from_name): Remove reference to
9961         ada_name_for_lookup in function's documentation.
9962         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9963
9964 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9965
9966         * defs.h (enum openp_flags): New enum.
9967         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9968         Move to enum openp_flags.
9969         (openp_flags): New enum flags.
9970         (openp): Change parameter type to openp_flags.
9971         * source.c (openp): Change parameter type to openp_flags.
9972         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9973         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9974
9975 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9976
9977         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9978         per-command.
9979
9980 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9981
9982         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9983         into...
9984         (class dwarf2_queue_guard): ...the destructor of this new class.
9985         (dw2_do_instantiate_symtab): Create instance of the new class
9986         dwarf2_queue_guard, remove cleanup.
9987
9988 2018-02-09  Tom Tromey  <tom@tromey.com>
9989
9990         * source.c (find_source_lines): Don't reference past the end of
9991         the vector.
9992
9993 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9994
9995         * remote.c (remote_btrace_maybe_reopen): Change error message.
9996         * btrace.c (btrace_enable): Likewise.
9997         (parse_xml_btrace): Likewise.
9998         (parse_xml_btrace_conf): Likewise.
9999
10000 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10001
10002         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10003         (linux_enable_pt, linux_enable_bts): Call
10004         diagnose_perf_event_open_fail.
10005
10006 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10007
10008         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10009         Remove parameter and change return type.  Update callers.  Move it.
10010         (linux_enable_bts, linux_enable_pt): Improve error message.
10011         (linux_enable_pt): Remove zero buffer size check.
10012         (linux_enable_btrace): Improve error messages.  Remove NULL return
10013         check.
10014
10015 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10016
10017         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10018         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10019         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10020         (linux_supports_pt, linux_supports_btrace): Remove.
10021         (linux_enable_bts): Call cpu_supports_bts.
10022         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10023         * remote.c (remote_supports_btrace): Remove.
10024         (init_remote_ops): Remove remote_supports_btrace.
10025         * target-delegates.c: Regenerated.
10026         * target.c (target_supports_btrace): Remove.
10027         * target.h (target_ops) <to_supports_btrace>: Remove
10028         (target_supports_btrace): Remove.
10029         * x86-linux-nat.c (x86_linux_create_target): Remove
10030         linux_supports_btrace.
10031
10032 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10033
10034         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10035         btrace failed.
10036         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10037         exception and use message in own exception.
10038
10039 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10040
10041         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10042         (perf_event_pt_event_type): Use gdb_file_up.
10043         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10044         scoped_fd, and scoped_mmap.
10045
10046 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10047
10048         * common/scoped_mmap.h: New.
10049         * unittests/scoped_mmap-selftest.c: New.
10050         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10051         unittests/scoped_mmap-selftest.c.
10052
10053 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10054
10055         * common/scoped_fd.h: New.
10056         * unittests/scoped_fd-selftest.c: New.
10057         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10058         unittests/scoped_fd-selftest.c.
10059
10060 2018-02-09  Tom Tromey  <tom@tromey.com>
10061
10062         * auto-load.c (auto_load_section_scripts): Use
10063         gdb::unique_xmalloc_ptr.
10064
10065 2018-02-09  Tom Tromey  <tom@tromey.com>
10066
10067         * auto-load.c (execute_script_contents): Use std::string.
10068
10069 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10070
10071         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10072         Python function, rather than a new command.
10073
10074 2018-02-08  Tom Tromey  <tom@tromey.com>
10075
10076         * solib.c (solib_find_1): Use std::string.
10077         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10078
10079 2018-02-08  Tom Tromey  <tom@tromey.com>
10080
10081         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10082
10083 2018-02-08  Tom Tromey  <tom@tromey.com>
10084
10085         * source.c (find_source_lines): Use gdb::def_vector.
10086
10087 2018-02-08  Tom Tromey  <tom@tromey.com>
10088
10089         * macrocmd.c (struct temporary_macro_definition): New.
10090         (macro_define_command): Use temporary_macro_definition.  Remove
10091         cleanups.
10092         (free_macro_definition_ptr): Remove.
10093
10094 2018-02-08  Tom Tromey  <tom@tromey.com>
10095
10096         * macroexp.c (maybe_expand): Use std::string.
10097
10098 2018-02-08  Tom Tromey  <tom@tromey.com>
10099
10100         * macroexp.c (struct macro_buffer): Add initializers for some
10101         members.
10102         (init_buffer, init_shared_buffer, free_buffer)
10103         (free_buffer_return_text): Remove.
10104         (macro_buffer): New constructors.
10105         (~macro_buffer): New destructor.
10106         (macro_buffer::set_shared): New method.
10107         (macro_buffer::resize_buffer, macro_buffer::appendc)
10108         (macro_buffer::appendmem): Now methods, not free functions.
10109         (set_token, append_tokens_without_splicing, stringify)
10110         (macro_stringify): Update.
10111         (gather_arguments): Change return type.  Remove argc_p argument,
10112         add args_ptr argument.  Use std::vector.
10113         (substitute_args): Remove argc argument.  Accept std::vector.
10114         (expand): Update.  Use std::vector.
10115         (scan, macro_expand, macro_expand_next): Update.
10116
10117 2018-02-08  Tom Tromey  <tom@tromey.com>
10118
10119         * symtab.c (default_collect_symbol_completion_matches_break_on):
10120         Use unique_xmalloc_ptr.
10121         * macroscope.h: (sal_macro_scope, user_macro_scope)
10122         (default_macro_scope): Return unique_xmalloc_ptr.
10123         * macroscope.c (sal_macro_scope, user_macro_scope)
10124         (default_macro_scope): Return unique_xmalloc_ptr.
10125         * macroexp.h (macro_expand, macro_expand_once): Return
10126         unique_xmalloc_ptr.
10127         * macroexp.c (macro_expand, macro_expand_once): Return
10128         unique_xmalloc_ptr.
10129         * macrocmd.c (macro_expand_command, macro_expand_once_command)
10130         (info_macro_command, info_macros_command): Use
10131         unique_xmalloc_ptr.
10132         * compile/compile-c-support.c (write_macro_definitions): Use
10133         unique_xmalloc_ptr.
10134         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
10135
10136 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
10137
10138         * value.c (value_static_field): Assign field type instead of
10139         containing type when returning an optimized out value.
10140
10141 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10142
10143         * ft32-tdep.c (ft32_read_pc): Remove.
10144         (ft32_write_pc): Remove.
10145         (ft32_gdbarch_init): Update.
10146         * m32r-tdep.c (m32r_read_pc): Remove.
10147         (m32r_gdbarch_init): Update.
10148         * mep-tdep.c (mep_read_pc): Remove.
10149         (mep_gdbarch_init): Update.
10150         * microblaze-tdep.c (microblaze_write_pc): Remove.
10151         (microblaze_gdbarch_init): Update.
10152         * mn10300-tdep.c (mn10300_read_pc): Remove.
10153         (mn10300_write_pc): Remove.
10154         (mn10300_gdbarch_init): Update.
10155         * moxie-tdep.c (moxie_read_pc): Remove.
10156         (moxie_write_pc): Remove.
10157         (moxie_gdbarch_init): Update.
10158
10159 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10160
10161         * expprint.c (print_subexp_standard): Handle
10162         OP_F77_UNDETERMINED_ARGLIST.
10163         (dump_subexp_body_standard): Likewise.
10164
10165 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
10166
10167         * target-descriptions.c (tdesc_element_visitor) Add empty
10168         implementations.
10169         (tdesc_type): Move make_gdb_type from here.
10170         (tdesc_type_builtin): Likewise.
10171         (tdesc_type_vector): Likewise.
10172         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
10173         (make_gdb_type_struct): Move from tdesc_type_with_fields.
10174         (make_gdb_type_union): Likewise.
10175         (make_gdb_type_flags): Likewise.
10176         (make_gdb_type_enum): Likewise.
10177         (make_gdb_type): New function.
10178         (tdesc_register_type): Use static make_gdb_type.
10179
10180 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
10181
10182         * infcmd.c (default_print_one_register_info): Align natural-format
10183         column values consistently one under another.
10184         (pad_to_column): New function.
10185
10186 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
10187
10188         * dwarf2read.c (dwarf2_physname): Move commment.
10189
10190 2018-02-01  Leszek Swirski  <leszeks@google.com>
10191
10192         * varobj.c (varobj_formatted_print_options): Allow recursive
10193         pretty printing if pretty printing is enabled.
10194
10195 2018-02-01  Leszek Swirski  <leszeks@google.com>
10196
10197         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
10198         names after a structop as a filename.
10199
10200 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10201
10202         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
10203         (arm_record_coproc_data_proc): Likewise.
10204
10205 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10206
10207         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
10208
10209 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
10210
10211         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
10212         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
10213
10214 2018-01-31  Pedro Alves  <palves@redhat.com>
10215
10216         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
10217         * inflow.c (child_terminal_save_inferior): Wrap reference to
10218         tcgetpgrp in HAVE_TERMIOS_H.
10219         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
10220         _WIN32.
10221         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
10222         always iterate over all inferiors.
10223         (gdbsim_cntrl_c): Adjust.
10224         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
10225
10226 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10227
10228         * gdbtypes.c (lookup_array_range_type): Make sure the array's
10229         index type is objfile-owned if the element type is as well.
10230
10231 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10232
10233         GDB 8.1 released.
10234
10235 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10236
10237         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
10238         "features/s390x-linux64.c".
10239         (_initialize_s390_linux_tdep): Remove initialization of tdescs
10240         s390_linux32 and s390x_linux64.
10241         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
10242         default tdesc.
10243         * s390-tdep.c: Include "features/s390-linux32.c" and
10244         "features/s390x-linux64.c".
10245         (s390_tdesc_valid): Add check for tdesc_has_registers.
10246         (s390_gdbarch_init): Make sure there is always a valid tdesc.
10247         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
10248         tdesc_s390x_linux64.
10249         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
10250         tdesc_s390x_linux64 to...
10251         * s390-tdep.h: ...here.
10252
10253 2018-01-30  Pedro Alves  <palves@redhat.com>
10254
10255         PR gdb/13211
10256         * config.in, configure: Regenerate.
10257         * configure.ac: Check for getpgid.
10258         * go32-nat.c (go32_pass_ctrlc): New.
10259         (go32_target): Install it.
10260         * inf-child.c (inf_child_target): Install
10261         child_terminal_save_inferior, child_pass_ctrlc and
10262         child_interrupt.
10263         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
10264         (inf_ptrace_target): No longer install it.
10265         * infcmd.c (interrupt_target_1): Adjust.
10266         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
10267         (child_interrupt): Declare.
10268         (inferior::terminal_state): New.
10269         * inflow.c (struct terminal_info): Update comments.
10270         (inferior_process_group): Delete.
10271         (terminal_is_ours): Delete.
10272         (gdb_tty_state): New.
10273         (child_terminal_init): Adjust.
10274         (is_gdb_terminal, sharing_input_terminal_1)
10275         (sharing_input_terminal): New functions.
10276         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
10277         Set the process's actual process group in the foreground if
10278         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
10279         mark terminal as the inferior's if not sharing GDB's terminal.
10280         Don't check attach_flag.
10281         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
10282         pass down a target_terminal_state.
10283         (child_terminal_save_inferior): New, factored out from ...
10284         (child_terminal_ours_1): ... this.  Handle
10285         target_terminal_state::is_ours_for_output.
10286         (child_interrupt, child_pass_ctrlc): New.
10287         (inflow_inferior_exit): Clear the inferior's terminal_state.
10288         (copy_terminal_info): Copy the inferior's terminal state.
10289         (_initialize_inflow): Remove reference to terminal_is_ours.
10290         * inflow.h (inferior_process_group): Delete.
10291         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
10292         * procfs.c (procfs_target): Don't install procfs_interrupt.
10293         (procfs_interrupt): Delete.
10294         * remote.c (remote_serial_quit_handler): Adjust.
10295         (remote_interrupt): Remove ptid parameter.  Adjust.
10296         * target-delegates.c: Regenerate.
10297         * target.c: Include "terminal.h".
10298         (target_terminal::terminal_state): Rename to ...
10299         (target_terminal::m_terminal_state): ... this.
10300         (target_terminal::init): Adjust.
10301         (target_terminal::inferior): Adjust to per-inferior
10302         terminal_state.
10303         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
10304         (target_terminal::ours, target_terminal::ours_for_output): Use
10305         target_terminal_is_ours_kind.
10306         (target_interrupt): Remove ptid parameter.  Adjust.
10307         (default_target_pass_ctrlc): Adjust.
10308         * target.h (target_ops::to_terminal_save_inferior): New field.
10309         (target_ops::to_interrupt): Remove ptid_t parameter.
10310         (target_interrupt): Remove ptid_t parameter.  Update comment.
10311         (target_pass_ctrlc): Update comment.
10312         * target/target.h (target_terminal_state): New scoped enum,
10313         factored out of ...
10314         (target_terminal::terminal_state): ... here.
10315         (target_terminal::inferior): Update comments.
10316         (target_terminal::restore_inferior): New.
10317         (target_terminal::is_inferior, target_terminal::is_ours)
10318         (target_terminal::is_ours_for_output): Adjust.
10319         (target_terminal::scoped_restore_terminal_state): Adjust to
10320         rename, and call restore_inferior() instead of inferior().
10321         (target_terminal::scoped_restore_terminal_state::m_state): Change
10322         type.
10323         (target_terminal::terminal_state): Rename to ...
10324         (target_terminal::m_terminal_state): ... this and change type.
10325
10326 2018-01-30  Pedro Alves  <palves@redhat.com>
10327
10328         * linux-nat.c (wait_for_signal): New function.
10329         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
10330         directly.
10331         (async_terminal_is_ours)
10332         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
10333         (linux_nat_add_target): Don't override
10334         to_terminal_inferior/to_terminal_ours.
10335
10336 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
10337
10338         * remote.c (remote_follow_fork): Don't call "detach_inferior".
10339
10340 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
10341
10342         * dwarf2read.c (free_dwo_files): Add forward-declaration.
10343         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
10344         dwarf2_per_objfile_free here.
10345         (dwarf2_per_objfile_free): Remove.
10346         (_initialize_dwarf2_read): Don't register
10347         dwarf2_per_objfile_free as a registry cleanup.
10348
10349 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
10350
10351         Avoid compilation errors in MinGW native builds
10352
10353         The error is triggered by including python-internal.h, and the
10354         error message is:
10355
10356              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
10357                       from build-gnulib/import/math.h:27,
10358                       from d:/usr/Python26/include/pyport.h:235,
10359                       from d:/usr/Python26/include/Python.h:58,
10360                       from python/python-internal.h:94,
10361                       from python/py-arch.c:24:
10362              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
10363         using ::hypot;
10364                 ^~~~~
10365
10366         This happens because Python headers define 'hypot' to expand t
10367         '_hypot' in the Windows builds.
10368         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
10369         'hypoth'.  This avoids a compilation error.
10370
10371 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10372
10373         * MAINTAINERS (Write After Approval): Fix ordering.
10374
10375 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10376
10377         * MAINTAINERS (Write After Approval): Add Alan Hayward.
10378
10379 2018-01-26  Alan Modra  <amodra@gmail.com>
10380
10381         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
10382         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
10383         Remove nop.  Make const.  Comment.
10384         (powerpc32_plt_stub_so_2): New.
10385         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
10386         Correct count.  Update uses.
10387         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
10388         Move common code reading PLT entry word.  Correct
10389         powerpc32_plt_stub PLT address calculation.
10390         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
10391         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
10392         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
10393         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
10394         (ppc64_standard_linkage8): Likewise.
10395         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
10396         Correct insns description.
10397         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
10398
10399 2018-01-24  Pedro Alves  <palves@redhat.com>
10400
10401         GCC PR libstdc++/83906
10402         * gdbtypes.c (operator==(const dynamic_prop &,
10403         const dynamic_prop &)): New.
10404         (operator==(const range_bounds &, const range_bounds &)): New.
10405         (check_types_equal): Use them instead of memcmp.
10406         * gdbtypes.h (operator==(const dynamic_prop &,
10407         const dynamic_prop &)): Declare.
10408         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
10409         (operator==(const range_bounds &, const range_bounds &)): Declare.
10410         (operator!=(const range_bounds &, const range_bounds &)): Declare.
10411
10412 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10413
10414         * s390-linux-tdep.c (s390_record_address_mask)
10415         (s390_record_calc_disp_common, s390_record_calc_disp)
10416         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10417         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10418         (s390_process_record): Move to s390-tdep.c.
10419         (s390_linux_init_abi_any): Adjust.
10420         * s390-tdep.c (s390_record_address_mask)
10421         (s390_record_calc_disp_common, s390_record_calc_disp)
10422         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10423         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10424         (s390_process_record): Moved from s390-linux-tdep.c
10425         (s390_gdbarch_init): Adjust.
10426
10427 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10428
10429         * s390-linux-nat.c (s390-tdep.h): New include.
10430         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
10431         (HFILES_NO_SRCDIR): Add s390-tdep.h.
10432         (ALLDEPFILES): Add s390-tdep.c.
10433         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
10434         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
10435         * s390-tdep.h: ...this.  New file.
10436         * s390-linux-tdep.c (s390-tdep.h): New include.
10437         (_initialize_s390_tdep): Rename to...
10438         (_initialize_s390_linux_tdep): ...this and adjust.
10439         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
10440         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
10441         s390-tdep.h.
10442         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
10443         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
10444         (s390_is_partial_instruction, s390_software_single_step)
10445         (is_non_branch_ril, s390_displaced_step_copy_insn)
10446         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
10447         (s390_prologue_data, s390_addr, s390_store, s390_load)
10448         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
10449         (s390_register_call_saved, s390_guess_tracepoint_registers)
10450         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
10451         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
10452         (s390_pseudo_register_name, s390_pseudo_register_type)
10453         (s390_pseudo_register_read, s390_pseudo_register_write)
10454         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
10455         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
10456         (s390_addr_bits_remove, s390_address_class_type_flags)
10457         (s390_address_class_type_flags_to_name)
10458         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
10459         (s390_function_arg_float, s390_function_arg_vector)
10460         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
10461         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
10462         (s390_frame_align, s390_register_return_value, s390_return_value)
10463         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
10464         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
10465         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
10466         (s390_trad_frame_prev_register, s390_unwind_cache)
10467         (s390_prologue_frame_unwind_cache)
10468         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
10469         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
10470         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
10471         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
10472         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
10473         (s390_frame_base_address, s390_local_base_address)
10474         (s390_frame_base, s390_gcc_target_options)
10475         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
10476         (s390_validate_reg_range, s390_tdesc_valid)
10477         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
10478         * s390-tdep.c: ...this.  New file.
10479
10480 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10481
10482         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
10483         (s390_process_record, s390_gdbarch_tdep_alloc)
10484         (s390_linux_init_abi_any): Use/set new hook.
10485
10486 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10487
10488         * s390-linux-tdep.c (osabi.h): New include.
10489         (s390_linux_init_abi_31, s390_linux_init_abi_64)
10490         (s390_linux_init_abi_any): New functions.
10491         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
10492
10493 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10494
10495         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
10496         tdesc_has_registers check
10497
10498 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10499
10500         * s390-linux-tdep.c (s390_tdesc_valid): New function.
10501         (s390_validate_reg_range): New macro.
10502         (s390_gdbarch_init): Adjust.
10503
10504 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10505
10506         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
10507         (s390_gdbarch_tdep_alloc): Adjust.
10508         (s390_gdbarch_init): Adjust.
10509
10510 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10511
10512         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
10513         <have_tdb>: Change type to bool.
10514         (s390_gdbarch_tdep_alloc): Adjust.
10515         (s390_gdbarch_init): Adjust.
10516
10517 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10518
10519         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
10520         (gdbarch_tdep) <have_upper, have_vx>: New fields.
10521         (s390_gdbarch_tdep_alloc): New function.
10522         (s390_gdbarch_init): Allocate tdep at start and use its fields
10523         instead of separate variables.
10524
10525 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10526
10527         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10528         when looking for cached gdbarch and add comment for remaining.
10529
10530 2018-01-22  Pedro Alves  <palves@redhat.com>
10531             Sergio Durigan Junior  <sergiodj@redhat.com>
10532
10533         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10534         case.
10535
10536 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10537
10538         * MAINTAINERS: Update my company e-mail address.
10539
10540 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10541
10542         * regcache.c (cooked_write_test): New function.
10543         (_initialize_regcache): Register the test.
10544
10545 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10546
10547         * ia64-tdep.c (ia64_pseudo_register_read): Call
10548         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10549         * m32c-tdep.c (m32c_cat_read): Likewise.
10550         (m32c_r3r2r1r0_read): Likewise.
10551         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10552         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10553
10554 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10555
10556         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10557         method raw_read instead of regcache_raw_read.
10558         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10559         * arm-tdep.c (arm_neon_quad_read): Likewise.
10560         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10561         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10562         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10563         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10564         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10565         (i386_pseudo_register_read_into_value): Likewise.
10566         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10567         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10568         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10569         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10570         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10571         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10572         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10573         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10574         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10575
10576 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10577
10578         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10579         * configure.tgt: Remove target mt.
10580         * mt-tdep.c: Remove.
10581         * regcache.c (cooked_read_test): Remove the check for mt.
10582
10583 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10584
10585         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10586         instead of gdbarch_pseudo_register_read_value.
10587
10588 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10589
10590         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10591         language is Ada.
10592
10593 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10594
10595         * linespec.c (create_sals_line_offset): Remove code that preserved
10596         the symtab_and_line's line number.
10597
10598 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10599
10600         * varobj.c (varobj_create): Don't set valid_block when creating a
10601         floating varobj.
10602
10603 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10604
10605         * varobj.c (varobj_create): Remove out of date comment.
10606
10607 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10608
10609         PR mi/20395
10610         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10611         updating innermost block.
10612         * parse.c (innermost_block_tracker::update): Take extra type
10613         parameter, and check types match before updating innermost block.
10614         (write_dollar_variable): Update innermost block for registers.
10615         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10616         (innermost_block_tracker::innermost_block_tracker): Initialise
10617         m_types member.
10618         (innermost_block_tracker::reset): Take type parameter.
10619         (innermost_block_tracker::update): Take type parameter, and pass
10620         type through as needed.
10621         (innermost_block_tracker::m_types): New member.
10622         * varobj.c (varobj_create): Pass type when reseting innermost
10623         block.
10624
10625 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10626
10627         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10628         * ada-lang.c (resolve_subexp): Likewise.
10629         * breakpoint.c (set_breakpoint_condition) Likewise.
10630         (watch_command_1) Likewise.
10631         * c-exp.y (variable): Likewise.
10632         * d-exp.y (PrimaryExpression): Likewise.
10633         * f-exp.y (variable): Likewise.
10634         * go-exp.y (variable): Likewise.
10635         * m2-exp.y (variable): Likewise.
10636         * objfiles.c (objfile::~objfile): Likewise.
10637         * p-exp.y (variable): Likewise.
10638         * parse.c (innermost_block): Change type.
10639         * parser-defs.h (class innermost_block_tracker): New.
10640         (innermost_block): Change to innermost_block_tracker.
10641         * printcmd.c (display_command): Switch to innermost_block API.
10642         (do_one_display): Likewise.
10643         * rust-exp.y (do_one_display): Likewise.
10644         * symfile.c (clear_symtab_users): Likewise.
10645         * varobj.c (varobj_create): Switch to innermost_block API, replace
10646         use of innermost_block with block stored on varobj object.
10647
10648 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10649
10650         * expression.h (innermost_block): Remove declaration.
10651         * varobj.c: Add 'parser-defs.h' include.
10652
10653 2018-01-19  Tom Tromey  <tom@tromey.com>
10654
10655         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10656         symbols in the static and global blocks.
10657
10658 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10659
10660         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10661         gdb_ptrace.h, and move including gdb_wait.h ...
10662         * nat/linux-ptrace.h: ... to here.
10663
10664 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10665
10666         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10667         inf_ptrace_detach_success.
10668         (inf_ptrace_detach_success): Add inferior parameter, use it
10669         instead of inferior_ptid, pass it to detach_inferior.
10670         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10671         parameter.
10672         * inferior.c (detach_inferior): Add overload that takes an
10673         inferior object.
10674         * inferior.h (detach_inferior): Likewise.
10675         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10676         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10677         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10678
10679 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10680
10681         * target.h (struct target_ops) <to_detach>: Add inferior
10682         parameter.
10683         (target_detach): Likewise.
10684         * target.c (dispose_inferior): Pass inferior down.
10685         (target_detach): Pass inferior down.  Assert that it is equal to
10686         the current inferior.
10687         * aix-thread.c (aix_thread_detach): Pass inferior down.
10688         * corefile.c (core_file_command): Pass current_inferior() down.
10689         * corelow.c (core_detach): Add inferior parameter.
10690         * darwin-nat.c (darwin_detach): Likewise.
10691         * gnu-nat.c (gnu_detach): Likewise.
10692         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10693         * infcmd.c (detach_command): Pass current_inferior() down to
10694         target_detach.
10695         * infrun.c (follow_fork_inferior): Pass parent_inf to
10696         target_detach.
10697         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10698         target_detach.
10699         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10700         * linux-thread-db.c (thread_db_detach): Likewise.
10701         * nto-procfs.c (procfs_detach): Likewise.
10702         * procfs.c (procfs_detach): Likewise.
10703         * record.c (record_detach): Likewise.
10704         * record.h (struct inferior): Forward-declare.
10705         (record_detach): Add inferior parameter.
10706         * remote-sim.c (gdbsim_detach): Likewise.
10707         * remote.c (remote_detach_1): Likewise.
10708         (remote_detach): Likewise.
10709         (extended_remote_detach): Likewise.
10710         * sol-thread.c (sol_thread_detach): Likewise.
10711         * target-debug.h (target_debug_print_inferior_p): New macro.
10712         * target-delegates.c: Re-generate.
10713         * top.c (kill_or_detach): Pass inferior down to target_detach.
10714         * windows-nat.c (windows_detach): Add inferior parameter.
10715
10716 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10717
10718         * target.h (struct target_ops) <to_detach>: Remove args
10719         parameter.
10720         (target_detach): Likewise.
10721         * target.c (dispose_inferior): Adjust.
10722         (target_detach): Remove args parameter, adjust.
10723         * aix-thread.c (aix_thread_detach): Adjust.
10724         * corefile.c (core_file_command): Adjust.
10725         * corelow.c (core_detach): Adjust.
10726         * darwin-nat.c (darwin_detach): Adjust.
10727         * gnu-nat.c (gnu_detach): Adjust.
10728         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10729         * infcmd.c (detach_command): Adjust
10730         * infrun.c (follow_fork_inferior): Adjust.
10731         (handle_vfork_child_exec_or_exit): Adjust.
10732         * linux-fork.c (linux_fork_detach): Remove args parameter.
10733         * linux-fork.h (linux_fork_detach): Likewise.
10734         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10735         * linux-thread-db.c (thread_db_detach): Likewise.
10736         * nto-procfs.c (procfs_detach): Likewise.
10737         * procfs.c (procfs_detach): Likewise.
10738         (do_detach): Remove signo parameter.
10739         * record.c (record_detach): Remove args parameter.
10740         * record.h (record_detach): Likewise.
10741         * remote-sim.c (gdbsim_detach): Likewise.
10742         * remote.c (remote_detach_1): Likewise.
10743         (remote_detach): Likewise.
10744         (extended_remote_detach): Likewise.
10745         * sol-thread.c (sol_thread_detach): Likewise.
10746         * target-delegates.c: Re-generate.
10747         * top.c (struct qt_args) <args>: Remove field.
10748         (kill_or_detach): Don't pass args.
10749         (quit_force): Don't set args.
10750         * windows-nat.c (windows_detach): Remove args parameter.
10751
10752 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10753
10754         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10755         (arm_linux_init_abi): Install it.
10756
10757 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10758
10759         * osabi.c (gdb_osabi_names): Extend the regexp for
10760         arm-linux-gnueabihf.
10761
10762 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10763
10764         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10765         m_abbrevs.
10766         (abbrev_table::add_abbrev): Update.
10767         (abbrev_table::lookup_abbrev): Update.
10768
10769 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10770
10771         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10772
10773 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10774
10775         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10776         to "std::string".
10777
10778 2018-01-17  Tom Tromey  <tom@tromey.com>
10779
10780         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10781
10782 2018-01-17  Tom Tromey  <tom@tromey.com>
10783
10784         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10785         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10786         (create_array_type_with_stride): Update.
10787         * dwarf2read.c (set_die_type): Update.
10788
10789 2018-01-17  Tom Tromey  <tom@tromey.com>
10790
10791         * dwarf2read.c (delayed_method_info): Remove typedef.
10792         (dwarf2_cu::method_info): Now a std::vector.
10793         (add_to_method_list): Update.
10794         (free_delayed_list): Remove.
10795         (compute_delayed_physnames): Update.
10796         (process_full_comp_unit, process_full_type_unit): Clear the method
10797         list.  Remove cleanups.
10798         (psymtab_include_file_name): Add name_holder parameter.  Use
10799         unique_xmalloc_ptr.
10800         (dwarf_decode_lines): Update.
10801
10802 2018-01-17  Tom Tromey  <tom@tromey.com>
10803             Simon Marchi  <simon.marchi@ericsson.com>
10804
10805         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10806         (dwarf2_per_objfile::free_cached_comp_units)
10807         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10808         (init_cutu_and_read_dies_no_follow): Update.
10809         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10810         (dwarf2_cu::~dwarf2_cu): New.
10811         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10812         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10813
10814 2018-01-17  Tom Tromey  <tom@tromey.com>
10815             Simon Marchi  <simon.marchi@ericsson.com>
10816
10817         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10818         (struct die_reader_specs) <abbrev_table>: New member.
10819         (struct abbrev_table): Add constructor.
10820         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10821         <abbrev_obstack>: Now an auto_obstack.
10822         (abbrev_table_up): New typedef.
10823         (init_cu_die_reader): Add abbrev_table parameter.
10824         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10825         Add result_dwo_abbrev_table.
10826         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10827         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10828         Update.
10829         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10830         parameter.
10831         (skip_children): Update.
10832         (abbrev_table::alloc_abbrev): Rename from
10833         abbrev_table_alloc_abbrev.
10834         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10835         (abbrev_table::lookup_abbrev): Rename from
10836         abbrev_table_lookup_abbrev.
10837         (abbrev_table_read_table): Return abbrev_table_up.
10838         (abbrev_table_free, abbrev_table_free_cleanup)
10839         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10840         (load_partial_dies): Update.
10841
10842 2018-01-17  Tom Tromey  <tom@tromey.com>
10843
10844         * dwarf2read.c (dwarf2_compute_name): Update comment.
10845         (read_func_scope, read_variable): Update.
10846         (new_symbol): Remove.
10847         (new_symbol_full): Rename to new_symbol.
10848
10849 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10850
10851         PR gdb/16577
10852         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10853         a warning instead of throwing an error, set section size to 0 and return
10854         NULL.
10855         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10856
10857 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10858
10859         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10860         std::string.
10861         (linux_ptrace_attach_fail_reason_string): Likewise.
10862         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10863         Likewise.
10864         (linux_ptrace_attach_fail_reason_string): Likewise.
10865         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10866
10867 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10868
10869         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10870
10871 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10872
10873         PR gdb/21559
10874         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10875         checking for fs_base/gs_base fields in struct user_regs_struct.
10876         * configure: Regenerate.
10877
10878 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10879
10880         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10881         function.
10882         (aarch64_linux_init_abi): Install it to gdbarch hook
10883         gcc_target_options.
10884
10885 2018-01-15  Pedro Alves  <palves@redhat.com>
10886
10887         * common/signals-state-save-restore.c
10888         (save_original_signals_state): Fix typos.
10889
10890 2017-01-12  Tom Tromey  <tom@tromey.com>
10891             Sergio Durigan Junior  <sergiodj@redhat.com>
10892
10893         * Makefile.in (install-only): Install gdb-add-index.
10894
10895 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10896
10897         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10898
10899 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10900
10901         * infrun.c (keep_going_pass_signal): Clear step-over info when
10902         insert_breakpoints fails.
10903
10904 2018-01-11  Pedro Alves  <palves@redhat.com>
10905
10906         PR gdb/22583
10907         * infrun.c (resume): Rename to ...
10908         (resume_1): ... this.
10909         (resume): Reimplement as wrapper around resume_1.
10910
10911 2018-01-11  Pedro Alves  <palves@redhat.com>
10912
10913         PR remote/22597
10914         * remote.c (remote_parse_stop_reply): Default to the last-set
10915         general thread instead of to 'magic_null_ptid'.
10916
10917 2018-01-10  Pedro Alves  <palves@redhat.com>
10918
10919         * language.h (language_get_symbol_name_matcher): Rename ...
10920         (get_symbol_name_matcher): ... this.
10921         * language.c (language_get_symbol_name_matcher): Ditto.
10922         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10923         callers adjusted.
10924
10925 2018-01-10  Pedro Alves  <palves@redhat.com>
10926
10927         PR gdb/22670
10928         * dwarf2read.c
10929         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10930         Adjust to use language_get_symbol_name_matcher instead of
10931         language_defn::la_get_symbol_name_matcher.
10932         * language.c (language_get_symbol_name_matcher): If in Ada mode
10933         and the lookup name is a verbatim match, return Ada's matcher.
10934         * language.h (language_get_symbol_name_matcher): Adjust comment.
10935         (ada_lookup_name_info::verbatim_p):: New method.
10936
10937 2018-01-10  Pedro Alves  <palves@redhat.com>
10938
10939         PR gdb/22670
10940         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10941         minsym's language is language_auto or language_cplus, pass down
10942         language_ada instead.
10943         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10944
10945 2018-01-10  Pedro Alves  <palves@redhat.com>
10946
10947         PR gdb/22670
10948         * minsyms.c (linkage_name_str): New function.
10949         (iterate_over_minimal_symbols): Use it.
10950
10951 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10952
10953         * NEWS: Document that 'info proc' now works on FreeBSD.
10954
10955 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10956
10957         * configure.ac: Check for kinfo_getfile in libutil.
10958         * configure: Regenerate.
10959         * config.in: Regenerate.
10960         * fbsd-nat.c: Include "fbsd-tdep.h".
10961         (fbsd_fetch_cmdline): New.
10962         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10963         rather than calling error.
10964         (fbsd_info_proc): New.
10965         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10966         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10967         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10968
10969 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10970
10971         * fbsd-nat.c (struct free_deleter): Remove.
10972         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10973
10974 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10975
10976         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10977         NULL for an empty pathname.
10978
10979 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10980
10981         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10982         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10983         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10984         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10985         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10986         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10987         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10988         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10989         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10990         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10991         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10992         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10993         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10994         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10995         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10996
10997 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10998
10999         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11000         (gnu_xfer_auxv): New function.
11001         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11002         TARGET_OBJECT_AUXV.
11003
11004 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11005             Simon Marchi  <simon.marchi@ericsson.com>
11006
11007         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11008         common/selftest.c.
11009         (COMMON_OBS): Remove selftest.o.
11010         * configure.ac: Append selftest-arch.c and common/selftest.c to
11011         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11012         * configure: Re-generated.
11013         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11014         GDB_SELF_TEST.
11015         (maintenance_info_selftests): Likewise.
11016
11017 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11018
11019         * ada-valprint.c (val_print_packed_array_elements): Use
11020         proper number of elements when printing an array indexed
11021         by an enumeration type.
11022
11023 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11024
11025         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11026         (dw2_get_file_names_reader): Adjust.
11027         (lookup_dwo_signatured_type): Adjust.
11028         (lookup_dwp_signatured_type): Adjust.
11029         (lookup_signatured_type): Adjust.
11030         (create_type_unit_group): Adjust.
11031         (get_type_unit_group): Adjust.
11032         (process_psymtab_comp_unit_reader): Adjust.
11033         (build_type_psymtabs_reader): Adjust.
11034         (scan_partial_symbols): Adjust.
11035         (add_partial_symbol): Adjust.
11036         (add_partial_subprogram): Adjust.
11037         (peek_die_abbrev): Adjust.
11038         (fixup_go_packaging): Adjust.
11039         (process_imported_unit_die): Adjust.
11040         (dwarf2_compute_name): Adjust.
11041         (dwarf2_physname): Adjust.
11042         (read_import_statement): Adjust.
11043         (handle_DW_AT_stmt_list): Adjust.
11044         (read_file_scope): Adjust.
11045         (read_func_scope): Adjust.
11046         (read_lexical_block_scope): Adjust.
11047         (read_call_site_scope): Adjust.
11048         (read_variable): Adjust.
11049         (dwarf2_rnglists_process): Adjust.
11050         (dwarf2_ranges_process): Adjust.
11051         (dwarf2_ranges_read): Adjust.
11052         (dwarf2_get_pc_bounds): Adjust.
11053         (dwarf2_record_block_ranges): Adjust.
11054         (dwarf2_add_field): Adjust.
11055         (dwarf2_add_member_fn): Adjust.
11056         (read_structure_type): Adjust.
11057         (process_structure_scope): Adjust.
11058         (read_enumeration_type): Adjust.
11059         (read_array_type): Adjust.
11060         (mark_common_block_symbol_computed): Adjust.
11061         (read_common_block): Adjust.
11062         (read_namespace_type): Adjust.
11063         (read_namespace): Adjust.
11064         (read_module_type): Adjust.
11065         (read_tag_pointer_type): Adjust.
11066         (read_tag_ptr_to_member_type): Adjust.
11067         (read_tag_string_type): Adjust.
11068         (read_subroutine_type): Adjust.
11069         (read_typedef): Adjust.
11070         (read_base_type): Adjust.
11071         (attr_to_dynamic_prop): Adjust.
11072         (read_subrange_type): Adjust.
11073         (read_unspecified_type): Adjust.
11074         (dwarf2_read_abbrevs): Adjust.
11075         (load_partial_dies): Adjust.
11076         (read_partial_die): Adjust.
11077         (find_partial_die): Adjust.
11078         (guess_partial_die_structure_name): Adjust.
11079         (fixup_partial_die): Adjust.
11080         (read_attribute_value): Adjust.
11081         (read_addr_index): Adjust.
11082         (read_addr_index_from_leb128): Adjust.
11083         (read_str_index): Adjust.
11084         (dwarf2_string_attr): Adjust.
11085         (get_debug_line_section): Adjust.
11086         (dwarf_decode_line_header): Adjust.
11087         (lnp_state_machine::check_line_address): Adjust.
11088         (dwarf_decode_lines_1): Adjust.
11089         (dwarf_decode_lines): Adjust.
11090         (dwarf2_start_symtab): Adjust.
11091         (var_decode_location): Adjust.
11092         (new_symbol_full): Adjust.
11093         (dwarf2_const_value_data): Adjust.
11094         (dwarf2_const_value_attr): Adjust.
11095         (dwarf2_const_value): Adjust.
11096         (die_type): Adjust.
11097         (die_containing_type): Adjust.
11098         (build_error_marker_type): Adjust.
11099         (lookup_die_type): Adjust.
11100         (guess_full_die_structure_name): Adjust.
11101         (anonymous_struct_prefix): Adjust.
11102         (determine_prefix): Adjust.
11103         (dwarf2_name): Adjust.
11104         (follow_die_ref_or_sig): Adjust.
11105         (follow_die_offset): Adjust.
11106         (follow_die_ref): Adjust.
11107         (follow_die_sig_1): Adjust.
11108         (follow_die_sig): Adjust.
11109         (get_signatured_type): Adjust.
11110         (get_DW_AT_signature_type): Adjust.
11111         (decode_locdesc): Adjust.
11112         (dwarf_decode_macros): Adjust.
11113         (cu_debug_loc_section): Adjust.
11114         (fill_in_loclist_baton): Adjust.
11115         (dwarf2_symbol_mark_computed): Adjust.
11116         (init_one_comp_unit): Don't assign
11117         dwarf2_cu::dwarf2_per_objfile.
11118         (set_die_type): Adjust.
11119
11120 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11121
11122         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11123         <dwarf2_per_objfile>: New field.
11124         (dwarf2_per_objfile): Remove global.
11125         (get_dwarf2_per_objfile): New function.
11126         (set_dwarf2_per_objfile): New function.
11127         (dwarf2_build_psymtabs_hard): Change objfile parameter to
11128         dwarf2_per_objfile.
11129         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11130         (read_abbrev_offset): Likewise.
11131         (read_indirect_string): Likewise.
11132         (read_indirect_line_string): Likewise.
11133         (read_indirect_string_at_offset): Likewise.
11134         (read_indirect_string_from_dwz): Likewise.
11135         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11136         dwarf2_per_objfile.
11137         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11138         (create_all_comp_units): Change objfile parameter to
11139         dwarf2_per_objfile.
11140         (create_all_type_units): Likewise.
11141         (process_queue): Add dwarf2_per_objfile parameter.
11142         (read_and_check_comp_unit_head): Likewise.
11143         (lookup_dwo_unit_in_dwp): Likewise.
11144         (get_dwp_file): Likewise.
11145         (process_cu_includes): Likewise.
11146         (struct free_dwo_file_cleanup_data): New struct.
11147         (dwarf2_has_info): Use get_dwarf2_per_objfile and
11148         set_dwarf2_per_objfile.
11149         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
11150         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
11151         context, adjust calls.
11152         (dw2_instantiate_symtab): Likewise.
11153         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
11154         (dw2_get_cu): Likewise.
11155         (create_cu_from_index_list): Change objfile parameter to
11156         dwarf2_per_objfile.
11157         (create_cus_from_index_list): Get dwarf2_per_objfile from
11158         context, adjust calls.
11159         (create_cus_from_index): Likewise.
11160         (create_signatured_type_table_from_index): Change objfile
11161         parameter to dwarf2_per_objfile.
11162         (create_signatured_type_table_from_debug_names): Change objfile
11163         parameter to dwarf2_per_objfile.
11164         (create_addrmap_from_index): Likewise.
11165         (create_addrmap_from_aranges): Likewise.
11166         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
11167         (dw2_setup): Remove.
11168         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
11169         context.
11170         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
11171         get_dwarf2_per_objfile.
11172         (dw2_forget_cached_source_info): Likewise.
11173         (dw2_map_symtabs_matching_filename): Likewise.
11174         (struct dw2_symtab_iterator) <index>: Remove.
11175         <dwarf2_per_objfile>: New field.
11176         (dw2_symtab_iter_init): Replace index parameter with
11177         dwarf2_per_objfile.
11178         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
11179         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
11180         (dw2_print_stats): Likewise.
11181         (dw2_dump): Likewise.
11182         (dw2_expand_symtabs_for_function): Likewise.
11183         (dw2_expand_all_symtabs): Likewise.
11184         (dw2_expand_symtabs_with_fullname): Likewise.
11185         (dw2_expand_marked_cus): Replace index and objfile parameters
11186         with dwarf2_per_objfile.
11187         (dw_expand_symtabs_matching_file_matcher): Add
11188         dwarf2_per_objfile parameter and adjust calls.
11189         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
11190         adjust calls.
11191         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
11192         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
11193         adjust calls.
11194         (create_cus_from_debug_names_list): Replace objfile parameter
11195         with dwarf2_per_objfile and adjust calls.
11196         (create_cus_from_debug_names): Likewise.
11197         (dwarf2_read_debug_names): Likewise.
11198         (mapped_debug_names::namei_to_name): Adjust call.
11199         (dw2_debug_names_iterator::next): Likewise.
11200         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
11201         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
11202         (dw2_debug_names_dump): Likewise.
11203         (dw2_debug_names_expand_symtabs_for_function): Likewise.
11204         (dw2_debug_names_expand_symtabs_matching): Likewise.
11205         (dwarf2_initialize_objfile): Likewise.
11206         (dwarf2_build_psymtabs): Likewise.
11207         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
11208         this_cu.
11209         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
11210         (read_and_check_comp_unit_head): Likewise.
11211         (read_abbrev_offset): Likewise.
11212         (create_debug_type_hash_table): Likewise.
11213         (create_debug_types_hash_table): Likewise.
11214         (create_all_type_units): Replace objfile parameter with
11215         dwarf2_per_objfile.
11216         (add_type_unit): Add dwarf2_per_objfile parameter.
11217         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
11218         with dwarf2_per_objfile.
11219         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
11220         (lookup_dwp_signatured_type): Likewise.
11221         (lookup_signatured_type): Likewise.
11222         (read_cutu_die_from_dwo): Likewise.
11223         (init_tu_and_read_dwo_dies): Likewise.
11224         (init_cutu_and_read_dies): Likewise.
11225         (init_cutu_and_read_dies_no_follow): Likewise.
11226         (allocate_type_unit_groups_table): Add objfile parameter.
11227         (create_type_unit_group): Use dwarf2_per_objfile from cu.
11228         (get_type_unit_group): Likewise.
11229         (process_psymtab_comp_unit): Update call.
11230         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
11231         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
11232         (print_tu_stats): Likewise.
11233         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
11234         in void* parameter.
11235         (build_type_psymtabs): Change objfile parameter to
11236         dwarf2_per_objfile.
11237         (process_skeletonless_type_unit): Use dwarf2_per_objfile
11238         passed in void* parameter.
11239         (process_skeletonless_type_units): Change objfile parameter to
11240         dwarf2_per_objfile.
11241         (set_partial_user): Likewise.
11242         (dwarf2_build_psymtabs_hard): Likewise.
11243         (read_comp_units_from_section): Likewise.
11244         (create_all_comp_units): Likewise.
11245         (scan_partial_symbols): Update calls.
11246         (add_partial_symbol): Likewise.
11247         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
11248         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
11249         (process_queue): Add dwarf2_per_objfile parameter.
11250         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
11251         (compute_compunit_symtab_includes): Likewise.
11252         (process_cu_includes): Add dwarf2_per_objfile parameter.
11253         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
11254         (process_full_type_unit): Likewise.
11255         (process_imported_unit_die): Update call.
11256         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
11257         (read_file_scope): Likewise.
11258         (allocate_dwo_file_hash_table): Add objfile parameter.
11259         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
11260         (create_cus_hash_table): Likewise.
11261         (create_dwp_hash_table): Likewise.
11262         (create_dwo_unit_in_dwp_v1): Likewise.
11263         (create_dwp_v2_section): Likewise.
11264         (create_dwo_unit_in_dwp_v2): Likewise.
11265         (lookup_dwo_unit_in_dwp): Likewise.
11266         (try_open_dwop_file): Likewise.
11267         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
11268         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
11269         cleanup to include a reference to dwarf2_per_objfile.
11270         (open_dwp_file): Add dwarf2_per_objfile parameter.
11271         (open_and_init_dwp_file): Likewise.
11272         (get_dwp_file): Likewise.
11273         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
11274         (queue_and_load_all_dwo_tus): Update call.
11275         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
11276         data.
11277         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
11278         (dwarf2_ranges_process): Likewise.
11279         (dwarf2_get_pc_bounds): Likewise.
11280         (mark_common_block_symbol_computed): Likewise.
11281         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11282         (dwarf2_read_abbrevs): Update call.
11283         (read_partial_die): Use dwarf2_per_objfile from cu.
11284         (find_partial_die): Likewise.
11285         (fixup_partial_die): Likewise.
11286         (read_attribute_value): Likewise.
11287         (read_indirect_string_at_offset_from): Add objfile parameter.
11288         (read_indirect_string_at_offset): Add dwarf2_per_objfile
11289         parameter.
11290         (read_indirect_string_from_dwz): Add objfile parameter.
11291         (read_indirect_string): Add objfile parameter.
11292         (read_addr_index_1): Add dwarf2_per_objfile parameter.
11293         (read_addr_index): Use dwarf2_per_objfile from cu.
11294         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
11295         call dw2_setup.
11296         (read_str_index): Use dwarf2_per_objfile from cu.
11297         (get_debug_line_section): Likewise.
11298         (read_formatted_entries): Add dwarf2_per_objfile parameter.
11299         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
11300         (new_symbol_full): Use dwarf2_per_objfile from cu.
11301         (build_error_marker_type): Likewise.
11302         (lookup_die_type): Likewise.
11303         (determine_prefix): Likewise.
11304         (follow_die_offset): Likewise.
11305         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
11306         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
11307         (dwarf2_fetch_die_type_sect_off): Likewise.
11308         (dwarf2_get_die_type): Likewise.
11309         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
11310         (get_signatured_type): Likewise.
11311         (get_DW_AT_signature_type): Likewise.
11312         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
11313         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
11314         (cu_debug_loc_section): Likewise.
11315         (fill_in_loclist_baton): Likewise.
11316         (dwarf2_symbol_mark_computed): Likewise.
11317         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11318         dwarf2_per_objfile.
11319         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
11320         parameter.
11321         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11322         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
11323         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
11324         (set_die_type): Use dwarf2_free_objfile from cu.
11325         (get_die_type_at_offset): Likewise.
11326         (dwarf2_per_objfile_free): Don't assign global variable.
11327         (debug_names) <constructor>: Add dwarf2_per_objfile
11328         parameter, update m_debugstrlookup construction.
11329         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
11330         parameter.
11331         <m_dwarf2_per_objfile>: New field.
11332         <lookup>: Use m_dwarf2_per_objfile.
11333         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
11334         (psyms_seen_size): Likewise.
11335         (write_gdbindex): Replace objfile parameter with
11336         dwarf2_per_objfile.
11337         (write_debug_names): Likewise.
11338         (write_psymtabs_to_index): Likewise.
11339         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
11340         calls.
11341
11342 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11343
11344         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
11345         <dwarf2_per_objfile>: New field.
11346         (struct dwarf2_per_cu_data) <objfile>: Remove.
11347         <dwarf2_per_objfile>: New field.
11348         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
11349         of objfile.
11350         (create_signatured_type_table_from_index): Likewise.
11351         (create_debug_type_hash_table): Likewise.
11352         (fill_in_sig_entry_from_dwo_entry): Likewise.
11353         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
11354         (create_type_unit_group): Assign dwarf2_per_objfile instead of
11355         objfile.
11356         (create_partial_symtab): Access objfile through
11357         dwarf2_per_objfile.
11358         (process_psymtab_comp_unit_reader): Likewise.
11359         (read_comp_units_from_section): Likewise.
11360         (scan_partial_symbols): Likewise.
11361         (add_partial_symbol): Likewise.
11362         (add_partial_subprogram): Likewise.
11363         (peek_die_abbrev): Likewise.
11364         (fixup_go_packaging): Likewise.
11365         (process_full_comp_unit): Likewise.
11366         (process_full_type_unit): Likewise.
11367         (process_imported_unit_die): Likewise.
11368         (dwarf2_compute_name): Likewise.
11369         (dwarf2_physname): Likewise.
11370         (read_import_statement): Likewise.
11371         (create_cus_hash_table): Assign dwarf2_physname instead of
11372         objfile.
11373         (read_func_scope): Access objfile through dwarf2_per_objfile.
11374         (read_lexical_block_scope): Likewise.
11375         (read_call_site_scope): Likewise.
11376         (read_variable): Likewise.
11377         (dwarf2_rnglists_process): Likewise.
11378         (dwarf2_ranges_process): Likewise.
11379         (dwarf2_ranges_read): Likewise.
11380         (dwarf2_record_block_ranges): Likewise.
11381         (dwarf2_add_field): Likewise.
11382         (dwarf2_add_member_fn): Likewise.
11383         (read_structure_type): Likewise.
11384         (process_structure_scope): Likewise.
11385         (read_enumeration_type): Likewise.
11386         (read_array_type): Likewise.
11387         (read_common_block): Likewise.
11388         (read_namespace_type): Likewise.
11389         (read_namespace): Likewise.
11390         (read_module_type): Likewise.
11391         (read_tag_pointer_type): Likewise.
11392         (read_tag_ptr_to_member_type): Likewise.
11393         (read_tag_string_type): Likewise.
11394         (read_subroutine_type): Likewise.
11395         (read_typedef): Likewise.
11396         (read_base_type): Likewise.
11397         (attr_to_dynamic_prop): Likewise.
11398         (read_subrange_type): Likewise.
11399         (read_unspecified_type): Likewise.
11400         (load_partial_dies): Likewise.
11401         (read_partial_die): Likewise.
11402         (find_partial_die): Likewise.
11403         (guess_partial_die_structure_name): Likewise.
11404         (fixup_partial_die): Likewise.
11405         (read_attribute_value): Likewise.
11406         (read_addr_index_from_leb128): Likewise.
11407         (dwarf2_read_addr_index): Likewise.
11408         (dwarf2_string_attr): Likewise.
11409         (lnp_state_machine::check_line_address): Likewise.
11410         (dwarf_decode_lines_1): Likewise.
11411         (dwarf_decode_lines): Likewise.
11412         (dwarf2_start_symtab): Likewise.
11413         (var_decode_location): Likewise.
11414         (new_symbol_full): Likewise.
11415         (dwarf2_const_value_data): Likewise.
11416         (dwarf2_const_value_attr): Likewise.
11417         (dwarf2_const_value): Likewise.
11418         (die_type): Likewise.
11419         (die_containing_type): Likewise.
11420         (lookup_die_type): Likewise.
11421         (guess_full_die_structure_name): Likewise.
11422         (anonymous_struct_prefix): Likewise.
11423         (dwarf2_name): Likewise.
11424         (follow_die_ref_or_sig): Likewise.
11425         (follow_die_offset): Likewise.
11426         (follow_die_ref): Likewise.
11427         (dwarf2_fetch_die_loc_sect_off): Likewise.
11428         (dwarf2_fetch_constant_bytes): Likewise.
11429         (dwarf2_fetch_die_type_sect_off): Likewise.
11430         (dwarf2_get_die_type): Likewise.
11431         (follow_die_sig): Likewise.
11432         (decode_locdesc): Likewise.
11433         (dwarf2_per_cu_objfile): Likewise.
11434         (dwarf2_per_cu_text_offset): Likewise.
11435         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
11436         objfile.
11437         (set_die_type): Access objfile through
11438         dwarf2_per_objfile.
11439
11440 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11441
11442         * valprint.c (converted_character_d): Remove typedef.
11443         (DEF_VEC_O (converted_character_d)): Remove.
11444         (count_next_character): Use std::vector.
11445         (print_converted_chars_to_obstack): Likewise.
11446         (generic_printstr): Likewise.
11447
11448 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11449
11450         * xml-support.h (struct gdb_xml_value): Add constructor.
11451         <value>: Change type to unique_xmalloc_ptr.
11452         (gdb_xml_value_s): Remove typedef.
11453         (DEF_VEC_O (gdb_xml_value_s)): Remove.
11454         (gdb_xml_element_start_handler): Change parameter type to
11455         std::vector.
11456         (xml_find_attribute): Likewise.
11457         * xml-support.c (xml_find_attribute): Change parameter type to
11458         std::vector and adjust.
11459         (gdb_xml_values_cleanup): Remove.
11460         (gdb_xml_parser::start_element): Adjust to std::vector.
11461         (xinclude_start_include): Change paraeter type to std::vector
11462         and adjust.
11463         * btrace.c (check_xml_btrace_version): Likewise.
11464         (parse_xml_btrace_block): Likewise.
11465         (parse_xml_btrace_pt_config_cpu): Likewise.
11466         (parse_xml_btrace_pt): Likewise.
11467         (parse_xml_btrace_conf_bts): Likewise.
11468         (parse_xml_btrace_conf_pt): Likewise.
11469         * memory-map.c (memory_map_start_memory): Likewise.
11470         (memory_map_start_property): Likewise.
11471         * osdata.c (osdata_start_osdata): Likewise.
11472         (osdata_start_item): Likewise.
11473         (osdata_start_column): Likewise.
11474         * remote.c (start_thread): Likewise.
11475         * solib-aix.c (library_list_start_library): Likewise.
11476         (library_list_start_list): Likewise.
11477         * solib-svr4.c (library_list_start_library): Likewise.
11478         (svr4_library_list_start_list): Likewise.
11479         * solib-target.c (library_list_start_segment): Likewise.
11480         (library_list_start_section): Likewise.
11481         (library_list_start_library): Likewise.
11482         (library_list_start_list): Likewise.
11483         * tracepoint.c (traceframe_info_start_memory): Likewise.
11484         (traceframe_info_start_tvar): Likewise.
11485         * xml-syscall.c (syscall_start_syscall): Likewise.
11486         * xml-tdesc.c (tdesc_start_target): Likewise.
11487         (tdesc_start_feature): Likewise.
11488         (tdesc_start_reg): Likewise.
11489         (tdesc_start_union): Likewise.
11490         (tdesc_start_struct): Likewise.
11491         (tdesc_start_flags): Likewise.
11492         (tdesc_start_enum): Likewise.
11493         (tdesc_start_field): Likewise.
11494         (tdesc_start_enum_value): Likewise.
11495         (tdesc_start_vector): Likewise.
11496
11497 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11498
11499         * extension.h (struct xmethod_worker) <clone>: Remove.
11500         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
11501         Remove.
11502         (python_xmethod_worker::clone): Remove.
11503         * valops.c (find_overload_match): Use std::move instead of
11504         clone.
11505
11506 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11507
11508         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
11509         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
11510         <free_xmethod_worker_data>: Remove.
11511         <get_matching_xmethod_workers>: Chance VEC to std::vector.
11512         <get_xmethod_arg_types>: Remove.
11513         <get_xmethod_result_type>: Remove.
11514         <invoke_xmethod>: Remove.
11515         * extension.c (new_xmethod_worker): Remove.
11516         (clone_xmethod_worker): Remove.
11517         (get_matching_xmethod_workers): Return void, pass std::vector by
11518         pointer.
11519         (get_xmethod_arg_types): Rename to...
11520         (xmethod_worker::get_arg_types): ... this, and adjust.
11521         (get_xmethod_result_type): Rename to...
11522         (xmethod_worker::get_result_type): ... this, and adjust.
11523         (invoke_xmethod): Remove.
11524         (free_xmethod_worker): Remove.
11525         (free_xmethod_worker_vec): Remove.
11526         * extension.h (enum ext_lang_rc): Move here from
11527         extension-priv.h.
11528         (struct xmethod_worker): Add constructor and destructor.
11529         <data>: Remove.
11530         <value>: Remove.
11531         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11532         virtual pure methods.
11533         <get_arg_types, get_result_type>: New methods.
11534         (xmethod_worker_ptr): Remove typedef.
11535         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11536         (xmethod_worker_vec): Remove typedef.
11537         (xmethod_worker_up): New typedef.
11538         (invoke_xmethod): Remove.
11539         (clone_xmethod_worker): Remove.
11540         (free_xmethod_worker): Remove.
11541         (free_xmethod_worker_vec): Remove.
11542         (get_xmethod_arg_types): Remove.
11543         (get_xmethod_result_type): Remove.
11544         * valops.c (find_method_list): Use std::vector, don't use
11545         intermediate vector.
11546         (value_find_oload_method_list): Use std::vector.
11547         (find_overload_match): Use std::vector.
11548         (find_oload_champ): Use std::vector.
11549         * value.c (value_free): Use operator delete.
11550         (value_of_xmethod): Rename to...
11551         (value_from_xmethod): ... this.  Don't assign
11552         xmethod_worker::value, take rvalue-reference.
11553         (result_type_of_xmethod): Adjust.
11554         (call_xmethod): Adjust.
11555         * value.h: Include extension.h.
11556         (struct xmethod_worker): Don't forward-declare.
11557         (value_of_xmethod): Rename to...
11558         (value_from_xmethod): ... this, take rvalue-reference.
11559         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11560         (struct python_xmethod_worker): ... this, add constructor and
11561         destructor.
11562         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11563         (gdbpy_free_xmethod_worker_data): Rename to...
11564         (python_xmethod_worker::~python_xmethod_worker): ... this and
11565         adjust.
11566         (gdbpy_clone_xmethod_worker_data): Rename to...
11567         (python_xmethod_worker::clone): ... this and adjust.
11568         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11569         temporary vector.
11570         (gdbpy_get_xmethod_arg_types): Rename to...
11571         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11572         (gdbpy_get_xmethod_result_type): Rename to...
11573         (python_xmethod_worker::do_get_result_type): ... this and
11574         adjust.
11575         (gdbpy_invoke_xmethod): Rename to...
11576         (python_xmethod_worker::invoke): ... this and adjust.
11577         (new_python_xmethod_worker): Rename to...
11578         (python_xmethod_worker::python_xmethod_worker): ... this and
11579         adjust.
11580         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11581         Remove.
11582         (gdbpy_free_xmethod_worker_data): Remove.
11583         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11584         (gdbpy_get_xmethod_arg_types): Remove.
11585         (gdbpy_get_xmethod_result_type): Remove.
11586         (gdbpy_invoke_xmethod): Remove.
11587         * python/python.c (python_extension_ops): Remove obsolete
11588         callbacks.
11589
11590 2018-01-05  Pedro Alves  <palves@redhat.com>
11591
11592         PR gdb/18653
11593         * common/signals-state-save-restore.c
11594         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11595         find a custom handler preinstalled, instead of internal erroring.
11596         But only warn if !quiet.
11597         * common/signals-state-save-restore.h
11598         (save_original_signals_state): New parameter 'quiet'.
11599         * main.c (captured_main_1): Move save_original_signals_state call
11600         after option handling, and pass QUIET.
11601
11602 2018-01-05  Pedro Alves  <palves@redhat.com>
11603
11604         * spu-tdep.c (spu_catch_start): Pass
11605         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11606
11607 2018-01-05  Pedro Alves  <palves@redhat.com>
11608
11609         PR gdb/22670
11610         * ada-lang.c (literal_symbol_name_matcher): New function.
11611         (ada_get_symbol_name_matcher): Use it for
11612         symbol_name_match_type::SEARCH_NAME.
11613         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11614         it down instead of assuming symbol_name_match_type::FULL.
11615         * block.h (block_lookup_symbol): New parameter 'match_type'.
11616         * c-valprint.c (print_unpacked_pointer): Use
11617         lookup_symbol_search_name instead of lookup_symbol.
11618         * compile/compile-object-load.c (get_out_value_type): Pass down
11619         symbol_name_match_type::SEARCH_NAME.
11620         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11621         symbol_name_match_type::FULL.
11622         * cp-support.c (cp_get_symbol_name_matcher): Handle
11623         symbol_name_match_type::SEARCH_NAME.
11624         * infrun.c (insert_exception_resume_breakpoint): Use
11625         lookup_symbol_search_name.
11626         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11627         * psymtab.c (maintenance_check_psymtabs): Use
11628         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11629         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11630         SYMBOL_SEARCH_NAME.
11631         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11632         if symbol_name_match_type::SEARCH_NAME.
11633         (lookup_symbol_in_language): Pass down
11634         symbol_name_match_type::FULL.
11635         (lookup_symbol_search_name): New.
11636         (lookup_language_this): Pass down
11637         symbol_name_match_type::SEARCH_NAME.
11638         (lookup_symbol_aux, lookup_local_symbol): New parameter
11639         'match_type'.  Pass it down.
11640         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11641         (lookup_symbol_search_name): New declaration.
11642         (lookup_symbol_in_block): New 'match_type' parameter.
11643
11644 2018-01-05  Pedro Alves  <palves@redhat.com>
11645
11646         PR gdb/22670
11647         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11648         ada_lookup_symbol.
11649         (ada_lookup_symbol): Reimplement in terms of
11650         ada_lookup_symbol_list, bits factored out from
11651         ada_lookup_encoded_symbol.
11652
11653 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11654
11655         * ada-exp.y (write_object_renaming): When subscripting an array
11656         using a symbol as the index, pass the block in call to
11657         ada_lookup_encoded_symbol when looking that symbol up.
11658
11659 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11660
11661         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11662         TYPE_INDEX_TYPE.
11663
11664 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11665
11666         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11667         the case where VALUE_LVAL (val0) is not lval_memory.
11668
11669 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11670
11671         * ada-valprint.c (print_optional_low_bound): Handle
11672         character-indexed array printing like boolean-indexed array
11673         printing.
11674
11675 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11676
11677         * NEWS: Create a new section for the next release branch.
11678         Rename the section of the current branch, now that it has
11679         been cut.
11680
11681 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11682
11683         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11684         * version.in: Bump version to 8.1.50.DATE-git.
11685
11686 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11687
11688         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11689         Add field.
11690         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11691         Add field.
11692         (default_exception_support_info) <catch_handlers_sym>: Add field.
11693         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11694         (ada_exception_name_addr_1): Add "catch handlers" handling.
11695         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11696         Update all callers.
11697         (create_excep_cond_exprs) <ex>: Add parameter.
11698         (re_set_exception): Update create_excep_cond_exprs call.
11699         (print_it_exception, print_one_exception, print_mention_exception)
11700         (print_recreate_exception): Add "catch handler" handling.
11701         (allocate_location_catch_handlers, re_set_catch_handlers)
11702         (check_status_catch_handlers, print_it_catch_handlers)
11703         (print_one_catch_handlers, print_mention_catch_handlers)
11704         (print_recreate_catch_handlers): New function.
11705         (catch_handlers_breakpoint_ops): New variable.
11706         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11707         Add parameter.  Add "catch handler" handling.
11708         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11709         Add "catch handler" handling.
11710         (ada_exception_catchpoint_cond_string): Add "catch handler"
11711         handling.
11712         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11713         call.
11714         (catch_ada_handlers_command): New function.
11715         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11716         operations structure.
11717         (_initialize_ada_language): Add "catch handlers" command entry.
11718         * NEWS: Document "catch handlers" feature.
11719
11720 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11721
11722         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11723         account when creating the array type of the slice.
11724         (ada_value_slice): Likewise.
11725
11726 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11727
11728         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11729         New enum value.
11730         (create_array_type_with_stride): Add byte_stride_prop parameter.
11731         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11732         New parameter.  Update all callers in this file.
11733         (array_type_has_dynamic_stride): New function.
11734         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11735         of arrays with dynamic byte strides.
11736         * dwarf2read.c (read_array_type): Add support for dynamic
11737         DW_AT_byte_stride attributes.
11738
11739 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11740
11741         * dwarf2read.c (read_unspecified_type): Treat
11742         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11743
11744 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11745
11746         Update copyright year range in all GDB files.
11747
11748 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11749
11750         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11751         and gdb/testsuite/gdb.base/step-line.c.
11752
11753 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11754
11755         * copyright.py (main): Dump the contents of
11756         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11757         even if BY_HAND is empty.
11758
11759 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11760
11761         * top.c (print_gdb_version): Update Copyright year in version
11762         message.
11763
11764 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11765
11766         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11767
11768 For older changes see ChangeLog-2017.
11769 \f
11770 Local Variables:
11771 mode: change-log
11772 left-margin: 8
11773 fill-column: 74
11774 version-control: never
11775 coding: utf-8
11776 End: