82eaa824556aa48ad7b392c91f70ab7aac7e5a17
[external/binutils.git] / gdb / ChangeLog
1 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2
3         * block.h (blockrange, blockranges): New struct declarations.
4         (struct block): Add new field named `ranges'.
5         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
6         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
7         macros for accessing ranges in struct block.
8         (make_blockranges): New declaration.
9         block.c (make_blockranges): New function.
10
11 2018-08-23  Xavier Roirand  <roirand@adacore.com>
12
13         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
14         incrementation.
15
16 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
17
18         * solib-svr4.c (read_program_headers_from_bfd): Return
19         gdb::optional<gdb::byte_vector>.
20         (svr4_exec_displacement): Adjust.
21
22 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
23
24         * solib-svr4.c (read_program_header): Return
25         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
26         (find_program_interpreter): Return
27         gdb::optional<gdb::byte_vector>.
28         (scan_dyntag_auxv): Adjust.
29         (enable_break): Adjust.
30         (svr4_exec_displacement): Adjust.
31
32 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
33
34         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
35         * inf-child.c (inf_child_target::terminal_save_inferior): New.
36
37 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
38
39         * guile/scm-string.c (gdbscm_scm_from_printf): Use
40         string_vprintf.
41         * guile/scm-utils.c (gdbscm_printf): Likewise.
42         * serial.c (serial_printf): Likewise.
43         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
44
45 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
46
47         * stack.c (print_frame): Print frame architecture when printing on
48         an MI output.
49         * NEWS: Mention new "arch" attribute in frame output.
50
51 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
52
53         * arch/aarch64.h (aarch64_regnum): Update comment.
54
55 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
56
57         * NEWS: Add SVE to 8.2 section.
58
59 2018-08-21  Pedro Alves  <palves@redhat.com>
60
61         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
62         out from gdbscm_parse_function_args.
63         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
64         gdbscm_parse_function_args_1.
65
66 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
67
68         PR gdb/17816
69         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
70         operator.
71
72 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
73
74         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
75
76 2018-08-19  Michael Spang  <spang@google.com>
77
78         PR gdb/11786
79         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
80         for PT_TLS segments.
81
82 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
83
84         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
85         dwarf_variable_value.
86         * dwarf2-frame.c (class dwarf_expr_executor):
87         Add override for dwarf_variable_value.
88         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
89         (class symbol_needs_eval_context): Likewise.
90         (indirect_synthetic_pointer): Add forward declaration.
91         (sect_variable_value): New function.
92         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
93         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
94         for DW_OP_GNU_variable_value.
95
96 2018-08-16  Tom Tromey  <tom@tromey.com>
97
98         * top.c (read_command_file): Update.
99         (command_line_input): Remove "repeat" argument.
100         * ada-lang.c (get_selections): Update.
101         * linespec.c (decode_line_2): Update.
102         * defs.h (command_line_input): Remove argument.
103         * cli/cli-script.c (read_next_line): Update.
104         * python/py-gdb-readline.c: Update.
105
106 2018-08-17  Tom Tromey  <tom@tromey.com>
107
108         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
109         command_line_input.
110
111 2018-08-15  Tom Tromey  <tom@tromey.com>
112
113         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
114
115 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
116
117         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
118         If used, use find_pc_partial_function to find address range
119         to disassemble.
120         * mi/mi-main.c (mi_cmd_list_features): Report
121         "data-disassemble-a-option" feature.
122         * NEWS: Mention new -data-disassemble option -a.
123
124 2018-08-13  Tom Tromey  <tom@tromey.com>
125
126         * common/common-defs.h (_FORTIFY_SOURCE): Define.
127
128 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
129
130         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
131         (aarch64_linux_collect_sve_regset): Likewise.
132         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
133         * regcache.h (regcache_map_entry_size): New function.
134
135 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
136
137         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
138         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
139         (SVE_HEADER_VL_LENGTH): Likewise.
140         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
141         (SVE_HEADER_FLAGS_LENGTH): Likewise.
142         (SVE_HEADER_RESERVED_LENGTH): Likewise.
143         (SVE_HEADER_SIZE_OFFSET): Likewise.
144         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
145         (SVE_HEADER_VL_OFFSET): Likewise.
146         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
147         (SVE_HEADER_FLAGS_OFFSET): Likewise.
148         (SVE_HEADER_RESERVED_OFFSET): Likewise.
149         (SVE_HEADER_SIZE): Likewise.
150         (aarch64_linux_core_read_vq): Add function.
151         (aarch64_linux_core_read_description): Check for SVE section.
152
153 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
154
155         * aarch64-fbsd-tdep.c
156         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
157         collect_size.
158         * aarch64-linux-tdep.c
159         (aarch64_linux_iterate_over_regset_sections): Likewise.
160         * alpha-linux-tdep.c
161         (alpha_linux_iterate_over_regset_sections):
162         * alpha-nbsd-tdep.c
163         (alphanbsd_iterate_over_regset_sections): Likewise.
164         * amd64-fbsd-tdep.c
165         (amd64fbsd_iterate_over_regset_sections): Likewise.
166         * amd64-linux-tdep.c
167         (amd64_linux_iterate_over_regset_sections): Likewise.
168         * arm-bsd-tdep.c
169         (armbsd_iterate_over_regset_sections): Likewise.
170         * arm-fbsd-tdep.c
171         (arm_fbsd_iterate_over_regset_sections): Likewise.
172         * arm-linux-tdep.c
173         (arm_linux_iterate_over_regset_sections): Likewise.
174         * corelow.c (get_core_registers_cb): Likewise.
175         (core_target::fetch_registers): Likewise.
176         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
177         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
178         * gdbarch.h (void): Regenerate.
179         * gdbarch.sh: Add supply_size and collect_size.
180         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
181         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
182         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
183         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
184         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
185         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
186         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
187         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
188         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
189         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
190         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
191         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
192         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
193         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
194         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
195         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
196         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
197         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
198         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
199         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
200         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
201         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
202         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
203         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
204         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
205         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
206         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
207         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
208         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
209         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
210
211 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
212
213         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
214         with string_printf.
215
216 2018-08-10  Keith Seitz  <keiths@redhat.com>
217
218         * compile/compile-c-support.c (add_code_header, add_code_footer):
219         Move into policy class.
220         (c_push_user_expression, pop_user_expression_nop)
221         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
222         (compile_program): New host class.
223         (c_compile_program): New typedef.
224         (c_compute_porgram): Use c_compile_program.
225
226 2018-08-10  Keith Seitz  <keiths@redhat.com>
227
228         * compile/compile-internal.h (compile_instance::~compile_instance):
229         Remove calls to htab_delete.
230         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
231         * compile.c (compile_instance::compile_instance): Initialize
232         htab unique pointers.
233         (compile_instance::get_cached_type, compile_instance::insert_type)
234         (compile_instance::error_symbol_once): Update for unique_ptr.
235
236 2018-08-10  Keith Seitz  <keiths@redhat.com>
237
238         * compile/compile-c-symbols.c (struct symbol_error)
239         (hash_symbol_error, eq_symbol_error, del_symbol_error)
240         (compile_instance::insert_symbol_error)
241         (compile_instance::error_symbol_once): Move to ...
242         * compile/compile.c: ... here.
243
244 2018-08-10  Keith Seitz  <keiths@redhat.com>
245
246         * compile/compile-c-support.c (c_get_compile_context): Use `new'
247         instead of `new_compile_instance'.
248         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
249         Update description.
250         If the symbol error map is not initialized, create it.
251         (generate_c_for_for_one_symbol): Do not check/initialize
252         the symbol error map.
253         * compile/compile-c-types.c (compile_c_instance): Make a class.
254         Update all callers.
255         (compile_instance::compile_instance): Initialize the type cache.
256         (get_cached_type): New function.
257         (insert_type): Update description.
258         (compile_c_instance::m_default_cflags): Define.
259         (convert_type): Update description.  Use get_cached_type.
260         (delete_instance): Moved to destructor.
261         (new_compile_instance): Moved to constructor.
262         * compile/compile-c.h (compile_c_instance): Make class inheriting
263         from compile_instance.
264         <base>: Remove field.
265         <type_map, symbol_err_map>: Move to base class.
266         <c_plugin>: Rename to `m_plugin' and remove pointer type.
267         * compile/compile-internal.h (compile_instance): Make class.
268         <type_map_t, symbol_err_map_t>: Define.
269         <fe>: Rename to `m_gcc_fe'.
270         <scope, block, gcc_target_options>: Add `m_' prefix.
271         <m_type_map, m_symbol_err_map>: New fields, moved from
272         compile_c_instance.
273         <destroy>: Remove.
274         (convert_type, new_compile_instance): Remove.
275         * compile/compile.c (cleanup_compile_instance): Remove.
276         (compile_to_object): Use unique_ptr to eliminate cleanups.
277         (compile_instance::set_print_callback, compile_instance::version)
278         (compile_instance::set_verbose)
279         (compile_instance::set_driver_filename)
280         (compile_instance::set_triplet_regexp)
281         (compile_instance::set_arguments)
282         (compile_instance::set_source_file)
283         (compile_instance::compile): Define.
284
285 2018-08-10  Keith Seitz  <keiths@redhat.com>
286
287         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
288         * compile/compile-c-types.c: Define GCC_METHODN macros and include
289         gcc-c-fe.def to define C plugin.
290         (delete_instance): Delete `c_plugin'.
291         (new_compile_instance): Initialize `c_plugin'.
292         * compile/compile-c.h: Include gcc_c_plugin.h.
293         (struct compile_c_instance) <c_plugin>: New member.
294         * gcc-c-plugin.h: New file.
295         Update all callers with API change.
296
297 2018-08-10  Keith Seitz  <keiths@redhat.com>
298
299         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
300         (HFILES_NO_SRCDIR): ... to here.
301         Add compile-internal.h and compile-c.h.
302         * compile/compile-c-support.c: Include compile-c.h.
303         * compile/compile-c-symbols.c: Include compile-c.h.
304         (generate_c_for_variable_locations): Update comment.
305         * compile/compile-c-types.c: Include compile-c.h.
306         * compile/compile-c.h: New file -- moved C language declarations
307         from other files here.
308         * compile/compile-internal.h: Do not include hashtab.h or
309         common/enum-flags.h.
310         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
311         (gcc_convert_symbol, gcc_symbol_address)
312         (generate_c_for_variable_locations, c_get_mode_for_size)
313         (c_get_range_decl_name): Definitions moved to compile-c.h.
314         * compile/compile-loc2c.c: Include compile-c.h.
315
316 2018-08-10  Keith Seitz  <keiths@redhat.com>
317
318         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
319         (c_symbol_substitution_name): ... this.
320         Update all callers.
321
322 2018-08-10  Keith Seitz  <keiths@redhat.com>
323
324         * compile/compile-c-support.c (c_compute_program): Use
325         unique_xmalloc_ptr to eliminate cleanup.
326         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
327         Return a unique_xmalloc_ptr and eliminate cleanup.
328         * compile/compile-internal.h (generate_c_for_variable_locations):
329         Return unique_xmalloc_ptr and update description.
330
331 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
332
333         * corelow.c (core_target::get_core_register_section): Rename
334         min_size to section_min_size.
335
336 2018-08-09  Jim Wilson  <jimw@sifive.com>
337
338         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
339         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
340         * NEWS: Mention new GNU/Linux RISC-V target.
341         * configure.host: Add riscv*-*-linux*.
342         * configure.nat: Add riscv*.
343         * configure.tgt: Add riscv*-*-linux*.
344         * riscv-linux-nat.c: New file.
345         * riscv-linux-tdep.c: New file.
346
347 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
348
349         * infrun.c (resume): Make static, add forward declaration.
350         (proceed): Update header comment.
351         * infrun.h (resume): Delete declaration.
352
353 2018-08-09  Tom Tromey  <tom@tromey.com>
354
355         * riscv-tdep.h: Minor formatting fixes.
356
357 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
358
359         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
360         * dwarf-index-cache.c (create_dir_and_check): Likewise.
361         (test_mkdir_recursive): Likewise.
362         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
363
364 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
365
366         * valarith.c (value_subscripted_rvalue): If an array is not in
367         memory, and we don't know the upper bound, then we can't know that
368         the requested element exists or not.
369
370 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
371
372         * target.c (str_comma_list_concat_elem): Fix typo in comment.
373         (target_options_to_string): Add comment.
374
375 2018-08-08  Tom Tromey  <tom@tromey.com>
376
377         * unittests/scoped_mmap-selftests.c: Check result of "write".
378
379 2018-08-08  Jim Wilson  <jimw@sifive.com>
380
381         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
382         (decode_register_index_short): New.
383         (decode_j_type_insn, decode_cj_type_insn): New.
384         (decode_b_type_insn, decode_cb_type_insn): New.
385         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
386         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
387         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
388         is_c_sw_insn instead of is_sw_insn.
389         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
390         (riscv_software_single_step): New.
391         * riscv-tdep.h (riscv_software_single_step): Declare.
392
393         * riscv-tdep.c (riscv_isa_xlen): Drop static.
394         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
395
396 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
397
398         PR gdb/18050:
399         * target.c (dispose_inferior): Don't dispose of inferiors that are
400         already killed.
401
402 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
403
404         * remote.c (remote_target::download_tracepoint): Change char* to
405         const char*.
406
407 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
408
409         * target.h (target_options_to_string): Return an std::string.
410         * target.c (str_comma_list_concat_elem): Return void, use
411         std::string.
412         (do_option): Likewise.
413         (target_options_to_string): Return an std::string.
414         * linux-nat.c (linux_nat_target::wait): Adjust.
415         * target-debug.h (target_debug_print_options): Adjust.
416
417 2018-08-07  Tom Tromey  <tom@tromey.com>
418
419         * Makefile.in (CPPFLAGS): New variable.
420         (INTERNAL_CPPFLAGS): Use it.
421
422 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
423
424         * NEWS: Mention the index cache.
425
426 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
427
428         * common/pathstuff.h (get_standard_cache_dir): New.
429         * common/pathstuff.c (get_standard_cache_dir): New.
430         * build-id.h (build_id_to_string): New.
431         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
432         DEBUG_STR_SUFFIX): Move to here.
433         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
434         DEBUG_STR_SUFFIX): Move from there.
435         (write_psymtabs_to_index): Make non-static, add basename
436         parameter.  Write to temporary files, rename when done.
437         (save_gdb_index_command): Adjust call to
438         write_psymtabs_to_index.
439         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
440         field.
441         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
442         (get_gdb_index_contents_from_cache): New.
443         (get_gdb_index_contents_from_cache_dwz): New.
444         (dwarf2_initialize_objfile): Read index from cache.
445         (dwarf2_build_psymtabs): Save to index.
446         * dwarf-index-cache.h: New file.
447         * dwarf-index-cache.c: New file.
448         * dwarf-index-write.h: New file.
449
450 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
451
452         * gnulib/aclocal.m4: Re-generate.
453         * gnulib/config.in: Re-generate.
454         * gnulib/configure: Re-generate.
455         * gnulib/import/Makefile.am: Re-generate.
456         * gnulib/import/Makefile.in: Re-generate.
457         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
458         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
459         * gnulib/import/m4/mkdir.m4: New file.
460         * gnulib/import/mkdir.c: New file.
461         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
462         module.
463
464 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
465
466         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
467         * common/scoped_mmap.c: New file.
468         * common/scoped_mmap.h (destroy): New method.
469         (~scoped_mmap, reset): Use destroy.
470         (scoped_mmap): New move constructor.
471         (mmap_file): New declaration.
472         * unittests/scoped_mmap-selftests.c (test_normal,
473         test_invalid_filename, run_tests): New functions.
474         (_initialize_scoped_mmap_selftests): Register selftest.
475
476 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
477
478         * dwarf2read.c (read_gdb_index_from_section): Rename to...
479         (read_gdb_index_from_buffer): ... this.  Remove section
480         parameter, add buffer parameter.
481         (get_gdb_index_contents_ftype,
482         get_gdb_index_contents_dwz_ftype): New typedefs.
483         (dwarf2_read_gdb_index): Add callback parameters to get the
484         index contents.
485         (get_gdb_index_contents_from_section): New.
486         (dwarf2_initialize_objfile): Update call to
487         dwarf2_read_gdb_index.
488
489 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
490
491         * common/filestuff.h (gdb_fopen_cloexec): New overload.
492         (gdb_open_cloexec): Likewise.
493         * nat/linux-osdata.c (command_from_pid): Use string_printf.
494         (commandline_from_pid): Likewise.
495         (linux_xfer_osdata_threads): Likewise.
496         (linux_xfer_osdata_fds): Likewise.
497         * ada-lang.c (is_package_name): Likewise.
498         * auxv.c (procfs_xfer_auxv): Likewise.
499         * breakpoint.c (print_one_breakpoint_location): Use
500         uiout::field_fmt.
501         (print_one_catch_solib): Use string_printf.
502         * coff-pe-read.c (add_pe_exported_sym): Likewise.
503         (add_pe_forwarded_sym): Likewise.
504         * dwarf2read.c (create_type_unit_group): Likewise.
505         (build_error_marker_type): Likewise.
506         * infcall.c (get_function_name): Likewise.
507         * valprint.c (print_converted_chars_to_obstack): Likewise.
508         * xtensa-tdep.c (xtensa_register_type): Likewise.
509
510 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
511
512         * remote.c (remote_target::download_tracepoint): Fix format
513         string errors.
514
515 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
516
517         * tracefile.c: Include common/byte-vector.h.
518         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
519         with trace_regblock_size if needed.  Update uses of buf.
520
521 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
522
523         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
524         std::vector<unsigned char>.
525         * tracepoint.c (collection_list::collection_list): Remove
526         m_regs_mask initializer from initializer list.  Resize
527         m_regs_mask using the largest remote register number.
528         (collection_list::add_remote_register): Remove size check on
529         m_regs_mask.  Use at to access element.
530         (collection_list::stringify): Change type of temp_buf to
531         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
532         stringify the register mask.  Use pack_hex_byte for the register
533         mask.
534
535 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
536
537         * tracepoint.h (class collection_list) <add_register>: Remove.
538         <add_remote_register, add_ax_registers, add_local_register>:
539         Declare.
540         <add_memrange>: Add scope parameter.
541         * tracepoint.c (encode_actions_1): Likewise.
542         (collection_list::add_register): Rename to ...
543         (collection_list::add_remote_register): ... this.  Update
544         comment.
545         (collection_list::add_ax_registers, add_local_register): New
546         methods.
547         (collection_list::add_memrange): Add scope parameter.  Call
548         add_local_register instead of add_register.
549         (finalize_tracepoint_aexpr): New function.
550         (collection_list::collect_symbol): Update calls to add_memrange.
551         Call add_local_register instead of add_register.  Call
552         add_ax_registers.  Call finalize_tracepoint_aexpr.
553         (encode_actions_1): Get remote regnos for $reg action.  Call
554         add_remote_register, add_ax_registers, and add_local_register.
555         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
556         (validate_actionline): Call finalize_tracepoint_aexpr.
557
558 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
559
560         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
561         Replace array buf with gdb::char_vector buf, of size
562         get_remote_packet_size ().  Replace references to buf and
563         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
564         and xsnprintf with snprintf.  Raise errors if the buffer is too
565         small.
566
567 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
568
569         * remote.c (remote_target::download_tracepoint): Fix the has_more
570         predicate in the QTDP action list iteration.
571
572 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
573
574         * remote.c (remote_target::download_tracepoint): Fix indentation
575         in for block.
576
577 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
578
579         * proc-api.c (_initialize_proc_api): Remove c, unused.
580         * procfs.c (procfs_init_inferior): Remove signals, unused.
581         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
582         unused.
583
584 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
585             Andrew Burgess  <andrew.burgess@embecosm.com>
586
587         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
588         'W_STOPCODE (0)' as this could be ambiguous.
589
590 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
591
592         * ser-tcp.c (net_open): Fix thinko when deciding whether to
593         disable TCP's Nagle algorithm (use "ai_protocol" instead of
594         "ai_socktype").
595
596 2018-08-02  Tom Tromey  <tom@tromey.com>
597
598         PR symtab/16842.
599         * dwarf2read.c (read_func_scope): Set symtab on template parameter
600         symbols.
601         (process_structure_scope): Likewise.
602
603 2018-08-02  Xavier Roirand  <roirand@adacore.com>
604
605         PR gdb/22629:
606         * darwin-nat.c (darwin_kill_inferior): Fix handling of
607         kill inferior.
608
609 2018-08-02  Tom Tromey  <tom@tromey.com>
610
611         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
612         (darwin_suspend_inferior, darwin_resume_inferior)
613         (darwin_decode_notify_message, darwin_resume_inferior_threads)
614         (darwin_check_new_threads): Check result of get_darwin_inferior.
615
616 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
617
618         GDB 8.1.1 released.
619
620 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
621
622         * varobj.c (varobj_get_path_expr_parent): Report an error if
623         parent is a dynamic varobj.
624
625 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
626
627         * gnulib/aclocal.m4: Re-generate.
628         * gnulib/config.in: Re-generate.
629         * gnulib/configure: Re-generate.
630         * gnulib/import/Makefile.in: Re-generate.
631         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
632         * gnulib/import/m4/onceonly.m4: Re-generate.
633
634 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
635
636         * target-descriptions.c (struct xml_test_tdesc): New.
637         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
638         (record_xml_tdesc): Update.
639         (maintenance_check_xml_descriptions): Update.
640         * target-descriptions.h (record_xml_tdesc): Update comment.
641
642 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
643
644         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
645         checking array bounds are defined.
646
647 2018-07-30  Tom Tromey  <tom@tromey.com>
648
649         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
650         irreflexivity violation.
651
652 2018-07-30  Tom Tromey  <tom@tromey.com>
653
654         * cli/cli-decode.c (lookup_cmd): Remove lint code.
655         * value.c (unpack_long): Remove lint code.
656         * valops.c (value_ind): Remove lint code.
657         * valarith.c (value_x_binop, value_x_unop, value_equal)
658         (value_pos): Remove lint code.
659
660 2018-07-28  Tom de Vries  <tdevries@suse.de>
661
662         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
663         with undefined upper bound as <optimized out>.
664
665 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
666
667         * gcore.in: Rename variable "name" to "prefix".  Expand
668         "usage" text.
669
670 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
671
672         * windows-nat.c (windows_nat_target::create_inferior): Update to
673         call close() in global namespace.
674
675 2018-07-26  Tom Tromey  <tom@tromey.com>
676
677         * dwarf-index-write.c (add_address_entry): Don't add objfile
678         offsets.
679         * dbxread.c (find_stab_function): Rename from
680         find_stab_function_addr.  Return a bound_minimal_symbol.
681         (read_dbx_symtab): Use raw_text_low, raw_text_high.
682         Don't add objfile offsets.
683         (end_psymtab): Use raw_text_low, raw_text_high,
684         MSYMBOL_VALUE_RAW_ADDRESS.
685         (read_ofile_symtab): Update.
686         (process_one_symbol): Update.
687         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
688         offsets.
689         (dw2_relocate): Remove.
690         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
691         searching addrmap.
692         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
693         Update.
694         (process_psymtab_comp_unit_reader, add_partial_symbol)
695         (add_partial_subprogram, dwarf2_ranges_read): Update.
696         (load_partial_dies): Update.
697         (add_address_entry): Don't add objfile offsets.
698         (dwarf2_build_include_psymtabs): Update.
699         (create_addrmap_from_aranges): Don't add objfile offsets.
700         (dw2_find_pc_sect_compunit_symtab): Update.
701         * mdebugread.c (parse_symbol): Don't add objfile offsets.
702         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
703         Update.
704         (parse_partial_symbols): Don't add objfile offsets.  Use
705         raw_text_low, raw_text_high.  Update.
706         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
707         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
708         or call 'relocate' quick function.  Clear psymbol_map.
709         * psympriv.h (struct partial_symbol) <address>: Add section
710         offset.
711         <set_unrelocated_address>: Rename from set_address.
712         <raw_text_low, raw_text_high>: New methods.
713         <text_low, text_high>: Add objfile parameter.
714         (add_psymbol_to_bcache): Add 'section' parameter.  Call
715         set_unrelocated_address.
716         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
717         (find_pc_psymbol): Update.
718         (fixup_psymbol_section, relocate_psymtabs): Remove.
719         (dump_psymtab, psym_functions): Update.
720         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
721         parameter.
722         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
723         (start_psymtab_common): Update.
724         * symfile-debug.c (debug_qf_relocate): Remove.
725         (debug_sym_quick_functions): Update.
726         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
727         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
728         Update.
729
730 2018-07-26  Tom Tromey  <tromey@redhat.com>
731
732         * dbxread.c (end_psymtab): Use text_high_valid and
733         text_low_valid.
734         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
735         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
736         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
737         Update comment.
738         <text_low_valid, text_high_valid>: New fields.
739         <set_text_low, set_text_high>: Update.
740         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
741
742 2018-07-26  Tom Tromey  <tom@tromey.com>
743
744         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
745         Update.
746         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
747         textlow and texthigh fields.
748         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
749         Update.
750         * mdebugread.c (parse_lines, parse_partial_symbols)
751         (psymtab_to_symtab_1): Update.
752         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
753         Rename fields.  Update comment.  Now private.
754         <text_low, text_high, set_text_low, set_text_high>: New methods.
755         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
756         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
757         (start_psymtab_common, maintenance_info_psymtabs)
758         (maintenance_check_psymtabs): Update.
759         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
760         texthigh fields.
761         (scan_xcoff_symtab): Update.
762
763 2018-07-26  Tom Tromey  <tromey@redhat.com>
764
765         * psympriv.h (struct partial_symbol) <unrelocated_address,
766         address, set_address>: New methods.
767         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
768         (fixup_psymbol_section, relocate_psymtabs): Update.
769         (print_partial_symbols): Add 'objfile' parameter.  Update.
770         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
771         Update.
772
773 2018-07-26  Tom Tromey  <tom@tromey.com>
774
775         * dwarf-index-write.c (write_psymbols, debug_names::insert)
776         (debug_names::write_psymbols): Update.
777         * psympriv.h (struct partial_symbol): Derive from
778         general_symbol_info.
779         <obj_section>: New method.
780         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
781         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
782         (find_pc_sect_psymbol, fixup_psymbol_section)
783         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
784         (print_partial_symbols, recursively_search_psymtabs)
785         (compare_psymbols, psymbol_hash, psymbol_compare)
786         (add_psymbol_to_bcache, maintenance_check_psymtabs)
787         (psymbol_name_matches, psym_fill_psymbol_map): Update.
788
789 2018-07-26  Tom Tromey  <tromey@redhat.com>
790
791         * dbxread.c (end_psymtab): Remove dead code.
792
793 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
794
795         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
796         DWARF unwinders are disabled.
797         * dwarf2-frame.c: Add dwarf2read.h include.
798         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
799         disabled.
800         (dwarf2_frame_unwinders_enabled_p): Define.
801         (show_dwarf_unwinders_enabled_p): New function.
802         (_initialize_dwarf2_frame): Register switch to control DWARF
803         unwinder use.
804         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
805         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
806         (show_dwarf_cmdlist): Remove static keyword.
807         * dwarf2read.h (set_dwarf_cmdlist): Declare.
808         (show_dwarf_cmdlist): Declare.
809         * NEWS: Document new feature.
810
811 2018-07-26  Tom de Vries  <tdevries@suse.de>
812
813         PR breakpoints/23366
814         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
815
816 2018-07-26  Tom de Vries  <tdevries@suse.de>
817
818         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
819         DW_AT_count can't be translated to a dynamic prop.
820
821 2018-07-25  Tom de Vries  <tdevries@suse.de>
822
823         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
824         try/catch.
825
826 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
827
828         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
829
830 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
831
832         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
833
834 2018-07-24  Keith Seitz  <keiths@redhat.comt
835
836         PR symtab/23010
837         * dwarf2read.c (dw2_add_symbol_to_list): New function.
838         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
839         instead of add_symbol_to_list.
840         (read_file_scope): Call prepare_one_comp_unit before reading
841         any other DIEs.
842
843 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
844
845         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
846
847 2018-07-24  Tom Tromey  <tom@tromey.com>
848
849         * utils.c (malloc, realloc, free): Don't declare.
850         * configure, config.in: Rebuild.
851         * configure.ac: Don't check for declarations of free, malloc, or
852         realloc.
853
854 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
855
856         * aarch64-linux-nat.c
857         (aarch64_linux_nat_target::stopped_data_address): Remove unused
858         variable.
859         * arm-linux-nat.c (fetch_regs): Likewise.
860         (store_regs): Likewise.
861         (fetch_vfp_regs): Likewise.
862         (store_vfp_regs): Likewise.
863         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
864         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
865         (arm_linux_nat_target::insert_watchpoint): Likewise.
866         (arm_linux_nat_target::remove_watchpoint): Likewise.
867         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
868         Likewise.
869         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
870         Likewise.
871         * ppc-linux-nat.c (fetch_register): Likewise.
872         (fetch_all_gp_regs): Likewise.
873         (fetch_ppc_registers): Likewise.
874         (store_all_gp_regs): Likewise.
875         (store_ppc_registers): Likewise.
876         (hwdebug_insert_point): Likewise.
877         (can_use_watchpoint_cond_accel): Likewise.
878         * remote-sim.c (gdb_os_write_stdout): Likewise.
879
880 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
881             Tom Tromey  <tom@tromey.com>
882
883         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
884         test for it.
885         * configure: Rebuild.
886
887 2018-07-22  Tom Tromey  <tom@tromey.com>
888
889         * regformats/regdat.sh: Define xmltarget_${name} inside
890         #ifndef IN_PROCESS_AGENT.
891
892 2018-07-22  Tom Tromey  <tom@tromey.com>
893
894         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
895
896 2018-07-22  Tom Tromey  <tom@tromey.com>
897
898         * symfile.c (reread_symbols): Notify iter, not objfile.
899
900 2018-07-22  Tom Tromey  <tom@tromey.com>
901
902         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
903         Use arch_ops.
904         (ravenscar_thread_target::prepare_to_store): Likewise.
905
906 2018-07-22  Tom Tromey  <tom@tromey.com>
907
908         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
909         unused variable.  Call value_fetch_lazy when needed.
910         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
911         Remove unused variable.  Call value_fetch_lazy when needed.
912
913 2018-07-22  Tom Tromey  <tom@tromey.com>
914
915         * m32c-tdep.c (mark_dma): Return void.
916         (make_regs): Remove unused declarations.
917
918 2018-07-22  Tom Tromey  <tom@tromey.com>
919
920         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
921         cmdscm_get_valid_command_smob_arg_unsafe for effect.
922         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
923         bkscm_get_valid_block_smob_arg_unsafe for effect.
924
925 2018-07-22  Tom Tromey  <tom@tromey.com>
926
927         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
928         value_type.
929
930 2018-07-22  Tom Tromey  <tom@tromey.com>
931
932         * windows-nat.c (saved_context): Conditionally define.
933         * remote.c (remote_target::remote_btrace_maybe_reopen):
934         Conditionally declare "warned".
935         * inflow.c (sigquit_ours): Conditionally define.
936         (new_tty): Move "tty" declaration inside #if.
937         * guile/guile.c (guile_datadir): Conditionally define.
938         * charset.c (set_be_le_names): Move some declarations inside #if.
939         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
940         #if.
941         (parse_xml_btrace_conf): Likewise.
942
943 2018-07-22  Tom Tromey  <tom@tromey.com>
944
945         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
946
947 2018-07-22  Tom Tromey  <tom@tromey.com>
948
949         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
950         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
951         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
952         * buildsym-legacy.c (get_macro_table): Remove unused variable.
953         * stack.c (frame_apply_level_command): Remove unused variable.
954         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
955         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
956         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
957         unused variable.
958         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
959         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
960         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
961         variable.
962         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
963         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
964         variable.
965         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
966         Remove unused variable.
967         * cli/cli-script.c (recurse_read_control_structure): Remove unused
968         variable.
969         * common/tdesc.c (print_xml_feature::visit): Remove unused
970         variable.
971         * compile/compile-object-load.c (store_regs): Remove unused
972         variables.
973         * complaints.c (clear_complaints): Remove unused variable.
974         * corelow.c (core_target_open): Remove unused variable.
975         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
976         variable.
977         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
978         variable.
979         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
980         variable.
981         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
982         variable.
983         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
984         variable.
985         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
986         variable.
987         * ia64-tdep.c (examine_prologue): Remove unused variable.
988         * infcall.c (run_inferior_call): Remove unused variable.
989         * inferior.c (exit_inferior): Remove unused variable.
990         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
991         * linespec.c (decode_line_2): Remove unused variable.
992         * linux-nat.c (super_close): Remove.
993         * linux-tdep.c (linux_info_proc): Remove unused variable.
994         * mi/mi-main.c (mi_execute_command): Remove unused variable.
995         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
996         Remove unused variable.
997         * parse.c (find_minsym_type_and_address): Remove unused variable.
998         * printcmd.c (info_symbol_command, printf_floating): Remove unused
999         variable.
1000         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1001         variable.
1002         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1003         variables.
1004         * record-btrace.c (record_btrace_target::store_registers): Remove
1005         unused variable.
1006         (cmd_show_record_btrace_cpu): Remove unused variable.
1007         * riscv-tdep.c (riscv_register_reggroup_p)
1008         (riscv_push_dummy_call, riscv_return_value): Remove unused
1009         variable.
1010         * rust-exp.y (literal): Remove unused variable.
1011         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1012         unused variable.
1013         <STRUCTOP_ANONYMOUS>: Likewise.
1014         * s390-linux-tdep.c (s390_linux_init_abi_31)
1015         (s390_linux_init_abi_64): Remove unused variable.
1016         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1017         (file_select_thread, net_windows_open, _initialize_ser_windows):
1018         Remove unused variables.
1019         * symtab.c (find_pc_sect_line): Remove unused variable.
1020         * target-memory.c (compute_garbled_blocks): Remove unused
1021         variable.
1022         (target_write_memory_blocks): Remove unused variable.
1023         * target.c (target_stack::unpush): Remove unused variables.
1024         * tracepoint.c (start_tracing, all_tracepoint_actions)
1025         (merge_uploaded_trace_state_variables)
1026         (print_one_static_tracepoint_marker): Remove unused variable.
1027         * unittests/basic_string_view/element_access/char/1.cc (test01):
1028         Remove unused variable.
1029         * windows-nat.c (windows_continue, windows_add_all_dlls)
1030         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1031         Remove unused variables.
1032
1033 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1034
1035         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1036         attr_profile in HAVE_ELF.
1037         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1038         HAVE_ELF.
1039
1040 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1041
1042         * frame.c (frame_register_unwind): Change parameter name.
1043         (frame_unwind_register): Likewise.
1044         (frame_unwind_register_value): Likewise.
1045         (frame_unwind_register_signed): Likewise.
1046         (frame_unwind_register_unsigned): Likewise.
1047         * frame.h (frame_register_unwind): Likewise.
1048         (frame_unwind_register): Likewise.
1049         (frame_unwind_register_value): Likewise.
1050         (frame_unwind_register_signed): Likewise.
1051         (frame_unwind_register_unsigned): Likewise.
1052         (frame_unwind_arch): Likewise.
1053
1054 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1055
1056         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1057         ISA maintenance.
1058
1059 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1060
1061         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1062         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1063         hand.
1064
1065 2018-07-20  Keith Seitz  <keiths@redhat.com>
1066
1067         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1068         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1069         m_compunit_symtab, m_language>: Add "m_" prefix.
1070         Update all uses.
1071         * buildsym.c: Update all uses.
1072
1073 2018-07-20  Tom Tromey  <tom@tromey.com>
1074
1075         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1076         * buildsym.h (record_line_ftype): Remove typedef.
1077
1078 2018-07-20  Tom Tromey  <tom@tromey.com>
1079
1080         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1081         (end_expandable_symtab): Likewise.
1082         (end_symtab_get_static_block): Likewise.
1083         (end_symtab_from_static_block): Likewise.
1084         * buildsym-legacy.c (augment_type_symtab): Remove.
1085         (end_expandable_symtab): Remove.
1086         (end_symtab_get_static_block): Remove.
1087         (end_symtab_from_static_block): Remove.
1088
1089 2018-07-20  Tom Tromey  <tom@tromey.com>
1090
1091         * dwarf2read.c: Include buildsym.h.
1092         (struct dwarf2_cu) <builder>: New method.
1093         (fixup_go_packaging): Update.
1094         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1095         use scoped_free_pendings.
1096         (using_directives): Add "cu" parameter, remove "language".
1097         (read_import_statement, setup_type_unit_groups, )
1098         (read_func_scope, read_lexical_block_scope)
1099         (dwarf2_record_block_ranges, read_namespace): Update.
1100         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1101         (lnp_state_machine::handle_end_sequence): Update.
1102         (class lnp_state_machine) <m_cu>: New member.
1103         <m_record_line_callback>: Remove.
1104         <m_currently_recording_lines>: New member.
1105         (lnp_state_machine::handle_set_file): Update.
1106         (noop_record_line): Remove.
1107         (dwarf_record_line_p): Add cu parameter.
1108         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1109         (lnp_state_machine::record_line)
1110         (lnp_state_machine::lnp_state_machine)
1111         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1112         (dwarf_decode_lines): Update.
1113         (dwarf2_start_subfile): Add cu parameter.
1114         (dwarf2_start_symtab, new_symbol): Update.
1115         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1116         Remove dwarf2_per_objfile parameter.
1117         (dwarf_decode_macros): Update.
1118
1119 2018-07-20  Tom Tromey  <tom@tromey.com>
1120
1121         * stabsread.c (define_symbol): Update.
1122         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1123         * dwarf2read.c (new_symbol): Update.
1124         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1125         * cp-namespace.c: Include buildsym.h.
1126         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1127         * buildsym-legacy.c (get_buildsym_compunit): New function.
1128
1129 2018-07-20  Tom Tromey  <tom@tromey.com>
1130
1131         * xcoffread.c: Include buildsym-legacy.h.
1132         * windows-nat.c: Include buildsym-legacy.h.
1133         * stabsread.c: Include buildsym-legacy.h.
1134         * mdebugread.c: Include buildsym-legacy.h.
1135         * buildsym-legacy.h: New file.
1136         * buildsym-legacy.c: New file, from buildsym.c.
1137         * go32-nat.c: Include buildsym-legacy.h.
1138         * dwarf2read.c: Include buildsym-legacy.h.
1139         * dbxread.c: Include buildsym-legacy.h.
1140         * cp-namespace.c: Include buildsym-legacy.h.
1141         * coffread.c: Include buildsym-legacy.h.
1142         * buildsym.h: Move some contents to buildsym-legacy.h.
1143         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1144         buildsym-legacy.c.
1145         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1146
1147 2018-07-20  Tom Tromey  <tom@tromey.com>
1148
1149         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1150         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1151         (buildsym_compunit::buildsym_compunit)
1152         (buildsym_compunit::~buildsym_compunit)
1153         (buildsym_compunit::get_macro_table): Define.
1154
1155 2018-07-20  Tom Tromey  <tom@tromey.com>
1156
1157         * buildsym.c (reset_symtab_globals): Remove.
1158         (buildsym_compunit::end_symtab_from_static_block): Update.
1159         (buildsym_compunit::augment_type_symtab): Update.
1160         (end_symtab_from_static_block): Call free_buildsym_compunit.
1161         (augment_type_symtab, end_symtab, end_expandable_symtab):
1162         Likewise.
1163
1164 2018-07-20  Tom Tromey  <tom@tromey.com>
1165
1166         * arch-utils.c: Do not include buildsym.h.
1167         * mipsread.c: Do not include buildsym.h.
1168         * machoread.c: Do not include buildsym.h.
1169         * elfread.c: Do not include buildsym.h.
1170
1171 2018-07-20  Tom Tromey  <tom@tromey.com>
1172
1173         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
1174         initialization.
1175         (buildsym_compunit): Add new constructor.
1176         (struct buildsym_compunit) <get_last_source_file, finish_block,
1177         record_block_range, start_subfile, patch_subfile_names,
1178         push_subfile, pop_subfile, record_line, get_compunit_symtab,
1179         set_last_source_start_addr, get_last_source_start_addr,
1180         get_local_using_directives, set_local_using_directives,
1181         get_global_using_directives, outermost_context_p,
1182         get_current_context_stack, get_context_stack_depth,
1183         get_current_subfile, get_local_symbols, get_file_symbols,
1184         get_global_symbols, record_debugformat, record_producer,
1185         push_context, pop_context, end_symtab_get_static_block,
1186         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
1187         New public methods.
1188         <record_pending_block, finish_block_internal, make_blockvector,
1189         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
1190         private methods.
1191         Update all users.
1192
1193 2018-05-22  Tom Tromey  <tom@tromey.com>
1194
1195         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1196         parameter.
1197         (finish_block_internal): Update.
1198
1199 2018-07-20  Tom Tromey  <tom@tromey.com>
1200
1201         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1202         parameter.
1203         (finish_block_internal): Update.
1204
1205 2018-07-20  Tom Tromey  <tom@tromey.com>
1206
1207         * buildsym.h (EXTERN): Don't define or undef.
1208         * buildsym.c (EXTERN): Don't define.
1209
1210 2018-07-20  Tom Tromey  <tom@tromey.com>
1211
1212         * buildsym.c: Remove TODO comment.
1213
1214 2018-07-20  Tom Tromey  <tom@tromey.com>
1215
1216         * coffread.c (coff_symtab_read): Update.
1217         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
1218         (xcoff_new_init): Update.
1219         * mipsread.c (mipscoff_new_init): Update.
1220         * mdebugread.c (mdebug_build_psymtabs): Update.
1221         * elfread.c (elf_new_init): Update.
1222         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
1223         Update.
1224         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
1225         (coffstab_build_psymtabs, elfstab_build_psymtabs)
1226         (stabsect_build_psymtabs): Update.
1227         * buildsym.h (buildsym_init): Don't declare.
1228         * buildsym.c: Update comment.
1229         (prepare_for_building): Remove.
1230         (start_symtab, restart_symtab): Update.
1231         (reset_symtab_globals): Update comment.
1232         (buildsym_init): Remove.
1233
1234 2018-07-20  Tom Tromey  <tom@tromey.com>
1235
1236         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
1237         * stabsread.c (patch_block_stabs, define_symbol, read_type)
1238         (read_enum_type, common_block_start, common_block_end)
1239         (cleanup_undefined_types_1, finish_global_stabs): Update.
1240         * mdebugread.c (psymtab_to_symtab_1): Update.
1241         * dwarf2read.c (fixup_go_packaging, read_func_scope)
1242         (read_lexical_block_scope, new_symbol): Update.
1243         * dbxread.c (process_one_symbol): Update.
1244         * coffread.c (coff_symtab_read, process_coff_symbol)
1245         (coff_read_enum_type): Update.
1246         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
1247         declare.
1248         (get_local_symbols, get_file_symbols, get_global_symbols): New
1249         functions.
1250         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
1251         m_global_symbols.
1252         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
1253         (~scoped_free_pendings): Update.
1254         (finish_block, prepare_for_building, reset_symtab_globals)
1255         (end_symtab_get_static_block, end_symtab_with_blockvector)
1256         (augment_type_symtab, push_context): Update.
1257         (get_local_symbols, get_file_symbols, get_global_symbols): New
1258         functions.
1259         (buildsym_init): Update.
1260
1261 2018-07-20  Tom Tromey  <tom@tromey.com>
1262
1263         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
1264         (process_full_type_unit): Likewise.
1265         (dwarf2_start_symtab): Set list_in_scope.
1266
1267 2018-07-20  Tom Tromey  <tom@tromey.com>
1268
1269         * dwarf2read.c (process_psymtab_comp_unit_reader)
1270         (build_type_psymtabs_reader): Do not set list_in_scope.
1271
1272 2018-07-20  Tom Tromey  <tom@tromey.com>
1273
1274         * buildsym.c (free_pendings): Remove.
1275         (add_symbol_to_list, scoped_free_pendings)
1276         (finish_block_internal, buildsym_init): Update.
1277
1278 2018-07-20  Tom Tromey  <tom@tromey.com>
1279
1280         * xcoffread.c (read_xcoff_symtab): Update.
1281         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
1282         Update.
1283         * dbxread.c (process_one_symbol): Update.
1284         * coffread.c (coff_symtab_read): Update.
1285         * buildsym.h (finish_block): Update.
1286         * buildsym.c (finish_block): Remove "listhead" argument.
1287         (end_symtab_get_static_block): Update.
1288
1289 2018-07-20  Tom Tromey  <tom@tromey.com>
1290
1291         * buildsym.h (class scoped_free_pendings): Remove constructor.
1292         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
1293         method.
1294         <m_pending_block_obstack, m_pending_blocks>: New members.
1295         (pending_block_obstack, pending_blocks): Remove.
1296         (scoped_free_pendings::scoped_free_pendings): Default.
1297         (~scoped_free_pendings): Update.
1298         (free_pending_blocks): Remove.
1299         (finish_block_internal, record_pending_block, make_blockvector)
1300         (end_symtab_get_static_block, augment_type_symtab, push_context)
1301         (buildsym_init): Update.
1302
1303 2018-07-20  Tom Tromey  <tom@tromey.com>
1304
1305         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
1306         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
1307         members.
1308         (pending_addrmap, pending_addrmap_obstack)
1309         (pending_addrmap_interesting): Remove.
1310         (scoped_free_pendings, record_block_range, make_blockvector)
1311         (prepare_for_building, reset_symtab_globals, buildsym_init):
1312         Update.
1313
1314 2018-07-20  Tom Tromey  <tom@tromey.com>
1315
1316         * xcoffread.c (process_linenos): Update.
1317         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
1318         * mdebugread.c (psymtab_to_symtab_1): Update.
1319         * dwarf2read.c (setup_type_unit_groups)
1320         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
1321         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
1322         * dbxread.c (process_one_symbol): Update.
1323         * coffread.c (coff_symtab_read, enter_linenos)
1324         (process_coff_symbol): Update.
1325         * buildsym.h (current_subfile): Don't declare.
1326         (get_current_subfile): Declare.
1327         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
1328         member.
1329         (start_subfile, free_buildsym_compunit, push_subfile)
1330         (prepare_for_building, start_symtab): Update.
1331         (get_current_subfile): New function.
1332
1333 2018-07-20  Tom Tromey  <tom@tromey.com>
1334
1335         * coffread.c (coff_symtab_read): Update.
1336         * xcoffread.c (read_xcoff_symtab): Update.
1337         * dwarf2read.c (new_symbol): Update.
1338         (read_func_scope, read_lexical_block_scope): Update.
1339         * dbxread.c (process_one_symbol): Update.
1340         * buildsym.h (context_stack, context_stack_depth): Don't declare.
1341         (outermost_context_p): Remove macro.
1342         (outermost_context_p, get_current_context_stack)
1343         (get_context_stack_depth): Declare.
1344         (pop_context): Return struct context_stack.
1345         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
1346         member.
1347         (context_stack_size): Remove.
1348         (INITIAL_CONTEXT_STACK_SIZE): Remove.
1349         (prepare_for_building, end_symtab_get_static_block)
1350         (augment_type_symtab, push_context): Update.
1351         (pop_context): Return struct context_stack.
1352         (outermost_context_p, get_current_context_stack)
1353         (get_context_stack_depth): New functions.
1354         (buildsym_init): Update.
1355
1356 2018-07-20  Tom Tromey  <tom@tromey.com>
1357
1358         * rust-exp.y: Now a pure parser.  Update all rules.
1359         (%union): Move earlier.
1360         (current_parser, work_obstack): Remove globals.
1361         (rust_parser, ~rust_parser): Update.
1362         (class rust_parser) <copy_name, concat3, crate_name, super_name,
1363         lex_character, lex_number, lex_string, lex_identifier,
1364         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
1365         convert_name, convert_params_to_expression,
1366         convert_ast_to_expression, ast_basic_type, ast_operation,
1367         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
1368         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
1369         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
1370         ast_array_type, ast_slice_type, ast_reference_type,
1371         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
1372         (rust_parse): Update.
1373         (rustyyerror, rustyylex): Add parser parameter.
1374         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
1375         (rust_lex_stringish_test, rust_lex_test_sequence)
1376         (rust_lex_test_trailing_dot, rust_lex_test_completion)
1377         (rust_lex_test_push_back, rust_lex_tests): Update.
1378
1379 2018-07-19  Pedro Alves  <palves@redhat.com>
1380
1381         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
1382         gdb::unique_xmalloc_ptr.
1383         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
1384         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
1385         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
1386         copy-initialization.
1387         * guile/scm-pretty-print.c (ppscm_print_children): Use
1388         gdb::unique_xmalloc_ptr instead of cleanups.
1389         (gdbscm_apply_val_pretty_printer): Remove cleanups.
1390         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
1391         gdb::unique_xmalloc_ptr.
1392         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1393         Adjust to use gdb::unique_xmalloc_ptr.
1394         * guile/scm-utils.c (extract_arg): Adjust.
1395         * guile/scm-value.c (gdbscm_value_field): Adjust to use
1396         gdb::unique_xmalloc_ptr instead of a cleanup.
1397
1398 2018-07-19  Tom Tromey  <tom@tromey.com>
1399
1400         * utils.c (do_value_free_to_mark)
1401         (make_cleanup_value_free_to_mark): Remove.
1402         * utils.h (make_cleanup_value_free_to_mark): Remove.
1403
1404 2018-07-19  Pedro Alves  <palves@redhat.com>
1405
1406         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
1407         forwarding reference.
1408
1409 2018-07-18  Pedro Alves  <palves@redhat.com>
1410
1411         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
1412         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
1413         cleanup.
1414
1415 2018-07-18  Pedro Alves  <palves@redhat.com>
1416
1417         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
1418         exceptions.
1419         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
1420         (gdbscm_wrap): New.
1421         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
1422         directly instead of a cleanup.
1423         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
1424         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
1425         (vlscm_binop_gdbthrow): New, factored out from ...
1426         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
1427         (vlscm_rich_compare): Use gdbscm_wrap.
1428         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
1429         instead of a cleanup.
1430         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
1431         cleanup.
1432         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1433         Use xfree directly instead of a cleanup.
1434         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
1435         Adjust to use gdbscm_wrap and scoped_value_mark.
1436         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
1437         (gdbscm_value_address, gdbscm_value_dereference)
1438         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
1439         scoped_value_mark.
1440         (gdbscm_value_dynamic_type): Use scoped_value_mark.
1441         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
1442         scoped_value_mark.
1443         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
1444         gdbscm_wrap and scoped_value_mark.
1445         (gdbscm_value_to_string): Use xfree directly instead of a
1446         cleanup.  Move 'buffer' unique_ptr to TRY scope.
1447         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
1448         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
1449         scoped_value_mark.
1450         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
1451         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
1452         scoped_value_mark.
1453         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
1454         gdbscm_wrap.
1455
1456 2018-07-18  Tom de Vries  <tdevries@suse.de>
1457
1458         * findvar.c (default_read_var_value): Also resolve dynamic type for
1459         LOC_OPTIMIZED_OUT vars.
1460
1461 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
1462
1463         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
1464         decoding.
1465
1466 2018-07-17  Tom Tromey  <tom@tromey.com>
1467
1468         * guile/scm-param.c (pascm_set_func, pascm_show_func)
1469         (compute_enum_list, pascm_set_param_value_x)
1470         (gdbscm_parameter_value): Update.
1471         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
1472         (gdbscm_scm_to_host_string): Update.
1473         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
1474         Update.
1475         * guile/scm-cmd.c (cmdscm_add_completion): Update.
1476         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
1477         * guile/scm-string.c (gdbscm_scm_to_string): Return
1478         unique_xmalloc_ptr.
1479         (gdbscm_scm_to_host_string): Likewise.
1480
1481 2018-07-17  Tom Tromey  <tom@tromey.com>
1482
1483         * guile/guile.c (gdbscm_eval_from_control_command): Update.
1484         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
1485         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
1486         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
1487         unique_xmalloc_ptr.
1488
1489 2018-07-17  Tom Tromey  <tom@tromey.com>
1490
1491         * guile/scm-param.c (pascm_signal_setshow_error): Update.
1492         * guile/guile-internal.h (gdbscm_exception_message_to_string):
1493         Update.
1494         * guile/scm-cmd.c (cmdscm_function): Update.
1495         * guile/scm-pretty-print.c
1496         (ppscm_print_exception_unless_memory_error): Update.
1497         * guile/scm-exception.c (gdbscm_exception_message_to_string):
1498         Return unique_xmalloc_ptr.
1499
1500 2018-07-17  Tom Tromey  <tom@tromey.com>
1501
1502         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
1503         Use string_printf.
1504
1505 2018-07-17  Jim Wilson  <jimw@sifive.com>
1506
1507         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
1508         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
1509         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
1510         unecessary braces after EF_RISCV_RVC test.  Delete call to
1511         set_gdbarch_decr_pc_after_break.
1512
1513         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
1514         RISCV_LAST_FP_REGNUM + 1.
1515         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
1516
1517 2018-07-17  Tom Tromey  <tom@tromey.com>
1518
1519         * configure.ac: Remove --disable-gdbcli.
1520         * configure: Rebuild.
1521         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
1522         (SUBDIR_CLI_CFLAGS): Remove.
1523         (SFILES): Use SUBDIR_CLI_SRCS.
1524         (COMMON_OBS): Use SUBDIR_CLI_OBS.
1525
1526 2018-07-17  Tom Tromey  <tom@tromey.com>
1527
1528         PR gdb/18624:
1529         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
1530
1531 2018-07-16  Jim Wilson  <jimw@sifive.com>
1532
1533         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
1534
1535 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1536
1537         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
1538         variable.
1539         (libunwind_frame_sniffer): Likewise.
1540         (libunwind_frame_prev_register): Likewise.
1541         (libunwind_sigtramp_frame_sniffer): Likewise.
1542         * ia64-tdep.c (ia64_access_reg): Likewise.
1543         (ia64_access_rse_reg): Likewise.
1544         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
1545         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
1546
1547 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1548
1549         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
1550
1551 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1552
1553         * remote-sim.c (gdbsim_target::close,
1554         gdbsim_target::mourn_inferior): Remove unused variables.
1555
1556 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
1557
1558         * ia64-tdep.c (ktab_buf): New global.
1559         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
1560         (get_kernel_table): Adjust.
1561
1562 2018-07-16  Tom Tromey  <tom@tromey.com>
1563
1564         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
1565         * dwarf2read.c (using_directives, new_symbol): Use
1566         outermost_context_p.
1567         * dbxread.c (process_one_symbol): Use outermost_context_p.
1568         * coffread.c (coff_symtab_read): Use outermost_context_p.
1569
1570 2018-07-16  Tom Tromey  <tom@tromey.com>
1571
1572         * dwarf2read.c (using_directives, read_func_scope)
1573         (read_lexical_block_scope): Update.
1574         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
1575         * buildsym.h (local_using_directives, global_using_directives):
1576         Don't declare.
1577         (get_local_using_directives, set_local_using_directives)
1578         (get_global_using_directives): Declare.
1579         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1580         m_global_using_directives>: New members.
1581         (finish_block_internal, prepare_for_building)
1582         (reset_symtab_globals, end_symtab_get_static_block)
1583         (push_context): Update.
1584         (get_local_using_directives, set_local_using_directives)
1585         (get_global_using_directives): New functions.
1586         (buildsym_init): Update.
1587
1588 2018-07-16  Tom Tromey  <tom@tromey.com>
1589
1590         * xcoffread.c (xcoff_initial_scan): Don't call
1591         free_pending_blocks.
1592         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1593         * buildsym.h (class scoped_free_pendings): Add constructor.
1594         (free_pending_blocks): Don't declare.
1595         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1596         (free_pending_blocks): Now static.
1597
1598 2018-07-16  Tom Tromey  <tom@tromey.com>
1599
1600         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1601         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1602         member.
1603         (struct subfile_stack): Remove.
1604         (subfile_stack): Remove.
1605         (push_subfile, pop_subfile, buildsym_init): Update.
1606
1607 2018-07-16  Tom Tromey  <tom@tromey.com>
1608
1609         * buildsym.c (push_subfile): Use gdb_assert.
1610         (pop_subfile): Use gdb_assert.
1611
1612 2018-07-16  Tom Tromey  <tom@tromey.com>
1613
1614         * buildsym.h (merge_symbol_lists): Remove.
1615         * buildsym.c (merge_symbol_lists): Remove.
1616
1617 2018-07-16  Tom Tromey  <tom@tromey.com>
1618
1619         * stabsread.c (scan_file_globals): Update comment.
1620         * stabsread.h (scan_file_globals): Move from buildsym.h.
1621         * buildsym.h (scan_file_globals): Move to stabsread.h.
1622
1623 2018-07-16  Tom Tromey  <tom@tromey.com>
1624
1625         * xcoffread.c (xcoff_new_init): Update.
1626         * mipsread.c (mipscoff_new_init): Update.
1627         * mdebugread.c (mdebug_build_psymtabs): Update.
1628         * elfread.c (elf_new_init): Update.
1629         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1630         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1631         * buildsym.h (buildsym_new_init): Don't declare.
1632         * buildsym.c (buildsym_new_init): Remove.
1633
1634 2018-07-16  Tom Tromey  <tom@tromey.com>
1635
1636         * stabsread.h (within_function): Move from buildsym.h.
1637         * stabsread.c (start_stabs): Clear within_function.
1638         * coffread.c (coff_start_symtab): Clear within_function.
1639         * buildsym.h (within_function): Move to stabsread.h.
1640         * buildsym.c (prepare_for_building): Update.
1641
1642 2018-07-16  Tom Tromey  <tom@tromey.com>
1643
1644         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1645         * dwarf2read.c (dwarf2_start_symtab): Don't set
1646         processing_gcc_compilation.
1647         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1648
1649 2018-07-16  Tom Tromey  <tom@tromey.com>
1650
1651         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1652         (next_symbol_text_func): Move from buildsym.h.
1653         * stabsread.c (hashname): Move from buildsym.c.
1654         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1655         (next_symbol_text_func, hashname): Move to stabsread.h.
1656         * buildsym.c: Don't include bcache.h
1657         (hashname): Move to stasbread.c.
1658
1659 2018-07-16  Tom Tromey  <tom@tromey.com>
1660
1661         * buildsym.h (context_stack_size): Don't declare.
1662         * buildsym.c (context_stack_size): New global.
1663
1664 2018-07-16  Tom Tromey  <tom@tromey.com>
1665
1666         * dbxread.c (processing_acc_compilation): New global.
1667         * buildsym.h (processing_acc_compilation): Don't declare.
1668
1669 2018-07-16  Tom Tromey  <tom@tromey.com>
1670
1671         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1672         * dbxread.c (read_ofile_symtab): Update.
1673         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1674         * buildsym.h (last_source_start_addr): Remove.
1675         (set_last_source_start_addr, get_last_source_start_addr):
1676         Declare.
1677         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1678         parameter.
1679         (struct buildsym_compunit) <m_last_source_start_addr>: New
1680         member.
1681         (prepare_for_building): Remove start_addr parameter.
1682         (start_symtab, restart_symtab, end_symtab_get_static_block)
1683         (end_symtab_with_blockvector): Update.
1684         (set_last_source_start_addr, get_last_source_start_addr): New
1685         functions.
1686
1687 2018-07-16  Tom Tromey  <tom@tromey.com>
1688
1689         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1690         member.
1691         (have_line_numbers): Remove.
1692         (record_line, prepare_for_building, end_symtab_get_static_block)
1693         (augment_type_symtab): Update.
1694
1695 2018-07-16  Tom Tromey  <tom@tromey.com>
1696
1697         * buildsym.c (~buildsym_compunit): Free the macro table.
1698         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1699         methods.
1700         <m_pending_macros>: New member.
1701         (pending_macros): Remove.
1702         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1703         (reset_symtab_globals, end_symtab_get_static_block)
1704         (end_symtab_with_blockvector, augment_type_symtab)
1705         (buildsym_init): Update.
1706
1707 2018-07-16  Tom Tromey  <tom@tromey.com>
1708
1709         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1710         parameter.
1711         (buildsym_compunit::set_last_source_file): New method.
1712         <m_last_source_file>: New member.
1713         (prepare_for_building): Remove "name" parameter.
1714         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1715         (last_source_file): Remove.
1716         (set_last_source_file, get_last_source_file): Update.
1717
1718 2018-07-16  Tom Tromey  <tom@tromey.com>
1719
1720         * buildsym.c (prepare_for_building): Add assert.
1721
1722 2018-07-16  Tom Tromey  <tom@tromey.com>
1723
1724         * buildsym.c (~buildsym_compunit): Update.
1725         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1726         (start_subfile, patch_subfile_names)
1727         (end_symtab_with_blockvector): Update.
1728
1729 2018-07-16  Tom Tromey  <tom@tromey.com>
1730
1731         * buildsym.c (struct buildsym_compunit): Add constructor,
1732         destructor, initializers.
1733         (start_buildsym_compunit): Remove.
1734         (free_buildsym_compunit): Use "delete".
1735         (start_symtab, restart_symtab): Use "new".
1736
1737 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1738
1739         * symfile.c (set_objfile_default_section_offset): Remove struct
1740         keyword.
1741
1742 2018-07-14  Stafford Horne  <shorne@gmail.com>
1743
1744         * (Responsible Maintainers): Add myself as or1k maintainer.
1745
1746 2018-07-13  Tom Tromey  <tom@tromey.com>
1747
1748         * symfile.c (set_objfile_default_section_offset): Use extra braces
1749         around initializer.
1750
1751 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1752
1753         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1754         non-branching basr.
1755
1756 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1757
1758         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1759         unittests/cli-utils-selftests.c
1760         * unittests/cli-utils-selftests.c: New file.
1761
1762 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1763
1764         * NEWS: Mention new commands. Mention change to 'thread apply'.
1765
1766 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1767
1768         * thread.c (thr_try_catch_cmd): New function.
1769         (thread_apply_all_command): Handle qcs flags.
1770         (thread_apply_command): Handle qcs flags.
1771         (taas_command): New function.
1772         (tfaas_command): New function.
1773         (_initialize_thread): Update to setup the new commands 'taas
1774         and 'tfaas'. Change doc string for 'thread apply'.
1775
1776 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1777
1778         * stack.c: (trailing_outermost_frame): New function, mostly
1779         extracted from backtrace_command_1.
1780         (leading_innermost_frame): New function.
1781         (backtrace_command_1): Update to call trailing_outermost_frame.
1782         (frame_apply_command_count): New function.
1783         (frame_apply_level_command): New function.
1784         (frame_apply_all_command): New function.
1785         (frame_apply_command): New function.
1786         (faas_command): New function.
1787         (frame_cmd_list): New variable.
1788         (_initialize_stack): Update to setup the new commands 'frame apply'
1789         and 'faas'.
1790
1791 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1792
1793         * cli-utils.c (number_or_range_parser::get_number): Only handle
1794         numbers or convenience var as numbers.
1795         (parse_flags): New function.
1796         (parse_flags_qcs): New function.
1797         (number_or_range_parser::finished): Ensure parsing end is detected
1798         before end of string.
1799         * cli-utils.h (parse_flags): New function.
1800         (parse_flags_qcs): New function.
1801         (number_or_range_parser): Remove m_finished bool.
1802         (number_or_range_parser::skip_range): Set m_in_range to false.
1803
1804 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1805
1806         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1807         on Windows.
1808
1809 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1810             Jan Kratochvil  <jan.kratochvil@redhat.com>
1811             Paul Fertser  <fercerpav@gmail.com>
1812             Tsutomu Seki  <sekiriki@gmail.com>
1813             Pedro Alves  <palves@redhat.com>
1814
1815         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1816         'unittests/parse-connection-spec-selftests.c'.
1817         (COMMON_SFILES): Add 'common/netstuff.c'.
1818         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1819         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1820         * common/netstuff.c: New file.
1821         * common/netstuff.h: New file.
1822         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1823         (wait_for_connect): Update comment.  New parameter
1824         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1825         Use 'sock' directly instead of 'scb->fd'.
1826         (try_connect): New function, with code from 'net_open'.
1827         (net_open): Rewrite main loop to deal with multiple
1828         sockets/addresses.  Handle IPv6-style hostnames; implement
1829         support for IPv6 connections.
1830         * unittests/parse-connection-spec-selftests.c: New file.
1831
1832 2018-07-11  Pedro Alves  <palves@redhat.com>
1833
1834         PR gdb/23377
1835         * remote.c (remote_target::remote_detach_pid): Call
1836         set_current_process.
1837
1838 2018-07-11  Pedro Alves  <palves@redhat.com>
1839
1840         * h8300-tdep.c (h8300_gdbarch_init): Remove
1841         set_gdbarch_ecoff_reg_to_regnum calls.
1842
1843 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1844
1845         PR c++/23373
1846         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1847         offsets/sizes for static members of a class/struct.
1848
1849 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1850
1851         * target-descriptions.c (tdesc_register_bitsize): Rename.
1852         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1853         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1854         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1855
1856 2018-07-10  Tom Tromey  <tom@tromey.com>
1857
1858         * breakpoint.c (moribund_locations): Now static and a
1859         std::vector.
1860         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1861         (build_bpstat_chain, update_global_location_list)
1862         (breakpoint_retire_moribund): Update.
1863         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1864         VEC.
1865
1866 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1867
1868         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1869         (riscv_register_reggroup_p): Use new function, remove unneeded
1870         parenthesis.
1871         (riscv_push_dummy_call): Extend assert to compare against xlen or
1872         flen based on register type.
1873
1874 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1875
1876         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1877
1878 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1879
1880         * remote.c (show_hardware_watchpoint_limit): New function.
1881         (show_hardware_watchpoint_length_limit): New function.
1882         (show_hardware_breakpoint_limit): New function.
1883         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1884         where appropriate, update help text.
1885
1886 2018-07-09  Tom Tromey  <tom@tromey.com>
1887
1888         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1889         (CLIBS): Don't mention NAT_CLIBS.
1890
1891 2018-07-09  Tom Tromey  <tom@tromey.com>
1892
1893         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1894         (LIBGDB_OBS, clean mostlyclean): Update.
1895         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1896
1897 2018-07-09  Tom Tromey  <tom@tromey.com>
1898
1899         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1900         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1901         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1902
1903 2018-07-09  Tom Tromey  <tom@tromey.com>
1904
1905         * Makefile.in (ALLDEPFILES): Remove exec.c.
1906         (COMMON_OBS): Remove exec.o.
1907         (COMMON_SFILES): Add exec.c.
1908
1909 2018-07-09  Tom Tromey  <tom@tromey.com>
1910
1911         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1912
1913 2018-07-09  Tom Tromey  <tom@tromey.com>
1914
1915         * Makefile.in (clean mostlyclean): Remove stamp-version.
1916         (version.c): Depend on stamp-version.
1917         (stamp-version): New rule, from version.c rule.
1918
1919 2018-07-09  Tom Tromey  <tom@tromey.com>
1920
1921         * Makefile.in (init.c): Depend on stamp-init.
1922         (stamp-init): New rule, from init.c rule.
1923         (clean mostlyclean): Remove stamp-init.
1924
1925 2018-07-09  Tom Tromey  <tom@tromey.com>
1926
1927         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1928         SUBDIR_GCC_COMPILE_SRCS.
1929
1930 2018-07-09  Tom Tromey  <tom@tromey.com>
1931
1932         * Makefile.in (init.c): Remove some unused sed rules.
1933
1934 2018-07-09  Tom Tromey  <tom@tromey.com>
1935
1936         * Makefile.in (TSOBS): Remove.
1937         (INIT_FILES): Update.
1938         (LIBGDB_OBS): Update.
1939         (COMMON_SFILES): Add inflow.c.
1940         (SFILES): Remove inflow.c.
1941
1942 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1943
1944         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1945
1946 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1947
1948         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1949         get_saveloc_name, is_signal_frame_name, step_name,
1950         init_remote_name, create_addr_space_name,
1951         destroy_addr_space_name, search_unwind_table_name,
1952         find_dyn_list_name): Constify.
1953
1954 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1955
1956         * darwin-nat.c (darwin_pthread_kill): New function.
1957         (darwin_resume_thread): Use darwin_pthread_kill.
1958
1959 2018-07-05  Tom de Vries  <tdevries@suse.de>
1960
1961         * macroexp.c (macro_buffer) <operator=>: New member function.
1962
1963 2018-07-04  Tom Tromey  <tom@tromey.com>
1964
1965         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1966
1967 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1968
1969         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1970         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1971         * maint.c: Likewise.
1972         * top.c: Likewise.
1973
1974 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1975
1976         * NEWS: Create a new section for the next release branch.
1977         Rename the section of the current branch, now that it has
1978         been cut.
1979
1980 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1981
1982         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1983         * version.in: Bump version to 8.2.50.DATE-git.
1984
1985 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1986             Pedro Alves  <palves@redhat.com>
1987
1988         * linux-nat.c (linux_init_ptrace): Rename to ...
1989         (linux_init_ptrace_procfs): ... this.  Call
1990         linux_proc_init_warnings.
1991         (linux_nat_target::post_attach)
1992         (linux_nat_target::post_startup_inferior): Adjust.
1993         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1994         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1995
1996 2018-07-04  Tom de Vries  <tdevries@suse.de>
1997
1998         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1999         check ...
2000         (read_comp_unit_head): ... here.
2001
2002 2018-07-03  Tom Tromey  <tom@tromey.com>
2003
2004         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2005         (stop_tracing, tstatus_command)
2006         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2007         (print_one_static_tracepoint_marker): Update.
2008         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2009         std::vector.
2010         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2011         VEC.
2012         (all_tracepoints, static_tracepoints_here): Return std::vector.
2013
2014 2018-07-03  Tom Tromey  <tom@tromey.com>
2015
2016         * common/ptid.c (ptid_equal): Remove.
2017         * common/ptid.h (ptid_equal): Don't declare.
2018         * ada-tasks.c: Update.
2019         * breakpoint.c: Update.
2020         * common/agent.c: Update.
2021         * corelow.c: Update.
2022         * darwin-nat-info.c: Update.
2023         * darwin-nat.c: Update.
2024         * dcache.c: Update.
2025         * dtrace-probe.c: Update.
2026         * dummy-frame.c: Update.
2027         * fbsd-nat.c: Update.
2028         * frame.c: Update.
2029         * gdbthread.h: Update.
2030         * gnu-nat.c: Update.
2031         * go32-nat.c: Update.
2032         * inf-loop.c: Update.
2033         * inf-ptrace.c: Update.
2034         * infcall.c: Update.
2035         * infcmd.c: Update.
2036         * inflow.c: Update.
2037         * infrun.c: Update.
2038         * linux-fork.c: Update.
2039         * linux-nat.c: Update.
2040         * linux-thread-db.c: Update.
2041         * mi/mi-cmd-var.c: Update.
2042         * mi/mi-interp.c: Update.
2043         * mi/mi-main.c: Update.
2044         * nto-procfs.c: Update.
2045         * ppc-linux-tdep.c: Update.
2046         * procfs.c: Update.
2047         * python/py-inferior.c: Update.
2048         * python/py-record-btrace.c: Update.
2049         * python/py-record.c: Update.
2050         * ravenscar-thread.c: Update.
2051         * regcache.c: Update.
2052         * remote-sim.c: Update.
2053         * remote.c: Update.
2054         * sol-thread.c: Update.
2055         * solib.c: Update.
2056         * target.c: Update.
2057         * tui/tui-stack.c: Update.
2058         * varobj.c: Update.
2059         * windows-nat.c: Update.
2060         * windows-tdep.c: Update.
2061
2062 2018-07-03  Tom Tromey  <tom@tromey.com>
2063
2064         * common/ptid.c (ptid_match): Remove.
2065         * common/ptid.h (ptid_match): Don't declare.
2066         * fbsd-nat.c: Update.
2067         * infcmd.c: Update.
2068         * infrun.c: Update.
2069         * linux-nat.c: Update.
2070         * record-btrace.c: Update.
2071         * regcache.c: Update.
2072         * remote.c: Update.
2073
2074 2018-07-03  Tom Tromey  <tom@tromey.com>
2075
2076         * common/ptid.c (ptid_tid_p): Remove.
2077         * common/ptid.h (ptid_tid_p): Don't declare.
2078         * sol-thread.c: Update.
2079
2080 2018-07-03  Tom Tromey  <tom@tromey.com>
2081
2082         * common/ptid.c (ptid_lwp_p): Remove.
2083         * common/ptid.h (ptid_lwp_p): Don't declare.
2084         * fbsd-nat.c: Update.
2085         * linux-nat.c: Update.
2086         * nat/linux-procfs.c: Update.
2087         * nat/x86-linux-dregs.c: Update.
2088         * sol-thread.c: Update.
2089
2090 2018-07-03  Tom Tromey  <tom@tromey.com>
2091
2092         * common/ptid.c (ptid_is_pid): Remove.
2093         * common/ptid.h (ptid_is_pid): Don't declare.
2094         * infrun.c: Update.
2095         * linux-nat.c: Update.
2096         * mi/mi-interp.c: Update.
2097         * remote.c: Update.
2098         * thread.c: Update.
2099
2100 2018-07-03  Tom Tromey  <tom@tromey.com>
2101
2102         * common/ptid.c (ptid_get_tid): Remove.
2103         * common/ptid.h (ptid_get_tid): Don't declare.
2104         * ada-tasks.c: Update.
2105         * aix-thread.c: Update.
2106         * bsd-uthread.c: Update.
2107         * darwin-nat.c: Update.
2108         * fbsd-nat.c: Update.
2109         * i386-darwin-nat.c: Update.
2110         * infrun.c: Update.
2111         * linux-tdep.c: Update.
2112         * nto-procfs.c: Update.
2113         * ppc-ravenscar-thread.c: Update.
2114         * python/py-infthread.c: Update.
2115         * ravenscar-thread.c: Update.
2116         * sol-thread.c: Update.
2117         * sparc-ravenscar-thread.c: Update.
2118         * windows-nat.c: Update.
2119
2120 2018-07-03  Tom Tromey  <tom@tromey.com>
2121
2122         * common/ptid.c (ptid_get_lwp): Remove.
2123         * common/ptid.h (ptid_get_lwp): Don't declare.
2124         * aarch64-linux-nat.c: Update.
2125         * ada-tasks.c: Update.
2126         * aix-thread.c: Update.
2127         * amd64-linux-nat.c: Update.
2128         * arm-linux-nat.c: Update.
2129         * corelow.c: Update.
2130         * fbsd-nat.c: Update.
2131         * fbsd-tdep.c: Update.
2132         * gnu-nat.c: Update.
2133         * i386-cygwin-tdep.c: Update.
2134         * i386-gnu-nat.c: Update.
2135         * i386-linux-nat.c: Update.
2136         * ia64-linux-nat.c: Update.
2137         * inf-ptrace.c: Update.
2138         * infrun.c: Update.
2139         * linux-fork.c: Update.
2140         * linux-nat.c: Update.
2141         * linux-tdep.c: Update.
2142         * linux-thread-db.c: Update.
2143         * mips-linux-nat.c: Update.
2144         * nat/aarch64-linux-hw-point.c: Update.
2145         * nat/aarch64-linux.c: Update.
2146         * nat/linux-btrace.c: Update.
2147         * nat/linux-osdata.c: Update.
2148         * nat/linux-procfs.c: Update.
2149         * nat/x86-linux-dregs.c: Update.
2150         * obsd-nat.c: Update.
2151         * ppc-fbsd-nat.c: Update.
2152         * ppc-linux-nat.c: Update.
2153         * procfs.c: Update.
2154         * python/py-infthread.c: Update.
2155         * ravenscar-thread.c: Update.
2156         * remote.c: Update.
2157         * s390-linux-nat.c: Update.
2158         * sol-thread.c: Update.
2159         * sol2-tdep.c: Update.
2160         * spu-linux-nat.c: Update.
2161         * x86-linux-nat.c: Update.
2162         * xtensa-linux-nat.c: Update.
2163
2164 2018-07-03  Tom Tromey  <tom@tromey.com>
2165
2166         * common/ptid.c (ptid_get_pid): Remove.
2167         * common/ptid.h (ptid_get_pid): Don't declare.
2168         * aarch64-linux-nat.c: Update.
2169         * ada-lang.c: Update.
2170         * aix-thread.c: Update.
2171         * alpha-bsd-nat.c: Update.
2172         * amd64-fbsd-nat.c: Update.
2173         * amd64-linux-nat.c: Update.
2174         * arm-linux-nat.c: Update.
2175         * arm-nbsd-nat.c: Update.
2176         * auxv.c: Update.
2177         * break-catch-syscall.c: Update.
2178         * breakpoint.c: Update.
2179         * bsd-uthread.c: Update.
2180         * corelow.c: Update.
2181         * ctf.c: Update.
2182         * darwin-nat.c: Update.
2183         * fbsd-nat.c: Update.
2184         * fbsd-tdep.c: Update.
2185         * gcore.c: Update.
2186         * gnu-nat.c: Update.
2187         * hppa-nbsd-nat.c: Update.
2188         * hppa-obsd-nat.c: Update.
2189         * i386-fbsd-nat.c: Update.
2190         * ia64-linux-nat.c: Update.
2191         * inf-ptrace.c: Update.
2192         * infcmd.c: Update.
2193         * inferior.c: Update.
2194         * inferior.h: Update.
2195         * inflow.c: Update.
2196         * infrun.c: Update.
2197         * linux-fork.c: Update.
2198         * linux-nat.c: Update.
2199         * linux-tdep.c: Update.
2200         * linux-thread-db.c: Update.
2201         * m68k-bsd-nat.c: Update.
2202         * mi/mi-interp.c: Update.
2203         * mi/mi-main.c: Update.
2204         * mips-linux-nat.c: Update.
2205         * mips-nbsd-nat.c: Update.
2206         * mips64-obsd-nat.c: Update.
2207         * nat/aarch64-linux-hw-point.c: Update.
2208         * nat/aarch64-linux.c: Update.
2209         * nat/linux-btrace.c: Update.
2210         * nat/linux-osdata.c: Update.
2211         * nat/linux-procfs.c: Update.
2212         * nat/x86-linux-dregs.c: Update.
2213         * nto-procfs.c: Update.
2214         * obsd-nat.c: Update.
2215         * ppc-linux-nat.c: Update.
2216         * ppc-nbsd-nat.c: Update.
2217         * ppc-obsd-nat.c: Update.
2218         * proc-service.c: Update.
2219         * procfs.c: Update.
2220         * python/py-inferior.c: Update.
2221         * python/py-infthread.c: Update.
2222         * ravenscar-thread.c: Update.
2223         * record.c: Update.
2224         * remote-sim.c: Update.
2225         * remote.c: Update.
2226         * rs6000-nat.c: Update.
2227         * s390-linux-nat.c: Update.
2228         * sh-nbsd-nat.c: Update.
2229         * sol-thread.c: Update.
2230         * sparc-nat.c: Update.
2231         * sparc64-tdep.c: Update.
2232         * spu-linux-nat.c: Update.
2233         * spu-tdep.c: Update.
2234         * target-debug.h: Update.
2235         * target.c: Update.
2236         * thread.c: Update.
2237         * tid-parse.c: Update.
2238         * tracefile-tfile.c: Update.
2239         * vax-bsd-nat.c: Update.
2240         * windows-nat.c: Update.
2241         * x86-linux-nat.c: Update.
2242         * x86-nat.c: Update.
2243
2244 2018-07-03  Tom Tromey  <tom@tromey.com>
2245
2246         * common/ptid.c (pid_to_ptid): Remove.
2247         * common/ptid.h (pid_to_ptid): Don't declare.
2248         * aix-thread.c: Update.
2249         * arm-linux-nat.c: Update.
2250         * common/ptid.c: Update.
2251         * common/ptid.h: Update.
2252         * corelow.c: Update.
2253         * ctf.c: Update.
2254         * darwin-nat.c: Update.
2255         * fbsd-nat.c: Update.
2256         * fork-child.c: Update.
2257         * gnu-nat.c: Update.
2258         * go32-nat.c: Update.
2259         * inf-ptrace.c: Update.
2260         * infcmd.c: Update.
2261         * inferior.c: Update.
2262         * infrun.c: Update.
2263         * linux-fork.c: Update.
2264         * linux-nat.c: Update.
2265         * nat/aarch64-linux-hw-point.c: Update.
2266         * nat/fork-inferior.c: Update.
2267         * nat/x86-linux-dregs.c: Update.
2268         * nto-procfs.c: Update.
2269         * obsd-nat.c: Update.
2270         * procfs.c: Update.
2271         * progspace.c: Update.
2272         * remote.c: Update.
2273         * rs6000-nat.c: Update.
2274         * s390-linux-nat.c: Update.
2275         * sol-thread.c: Update.
2276         * spu-linux-nat.c: Update.
2277         * target.c: Update.
2278         * top.c: Update.
2279         * tracefile-tfile.c: Update.
2280         * windows-nat.c: Update.
2281
2282 2018-07-03  Tom Tromey  <tom@tromey.com>
2283
2284         * common/ptid.h (ptid_build): Don't declare.
2285         * common/ptid.c (ptid_build): Remove.
2286         * aix-thread.c: Update.
2287         * bsd-kvm.c: Update.
2288         * bsd-uthread.c: Update.
2289         * common/agent.c: Update.
2290         * common/ptid.c: Update.
2291         * common/ptid.h: Update.
2292         * corelow.c: Update.
2293         * darwin-nat.c: Update.
2294         * fbsd-nat.c: Update.
2295         * gnu-nat.c: Update.
2296         * linux-fork.c: Update.
2297         * linux-nat.c: Update.
2298         * linux-thread-db.c: Update.
2299         * nat/linux-osdata.c: Update.
2300         * nat/linux-procfs.c: Update.
2301         * nto-procfs.c: Update.
2302         * obsd-nat.c: Update.
2303         * proc-service.c: Update.
2304         * procfs.c: Update.
2305         * ravenscar-thread.c: Update.
2306         * remote-sim.c: Update.
2307         * remote.c: Update.
2308         * sol-thread.c: Update.
2309         * target.c: Update.
2310         * windows-nat.c: Update.
2311
2312 2018-07-03  Tom Tromey  <tom@tromey.com>
2313
2314         * infrun.c (follow_exec): Use exit_inferior_silent.
2315         * inferior.c (exit_inferior_num_silent): Remove.
2316         * inferior.h (exit_inferior_num_silent): Don't declare.
2317
2318 2018-07-03  Tom Tromey  <tom@tromey.com>
2319
2320         PR cli/23340:
2321         * darwin-nat.c (darwin_attach_pid): Reset inferior and
2322         inferior_ptid on error.
2323
2324 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
2325             Simon Marchi  <simon.marchi@polymtl.ca>
2326
2327         PR tdep/8282
2328         * disasm.h (gdb_disassembler): Add
2329         `m_disassembler_options_holder'. member
2330         * disasm.c (get_all_disassembler_options): New function.
2331         (gdb_disassembler::gdb_disassembler): Use it.
2332         (gdb_buffered_insn_length_init_dis): Likewise.
2333         (gdb_buffered_insn_length): Adjust accordingly.
2334         (set_disassembler_options): Handle options with arguments.
2335         (show_disassembler_options_sfunc): Likewise.  Add a leading new
2336         line if showing options with descriptions.
2337         (disassembler_options_completer): Adapt to using the
2338         `disasm_options_and_args_t' structure.
2339         * mips-tdep.c (mips_disassembler_options): New variable.
2340         (mips_disassembler_options_o32): Likewise.
2341         (mips_disassembler_options_n32): Likewise.
2342         (mips_disassembler_options_n64): Likewise.
2343         (gdb_print_insn_mips): Don't set `disassembler_options'.
2344         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
2345         functions.
2346         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
2347         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
2348         `gdbarch_disassembler_options_implicit' and
2349         `gdbarch_valid_disassembler_options'.
2350         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
2351         `disasm_options_and_args_t' structure.
2352         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
2353         method.
2354         (valid_disassembler_options): Switch from `disasm_options_t' to
2355         the `disasm_options_and_args_t' structure.
2356         * NEWS: Document `set disassembler-options' support for the MIPS
2357         target.
2358         * gdbarch.h: Regenerate.
2359         * gdbarch.c: Regenerate.
2360
2361 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2362
2363         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
2364
2365 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
2366
2367         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
2368         parameter in call to amd64_target_description.
2369         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
2370         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
2371         (amd64fbsd_init_abi): Likewise.
2372         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
2373         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
2374         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
2375         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
2376
2377 2018-06-29  Pedro Alves  <palves@redhat.com>
2378
2379         * gdb/amd64-tdep.h (amd64_create_target_description): Add
2380         "segments" parameter.
2381         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
2382         (_initialize_amd64_tdep): Update call to
2383         amd64_create_target_description.
2384         (amd64_target_description): Add "segments" parameter.  Adjust
2385         the implementation to use it.
2386         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
2387         call to amd64_create_target_description.
2388         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
2389         * gdb/arch/amd64.h (amd64_create_target_description): Add
2390         "segments" register.
2391         * gdb/arch/amd64.c (amd64_create_target_description): Add
2392         "segments" parameter.  Call create_feature_i386_64bit_segments
2393         only if SEGMENTS is true.
2394         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
2395         call to amd64_create_target_description.
2396
2397 2018-06-29  Pedro Alves  <palves@redhat.com>
2398
2399         * thread.c (thread_target_id_str): New, factored out from ...
2400         (print_thread_info_1): ... here.  Use it to compute the max
2401         "Target Id" column width.
2402
2403 2018-06-29  Pedro Alves  <palves@redhat.com>
2404
2405         * remote.c (remote_target::extra_thread_info): Delete
2406         'display_buf' and 'n' locals.  from the cache, regardless of
2407         packet mechanims is in use.  Use cache for qThreadExtra and qP
2408         methods too.
2409
2410 2018-06-29  Pedro Alves  <palves@redhat.com>
2411
2412         * blockframe.c (find_pc_sect_containing_function): New function.
2413         * breakpoint.c (print_breakpoint_location): Don't call
2414         find_pc_sect_function.
2415         * linespec.c (create_sals_line_offset): Record the location's
2416         symbol in the sal.
2417         * linespec.c (convert_address_location_to_sals): Fill in sal's
2418         symbol with find_pc_sect_containing_function.
2419         * symtab.c (find_function_start_sal): Rename to ...
2420         (find_function_start_sal_1): ... this.
2421         (find_function_start_sal): Reimplement as wrapper around
2422         find_function_start_sal_1, and use
2423         find_pc_sect_containing_function to fill in the sal's symbol.
2424         (find_function_start_sal(symbol*, bool)): Adjust.
2425         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
2426         comments.
2427         (find_pc_sect_containing_function): Declare.
2428
2429 2018-06-29  Pedro Alves  <palves@redhat.com>
2430
2431         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
2432         true if the the location has no symbol.
2433
2434 2018-06-28  Tom Tromey  <tom@tromey.com>
2435
2436         * NEWS: Mention --enable-codesign.
2437         * silent-rules.mk (ECHO_SIGN): New variable.
2438         * configure.ac: Add --enable-codesign.
2439         * configure: Rebuild.
2440         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
2441         (gdb$(EXEEXT)): Optionally invoke codesign.
2442
2443 2018-06-28  Pedro Alves  <palves@redhat.com>
2444
2445         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
2446         comments.
2447         (switch_to_thread_no_regs): Adjust comment.
2448         * infcmd.c (stop_pc): Delete.
2449         (post_create_inferior, info_program_command): Replace references
2450         to stop_pc with references to thread_info->suspend.stop_pc.
2451         * inferior.h (stop_pc): Delete declaration.
2452         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
2453         (handle_inferior_event_1, handle_signal_stop)
2454         (process_event_stop_test, keep_going_stepped_thread)
2455         (handle_step_into_function, handle_step_into_function_backward)
2456         (print_stop_location): Replace references to stop_pc with
2457         references to thread_info->suspend.stop_pc.
2458         (struct infcall_suspend_state) <stop_pc>: Delete field.
2459         (save_infcall_suspend_state, restore_infcall_suspend_state):
2460         Remove references to inf_stat->stop_pc.
2461         * linux-fork.c (fork_load_infrun_state): Likewise.
2462         * record-btrace.c (record_btrace_set_replay): Likewise.
2463         * record-full.c (record_full_goto_entry): Likewise.
2464         * remote.c (print_one_stopped_thread): Likewise.
2465         * target.c (target_resume): Extend comment.
2466         * thread.c (set_executing_thread): New.
2467         (set_executing): Use it.
2468         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
2469         Remove references to stop_pc.
2470
2471 2018-06-28  Pedro Alves  <palves@redhat.com>
2472
2473         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
2474         Moving fetching stop_pc until after ecs->event_thread is refreshed.
2475
2476 2018-06-28  Tom Tromey  <tom@tromey.com>
2477
2478         * coffread.c (coff_symfile_finish): Update.
2479         * xcoffread.c (xcoff_symfile_finish): Update.
2480         * elfread.c (elf_symfile_finish): Update.
2481         * symfile.h (dwarf2_free_objfile): Don't declare.
2482         * dwarf2read.c (_initialize_dwarf2_read): Use
2483         register_objfile_data_with_cleanup.
2484         (dwarf2_free_objfile): Now static.  Change signature.
2485
2486 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2487
2488         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
2489         option "-o" to add-symbol-file-load to add an offset to each
2490         section's load address.
2491         * symfile.c (set_objfile_default_section_offset): New function.
2492
2493 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2494
2495         * symfile.c (add_symbol_file_command): Make sure that sections
2496         with the same name are sorted in the same order.
2497
2498 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2499
2500         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
2501         require the second argument.  If omitted, load sections at the
2502         addresses specified in the file.
2503
2504 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2505
2506         * symfile.c (symbol_file_command, symbol_file_add_main_1)
2507         (_initialize_symfile): Add option "-o" to symbol-file to add an
2508         offset to each section of the symbol file.
2509
2510 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2511
2512         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
2513
2514 2018-06-27  Tom Tromey  <tom@tromey.com>
2515
2516         * stack.c (_initialize_stack): Update "func" help text.
2517
2518 2018-06-27  Tom Tromey  <tom@tromey.com>
2519
2520         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
2521         std::vector.
2522         (unwind_infopy_str, pyuw_create_unwind_info)
2523         (unwind_infopy_add_saved_register, pyuw_sniffer)
2524         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
2525         Update.
2526         (struct saved_reg): Add constructor.
2527         <value>: Now a gdbpy_ref<>.
2528
2529 2018-06-27  Tom Tromey  <tom@tromey.com>
2530
2531         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
2532
2533 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2534
2535         * gdb-gdb.py.in: Format using autopep8.
2536
2537 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2538
2539         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
2540         (type_lookup_function): Recognize CORE_ADDR values.
2541
2542 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2543
2544         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
2545         print tag_name.
2546
2547 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2548
2549         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
2550         <__lt__>: Add.
2551
2552 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2553
2554         * gdb-gdb.py: Move to...
2555         * gdb-gdb.py.in: ... here.
2556         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
2557         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
2558         dependencies.
2559         (distclean): Remove gdb-gdb.py when cleaning.
2560         (gdb-gdb.py, gdb-gdb.gdb): New rules.
2561         * configure: Re-generate.
2562
2563 2018-06-27  Pedro Alves  <palves@redhat.com>
2564
2565         * proc-service.c (get_ps_regcache): New.
2566         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2567         (ps_lsetfpregs): Use it.
2568
2569 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
2570
2571         PR gdb/21695
2572         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
2573         (dwarf_decode_lines_1): Adjust.
2574
2575 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2576
2577         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2578         override.
2579         <info_proc>: Likewise.
2580
2581 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2582
2583         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2584         to windows_fetch_one_register, and only handle the case of
2585         fetching one register.  Move the code that reloads the context
2586         and iterates over all registers if R is negative to...
2587         (windows_nat_target::fetch_registers): ... here.
2588         (do_windows_store_inferior_registers): Rename to
2589         windows_store_one_register, and only handle the case of storing
2590         one register.  Move the code that handles the case where r is
2591         negative to...
2592         (windows_nat_target::store_registers) ... here.
2593
2594 2018-06-26  Tom Tromey  <tom@tromey.com>
2595
2596         PR rust/22574:
2597         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2598         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2599         Update.
2600         (rust_internal_print_type): Add podata parameter.
2601         (rust_print_type): Update.
2602
2603 2018-06-26  Tom Tromey  <tom@tromey.com>
2604
2605         * typeprint.h (struct print_offset_data) <update, finish,
2606         maybe_print_hole>: New methods.
2607         <indentation>: New constant.
2608         * typeprint.c (print_offset_data::indentation): Define.
2609         (print_offset_data::maybe_print_hole, print_offset_data::update)
2610         (print_offset_data::finish): Move from c-typeprint.c and rename.
2611         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2612         (print_spaces_filtered_with_print_options): Update.
2613         (c_print_type_union_field_offset, maybe_print_hole)
2614         (c_print_type_struct_field_offset): Move to typeprint.c and
2615         rename.
2616         (c_type_print_base_struct_union): Update.
2617
2618 2018-06-25  Pedro Alves  <palves@redhat.com>
2619
2620         * gdbthread.h (thread_info_ref, delete_thread)
2621         (delete_thread_silent, first_thread_of_inferior)
2622         (any_thread_of_inferior, switch_to_thread)
2623         (enable_thread_stack_temporaries)
2624         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2625         (get_last_thread_stack_temporary)
2626         (value_in_thread_stack_temporaries, can_access_registers_thread):
2627         Spell out "struct thread_info" instead of just "thread_info".
2628         * inferior.h (notice_new_inferior): Likewise.
2629
2630 2018-06-25  Pedro Alves  <palves@redhat.com>
2631
2632         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2633         pass thread_info pointer to delete_thread.
2634         (windows_nat_target::detach): Pass inferior pointer to
2635         detach_inferior.
2636         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2637         delete_thread.
2638         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2639         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2640         and pass a thread_info pointer to delete_thread.
2641         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2642         pass thread_info pointer to delete_thread.
2643         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2644         delete_thread_silent call.
2645         * procfs.c (procfs_target::detach): Pass inferior pointer to
2646         detach_inferior.
2647         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2648         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2649         delete_thread_silent call.
2650         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2651         pass thread_info pointer to delete_thread.
2652         (windows_nat_target::detach): Pass inferior pointer to
2653         delete_inferior.
2654
2655 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2656
2657         * regcache.c (readable_regcache::read_part): Fix asserts.
2658         (reg_buffer::raw_collect_part): New function.
2659         (regcache::write_part): Fix asserts.
2660         (reg_buffer::raw_supply_part): New function.
2661         (regcache::transfer_regset_register): New helper function.
2662         (regcache::transfer_regset): Call new functions.
2663         (regcache_supply_regset): Use gdb_byte*.
2664         (regcache::supply_regset): Likewise.
2665         (regcache_collect_regset): Likewise.
2666         (regcache::collect_regset): Likewise.
2667         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2668         (reg_buffer::raw_supply_part): Likewise.
2669         (regcache::transfer_regset_register): Likewise.
2670         (regcache::transfer_regset): Use gdb_byte*.
2671
2672 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2673
2674         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2675
2676 2018-06-21  Pedro Alves  <palves@redhat.com>
2677
2678         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2679         instead of a ptid_t.  All callers adjusted.
2680         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2681         adjusted.
2682         (print_ada_task_info, display_current_task_id, task_command_1):
2683         Adjust.
2684         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2685         inferior_thread.
2686         (breakpoint_kind): Adjust.
2687         (remove_breakpoints_pid): Rename to ...
2688         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2689         pointer.  All callers adjusted.
2690         (bpstat_clear_actions): Use inferior_thread.
2691         (get_bpstat_thread): New.
2692         (bpstat_do_actions): Use it.
2693         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2694         to take a thread_info pointer.  All callers adjusted.
2695         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2696         (breakpoint_re_set_thread): Use inferior_thread.
2697         * breakpoint.h (struct inferior): Forward declare.
2698         (bpstat_stop_status): Update.
2699         (remove_breakpoints_pid): Delete.
2700         (remove_breakpoints_inf): New.
2701         * bsd-uthread.c (bsd_uthread_target::wait)
2702         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2703         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2704         (maint_btrace_packet_history_cmd)
2705         (maint_btrace_clear_packet_history_cmd): Adjust.
2706         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2707         inferior_thread.
2708         * cli/cli-interp.c: Include "inferior.h".
2709         * common/refcounted-object.h (struct
2710         refcounted_object_ref_policy): New.
2711         * compile/compile-object-load.c: Include gdbthread.h.
2712         (store_regs): Use inferior_thread.
2713         * corelow.c (core_target::close): Use current_inferior.
2714         (core_target_open): Adjust to use first_thread_of_inferior and use
2715         the current inferior.
2716         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2717         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2718         <thread>: ... this new field.  All references adjusted.
2719         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2720         Take a thread_info pointer instead of a ptid_t.
2721         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2722         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2723         thread_info pointer instead of a ptid_t.
2724         * elfread.c: Include "inferior.h".
2725         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2726         Use inferior_thread.
2727         * eval.c (evaluate_subexp): Likewise.
2728         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2729         inferior_thread.
2730         * gdb_proc_service.h (struct thread_info): Forward declare.
2731         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2732         <thread>: ... this new field.  All references adjusted.
2733         * gdbarch.h, gdbarch.c: Regenerate.
2734         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2735         'thread' parameter.  All implementations and callers adjusted.
2736         * gdbthread.h (thread_info) <set_running>: New method.
2737         (delete_thread, delete_thread_silent): Take a thread_info pointer
2738         instead of a ptid.
2739         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2740         (first_thread_of_process): Delete, replaced by ...
2741         (first_thread_of_inferior): ... this new function.  All callers
2742         adjusted.
2743         (any_live_thread_of_process): Delete, replaced by ...
2744         (any_live_thread_of_inferior): ... this new function.  All callers
2745         adjusted.
2746         (switch_to_thread, switch_to_no_thread): Declare.
2747         (is_executing): Delete.
2748         (enable_thread_stack_temporaries): Update comment.
2749         <enable_thread_stack_temporaries>: Take a thread_info pointer
2750         instead of a ptid_t.  Incref the thread.
2751         <~enable_thread_stack_temporaries>: Decref the thread.
2752         <m_ptid>: Delete
2753         <m_thr>: New.
2754         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2755         (get_last_thread_stack_temporary)
2756         (value_in_thread_stack_temporaries, can_access_registers_thread):
2757         Take a thread_info pointer instead of a ptid_t.  All callers
2758         adjusted.
2759         * infcall.c (get_call_return_value): Use inferior_thread.
2760         (run_inferior_call): Work with thread pointers instead of ptid_t.
2761         (call_function_by_hand_dummy): Work with thread pointers instead
2762         of ptid_t.  Use thread_info_ref.
2763         * infcmd.c (proceed_thread_callback): Access thread's state
2764         directly.
2765         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2766         access thread's state directly.
2767         (continue_command): Use inferior_thread.
2768         (info_program_command): Use find_thread_ptid and access thread
2769         state directly.
2770         (proceed_after_attach_callback): Use thread state directly.
2771         (notice_new_inferior): Take a thread_info pointer instead of a
2772         ptid_t.  All callers adjusted.
2773         (exit_inferior): Take an inferior pointer instead of a pid.  All
2774         callers adjusted.
2775         (exit_inferior_silent): New.
2776         (detach_inferior): Delete.
2777         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2778         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2779         (detach_inferior_command, kill_inferior_command): Use
2780         find_inferior_id instead of valid_gdb_inferior_id and
2781         gdb_inferior_id_to_pid.
2782         (inferior_command): Use inferior and thread pointers.
2783         * inferior.h (struct thread_info): Forward declare.
2784         (notice_new_inferior): Take a thread_info pointer instead of a
2785         ptid_t.  All callers adjusted.
2786         (detach_inferior): Delete declaration.
2787         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2788         instead of a pid.  All callers adjusted.
2789         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2790         (valid_gdb_inferior_id): Delete.
2791         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2792         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2793         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2794         ...
2795         <inf>: ... this new field.
2796         <step_ptid>: Delete, replaced by ...
2797         <step_thread>: ... this new field.
2798         (get_displaced_stepping_state): Take an inferior pointer instead
2799         of a pid.  All callers adjusted.
2800         (displaced_step_in_progress_any_inferior): Adjust.
2801         (displaced_step_in_progress_thread): Take a thread pointer instead
2802         of a ptid_t.  All callers adjusted.
2803         (displaced_step_in_progress, add_displaced_stepping_state): Take
2804         an inferior pointer instead of a pid.  All callers adjusted.
2805         (get_displaced_step_closure_by_addr): Adjust.
2806         (remove_displaced_stepping_state): Take an inferior pointer
2807         instead of a pid.  All callers adjusted.
2808         (displaced_step_prepare_throw, displaced_step_prepare)
2809         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2810         All callers adjusted.
2811         (start_step_over): Adjust.
2812         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2813         displaced step queue.
2814         (do_target_resume): Adjust.
2815         (fetch_inferior_event): Use inferior_thread.
2816         (context_switch, get_inferior_stop_soon): Take an
2817         execution_control_state pointer instead of a ptid_t.  All callers
2818         adjusted.
2819         (switch_to_thread_cleanup): Delete.
2820         (stop_all_threads): Use scoped_restore_current_thread.
2821         * inline-frame.c: Include "gdbthread.h".
2822         (inline_state) <inline_state>: Take a thread pointer instead of a
2823         ptid_t.  All callers adjusted.
2824         <ptid>: Delete, replaced by ...
2825         <thread>: ... this new field.
2826         (find_inline_frame_state): Take a thread pointer instead of a
2827         ptid_t.  All callers adjusted.
2828         (skip_inline_frames, step_into_inline_frame)
2829         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2830         pointer instead of a ptid_t.  All callers adjusted.
2831         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2832         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2833         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2834         pointers directly.
2835         * linux-nat.c (get_detach_signal): Likewise.
2836         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2837         (thread_db_notice_clone): Adjust.
2838         (thread_db_find_new_threads_silently)
2839         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2840         a thread pointer instead of a ptid_t.  All callers adjusted.
2841         * mi/mi-cmd-var.c: Include "inferior.h".
2842         (mi_cmd_var_update_iter): Update to use thread pointers.
2843         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2844         inferior directly.
2845         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2846         out to ...
2847         (mi_output_running): ... this new function.
2848         (mi_on_resume_1): Adjust to use it.
2849         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2850         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2851         directly.
2852         (interrupt_thread_callback): : Adjust to use thread and inferior
2853         pointers.
2854         * proc-service.c: Include "gdbthread.h".
2855         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2856         * progspace-and-thread.c: Include "inferior.h".
2857         * progspace.c: Include "inferior.h".
2858         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2859         hold a reference to an inferior_object.
2860         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2861         inferior_thread.
2862         * python/py-inferior.c (struct inferior_object): Give the type a
2863         tag name instead of a typedef.
2864         (python_on_normal_stop): No need to check if the current thread is
2865         listed.
2866         (inferior_to_inferior_object): Change return type to
2867         inferior_object.  All callers adjusted.
2868         (find_thread_object): Delete, bits factored out to ...
2869         (thread_to_thread_object): ... this new function.
2870         * python/py-infthread.c (create_thread_object): Use
2871         inferior_to_inferior_object.
2872         (thpy_is_stopped): Use thread pointer directly.
2873         (gdbpy_selected_thread): Use inferior_thread.
2874         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2875         field, replaced with ...
2876         <thread>: ... this new field.  All users adjusted.
2877         (btpy_insn_or_gap_new): Drop const.
2878         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2879         callers adjusted.
2880         * python/py-record.c: Include "gdbthread.h".
2881         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2882         a ptid_t.  All callers adjusted.
2883         (gdbpy_current_recording): Use inferior_thread.
2884         * python/py-record.h (recpy_record_object) <ptid>: Delete
2885         field, replaced with ...
2886         <thread>: ... this new field.  All users adjusted.
2887         (recpy_element_object) <ptid>: Delete
2888         field, replaced with ...
2889         <thread>: ... this new field.  All users adjusted.
2890         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2891         a ptid_t.  All callers adjusted.
2892         * python/py-threadevent.c: Include "gdbthread.h".
2893         (get_event_thread): Use thread_to_thread_object.
2894         * python/python-internal.h (struct inferior_object): Forward
2895         declare.
2896         (find_thread_object, find_inferior_object): Delete declarations.
2897         (thread_to_thread_object, inferior_to_inferior_object): New
2898         declarations.
2899         * record-btrace.c: Include "inferior.h".
2900         (require_btrace_thread): Use inferior_thread.
2901         (record_btrace_frame_sniffer)
2902         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2903         (get_thread_current_frame): Use scoped_restore_current_thread and
2904         switch_to_thread.
2905         (get_thread_current_frame): Use thread pointer directly.
2906         (record_btrace_replay_at_breakpoint): Use thread's inferior
2907         pointer directly.
2908         * record-full.c: Include "inferior.h".
2909         * regcache.c: Include "gdbthread.h".
2910         (get_thread_arch_regcache): Use the inferior's address space
2911         directly.
2912         (get_thread_regcache, registers_changed_thread): New.
2913         * regcache.h (get_thread_regcache(thread_info *thread)): New
2914         overload.
2915         (registers_changed_thread): New.
2916         (remote_target) <remote_detach_1>: Swap order of parameters.
2917         (remote_add_thread): <remote_add_thread>: Return the new thread.
2918         (get_remote_thread_info(ptid_t)): New overload.
2919         (remote_target::remote_notice_new_inferior): Use thread pointers
2920         directly.
2921         (remote_target::process_initial_stop_replies): Use
2922         thread_info::set_running.
2923         (remote_target::remote_detach_1, remote_target::detach)
2924         (extended_remote_target::detach): Adjust.
2925         * stack.c (frame_show_address): Use inferior_thread.
2926         * target-debug.h (target_debug_print_thread_info_pp): New.
2927         * target-delegates.c: Regenerate.
2928         * target.c (default_thread_address_space): Delete.
2929         (memory_xfer_partial_1): Use current_inferior.
2930         (target_detach): Use current_inferior.
2931         (target_thread_address_space): Delete.
2932         (generic_mourn_inferior): Use current_inferior.
2933         * target.h (struct target_ops) <thread_address_space>: Delete.
2934         (target_thread_address_space): Delete.
2935         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2936         pointers directly.
2937         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2938         thread pointer instead of a ptid_t.  Adjust all callers.
2939         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2940         (first_thread_of_process): Delete, replaced by ...
2941         (first_thread_of_inferior): ... this new function.  All callers
2942         adjusted.
2943         (any_thread_of_process): Rename to ...
2944         (any_thread_of_inferior): ... this, and take an inferior pointer.
2945         (any_live_thread_of_process): Rename to ...
2946         (any_live_thread_of_inferior): ... this, and take an inferior
2947         pointer.
2948         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2949         (value_in_thread_stack_temporaries)
2950         (get_last_thread_stack_temporary): Take a thread pointer instead
2951         of a ptid_t.  Adjust all callers.
2952         (thread_info::set_running): New.
2953         (validate_registers_access): Use inferior_thread.
2954         (can_access_registers_ptid): Rename to ...
2955         (can_access_registers_thread): ... this, and take a thread
2956         pointer.
2957         (print_thread_info_1): Adjust to compare thread pointers instead
2958         of ptids.
2959         (switch_to_no_thread, switch_to_thread): Make extern.
2960         (scoped_restore_current_thread::~scoped_restore_current_thread):
2961         Use m_thread pointer directly.
2962         (scoped_restore_current_thread::scoped_restore_current_thread):
2963         Use inferior_thread.
2964         (thread_command): Use thread pointer directly.
2965         (thread_num_make_value_helper): Use inferior_thread.
2966         * top.c (execute_command): Use inferior_thread.
2967         * tui/tui-interp.c: Include "inferior.h".
2968         * varobj.c (varobj_create): Use inferior_thread.
2969         (value_of_root_1): Use find_thread_global_id instead of
2970         global_thread_id_to_ptid.
2971
2972 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2973
2974         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2975         possible.
2976         (regcache::write_part): Likewise.
2977         (readable_regcache::cooked_read_part): Update comment.
2978         (readable_regcache::cooked_write_part): Likewise.
2979         * regcache.h: (readable_regcache::read_part): Likewise.
2980         (regcache::write_part): Likewise.
2981
2982 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2983             Dirk Schubert  <dirk.schubert@arm.com>
2984
2985         * aarch64-linux-nat.c (post_attach): New.
2986         (aarch64_linux_nat_target::post_attach): Override post_attach to
2987         record the number of hardware debug registers.
2988
2989 2018-06-20  Tom Tromey  <tom@tromey.com>
2990
2991         * python/py-param.c (add_setshow_generic): Make parameters const.
2992         (parmpy_init): Update.
2993
2994 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2995
2996         * regcache.h (regcache_cooked_read_ftype): Rename to...
2997         (register_read_ftype): ...this, change type to function_view.
2998         (class reg_buffer) <save>: Remove src parameter.
2999         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3000         parameter non-const in first overload.  Remove src parameter in
3001         second overload.
3002         * regcache.c (do_cooked_read): Remove.
3003         (readonly_detached_regcache::readonly_detached_regcache): Make
3004         parameter non-const, adjust call to other constructor.
3005         (reg_buffer::save): Remove src parameter.
3006         * frame.c (do_frame_register_read): Remove.
3007         (frame_save_as_regcache): Use lambda function.
3008         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3009         parameter to ppu2spu_data *.
3010         (ppu2spu_sniffer): Use lambda function.
3011
3012 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3013
3014         * record-full.c (record_full_target::insert_breakpoint): Remove
3015         "struct" keyword, add const.
3016
3017 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3018
3019         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3020         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3021         * configure.ac: Remove AC_PREREQ, add missing quoting.
3022         * gnulib/configure.ac: Modernize usage of
3023         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3024         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3025         (AUTOMAKE_VERSION): Bump to 1.15.1.
3026         * configure: Re-generate.
3027         * config.in: Re-generate.
3028         * aclocal.m4: Re-generate.
3029         * gnulib/aclocal.m4: Re-generate.
3030         * gnulib/config.in: Re-generate.
3031         * gnulib/configure: Re-generate.
3032         * gnulib/import/Makefile.in: Re-generate.
3033
3034 2018-06-19  Pedro Alves  <palves@redhat.com>
3035
3036         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3037         (lookup_minimal_symbol_by_pc_section): ... here with
3038         gdb_assert_not_reached added.
3039
3040 2018-06-19  Pedro Alves  <palves@redhat.com>
3041
3042         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3043         parameter with a block parameter.  Compare location's block symbol
3044         with the frame's block instead of addresses.
3045         (skip_inline_frames): Pass the current block instead of the
3046         frame's address.  Break out as soon as we determine the frame
3047         should not be skipped.
3048
3049 2018-06-18  Tom Tromey  <tom@tromey.com>
3050
3051         * solib-aix.c (solib_aix_get_section_offsets): Return
3052         unique_xmalloc_ptr.
3053         (solib_aix_solib_create_inferior_hook): Update.
3054
3055 2018-06-18  Tom Tromey  <tom@tromey.com>
3056
3057         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3058
3059 2018-06-18  Tom Tromey  <tom@tromey.com>
3060
3061         * solib-frv.c (frv_relocate_main_executable): Use
3062         unique_xmalloc_ptr.
3063         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3064         unique_xmalloc_ptr.
3065
3066 2018-06-18  Tom Tromey  <tom@tromey.com>
3067
3068         * objfiles.h (inhibit_section_map_updates): Update.
3069         (resume_section_map_updates, resume_section_map_updates_cleanup):
3070         Remove.
3071         * solib-svr4.c (svr4_handle_solib_event): Update.
3072         * objfiles.c (inhibit_section_map_updates): Return
3073         scoped_restore_tmpl<int>.
3074         (resume_section_map_updates, resume_section_map_updates_cleanup):
3075         Remove.
3076
3077 2018-06-18  Tom Tromey  <tom@tromey.com>
3078
3079         * valprint.h (read_string): Update.
3080         * valprint.c (read_string): Change type of "buffer".
3081         (val_print_string): Update.
3082         * python/py-value.c (valpy_string): Update.
3083         * language.h (struct language_defn) <la_get_string>: Change
3084         type of "buffer".
3085         (default_get_string, c_get_string): Update.
3086         * language.c (default_get_string): Change type of "buffer".
3087         * guile/scm-value.c (gdbscm_value_to_string): Update.
3088         * c-lang.c (c_get_string): Change type of "buffer".
3089
3090 2018-06-18  Tom Tromey  <tom@tromey.com>
3091
3092         * ser-mingw.c (struct pipe_state_destroyer): New.
3093         (pipe_state_up): New typedef.
3094         (cleanup_pipe_state): Remove.
3095         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3096
3097 2018-06-18  Tom Tromey  <tom@tromey.com>
3098
3099         * rust-lang.h (rust_yyerror): Don't declare.
3100         * rust-lang.c (rust_language_defn): Update.
3101         * rust-exp.y (yyerror): Now static.
3102         * parse.c (parse_exp_in_context_1): Update.
3103         * p-lang.h (p_yyerror): Don't declare.
3104         * p-lang.c (p_language_defn): Update.
3105         * p-exp.y (yyerror): Now static.
3106         * opencl-lang.c (opencl_language_defn): Update.
3107         * objc-lang.c (objc_language_defn): Update.
3108         * m2-lang.h (m2_yyerror): Don't declare.
3109         * m2-lang.c (m2_language_defn): Update.
3110         * m2-exp.y (yyerror): Now static.
3111         * language.h (struct language_defn) <la_error>: Remove.
3112         * language.c (unk_lang_error): Remove.
3113         (unknown_language_defn, auto_language_defn): Remove.
3114         * go-lang.h (go_yyerror): Don't declare.
3115         * go-lang.c (go_language_defn): Update.
3116         * go-exp.y (yyerror): Now static.
3117         * f-lang.h (f_yyerror): Don't declare.
3118         * f-lang.c (f_language_defn): Update.
3119         * f-exp.y (yyerror): Now static.
3120         * d-lang.h (d_yyerror): Don't declare.
3121         * d-lang.c (d_language_defn): Update.
3122         * d-exp.y (yyerror): Now static.
3123         * c-lang.h (c_yyerror): Don't declare.
3124         * c-lang.c (c_language_defn, cplus_language_defn)
3125         (asm_language_defn, minimal_language_defn): Update.
3126         * c-exp.y (yyerror): Now static.
3127         * ada-lang.h (ada_yyerror): Don't declare.
3128         * ada-lang.c (ada_language_defn): Update.
3129         * ada-exp.y (yyerror): Now static.
3130
3131 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3132
3133         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3134         (store_sveregs_to_thread): Likewise.
3135         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3136         (aarch64_linux_store_inferior_registers): Likewise.
3137         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3138         function.
3139         (aarch64_sve_regs_copy_to_regcache): Likewise.
3140         (aarch64_sve_regs_copy_from_regcache): Likewise.
3141         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3142         declaration.
3143         (aarch64_sve_regs_copy_to_regcache): Likewise.
3144         (aarch64_sve_regs_copy_from_regcache): Likewise.
3145         (sve_context): Structure from Linux headers.
3146         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3147         (SVE_SIG_ZREG_SIZE): Likewise.
3148         (SVE_SIG_PREG_SIZE): Likewise.
3149         (SVE_SIG_FFR_SIZE): Likewise.
3150         (SVE_SIG_REGS_OFFSET): Likewise.
3151         (SVE_SIG_ZREGS_OFFSET): Likewise.
3152         (SVE_SIG_ZREG_OFFSET): Likewise.
3153         (SVE_SIG_ZREGS_SIZE): Likewise.
3154         (SVE_SIG_PREGS_OFFSET): Likewise.
3155         (SVE_SIG_PREG_OFFSET): Likewise.
3156         (SVE_SIG_PREGS_SIZE): Likewise.
3157         (SVE_SIG_FFR_OFFSET): Likewise.
3158         (SVE_SIG_REGS_SIZE): Likewise.
3159         (SVE_SIG_CONTEXT_SIZE): Likewise.
3160         (SVE_PT_REGS_MASK): Likewise.
3161         (SVE_PT_REGS_FPSIMD): Likewise.
3162         (SVE_PT_REGS_SVE): Likewise.
3163         (SVE_PT_VL_INHERIT): Likewise.
3164         (SVE_PT_VL_ONEXEC): Likewise.
3165         (SVE_PT_REGS_OFFSET): Likewise.
3166         (SVE_PT_FPSIMD_OFFSET): Likewise.
3167         (SVE_PT_FPSIMD_SIZE): Likewise.
3168         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3169         (SVE_PT_SVE_PREG_SIZE): Likewise.
3170         (SVE_PT_SVE_FFR_SIZE): Likewise.
3171         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3172         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3173         (__SVE_SIG_TO_PT): Likewise.
3174         (SVE_PT_SVE_OFFSET): Likewise.
3175         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
3176         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
3177         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
3178         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
3179         (SVE_PT_SVE_PREG_OFFSET): Likewise.
3180         (SVE_PT_SVE_PREGS_SIZE): Likewise.
3181         (SVE_PT_SVE_FFR_OFFSET): Likewise.
3182         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
3183         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
3184         (SVE_PT_SVE_SIZE): Likewise.
3185         (SVE_PT_SIZE): Likewise.
3186         (HAS_SVE_STATE): New define.
3187
3188 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3189
3190         * nat/aarch64-sve-linux-sigcontext.h: New file.
3191         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
3192         new files.
3193         (SVE_VQ_MIN): Likewise.
3194         (SVE_VQ_MAX): Likewise.
3195         (SVE_VL_MIN): Likewise.
3196         (SVE_VL_MAX): Likewise.
3197         (SVE_NUM_ZREGS): Likewise.
3198         (SVE_NUM_PREGS): Likewise.
3199         (sve_vl_valid): Likewise.
3200         (struct user_sve_header): Likewise.
3201
3202 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
3203             Richard Bunt <Richard.Bunt@arm.com>
3204
3205         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
3206         was requested by GDB.
3207
3208 2018-06-15  Tom de Vries  <tdevries@suse.de>
3209
3210         * MAINTAINERS (Write After Approval): Add Tom de Vries.
3211
3212 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
3213
3214         * gnulib/update-gnulib.sh: Print expected versions of
3215         autoconf/aclocal.
3216
3217 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
3218
3219         * arch-utils.c (default_type_align): Use type_length_units.
3220         * gdbtypes.c (type_align): Use type_length_units.
3221
3222 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3223
3224         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
3225         of 'define' command.
3226
3227 2018-06-14  Tom de Vries  <tdevries@suse.de>
3228
3229         PR cli/22573
3230         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
3231         get_no_prettyformat_print_options.
3232
3233 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
3234
3235         * sparc-nat.h: Include target.h.
3236         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
3237         <fetch_registers>: Remove this argument in function call.
3238         <store_registers>: Remove this argument in function call, remove
3239         extra semicolon.
3240         <low_forget_process>: Call sparc64_forget_process instead of
3241         sparc_forget_process.
3242
3243 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3244
3245         * procfs.c (_initialize_procfs): Use add_inf_child_target.
3246         (procfs_target::make_corefile_notes): Adjust to new
3247         target_read_alloc return type.
3248
3249 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3250             Stephen Roberts  <stephen.roberts@arm.com>
3251
3252         PR gdb/22882
3253         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
3254         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
3255         Move should_notify_stop local into more inner scope.
3256
3257 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3258             Stephen Roberts  <stephen.roberts@arm.com>
3259
3260         PR gdb/22882
3261         * infrun.c (resume_1): Add call to mark_async_event_handler.
3262
3263 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3264
3265         * infrun.c (do_target_wait): Change old version of $pc printed.
3266
3267 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
3268
3269         * dwarf2read.c (read_index_from_section): Rename to...
3270         (read_gdb_index_from_section): ... this, update all callers.
3271         (dwarf2_read_index): Rename to...
3272         (dwarf2_read_gdb_index): ... this, update all callers.
3273
3274 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
3275
3276         * gdb/hppa-linux-nat.c
3277         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
3278         hppa_linux_nat_target::fetch_registers.
3279
3280 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3281
3282         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
3283         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
3284         (AARCH64_DWARF_SVE_FFR): Likewise.
3285         (AARCH64_DWARF_SVE_P0): Likewise.
3286         (AARCH64_DWARF_SVE_Z0): Likewise.
3287
3288 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3289
3290         * common/common-regcache.h (raw_compare): New function.
3291         * regcache.c (regcache::raw_compare): Likewise.
3292         * regcache.h (regcache::raw_compare): New declaration.
3293
3294 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3295
3296         * common/common-regcache.h (reg_buffer_common): New structure.
3297         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
3298         (reg_buffer::raw_supply): Likewise.
3299         (reg_buffer::raw_supply_integer): Likewise.
3300         (reg_buffer::raw_supply_zeroed): Likewise.
3301         (reg_buffer::raw_collect): Likewise.
3302         (reg_buffer::raw_collect_integer): Likewise.
3303         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
3304         (reg_buffer::raw_supply): Likewise.
3305         (reg_buffer::raw_supply_integer): Likewise.
3306         (reg_buffer::raw_supply_zeroed): Likewise.
3307         (reg_buffer::raw_collect): Likewise.
3308         (reg_buffer::raw_collect_integer): Likewise.
3309
3310 2018-06-10  Tom Tromey  <tom@tromey.com>
3311
3312         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
3313         (class remote_state) <stop_reply_queue>: Now std::vector.
3314         (remote_state::~remote_state)
3315         (remote_target::stop_reply_queue_length): Update.
3316         (struct queue_iter_param, remove_child_of_pending_fork)
3317         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
3318         (check_pending_event_prevents_wildcard_vcont_callback)
3319         (remove_stop_reply_for_inferior)
3320         (remove_stop_reply_of_remote_state)
3321         (remote_notif_remove_once_on_match)
3322         (stop_reply_match_ptid_and_ws)
3323         (remote_kill_child_of_pending_fork): Remove.
3324         (remote_target::remove_new_fork_children)
3325         (remote_target::check_pending_events_prevent_wildcard_vcont)
3326         (remote_target::discard_pending_stop_replies)
3327         (remote_target::discard_pending_stop_replies_in_queue)
3328         (remote_target::remote_notif_remove_queued_reply)
3329         (remote_target::queued_stop_reply)
3330         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
3331         (remote_target::wait, remote_target::kill_new_fork_children)
3332         (remote_target::async): Update.
3333
3334 2018-06-10  Tom Tromey  <tom@tromey.com>
3335
3336         * record-full.c (record_full_arch_list_cleanups): Remove.
3337         (record_full_message): Use try/catch.
3338         (record_full_wait_cleanups): Remove.
3339         (record_full_wait_1): Use try/catch.
3340         (record_full_restore): Likewise.
3341
3342 2018-06-10  Tom Tromey  <tom@tromey.com>
3343
3344         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
3345         declare VEC.  Add constructor.
3346         <in_target_beneath>: Now bool.
3347         (record_full_breakpoints): Now a std::vector, static.
3348         (record_full_sync_record_breakpoints)
3349         (record_full_init_record_breakpoints)
3350         (record_full_target::insert_breakpoint)
3351         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
3352
3353 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
3354
3355         * dwarf2read.c (process_cu_includes): Remove struct keyword.
3356         * serial.c (serial_interface_lookup): Remove struct keyword.
3357
3358 2018-06-10  Tom Tromey  <tom@tromey.com>
3359
3360         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
3361         method.
3362         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
3363         a method.
3364         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
3365         method.
3366         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
3367         "beneath" as a method.
3368         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
3369         Use "beneath" as a method.
3370
3371 2018-06-10  Tom Tromey  <tom@tromey.com>
3372
3373         * tracefile.c (struct trace_file_writer_deleter): New.
3374         <operator()>: Rename from trace_file_writer_xfree.
3375         (trace_file_writer_up): New typedef.
3376         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
3377
3378 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3379
3380         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
3381         <m_registers, m_register_status>: Change type to
3382         std::unique_ptr.
3383         * regcache.c (reg_buffer::reg_buffer): Use new instead of
3384         XCNEWVEC.
3385
3386 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3387
3388         * common/common-regcache.h (enum register_status): Add
3389         underlying type "signed char".
3390         * regcache.h (reg_buffer) <m_register_status>: Change type to
3391         register_status *.
3392         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
3393         register_status instead of signed char.
3394         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
3395         (reg_buffer::get_register_status): Remove cast.
3396         (readable_regcache::raw_read): Remove cast.
3397         (readable_regcache::cooked_read): Remove cast.
3398
3399 2018-06-09  Tom Tromey  <tom@tromey.com>
3400
3401         * source.c (reverse_search_command, forward_search_command): Use
3402         scoped_fd.
3403
3404 2018-06-09  Tom Tromey  <tom@tromey.com>
3405
3406         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
3407         (serial_ops_list): Now static, std::vector.
3408         (serial_interface_lookup, serial_add_interface): Update.
3409
3410 2018-06-09  Tom Tromey  <tom@tromey.com>
3411
3412         * dwarf2read.c (process_cu_includes): Update.
3413         (process_full_comp_unit): Update.
3414         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
3415         std::vector.
3416
3417 2018-06-08  Paul Koning  <paul_koning@dell.com>
3418
3419         PR gdb/23252
3420
3421         * python/python.c (do_start_initialization):
3422         Avoid call to internal Python API.
3423         (init__gdb_module): New function.
3424
3425 2018-06-08  Gary Benson <gbenson@redhat.com>
3426
3427         * linux-thread-db.c (valprint.h): New include.
3428         (struct check_thread_db_info): New structure.
3429         (check_thread_db_on_load, tdb_testinfo): New static globals.
3430         (check_thread_db, check_thread_db_callback): New functions.
3431         (try_thread_db_load_1): Run integrity checks if requested.
3432         (maintenance_check_libthread_db): New function.
3433         (_initialize_thread_db): Register "maint check libthread-db"
3434         and "maint set/show check-libthread-db".
3435         * NEWS: Mention the above new commands.
3436
3437 2018-06-08  Tom Tromey  <tom@tromey.com>
3438
3439         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
3440         now a method.
3441
3442 2018-06-08  Tom Tromey  <tom@tromey.com>
3443
3444         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
3445
3446 2018-06-08  Tom Tromey  <tom@tromey.com>
3447
3448         * common/btrace-common.h (struct btrace_data): Add constructor,
3449         destructor, move assignment operator.
3450         <empty, clear, fini>: New methods.
3451         <format>: Initialize.
3452         (btrace_data_init, btrace_data_fini, btrace_data_clear)
3453         (btrace_data_empty): Don't declare.
3454         * common/btrace-common.c (btrace_data_init): Remove.
3455         (btrace_data::fini): Rename from btrace_data_fini.
3456         (btrace_data::empty): Rename from btrace_data_empty.
3457         (btrace_data::clear): Rename from btrace_data_clear.  Return
3458         bool.
3459         * btrace.h (make_cleanup_btrace_data): Don't declare.
3460         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
3461         (parse_xml_btrace): Update.
3462         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
3463         (maint_btrace_clear_packet_history_cmd): Update.
3464
3465 2018-06-07  Pedro Alves  <palves@redhat.com>
3466
3467         * target.h (target_ops) <beneath>: Now a method.  All references
3468         updated.
3469         (class target_stack): New.
3470         * target.c (g_target_stack): New.
3471         (g_current_top_target): Delete.
3472         (current_top_target): Get the top target out of g_target_stack.
3473         (target_stack::push, target_stack::unpush): New.
3474         (push_target, unpush_target): Reimplement.
3475         (target_is_pushed): Reimplement in terms of g_target_stack.
3476         (target_ops::beneath, target_stack::find_beneath): New.
3477
3478 2018-06-07  Pedro Alves  <palves@redhat.com>
3479
3480         * target.h (find_target_beneath): Delete declaration.
3481         * target.c (find_target_beneath): Delete definition.
3482         * aix-thread.c: All callers of find_target_beneath adjusted to
3483         call target_ops::beneath instead.
3484         * bsd-uthread.c: Likewise.
3485         * linux-thread-db.c: Likewise.
3486         * ravenscar-thread.c: Likewise.
3487         * sol-thread.c: Likewise.
3488         * spu-multiarch.c: Likewise.
3489
3490 2018-06-07  Pedro Alves  <palves@redhat.com>
3491
3492         * target.h (target_ops) <beneath>: Now a method.  All references
3493         updated.
3494         (target_ops) <m_beneath>: New.
3495         * target.c (target_ops::beneath): New.
3496         * corelow.c: Adjust all references to target_ops::beneath.
3497         * linux-thread-db.c: Likewise.
3498         * make-target-delegates: Likewise.
3499         * record-btrace.c: Likewise.
3500         * record-full.c: Likewise.
3501         * remote.c: Likewise.
3502         * target.c: Likewise.
3503         * target-delegates.c: Regenerate.
3504
3505 2018-06-07  Pedro Alves  <palves@redhat.com>
3506
3507         * target.h (target_stack): Delete.
3508         (current_top_target): Declare function.
3509         * target.c (target_stack): Delete.
3510         (g_current_top_target): New.
3511         (current_top_target): New function.
3512         * auxv.c: Use current_top_target instead of target_stack
3513         throughout.
3514         * avr-tdep.c: Likewise.
3515         * breakpoint.c: Likewise.
3516         * corefile.c: Likewise.
3517         * elfread.c: Likewise.
3518         * eval.c: Likewise.
3519         * exceptions.c: Likewise.
3520         * frame.c: Likewise.
3521         * gdbarch-selftests.c: Likewise.
3522         * gnu-v3-abi.c: Likewise.
3523         * ia64-tdep.c: Likewise.
3524         * ia64-vms-tdep.c: Likewise.
3525         * infcall.c: Likewise.
3526         * infcmd.c: Likewise.
3527         * infrun.c: Likewise.
3528         * linespec.c: Likewise.
3529         * linux-tdep.c: Likewise.
3530         * minsyms.c: Likewise.
3531         * ppc-linux-nat.c: Likewise.
3532         * ppc-linux-tdep.c: Likewise.
3533         * procfs.c: Likewise.
3534         * regcache.c: Likewise.
3535         * remote.c: Likewise.
3536         * rs6000-tdep.c: Likewise.
3537         * s390-linux-nat.c: Likewise.
3538         * s390-tdep.c: Likewise.
3539         * solib-aix.c: Likewise.
3540         * solib-darwin.c: Likewise.
3541         * solib-dsbt.c: Likewise.
3542         * solib-spu.c: Likewise.
3543         * solib-svr4.c: Likewise.
3544         * solib-target.c: Likewise.
3545         * sparc-tdep.c: Likewise.
3546         * sparc64-tdep.c: Likewise.
3547         * spu-tdep.c: Likewise.
3548         * symfile.c: Likewise.
3549         * symtab.c: Likewise.
3550         * target-descriptions.c: Likewise.
3551         * target-memory.c: Likewise.
3552         * target.c: Likewise.
3553         * target.h: Likewise.
3554         * tracefile-tfile.c: Likewise.
3555         * tracepoint.c: Likewise.
3556         * valops.c: Likewise.
3557         * valprint.c: Likewise.
3558         * value.c: Likewise.
3559         * windows-tdep.c: Likewise.
3560         * mi/mi-main.c: Likewise.
3561
3562 2018-06-07  Tom Tromey  <tom@tromey.com>
3563
3564         * valprint.h (build_address_symbolic): Declare.
3565         * printcmd.c (print_address_symbolic): Update.
3566         (build_address_symbolic): Change "name" and "filename" to
3567         std::string.
3568         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
3569         Update.
3570         * defs.h (build_address_symbolic): Remove declaration.
3571
3572 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
3573
3574         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
3575         (aarch64_vnv_type): Add function.
3576         (aarch64_pseudo_register_name): Add V regs for SVE.
3577         (aarch64_pseudo_register_type): Likewise.
3578         (aarch64_pseudo_register_reggroup_p): Likewise.
3579         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3580         (aarch64_pseudo_read_value): Add V regs for SVE.
3581         (aarch64_pseudo_write_2): Use V0 offset for SVE
3582         (aarch64_pseudo_write): Add V regs for SVE.
3583         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3584
3585 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3586
3587         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3588         (sve_vl_from_vq): Likewise.
3589
3590 2018-06-05  Tom Tromey  <tom@tromey.com>
3591
3592         * cli/cli-cmds.c (show_version): Update.
3593         * top.c (print_gdb_version): Add "interactive" parameter.
3594         Update.
3595         * main.c (captured_main_1): Update.
3596         * top.h (print_gdb_version): Add "interactive" parameter and a
3597         comment.
3598
3599 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3600
3601         * common/enum-flags.h: Add trailing semicolon to example in
3602         comment.
3603
3604 2018-06-05  Tom Tromey  <tom@tromey.com>
3605
3606         PR cli/12326:
3607         * NEWS: Add entry about pager.
3608         * utils.c (pagination_disabled_for_command): New global.
3609         (prompt_for_continue): Allow "c" response to prompt.
3610         (reinitialize_more_filter): Clear
3611         pagination_disabled_for_command.
3612         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3613
3614 2018-06-04  Tom Tromey  <tom@tromey.com>
3615
3616         * ada-lang.h (ada_lookup_symbol_list): Update.
3617         * ada-lang.c (resolve_subexp): Update.
3618         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3619         parameter.
3620         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3621         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3622         results parameter to std::vector.
3623         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3624         Update.
3625         * ada-exp.y (block_lookup): Update.
3626         (select_possible_type_sym): Change type of syms.  Remove nsyms
3627         parameter.
3628         (write_var_or_type, write_name_assoc): Update.
3629
3630 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3631
3632         * windows-nat.c (windows_nat_target::xfer_partial): Return
3633         TARGET_XFER_E_IO if we need to delegate to the target beneath
3634         but BENEATH is NULL.
3635
3636 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3637
3638         * Makefile.in (config.status): Add configure.nat as a
3639         dependency.
3640
3641 2018-06-04  Tom Tromey  <tom@tromey.com>
3642
3643         * cp-name-parser.y (cpname_state): Add method declarations.
3644         (HANDLE_QUAL): Update.
3645         (cpname_state::d_grab, cpname_state::fill_comp)
3646         (cpname_state::make_operator, cpname_state::make_dtor)
3647         (cpname_state::make_builtin_type, cpname_state::make_name)
3648         (cpname_state::d_qualify, cpname_state::d_int_type)
3649         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3650         (%union): Move earlier.
3651
3652 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3653
3654         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3655
3656 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3657
3658         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3659         (aarch64_pseudo_write_1): Likewise.
3660         (aarch64_pseudo_read_value): Use helper.
3661         (aarch64_pseudo_write): Likewise.
3662
3663 2018-06-04  Pedro Alves  <palves@redhat.com>
3664
3665         * darwin-nat.c (darwin_ops): Delete.
3666         (darwin_attach_pid): Use get_native_target.
3667
3668 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3669
3670         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3671         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3672
3673 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3674
3675         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3676         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3677         (aarch64_gdbarch_init): Check for SVE.
3678         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3679
3680 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3681
3682         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3683         * aarch64-tdep.h (aarch64_read_description): Likewise.
3684         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3685         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3686         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3687         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3688         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3689
3690 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3691
3692         * value.c (value_fetch_lazy_bitfield): New.
3693         (value_fetch_lazy_memory): New.
3694         (value_fetch_lazy_register): New.
3695         (value_fetch_lazy): Factor out to smaller functions.
3696
3697 2018-06-01  Tom Tromey  <tom@tromey.com>
3698
3699         * cp-name-parser.y (backslashable, represented): Now const.
3700
3701 2018-06-01  Tom Tromey  <tom@tromey.com>
3702
3703         * cp-name-parser.y: Include parser-defs.h.
3704         (parser_fprintf): Remove declaration.
3705
3706 2018-06-01  Tom Tromey  <tom@tromey.com>
3707
3708         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3709         %parse-param.
3710         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3711         (global_result): Remove globals.
3712         (struct cpname_state): New.
3713         (yyparse): Don't declare.
3714         (yylex, yyerror): Move declarations after %union.
3715         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3716         (make_name): Add state parameter.
3717         Update all callers.
3718         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3719         parameter.
3720         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3721         Update.
3722         (yylex): Add lvalp, state parameters.
3723         (yyerror): Add state parameter.
3724         (cp_demangled_name_to_comp): Update.
3725
3726 2018-06-01  Tom Tromey  <tom@tromey.com>
3727
3728         * cp-name-parser.y (parser_fprintf): Declare.
3729         (GDB_YY_REMAP_PREFIX): Define.
3730         Include yy-remap.h.  Don't redefine yy* identifiers.
3731
3732 2018-06-01  Tom Tromey  <tom@tromey.com>
3733
3734         * python/py-type.c (typy_legacy_template_argument): Update.
3735         * cp-support.h (cp_demangled_name_to_comp): Update.
3736         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3737         parameter to be a "std::string *".
3738         (main): Update.
3739
3740 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3741
3742         * ada-lex.l: Include "diagnostics.h" instead of
3743         "common/diagnostics.h".
3744         * unittests/environ-selftests.c: Likewise.
3745         * common/diagnostics.h: Moved to ../include.
3746
3747 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3748
3749         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3750         to language_mode_manual while calling breakpoint_re_set_one.
3751
3752 2018-06-01  Tom Tromey  <tom@tromey.com>
3753
3754         * valops.c (value_cast_structs, destructor_name_p): Update.
3755         * symtab.c (gdb_mangle_name): Update.
3756         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3757         Update.
3758         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3759         (pascal_object_print_value_fields, pascal_object_print_value):
3760         Update.
3761         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3762         * linespec.c (find_methods): Update.
3763         * gdbtypes.h (type_name_no_tag): Remove.
3764         (type_name_or_error): Rename from type_name_no_tag_or_error.
3765         * gdbtypes.c (type_name_no_tag): Remove.
3766         (type_name_or_error): Rename from type_name_no_tag_or_error.
3767         (lookup_struct_elt_type, check_typedef): Update.
3768         * expprint.c (print_subexp_standard): Update.
3769         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3770         * d-namespace.c (d_lookup_nested_symbol): Update.
3771         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3772         (cp_print_class_member): Update.
3773         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3774         * completer.c (add_struct_fields): Update.
3775         * c-typeprint.c (cp_type_print_derivation_info)
3776         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3777         Update.
3778         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3779         (ada_prefer_type, ada_is_exception_sym): Update.
3780
3781 2018-06-01  Tom Tromey  <tom@tromey.com>
3782
3783         * valops.c (enum_constant_from_type, value_namespace_elt)
3784         (value_maybe_namespace_elt): Update.
3785         * valarith.c (find_size_for_pointer_math): Update.
3786         * target-descriptions.c (make_gdb_type): Update.
3787         * symmisc.c (print_symbol): Update.
3788         * stabsread.c (define_symbol, read_type)
3789         (complain_about_struct_wipeout, add_undefined_type)
3790         (cleanup_undefined_types_1): Update.
3791         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3792         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3793         (rust_internal_print_type, rust_composite_type)
3794         (rust_evaluate_funcall, rust_evaluate_subexp)
3795         (rust_inclusive_range_type_p): Update.
3796         * python/py-type.c (typy_get_tag): Update.
3797         * p-typeprint.c (pascal_type_print_base): Update.
3798         * mdebugread.c (parse_symbol, parse_type): Update.
3799         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3800         Update.
3801         * guile/scm-type.c (gdbscm_type_tag): Update.
3802         * go-lang.c (sixg_string_p): Update.
3803         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3804         Update.
3805         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3806         (TYPE_TAG_NAME): Remove.
3807         * gdbtypes.c (type_name_no_tag): Simplify.
3808         (check_typedef, check_types_equal, recursive_dump_type)
3809         (copy_type_recursive, arch_composite_type): Update.
3810         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3811         in summary mode when needed.
3812         * eval.c (evaluate_funcall): Update.
3813         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3814         (process_structure_scope, read_enumeration_type)
3815         (read_namespace_type, read_module_type, determine_prefix): Update.
3816         * cp-support.c (inspect_type): Update.
3817         * coffread.c (process_coff_symbol, decode_base_type): Update.
3818         * c-varobj.c (c_is_path_expr_parent): Update.
3819         * c-typeprint.c (c_type_print_base_struct_union): Update.
3820         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3821         summary when using C language.
3822         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3823         (gen_maybe_namespace_elt): Update.
3824         * ada-lang.c (ada_type_name): Simplify.
3825         (empty_record, ada_template_to_fixed_record_type_1)
3826         (template_to_static_fixed_type)
3827         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3828
3829 2018-06-01  Tom Tromey  <tom@tromey.com>
3830
3831         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3832         c_print_type.
3833         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3834         (c_print_type): Update.
3835         (c_print_type): New overload.
3836         (c_type_print_varspec_prefix, c_type_print_args)
3837         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3838         (c_type_print_base_struct_union, c_type_print_base_1)
3839         (cp_type_print_method_args): Add "language" parameter.
3840         (c_type_print_base): Update.
3841         * c-lang.h (c_print_type): Add new overload.
3842
3843 2018-06-01  Tom Tromey  <tom@tromey.com>
3844
3845         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3846         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3847
3848 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3849
3850         * aarch64-tdep.c (aarch64_sve_register_names): New const
3851         var.
3852         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3853         (AARCH64_SVE_Z_REGS_NUM): New define.
3854         (AARCH64_SVE_P_REGS_NUM): Likewise.
3855         (AARCH64_SVE_NUM_REGS): Likewise.
3856
3857 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3858
3859         * nat/linux-ptrace.h [__alpha__]
3860         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3861         definitions.
3862
3863 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3864
3865         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3866         the endianness selected.
3867         * NEWS: Document `set endian auto' mode operation update.
3868
3869 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3870
3871         * Makefile.in: Add new header.
3872         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3873         (sve_vl_from_vg): Likewise.
3874         (sve_vq_from_vl): Likewise.
3875         (sve_vl_from_vq): Likewise.
3876         (sve_vq_from_vg): Likewise.
3877         (sve_vg_from_vq): Likewise.
3878         * configure.nat: Add new c file.
3879         * nat/aarch64-sve-linux-ptrace.c: New file.
3880         * nat/aarch64-sve-linux-ptrace.h: New file.
3881
3882 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3883
3884         * aarch64-linux-nat.c (aarch64_linux_read_description):
3885         Add parmeter zero.
3886         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3887         Likewise.
3888         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3889         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3890         (aarch64_gdbarch_init): Add parmeter zero.
3891         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3892         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3893         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3894         parmeter.
3895         * doc/gdb.texinfo: Describe SVE feature
3896         * features/aarch64-sve.c: New file.
3897
3898 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3899
3900         PR gdb/23210
3901         * gdbarch.sh (significant_addr_bit): Default to zero when
3902         not set by target architecture.
3903         * gdbarch.c: Re-generated.
3904         * utils.c (address_significant): Update.
3905
3906 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3907
3908         * stack.c (func_command): Remove trailing newline in call to error.
3909
3910 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3911
3912         * regcache.h (regcache_raw_collect): Remove, update callers to
3913         use regcache::raw_collect.
3914         * regcache.c (regcache_raw_collect): Remove.
3915
3916 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3917
3918         * regcache.h (regcache_raw_supply): Remove, update callers to
3919         use detached_regcache::raw_supply.
3920         * regcache.c (regcache_raw_supply): Remove.
3921
3922 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3923
3924         * regcache.h (regcache_cooked_write_part): Remove, update
3925         callers to use regcache::cooked_write_part.
3926         * regcache.c (regcache_cooked_write_part): Remove.
3927
3928 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3929
3930         * regcache.h (regcache_cooked_read_part): Remove, update callers
3931         to use readable_regcache::cooked_read_part.
3932         * regcache.c (regcache_cooked_read_part): Remove.
3933
3934 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3935
3936         * regcache.h (regcache_cooked_read_value): Remove, update
3937         callers to use readable_regcache::cooked_read_value.
3938         * regcache.c (regcache_cooked_read_value): Remove.
3939
3940 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3941
3942         * regcache.h (regcache_cooked_write): Remove, update callers to
3943         use regcache::cooked_write.
3944         * regcache.c (regcache_cooked_write): Remove.
3945
3946 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3947
3948         * regcache.h (regcache_invalidate): Remove, update callers to
3949         use detached_regcache::invalidate instead.
3950         * regcache.c (regcache_invalidate): Remove.
3951
3952 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3953
3954         * regcache.h (regcache_raw_write_part): Remove, update callers
3955         to use regcache::raw_write_part instead.
3956         * regcache.c (regcache_raw_write_part): Remove.
3957
3958 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3959
3960         * regcache.h (regcache_raw_read_part): Remove, update callers to
3961         use readable_regcache::raw_read_part instead.
3962         * regcache.c (regcache_raw_read_part): Remove.
3963
3964 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3965
3966         * regcache.h (regcache_cooked_read): Remove, update callers to
3967         use readable_regcache::cooked_read instead.
3968         * regcache.c (regcache_cooked_read): Remove.
3969
3970 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3971
3972         * regcache.h (regcache_raw_write): Remove, update callers to use
3973         regcache::raw_write instead.
3974         * regcache.c (regcache_raw_write): Remove.
3975
3976 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3977
3978         * regcache.h (regcache_raw_read): Remove, update callers to use
3979         readable_regcache::raw_read instead.
3980         * regcache.c (regcache_raw_read): Remove.
3981
3982 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3983
3984         * regcache.h (regcache_raw_update): Remove, update callers to
3985         use readable_regcache::raw_update instead.
3986         * regcache.c (regcache_raw_update): Remove.
3987
3988 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3989
3990         * regcache.h (regcache_register_status): Remove, update callers
3991         to use reg_buffer::get_register_status directly instead.
3992         * regcache.c (regcache_register_status): Remove.
3993
3994 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3995
3996         * regcache.h (regcache_get_ptid): Remove, update all callers to
3997         call regcache::ptid instead.
3998         * regcache.c (regcache_get_ptid): Remove.
3999
4000 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4001
4002         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4003
4004 2018-05-30  Pedro Alves  <palves@redhat.com>
4005
4006         * common/common-exceptions.h (exception_rethrow): Use
4007         ATTRIBUTE_NORETURN.
4008
4009 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4010
4011         * breakpoint.c (print_solib_event, check_status_catch_solib):
4012         Remove struct keyword in range-based for loops.
4013         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4014         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4015         Likewise.
4016         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4017         Likewise.
4018         * symfile.c (addr_info_make_relative): Likewise.
4019         * thread.c (value_in_thread_stack_temporaries): Likewise.
4020
4021 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4022
4023         PR gdb/16841
4024         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4025         aggregate type to get its real type before accessing it.
4026
4027 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4028
4029         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4030         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4031         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4032         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4033         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4034         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4035         * printcmd.c (info_address_command): Likewise.
4036
4037 2018-05-29  Tom Tromey  <tom@tromey.com>
4038
4039         * windows-nat.c (handle_exception): Update fall-through comment.
4040
4041 2018-05-29  Tom Tromey  <tom@tromey.com>
4042
4043         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4044         (struct program_space) <added_solibs>: Now a std::vector.
4045         * breakpoint.c (print_solib_event): Update.
4046         (check_status_catch_solib): Update.
4047         * progspace.c (clear_program_space_solib_cache): Update.
4048         * solib.c (update_solib_list): Update.
4049
4050 2018-05-29  Tom Tromey  <tom@tromey.com>
4051
4052         * python/py-type.c (typy_richcompare): Update.
4053         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4054         * gdbtypes.h (types_deeply_equal): Return bool.
4055         (types_equal): Likewise.
4056         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4057         declare VEC.
4058         (check_types_equal): Change worklist to std::vector.  Return
4059         bool.
4060         (struct type_equality_entry): Add constructor.
4061         (compare_maybe_null_strings): Return bool.
4062         (check_types_worklist): Return bool.  Change worklist to
4063         std::vector.
4064         (types_deeply_equal): Use std::vector.
4065         (types_equal): Return bool.
4066         (compare_maybe_null_strings): Simplify.
4067
4068 2018-05-29  Tom Tromey  <tom@tromey.com>
4069
4070         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4071
4072 2018-05-29  Tom Tromey  <tom@tromey.com>
4073
4074         * objc-lang.h: Don't include cp-support.h.
4075         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4076         declare VEC.
4077
4078 2018-05-27  Tom Tromey  <tom@tromey.com>
4079
4080         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4081
4082 2018-05-25  Tom Tromey  <tom@tromey.com>
4083
4084         * value.c (value::location): Initialize.
4085
4086 2018-05-25  Tom Tromey  <tom@tromey.com>
4087
4088         * dbxread.c (init_bincl_list): Remove.
4089         (bincl_list): Now a std::vector.
4090         (bincls_allocated, next_bincl): Remove.
4091         (free_bincl_list, do_free_bincl_list_cleanup)
4092         (make_cleanup_free_bincl_list): Remove.
4093         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4094         unique_xmalloc_ptr.
4095         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4096         (struct header_file_location): Add constructor.
4097         (add_bincl_to_list): Remove.
4098
4099 2018-05-25  Tom Tromey  <tom@tromey.com>
4100
4101         * tui/tui.c (tui_enable): Update.
4102         * mi/mi-interp.c (mi_interp::init): Update.
4103         * interps.h (class interp) <name>: New method.
4104         <m_name>: Rename from name.
4105         (~scoped_restore_interp): Update.
4106         * interps.c (interp::interp): Update.
4107         (interp_add, interp_set, interp_lookup_existing)
4108         (current_interp_named_p): Update.
4109
4110 2018-05-25  Tom Tromey  <tom@tromey.com>
4111
4112         * interps.c (interp_name): Remove.
4113         * mi/mi-interp.c (mi_interp::init): Update.
4114         * interps.h (interp_name): Remove.
4115         (~scoped_restore_interp): Update.
4116         * tui/tui.c (tui_enable): Update.
4117
4118 2018-05-25  Tom Tromey  <tom@tromey.com>
4119
4120         * utils.c (fputs_maybe_filtered): Update.
4121         * linespec.c (decode_line_full): Update.
4122         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4123         (mi_print_breakpoint_for_event, mi_solib_loaded)
4124         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4125         (mi_user_selected_context_changed): Update.
4126         * mi/mi-main.c (mi_execute_command): Update.
4127         * cli/cli-script.c (execute_control_command): Update.
4128         * python/python.c (execute_gdb_command): Update.
4129         * solib.c (info_sharedlibrary_command): Update.
4130         * interps.c (interp_ui_out): Remove.
4131         * interps.h (interp_ui_out): Remove.
4132
4133 2018-05-25  Tom Tromey  <tom@tromey.com>
4134
4135         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4136         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4137         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4138
4139 2018-05-25  Tom Tromey  <tom@tromey.com>
4140
4141         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4142         * interps.c (interp_exec): Use scoped_restore.
4143
4144 2018-05-25  Tom Tromey  <tom@tromey.com>
4145
4146         * remote.c (remote_target::remote_file_get): Use
4147         gdb::byte_vector.
4148         (remote_target::remote_file_put): Likewise.
4149
4150 2018-05-25  Tom Tromey  <tom@tromey.com>
4151
4152         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4153         a std::string.
4154         (get_pe_section_index, add_pe_exported_sym): Update.
4155         (read_pe_exported_syms): Use gdb::def_vector.
4156
4157 2018-05-25  Tom Tromey  <tom@tromey.com>
4158
4159         * frame.c (remove_prev_frame): Remove.
4160         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4161
4162 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4163
4164         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4165         Remove prototypes.
4166         * mips-linux-nat.c (supply_fpregset): Always call
4167         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4168         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4169         `mips_fill_fpregset'.
4170         * mips-linux-tdep.c (mips_supply_fpregset)
4171         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4172         (mips_fill_fpregset_wrapper): Remove functions.
4173         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
4174         (mips_linux_fpregset): Remove variable.
4175         (mips_linux_iterate_over_regset_sections): Use
4176         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
4177         (mips_linux_o32_sigframe_init): Remove comment.
4178
4179 2018-05-25  Pedro Alves  <palves@redhat.com>
4180
4181         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
4182         (struct readahead_cache, struct packet_reg, struct
4183         remote_arch_state, class remote_state): Move higher up in the
4184         file.
4185         (remote_target::m_remote_state): Now an object instead of a pointer.
4186         (remote_target::get_remote_state): Adjust.
4187
4188 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4189
4190         * stack.c (select_and_print_frame): Delete.
4191         (struct function_bounds): Move struct within function.
4192         (func_command): Most content moved into new function
4193         find_frame_for_function, use new function, print result, add
4194         function comment.
4195         (find_frame_for_function): New function, now returns a result.
4196
4197 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4198
4199         * stack.c (iterate_over_block_arg_vars): Fix comment.
4200         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
4201
4202 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4203
4204         PR gdb/23203
4205         * frame.c
4206         (scoped_restore_selected_frame::scoped_restore_selected_frame):
4207         Define.
4208         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
4209         Define.
4210         * frame.h (class scoped_restore_selected_frame): New class.
4211         * stack.c (print_frame_local_vars): Remove catching and rethrowing
4212         of any exception, use scoped_restore_selected_frame to restore the
4213         frame instead.
4214
4215 2018-05-24  Pedro Alves  <palves@redhat.com>
4216
4217         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
4218         override.
4219
4220 2018-05-23  Tom Tromey  <tom@tromey.com>
4221
4222         * complaints.c (struct complaints): Remove.
4223         (symfile_complaint_book): Remove.
4224         (series): New global.
4225         (complaint_internal): Update.
4226         (clear_complaints): Update.
4227
4228 2018-05-23  Tom Tromey  <tom@tromey.com>
4229
4230         * complaints.c (counters): New global.
4231         (struct complain): Remove.
4232         (struct complaints) <root>: Remove.
4233         (complaint_sentinel): Remove.
4234         (symfile_complaint_book): Update.
4235         (find_complaint) Remove.
4236         (complaint_internal, clear_complaints): Update.
4237
4238 2018-05-23  Tom Tromey  <tom@tromey.com>
4239
4240         * complaints.c (struct complain) <file, line>: Remove.
4241         (find_complaint): Remove file, line parameters.
4242         (complaint_internal): Update.
4243
4244 2018-05-23  Tom Tromey  <tom@tromey.com>
4245
4246         * complaints.c (vcomplaint): Remove.
4247         (complaint_internal) Merge in contents of vcomplaint.
4248
4249 2018-05-23  Tom Tromey  <tom@tromey.com>
4250
4251         * complaints.c (struct complaints) <explanation>: Remove.
4252         (symfile_explanations): Remove.
4253         (symfile_complaint_book): Update.
4254         (vcomplaint): Update.
4255         (struct explanation): Remove.
4256
4257 2018-05-23  Tom Tromey  <tom@tromey.com>
4258
4259         * complaints.c (symfile_complaints): Remove.
4260         (complaint_internal): Remove "complaints" parameter.
4261         (clear_complaints, vcomplaint): Remove "c" parameter.
4262         (get_complaints): Remove.
4263         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
4264         (dwarf2_debug_line_missing_file_complaint)
4265         (dwarf2_debug_line_missing_end_sequence_complaint)
4266         (dwarf2_complex_location_expr_complaint)
4267         (dwarf2_const_value_length_mismatch_complaint)
4268         (dwarf2_section_buffer_overflow_complaint)
4269         (dwarf2_macro_malformed_definition_complaint)
4270         (dwarf2_invalid_attrib_class_complaint)
4271         (create_addrmap_from_index, dw2_symtab_iter_next)
4272         (dw2_expand_marked_cus)
4273         (dw2_debug_names_iterator::find_vec_in_debug_names)
4274         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
4275         (create_debug_type_hash_table, init_cutu_and_read_dies)
4276         (partial_die_parent_scope, add_partial_enumeration)
4277         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
4278         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
4279         (read_import_statement, read_file_scope, create_dwo_cu_reader)
4280         (create_cus_hash_table, create_dwp_hash_table)
4281         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
4282         (dwarf2_rnglists_process, dwarf2_ranges_process)
4283         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
4284         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
4285         (handle_struct_member_die, process_structure_scope)
4286         (read_array_type, read_common_block, read_module_type)
4287         (read_tag_pointer_type, read_typedef, read_base_type)
4288         (read_subrange_type, load_partial_dies, partial_die_info::read)
4289         (partial_die_info::read, partial_die_info::read)
4290         (partial_die_info::read, read_checked_initial_length_and_offset)
4291         (dwarf2_string_attr, read_formatted_entries)
4292         (dwarf_decode_line_header)
4293         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4294         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
4295         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
4296         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
4297         (get_signatured_type, get_DW_AT_signature_type)
4298         (decode_locdesc, file_file_name, consume_improper_spaces)
4299         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
4300         (dwarf_decode_macro_bytes, dwarf_decode_macros)
4301         (dwarf2_symbol_mark_computed, set_die_type)
4302         (read_attribute_value): Update.
4303         * stap-probe.c (handle_stap_probe, get_stap_base_address):
4304         Update.
4305         * dbxread.c (unknown_symtype_complaint)
4306         (lbrac_mismatch_complaint, repeated_header_complaint)
4307         (set_namestring, function_outside_compilation_unit_complaint)
4308         (read_dbx_symtab, process_one_symbol): Update.
4309         * gdbtypes.c (stub_noname_complaint): Update.
4310         * windows-nat.c (handle_unload_dll): Update.
4311         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
4312         (decode_base_type): Update.
4313         * xcoffread.c (bf_notfound_complaint, ef_complaint)
4314         (eb_complaint, record_include_begin, record_include_end)
4315         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
4316         (process_xcoff_symbol, read_symbol)
4317         (function_outside_compilation_unit_complaint)
4318         (scan_xcoff_symtab): Update.
4319         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
4320         * buildsym.c (finish_block_internal, make_blockvector)
4321         (end_symtab_get_static_block, augment_type_symtab): Update.
4322         * dtrace-probe.c (dtrace_process_dof)
4323         (dtrace_static_probe_ops::get_probes): Update.
4324         * complaints.h (struct complaint): Don't declare.
4325         (symfile_complaints): Remove.
4326         (complaint_internal): Remove "complaints" parameter.
4327         (complaint): Likewise.
4328         (clear_complaints): Likewise.
4329         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4330         (reread_symbols): Update.
4331         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
4332         (dwarf2_frame_cache, decode_frame_entry): Update.
4333         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
4334         * objc-lang.c (lookup_objc_class, lookup_child_selector)
4335         (info_selectors_command): Update.
4336         * macrotab.c (macro_include, check_for_redefinition)
4337         (macro_undef): Update.
4338         * objfiles.c (filter_overlapping_sections): Update.
4339         * stabsread.c (invalid_cpp_abbrev_complaint)
4340         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
4341         (define_symbol, error_type, read_type, rs6000_builtin_type)
4342         (stabs_method_name_from_physname, read_member_functions)
4343         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
4344         (attach_fields_to_type, complain_about_struct_wipeout)
4345         (read_range_type, read_args, common_block_start)
4346         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
4347         Update.
4348         * mdebugread.c (index_complaint, unknown_ext_complaint)
4349         (basic_type_complaint, bad_tag_guess_complaint)
4350         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
4351         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
4352         (parse_procedure, parse_lines)
4353         (function_outside_compilation_unit_complaint)
4354         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
4355         (bad_tag_guess_complaint, reg_value_complaint): Update.
4356         * cp-support.c (demangled_name_complaint): Update.
4357         * macroscope.c (sal_macro_scope): Update.
4358         * dwarf-index-write.c (class debug_names): Update.
4359
4360 2018-05-23  Tom Tromey  <tom@tromey.com>
4361
4362         * complaints.c (clear_complaints): Remove "noisy" parameter.
4363         * complaints.h (clear_complaints): Update.
4364         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4365         (reread_symbols): Update.
4366
4367 2018-05-23  Tom Tromey  <tom@tromey.com>
4368
4369         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
4370         SUBSEQUENT_MESSAGE.
4371         (vcomplaint, clear_complaints): Update.
4372         (symfile_explanations): Remove some messages.
4373
4374 2018-05-23  Tom Tromey  <tom@tromey.com>
4375
4376         * complaints.c (internal_complaint): Remove.
4377         * complaints.h (internal_complaint): Remove.
4378
4379 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4380
4381         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
4382
4383 2018-05-22  Pedro Alves  <palves@redhat.com>
4384
4385         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
4386         (remote_fileio_badfd, remote_fileio_return_errno)
4387         (remote_fileio_return_success, remote_fileio_func_open)
4388         (remote_fileio_func_open, remote_fileio_func_close)
4389         (remote_fileio_func_read, remote_fileio_func_write)
4390         (remote_fileio_func_lseek, remote_fileio_func_rename)
4391         (remote_fileio_func_unlink, remote_fileio_func_stat)
4392         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
4393         (remote_fileio_func_isatty, remote_fileio_func_system): Add
4394         remote_target parameter.
4395         (remote_fio_func_map) <func>: Add remote_target parameter.
4396         (do_remote_fileio_request, remote_fileio_request):
4397         * remote-fileio.h (remote_fileio_request):
4398         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
4399         remote_target parameter.
4400         (remote_notif_process, handle_notification): Adjust to pass down
4401         the remote.
4402         (remote_notif_state_allocate): Add remote_target parameter.  Save
4403         it.
4404         * remote-notif.h (struct remote_target): Forward declare.
4405         (struct notif_client) <parse, ack, can_get_pending_events>: Add
4406         remote_target parameter.
4407         (struct remote_notif_state) <remote>: New field.
4408         (remote_notif_ack, remote_notif_parse): Add remote_target
4409         parameter.
4410         (remote_notif_state_allocate, remote_notif_state_allocate): Add
4411         remote_target parameter.
4412         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
4413         (threads_listing_context, rmt_thread_action, protocol_feature)
4414         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
4415         (packet_result, struct threads_listing_context, remote_state):
4416         Move definitions and declarations higher up.
4417         (remote_target) <~remote_target>: Declare.
4418         (remote_download_command_source, remote_file_put, remote_file_get)
4419         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
4420         (remote_hostio_pread_vFile, remote_hostio_send_command)
4421         (remote_hostio_set_filesystem, remote_hostio_open)
4422         (remote_hostio_close, remote_hostio_unlink, remote_state)
4423         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
4424         (get_memory_write_packet_size, get_memory_read_packet_size)
4425         (append_pending_thread_resumptions, remote_detach_1)
4426         (append_resumption, remote_resume_with_vcont)
4427         (add_current_inferior_and_thread, wait_ns, wait_as)
4428         (process_stop_reply, remote_notice_new_inferior)
4429         (process_initial_stop_replies, remote_add_thread)
4430         (btrace_sync_conf, remote_btrace_maybe_reopen)
4431         (remove_new_fork_children, kill_new_fork_children)
4432         (discard_pending_stop_replies, stop_reply_queue_length)
4433         (check_pending_events_prevent_wildcard_vcont)
4434         (discard_pending_stop_replies_in_queue, stop_reply)
4435         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
4436         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
4437         (remote_interrupt_as, remote_interrupt_ns)
4438         (remote_get_noisy_reply, remote_query_attached)
4439         (remote_add_inferior, remote_current_thread, get_current_thread)
4440         (set_thread, set_general_thread, set_continue_thread)
4441         (set_general_process, write_ptid)
4442         (remote_unpack_thread_info_response, remote_get_threadinfo)
4443         (parse_threadlist_response, remote_get_threadlist)
4444         (remote_threadlist_iterator, remote_get_threads_with_ql)
4445         (remote_get_threads_with_qxfer)
4446         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
4447         (get_offsets, remote_check_symbols, remote_supported_packet)
4448         (remote_query_supported, remote_packet_size)
4449         (remote_serial_quit_handler, remote_detach_pid)
4450         (remote_vcont_probe, remote_resume_with_hc)
4451         (send_interrupt_sequence, interrupt_query)
4452         (remote_notif_get_pending_events, fetch_register_using_p)
4453         (send_g_packet, process_g_packet, fetch_registers_using_g)
4454         (store_register_using_P, store_registers_using_G)
4455         (set_remote_traceframe, check_binary_download)
4456         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
4457         (remote_xfer_live_readonly_partial, remote_read_bytes)
4458         (remote_send_printf, remote_flash_write, readchar)
4459         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
4460         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
4461         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
4462         (extended_remote_disable_randomization, extended_remote_run)
4463         (send_environment_packet, extended_remote_environment_support)
4464         (extended_remote_set_inferior_cwd, remote_write_qxfer)
4465         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
4466         (packet_command): Now methods of ...
4467         (remote_target): ... this class.
4468         (m_remote_state) <remote_target>: New field.
4469         (struct remote_state) <stop_reply_queue,
4470         remote_async_inferior_event_token, wait_forever_enabled_p>: New
4471         fields.
4472         (remote_state::remote_state): Allocate stop_reply_queue.
4473         (remote_state): Delete global.
4474         (get_remote_state_raw): Delete.
4475         (remote_target::get_remote_state): Allocate m_remote_state on
4476         demand.
4477         (get_current_remote_target): New.
4478         (remote_ops, extended_remote_ops): Delete.
4479         (wait_forever_enabled_p, remote_async_inferior_event_token):
4480         Delete, moved to struct remote_state.
4481         (remote_target::close): Delete self.  Destruction bits split to
4482         ...
4483         (remote_target::~remote_target): ... this.
4484         (show_memory_packet_size): Adjust to use
4485         get_current_remote_target.
4486         (struct protocol_feature) <func>: Add remote_target parameter.
4487         All callers adjusted.
4488         (curr_quit_handler_target): New.
4489         (remote_serial_quit_handler): Reimplement.
4490         (remote_target::open_1): Adjust to use get_current_remote_target.
4491         Heap-allocate remote_target/extended_remote_target instances.
4492         (vcont_builder::vcont_builder): Add remote_target parameter, and
4493         save it in m_remote.  All callers adjusted.
4494         (vcont_builder::m_remote): New field.
4495         (vcont_builder::restart, vcont_builder::flush)
4496         (vcont_builder::push_action): Use it.
4497         (remote_target::commit_resume): Use it.
4498         (struct queue_iter_param) <remote>: New field.
4499         (remote_target::remove_new_fork_children): Fill in 'remote' field.
4500         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
4501         (check_pending_event_prevents_wildcard_vcont_callback)
4502         (remote_target::check_pending_events_prevent_wildcard_vcont)
4503         (remote_target::discard_pending_stop_replies)
4504         (remote_target::discard_pending_stop_replies_in_queue)
4505         (remote_target::remote_notif_remove_queued_reply): Fill in
4506         'remote' field.
4507         (remote_notif_get_pending_events): New.
4508         (remote_target::readchar, remote_target::remote_serial_write):
4509         Save/restore curr_quit_handler_target.
4510         (putpkt): New.
4511         (kill_new_fork_children): Fill in 'remote' field.
4512         (packet_command): Use get_current_remote_target, defer to
4513         remote_target method of same name.
4514         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
4515         parameter, and save it in m_remote.  All callers adjusted.
4516         (scoped_remote_fd::release): Use m_remote.
4517         (scoped_remote_fd::m_remote): New field.
4518         (remote_file_put, remote_file_get, remote_file_delete): Use
4519         get_current_remote_target, defer to remote_target method of same
4520         name.
4521         (remote_btrace_reset): Add remote_state paremeter.  Update all
4522         callers.
4523         (remote_async_inferior_event_handler). Pass down 'data'.
4524         (remote_new_objfile): Use get_current_remote_target.
4525         (remote_target::vcont_r_supported): New.
4526         (set_range_stepping): Use get_current_remote_target and
4527         remote_target::vcont_r_supported.
4528         (_initialize_remote): Don't allocate 'remote_state' and
4529         'stop_reply_queue' globals.
4530         * remote.h (struct remote_target): Forward declare.
4531         (getpkt, putpkt, remote_notif_get_pending_events): Add
4532         'remote_target' parameter.
4533
4534 2018-05-22  Pedro Alves  <palves@redhat.com>
4535
4536         * remote.c (vcont_builder): Now a class.  Make all data members
4537         private.
4538         (vcont_builder) <vcont_builder, restart, flush, push_action>:
4539         Declare methods.
4540         (vcont_builder_restart): Rename to ...
4541         (vcont_builder::restart): ... this.
4542         (vcont_builder_flush): Rename to ...
4543         (vcont_builder::flush): ... this.
4544         (vcont_builder_push_action): Rename to ...
4545         (vcont_builder::push_action): ... this.
4546         (remote_target::commit_resume): Adjust.
4547
4548 2018-05-22  Pedro Alves  <palves@redhat.com>
4549
4550         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
4551         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
4552         (get_fixed_memory_packet_size): New.
4553         (get_memory_packet_size): Use it.
4554         (set_memory_packet_size): Don't override the config size with
4555         DEFAULT_MAX_MEMORY_PACKET_SIZE.
4556         (show_memory_packet_size): Use get_fixed_memory_packet_size.
4557         Don't refer to get_memory_packet_size if not connected to a remote
4558         target.  Show "(default)" if configured size is 0.
4559
4560 2018-05-22  Pedro Alves  <palves@redhat.com>
4561
4562         * remote.c (remote_target::mourn_inferior): Move
4563         discard_pending_stop_replies call here from ...
4564         (_initialize_remote): ... here.
4565
4566 2018-05-22  Pedro Alves  <palves@redhat.com>
4567
4568         * remote.c (compare_section_command): Remove set_general_process
4569         call.
4570
4571 2018-05-22  Pedro Alves  <palves@redhat.com>
4572
4573         * remote.c (struct packet_reg, struct remote_arch_state):
4574         Move higher up in the file.
4575         (remote_state) <m_arch_states>: Store remote_arch_state values
4576         instead of remote_arch_state pointers.
4577         (remote_state::get_remote_arch_state): Adjust.
4578
4579 2018-05-22  Pedro Alves  <palves@redhat.com>
4580
4581         * remote.c: Include <unordered_map>.
4582         (remote_state): Now a class.
4583         (remote_state) <get_remote_arch_state>: Declare method.
4584         <get_remote_arch_state>: New field.
4585         (remote_arch_state) <remote_arch_state>: Declare ctor.
4586         <regs>: Now a unique_ptr.
4587         (remote_gdbarch_data_handle): Delete.
4588         (get_remote_arch_state): Delete.
4589         (remote_state::get_remote_arch_state): New.
4590         (get_remote_state): Adjust to call remote_state's
4591         get_remote_arch_state method.
4592         (init_remote_state): Delete, bits factored out to ...
4593         (remote_arch_state::remote_arch_state): ... this new method.
4594         (get_remote_packet_size, get_memory_packet_size)
4595         (process_g_packet, remote_target::fetch_registers)
4596         (remote_target::prepare_to_store, store_registers_using_G)
4597         (remote_target::store_registers, remote_target::get_trace_status):
4598         Adjust to call remote_state's method.
4599         (_initialize_remote): Remove reference to
4600         remote_gdbarch_data_handle.
4601
4602 2018-05-22  Pedro Alves  <palves@redhat.com>
4603
4604         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4605         pread>: New method declarations.
4606         (remote_target::open_1): Adjust.
4607         (readahead_cache_invalidate): Rename to ...
4608         (readahead_cache::invalidate): ... this, and adjust to be a class
4609         method.
4610         (readahead_cache_invalidate_fd): Rename to ...
4611         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4612         class method.
4613         (remote_hostio_pwrite): Adjust.
4614         (remote_hostio_pread_from_cache): Rename to ...
4615         (readahead_cache::pread): ... this, and adjust to be a class
4616         method.
4617         (remote_hostio_close): Adjust.
4618
4619 2018-05-22  Pedro Alves  <palves@redhat.com>
4620
4621         * remote.c (remote_hostio_close_cleanup): Delete.
4622         (class scoped_remote_fd): New.
4623         (remote_file_put, remote_file_get): Use it.
4624
4625 2018-05-22  Pedro Alves  <palves@redhat.com>
4626
4627         (struct vCont_action_support): Use bool and initialize all fields.
4628         (struct readahead_cache): Initialize all fields.
4629         (remote_state): Use bool and initialize all fields.
4630         (remote_state::remote_state, remote_state::~remote_state): New.
4631         (new_remote_state): Delete.
4632         (_initialize_remote): Use new to allocate remote_state.
4633
4634 2018-05-22  Pedro Alves  <palves@redhat.com>
4635             張俊芝  <zjz@zjz.name>
4636
4637         PR gdb/22973
4638         * c-exp.y: Include "c-support.h".
4639         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4640         of tolower.  Use c_ident_is_alpha to scan names.
4641         * c-lang.c: Include "c-support.h".
4642         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4643         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4644         * c-support.h: New file, with bits factored out from ...
4645         * cp-name-parser.y: ... this file.
4646         Include "c-support.h".
4647         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4648         c-support.h and renamed.
4649         (symbol_end, yylex): Adjust.
4650
4651 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4652
4653         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4654         parameter type to CORE_ADDR.
4655         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4656         parameter type in declaration to CORE_ADDR.
4657         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4658         target_auxv_search to get AT_HWCAP and use the result to get the
4659         target description.
4660         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4661         to CORE_ADDR. Remove the cast of the return value to unsigned
4662         long. Fix error predicate of target_auxv_search.
4663         (ppc_linux_nat_target::read_description): Change the type of the
4664         hwcap variable to CORE_ADDR.
4665
4666 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4667
4668         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4669         if the size of fpscr is larger than 32 bits.
4670
4671 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4672
4673         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4674         (ppc32_linux_vsxregmap): New global.
4675         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4676         regcache_supply_regset, and regcache_collect_regset.
4677         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4678         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4679         (fetch_vsx_register, store_vsx_register): Remove.
4680         (fetch_vsx_registers): Add regno parameter. Get regset using
4681         ppc_linux_vsxregset. Use regset to supply registers.
4682         (store_vsx_registers): Add regno parameter. Get regset using
4683         ppc_linux_vsxregset. Use regset to collect registers.
4684         (fetch_register): Call fetch_vsx_registers instead of
4685         fetch_vsx_register.
4686         (store_register): Call store_vsx_registers instead of
4687         store_vsx_register.
4688         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4689         new regno parameter.
4690         (store_ppc_registers): Call store_vsx_registers with -1 for the
4691         new regno parameter.
4692         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4693         (ppc_collect_vsxregset): Remove.
4694
4695 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4696
4697         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4698         offset fields.
4699         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4700         for vector register offset fields.
4701         (ppc64_fbsd_reg_offsets): Likewise.
4702         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4703         to vector register offset fields.
4704         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4705         to vector register offset fields.
4706         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4707         vector register offset fields.
4708         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4709         initializers for vector register offset fields.
4710         (rs6000_aix64_reg_offsets): Likewise.
4711         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4712         (ppc_supply_vrregset): Remove.
4713         (ppc_collect_vrregset): Remove.
4714         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4715         (ppc_linux_vrregset) : New function.
4716         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4717         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4718         (ppc32_linux_vrregset): Remove.
4719         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4720         and use result instead of ppc32_linux_vrregset.
4721         (ppc32_linux_reg_offsets): Remove initializers for vector register
4722         offset fields.
4723         (ppc64_linux_reg_offsets): Likewise.
4724         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4725         * ppc-linux-nat.c: Include regset.h.
4726         (gdb_vrregset_t): Adjust comment to account for little-endian
4727         mode.
4728         (supply_vrregset, fill_vrregset): Remove.
4729         (fetch_altivec_register, store_altivec_register): Remove.
4730         (fetch_altivec_registers): Add regno parameter. Get regset using
4731         ppc_linux_vrregset. Use regset to supply registers.
4732         (store_altivec_registers): Add regno parameter. Get regset using
4733         ppc_linux_vrregset. Use regset to collect registers.
4734         (fetch_register): Call fetch_altivec_registers instead of
4735         fetch_altivec_register.
4736         (store_register): Call store_altivec_registers instead of
4737         store_altivec_register.
4738         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4739         the new regno parameter.
4740         (store_ppc_registers): Call store_altivec_registers with -1 for
4741         the new regno parameter.
4742
4743 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4744
4745         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4746         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4747         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4748         (gdb_vrregset_t): Change array type size to
4749         PPC_LINUX_SIZEOF_VRREGSET.
4750         (gdb_vsxregset_t): Change array type size to
4751         PPC_LINUX_SIZEOF_VSXREGSET.
4752         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4753         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4754         PPC_LINUX_SIZEOF_VSXREGSET.
4755
4756 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4757
4758         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4759         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4760         nat/ppc-linux.c.
4761         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4762         ppc_linux_target_wordsize with tid.
4763         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4764         wordsize with tid.
4765         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4766         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4767         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4768         tid parameter. Remove static specifier.
4769         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4770         (ppc_linux_target_wordsize): New declaration.
4771
4772 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4773
4774         * arch/ppc-linux-common.c: New file.
4775         * arch/ppc-linux-common.h: New file.
4776         * arch/ppc-linux-tdesc.h: New file.
4777         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4778         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4779         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4780         arch/ppc-linux-tdesc.h.
4781         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4782         arch/ppc-linux-tdesc.h.
4783         (ppc_linux_nat_target::read_description): Remove target
4784         description matching code. Fill a ppc_linux_features struct and
4785         call ppc_linux_match_description with it. Move comment about ISA
4786         2.05 to ppc-linux-common.c.
4787         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4788         arch/ppc-linux-tdesc.h.
4789         (ppc_linux_core_read_description): Remove target description
4790         matching code. Fill a ppc_linux_features struct and call
4791         ppc_linux_match_description with it.
4792         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4793         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4794         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4795         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4796         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4797         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4798         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4799         (tdesc_powerpc_e500l): Remove.
4800
4801 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4802
4803         * ada-lang.c (catch_assert_command): Pass empty string instead
4804         of NULL for excep_string argument.
4805
4806 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4807
4808         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4809         the width of the requested register exceeds the width of the
4810         `ptrace' data type.
4811
4812 2018-05-21  Tom Tromey  <tom@tromey.com>
4813
4814         * printcmd.c (output_command): Remove.
4815         (output_command_const): Rename to output_command.
4816         * valprint.h (output_command): Rename from output_command_const.
4817         * tracepoint.c (trace_dump_actions): Call output_command.
4818
4819 2018-05-21  Tom Tromey  <tom@tromey.com>
4820
4821         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4822         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4823         * ada-lang.h (create_ada_exception_catchpoint): Update.
4824         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4825         std::string.
4826         (create_excep_cond_exprs, ~ada_catchpoint)
4827         (should_stop_exception, print_one_exception)
4828         (print_mention_exception, print_recreate_exception): Update.
4829         (ada_get_next_arg): Remove.
4830         (catch_ada_exception_command_split): Use std::string.  Change type
4831         of "excep_string", "cond_string".
4832         (catch_ada_exception_command): Update.
4833         (create_ada_exception_catchpoint): Change type of excep_string.
4834         (ada_exception_sal): Remove excep_string parameter.
4835         (~ada_catchpoint): Remove.
4836
4837 2018-05-21  Tom Tromey  <tom@tromey.com>
4838
4839         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4840         cleanup.
4841
4842 2018-05-21  Tom Tromey  <tom@tromey.com>
4843
4844         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4845         Return unique_xmalloc_ptr.
4846         (print_it_exception): Update.
4847
4848 2018-05-21  Tom Tromey  <tom@tromey.com>
4849
4850         * tracepoint.c (trace_dump_actions): Use std::string.
4851
4852 2018-05-21  Tom Tromey  <tom@tromey.com>
4853
4854         * symfile.c (reread_symbols): Use std::string for original_name.
4855
4856 2018-05-21  Tom Tromey  <tom@tromey.com>
4857
4858         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4859         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4860         constructor.
4861
4862 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4863
4864         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4865         instance to...
4866         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4867         * objfiles.c (get_objfile_bfd_data): Allocate
4868         objfile_per_bfd_storage with obstack_new when allocating on
4869         obstack.
4870
4871 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4872
4873         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4874         OBSTACK_ZALLOC.
4875         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4876         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4877         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4878         (add_pending): Likewise.
4879         (parse_symbol): Likewise.
4880         (parse_partial_symbols): Likewise.
4881         (psymtab_to_symtab_1): Likewise.
4882         (new_psymtab): Likewise.
4883         (elfmdebug_build_psymtabs): Likewise.
4884         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4885         * objfiles.c (get_objfile_bfd_data): Likewise.
4886         (objfile_register_static_link): Likewise.
4887         * psymtab.c (allocate_psymtab): Likewise.
4888         * stabsread.c (read_member_functions): Likewise.
4889         * xcoffread.c (xcoff_end_psymtab): Likewise.
4890
4891 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4892
4893         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4894         compiler supports std::is_trivially_constructible.
4895         * common/poison.h: Include obstack.h.
4896         (IsMallocable): Define to is_trivially_constructible if the
4897         compiler supports it, define to true_type otherwise.
4898         (xobnew): New.
4899         (XOBNEW): Redefine.
4900         (xobnewvec): New.
4901         (XOBNEWVEC): Redefine.
4902         * gdb_obstack.h (obstack_zalloc): New.
4903         (OBSTACK_ZALLOC): Redefine.
4904         (obstack_calloc): New.
4905         (OBSTACK_CALLOC): Redefine.
4906         (obstack_new): New.
4907         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4908         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4909         gdbarch.c.
4910         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4911         obstack_calloc/obstack_zalloc.
4912         (gdbarch_obstack_zalloc): Remove.
4913         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4914
4915 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4916
4917         * stack.c (backtrace_command_1): Remove useless variable int i.
4918
4919 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4920
4921         * stack.c (print_frame_info): Fix comment.
4922
4923 2018-05-18  Tom Tromey  <tom@tromey.com>
4924
4925         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4926         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4927         (~dwarf2_per_objfile): Update
4928         (dwarf2_get_dwz_file): Use new.
4929         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4930         unique_ptr.
4931
4932 2018-05-18  Tom Tromey  <tom@tromey.com>
4933
4934         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4935         unique_ptr.
4936         * dwarf2read.c (struct dwp_file): Add constructor and
4937         initializers.
4938         (open_and_init_dwp_file): Return a unique_ptr.
4939         (dwarf2_per_objfile, create_dwp_hash_table)
4940         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4941         (lookup_dwo_unit_in_dwp): Update.
4942         (open_and_init_dwp_file, get_dwp_file): Update.
4943
4944 2018-05-18  Tom Tromey  <tom@tromey.com>
4945
4946         * dwarf2read.c (dwarf2_per_objfile): Update.
4947         (struct mapped_index): Add initializers.
4948         (dwarf2_read_index): Use new.
4949         (dw2_symtab_iter_init): Update.
4950         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4951         unique_ptr.
4952
4953 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4954
4955         * dwarf2read.c (mapped_index) <total_size>: Remove.
4956
4957 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4958
4959         * unittests/format_pieces-selftests.c (test_format_specifier):
4960         Add ARI comments.
4961
4962 2018-05-18  Tom Tromey  <tom@tromey.com>
4963
4964         * c-typeprint.c (maybe_print_hole): New function.
4965         (c_print_type_struct_field_offset): Update.
4966         (c_type_print_base_struct_union): Call maybe_print_hole.
4967
4968 2018-05-17  Keith Seitz  <keiths@redhat.com>
4969
4970         * breakpoint.c (build_bpstat_chain): New function, moved from
4971         bpstat_stop_status.
4972         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4973         If no stop chain is passed, call build_bpstat_chain to build it.
4974         * breakpoint.h (build_bpstat_chain): Declare.
4975         (bpstat_stop_status): Move documentation here from breakpoint.c.
4976         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4977         build the stop chain and pass it to skip_inline_frames.
4978         Pass this stop chain to bpstat_stop_status.
4979         * inline-frame.c: Include breakpoint.h.
4980         (stopped_by_user_bp_inline_frame): New function.
4981         (skip_inline_frames): Add parameter `stop_chain'.
4982         Move documention to inline-frame.h.
4983         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4984         whether the frame should be elided.
4985         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4986         Add moved documentation and update for new parameter.
4987
4988 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4989
4990         PR cli/14975
4991         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4992         unittests/format_pieces-selftests.c.
4993         * common/format.h (format_piece) <operator==>: New.
4994         (format_pieces) <operator[]>: Remove.
4995         * common/format.c (format_pieces::format_pieces): Handle \e.
4996         * unittests/format_pieces-selftests.c: New.
4997
4998 2018-05-17  Tom Tromey  <tom@tromey.com>
4999
5000         PR symtab/23010:
5001         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5002         (dw2_instantiate_symtab): Add skip_partial parameter.
5003         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5004         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5005         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5006         (dw2_expand_symtabs_matching_one)
5007         (dw2_find_pc_sect_compunit_symtab)
5008         (dw2_debug_names_lookup_symbol)
5009         (dw2_debug_names_expand_symtabs_for_function): Update.
5010         (init_cutu_and_read_dies): Add skip_partial parameter.
5011         (process_psymtab_comp_unit, build_type_psymtabs_1)
5012         (process_skeletonless_type_unit, load_partial_comp_unit)
5013         (psymtab_to_symtab_1): Update.
5014         (load_full_comp_unit): Add skip_partial parameter.
5015         (process_imported_unit_die, dwarf2_read_addr_index)
5016         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5017         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5018         (read_signatured_type): Update.
5019
5020 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5021
5022         * value.c (release_value): Remove unused variable.
5023         (record_latest_value): Likewise.
5024         (access_value_history): Likewise.
5025         (preserve_values): Likewise.
5026
5027 2018-05-17  Tom Tromey  <tom@tromey.com>
5028
5029         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5030         Initialize.
5031
5032 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5033
5034         PR gdb/22286
5035         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5036         Also handle registers whose width is not a multiple of
5037         PTRACE_TYPE_RET.
5038         (linux_nat_trad_target::store_register): Likewise.
5039
5040 2018-05-16  Tom Tromey  <tom@tromey.com>
5041
5042         * gdbcore.h (core_bfd): Redefine.
5043         * corelow.c (core_target::close): Update.
5044         (core_target_open): Update.
5045         * progspace.h (struct program_space) <cbfd>: Now a
5046         gdb_bfd_ref_ptr.
5047
5048 2018-05-16  Tom Tromey  <tom@tromey.com>
5049
5050         PR cli/19551:
5051         * symfile-add-flags.h (enum symfile_add_flags)
5052         <SYMFILE_NOT_FILENAME>: New constant.
5053         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5054         objfile name from BFD.
5055         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5056         * minidebug.c (find_separate_debug_file_in_section): Put
5057         ".gnu_debugdata" into BFD's file name.
5058
5059 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5060
5061         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5062         Remove.
5063
5064 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5065
5066         PR binutils/21446
5067         * aarch64-tdep.c (aarch64_analyze_prologue,
5068         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5069         Indicate not interested in errors.
5070
5071 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5072
5073         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5074         Supply the MIPS_ZERO_REGNUM register.
5075
5076 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5077
5078         * mips-tdep.c (mask_address_var): Make variable static.
5079
5080 2018-05-14  Tom Tromey  <tom@tromey.com>
5081
5082         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5083
5084 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5085
5086         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5087         FXSAVE_ADDR for the mxcsr register.
5088
5089 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5090
5091         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5092
5093 2018-05-11  Pedro Alves  <palves@redhat.com>
5094
5095         * corelow.c (core_target) <core_target>: No longer inline.
5096         Initialize m_core_gdbarch, m_core_vec and build the section table
5097         here.
5098         <~core_target>: New.
5099         <core_gdbarch, get_core_register_section>: New methods.
5100         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5101         factored out from ...
5102         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5103         (core_ops): Delete.
5104         (sniff_core_bfd): Add gdbarch parameter.
5105         (core_close): Delete, merged into ...
5106         (core_target::close): ... here.  Delete self.
5107         (core_close_cleanup): Delete.
5108         (core_target_open): Allocate a core_target on the heap.  Use a
5109         unique_ptr instead of a cleanup.  Bits moved into the core_target
5110         ctor.  Adjust to use core_target methods instead of globals.
5111         (get_core_register_section): Rename to ...
5112         (core_target::get_core_register_section): ... this and adjust.
5113         (struct get_core_registers_cb_data): New.
5114         (get_core_registers_cb): Use it.  Use bool.
5115         (core_target::fetch_registers, core_target::files_info)
5116         (core_target::xfer_partial, core_target::read_description)
5117         (core_target::pid_to, core_target::thread_name): Adjust to
5118         reference class fields instead of globals.
5119         * target.h (struct target_ops_deleter, target_ops_up): New.
5120
5121 2018-05-11  Pedro Alves  <palves@redhat.com>
5122
5123         * corefile.c (core_file_command): Move to corelow.c.
5124         * corelow.c (the_core_target): Delete.
5125         (core_file_command): Moved from corefile.c.  Check exec_bfd
5126         instead of the_core_target.  Use target_detach instead of calling
5127         into the_core_target directly.
5128         (maybe_say_no_core_file_now): New.
5129         (core_target::detach): Use it.
5130         (_initialize_corelow): Remove references to the_core_target.
5131         * gdbcore.h (the_core_target): Delete.
5132
5133 2018-05-11  Tom Tromey  <tromey@redhat.com>
5134             Pedro Alves  <palves@redhat.com>
5135
5136         * corefile.c (core_bfd): Remove.
5137         * gdbcore.h (core_bfd): Now a macro.
5138         * progspace.h (struct program_space) <cbfd>: New field.
5139
5140 2018-05-11  Tom Tromey  <tom@tromey.com>
5141
5142         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5143         gdb::def_vector.
5144
5145 2018-05-10  Tom Tromey  <tom@tromey.com>
5146
5147         * configure: Rebuild.
5148         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5149
5150 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5151
5152         PR server/23158:
5153         * regformats/regdat.sh: Adjust script, following the addition
5154         of the new expedite_regs parameter to init_target_desc.
5155
5156 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5157     
5158         PR gdb/23127
5159         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5160         set_gdbarch_significant_addr_bit.
5161         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5162         set_gdbarch_significant_addr_bit.
5163         * utils.c (address_significant): Update to sign extend addr.
5164
5165 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5166
5167         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5168         (xtensa_linux_init_abi): Limit tdep->num_regs by
5169         tdep->num_nopriv_regs.
5170         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5171         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5172         not initialized.
5173
5174 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
5175
5176         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
5177
5178 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
5179
5180         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
5181         (I387_MXCSR_INIT_VAL): New constant.
5182         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
5183         buffer if it was supplied by the inferior.
5184         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
5185         (i387_xsave_get_clear_bv): New function.
5186         (i387_supply_xsave): Only read x87 control registers from the
5187         xsave buffer if the feature is enabled, and the state will have
5188         been written, otherwise, provide a suitable default.
5189         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
5190         including x87 control registers.  Update control registers if they
5191         have changed from the default value, and mark features as enabled
5192         as required.
5193         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
5194
5195 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
5196
5197         * spu-tdep.c (info_spu_event_command): Fix output formatting.
5198
5199 2018-05-07  Tom Tromey  <tom@tromey.com>
5200
5201         * configure: Rebuild.
5202         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
5203
5204 2018-05-07  Tom Tromey  <tom@tromey.com>
5205
5206         PR tdep/20362:
5207         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
5208         bit.  Use correct value for VDIV.
5209
5210 2018-05-04  Tom Tromey  <tom@tromey.com>
5211
5212         * configure: Rebuild.
5213         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
5214
5215 2018-05-04  Tom Tromey  <tom@tromey.com>
5216
5217         * linux-record.c (record_linux_system_call) <case
5218         RECORD_SYS_RECVFROM>: Add "break".
5219
5220 2018-05-04  Tom Tromey  <tom@tromey.com>
5221
5222         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
5223         Add missing "break".
5224         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
5225         Add missing "break".
5226
5227 2018-05-04  Tom Tromey  <tom@tromey.com>
5228
5229         * rs6000-tdep.c (ppc_process_record_op4)
5230         (ppc_process_record_op63): Add fall-through comment.
5231
5232 2018-05-04  Tom Tromey  <tom@tromey.com>
5233
5234         * i386-tdep.c (i386_process_record): Add fall-through comment.
5235
5236 2018-05-04  Tom Tromey  <tom@tromey.com>
5237
5238         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
5239         comment.
5240
5241 2018-05-04  Tom Tromey  <tom@tromey.com>
5242
5243         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
5244         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
5245         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
5246         comment.
5247         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
5248         comment.
5249         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
5250         comment.
5251
5252 2018-05-04  Tom Tromey  <tom@tromey.com>
5253
5254         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
5255
5256 2018-05-04  Tom Tromey  <tom@tromey.com>
5257
5258         * s390-tdep.c (s390_process_record): Fix fall-through comments.
5259         * xcoffread.c (scan_xcoff_symtab): Move comment later.
5260         * symfile.c (section_is_mapped): Fix fall-through comment.
5261         * stabsread.c (define_symbol, read_member_functions): Fix
5262         fall-through comment.
5263         * s390-linux-tdep.c (s390_process_record): Fix fall-through
5264         comment.
5265         * remote.c (remote_wait_as): Fix fall-through comment.
5266         * p-exp.y (yylex): Fix fall-through comment.
5267         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
5268         comment.
5269         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
5270         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
5271         * jv-exp.y (yylex): Fix fall-through comment.
5272         * go-exp.y (lex_one_token): Fix fall-through comment.
5273         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
5274         fall-through comment.
5275         * f-exp.y (yylex): Fix fall-through comment.
5276         * dwarf2read.c (process_die): Fix fall-through comments.
5277         * dbxread.c (process_one_symbol): Fix fall-through comment.
5278         * d-exp.y (lex_one_token): Fix fall-through comment.
5279         * cp-name-parser.y (yylex): Fix fall-through comment.
5280         * coffread.c (coff_symtab_read): Fix fall-through comment.
5281         * c-exp.y (lex_one_token): Fix fall-through comment.
5282         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
5283         comment.
5284         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
5285         comment.
5286
5287 2018-05-04  Tom Tromey  <tom@tromey.com>
5288
5289         PR python/22730:
5290         * NEWS: Mention gdb.execute change.
5291         * gdbcmd.h (execute_control_command): Don't declare.
5292         * python/python.c (execute_gdb_command): Use read_command_lines_1,
5293         execute_control_commands, execute_control_commands_to_string.
5294         * cli/cli-script.h (execute_control_commands)
5295         (execute_control_commands_to_string): Declare.
5296         (execute_control_command): Add from_tty parameter.
5297         * cli/cli-script.c (execute_control_commands)
5298         (execute_control_commands_to_string): New functions.
5299         (execute_user_command): Use execute_control_commands.
5300         (execute_control_command_1): Add "from_tty" parameter.  Update.
5301         (execute_control_command): Likewise.
5302
5303 2018-05-04  Tom Tromey  <tom@tromey.com>
5304
5305         PR python/22731:
5306         * NEWS: Mention that breakpoint commands are writable.
5307         * python/py-breakpoint.c (bppy_set_commands): New function.
5308         (breakpoint_object_getset) <"commands">: Use it.
5309
5310 2018-05-04  Tom Tromey  <tom@tromey.com>
5311
5312         * tracepoint.c (actions_command): Update.
5313         * mi/mi-cmd-break.c (mi_command_line_array)
5314         (mi_command_line_array_cnt, mi_command_line_array_ptr)
5315         (mi_read_next_line): Remove.
5316         (mi_cmd_break_commands): Update.
5317         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
5318         function_view.
5319         * cli/cli-script.c (get_command_line): Update.
5320         (process_next_line): Use function_view.  Constify.
5321         (recurse_read_control_structure, read_command_lines)
5322         (read_command_lines_1): Change argument types to function_view.
5323         (do_define_command, document_command): Update.
5324         * breakpoint.h (check_tracepoint_command): Don't declare.
5325         * breakpoint.c (check_tracepoint_command): Remove.
5326         (commands_command_1, create_tracepoint_from_upload): Update.
5327
5328 2018-05-04  Tom Tromey  <tom@tromey.com>
5329
5330         PR gdb/11750:
5331         * cli/cli-script.h (enum command_control_type) <define_control>:
5332         New constant.
5333         * cli/cli-script.c (multi_line_command_p): Handle define_control.
5334         (build_command_line, execute_control_command_1)
5335         (process_next_line): Likewise.
5336         (do_define_command): New function, extracted from define_command.
5337         (define_command): Use it.
5338
5339 2018-05-04  Tom Tromey  <tom@tromey.com>
5340
5341         * tracepoint.c (actions_command): Update.
5342         * cli/cli-script.h (read_command_lines): Update.
5343         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
5344         (MAX_TMPBUF): Remove define.
5345         (define_command): Use string_printf.
5346         (document_command): Likewise.
5347         * breakpoint.c (commands_command_1): Update.
5348
5349 2018-05-04  Tom Tromey  <tom@tromey.com>
5350
5351         * top.c (execute_command): Update.
5352         * cli/cli-script.h (print_command_lines): Now varargs.
5353         * cli/cli-script.c (print_command_lines): Now varargs.
5354         (execute_control_command_1) <case while_control, case if_control>:
5355         Update.
5356
5357 2018-05-04  Tom Tromey  <tom@tromey.com>
5358
5359         * tracepoint.c (all_tracepoint_actions): Rename from
5360         all_tracepoint_actions_and_cleanup.  Change return type.
5361         (actions_command, encode_actions_1, encode_actions)
5362         (trace_dump_actions, tdump_command): Update.
5363         * remote.c (remote_download_command_source): Update.
5364         * python/python.c (gdbpy_eval_from_control_command)
5365         (python_command, python_interactive_command): Update.
5366         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
5367         * guile/guile.c (guile_command)
5368         (gdbscm_eval_from_control_command, guile_command): Update.
5369         * compile/compile.c (compile_code_command)
5370         (compile_print_command, compile_to_object): Update.
5371         * cli/cli-script.h (struct command_lines_deleter): New.
5372         (counted_command_line): New typedef.
5373         (struct command_line): Add constructor, destructor.
5374         <body_list>: Remove.
5375         <body_list_0, body_list_1>: New members.
5376         (command_line_up): Remove typedef.
5377         (read_command_lines, read_command_lines_1, get_command_line):
5378         Update.
5379         (copy_command_lines): Don't declare.
5380         * cli/cli-script.c (build_command_line): Use "new".
5381         (get_command_line): Return counted_command_line.
5382         (print_command_lines, execute_user_command)
5383         (execute_control_command_1, while_command, if_command): Update.
5384         (realloc_body_list): Remove.
5385         (process_next_line, recurse_read_control_structure): Update.
5386         (read_command_lines, read_command_lines_1): Return counted_command_line.
5387         (free_command_lines): Use "delete".
5388         (copy_command_lines): Remove.
5389         (define_command, document_command, show_user_1): Update.
5390         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
5391         a counted_command_line.
5392         * breakpoint.h (counted_command_line): Remove typedef.
5393         (breakpoint_set_commands): Update.
5394         * breakpoint.c (check_no_tracepoint_commands)
5395         (validate_commands_for_breakpoint): Update.
5396         (breakpoint_set_commands): Change commands to be a
5397         counted_command_line.
5398         (commands_command_1, update_dprintf_command_list)
5399         (create_tracepoint_from_upload): Update.
5400
5401 2018-05-04  Tom Tromey  <tom@tromey.com>
5402
5403         * cli/cli-decode.h (cmd_list_element): New constructor.
5404         (~cmd_list_element): New destructor.
5405         (struct cmd_list_element): Add initializers.
5406         * cli/cli-decode.c (do_add_cmd): Use "new".
5407         (delete_cmd): Use "delete".
5408
5409 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
5410             Pedro Alves <palves@redhat.com>
5411
5412         PR breakpoints/19806 and support for PR external/20207.
5413         * NEWS: Mention Aarch64 watchpoint improvements.
5414         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
5415         watchpoints and PR external/20207 watchpoints.
5416         * nat/aarch64-linux-hw-point.c
5417         (kernel_supports_any_contiguous_range): New.
5418         (aarch64_watchpoint_offset): New.
5419         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
5420         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
5421         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
5422         (aarch64_align_watchpoint): New parameters aligned_offset_p and
5423         next_addr_orig_p.  Support PR external/20207 watchpoints.
5424         (aarch64_downgrade_regs): New.
5425         (aarch64_dr_state_insert_one_point): New parameters offset and
5426         addr_orig.
5427         (aarch64_dr_state_remove_one_point): Likewise.
5428         (aarch64_handle_breakpoint): Update caller.
5429         (aarch64_handle_aligned_watchpoint): Likewise.
5430         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
5431         aligned_offset.
5432         (aarch64_linux_set_debug_regs): Remove const from state.  Call
5433         aarch64_downgrade_regs.
5434         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
5435         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
5436         (DR_CONTROL_MASK): ... this.
5437         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
5438         (unsigned int aarch64_watchpoint_offset): New prototype.
5439         (aarch64_linux_set_debug_regs): Remove const from state.
5440         * utils.c (align_up, align_down): Move to ...
5441         * common/common-utils.c (align_up, align_down): ... here.
5442         * utils.h (align_up, align_down): Move to ...
5443         * common/common-utils.h (align_up, align_down): ... here.
5444
5445 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
5446
5447         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
5448         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
5449         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
5450         Re-implement to match the ABI as summarized in GCC's
5451         gcc/config/sparc/sparc.c.  All callers updated.
5452         (sparc32_store_arguments): Remove assertion.
5453
5454 2018-05-04  Tom Tromey  <tom@tromey.com>
5455
5456         * printcmd.c: Don't include tui.h.
5457         (decode_format): Use skip_spaces.
5458
5459 2018-05-04  Tom Tromey  <tom@tromey.com>
5460
5461         PR gdb/22619:
5462         * printcmd.c (last_count): New global.
5463         (x_command): Use saved count when repeating.
5464
5465 2018-05-04  Tom Tromey  <tom@tromey.com>
5466
5467         * nto-procfs.c (do_closedir_cleanup): Remove.
5468         (procfs_pidlist): Use gdb_dir_up.
5469         * procfs.c (do_closedir_cleanup): Remove.
5470         (proc_update_threads): Use gdb_dir_up.
5471         * common/filestuff.h (struct gdb_dir_deleter): New.
5472         (gdb_dir_up): New typedef.
5473
5474 2018-05-04  Tom Tromey  <tom@tromey.com>
5475
5476         * ada-lang.c (print_mention_exception): Use std::string.
5477
5478 2018-05-04  Tom Tromey  <tom@tromey.com>
5479
5480         * ada-lang.c (create_excep_cond_exprs): Update.
5481         (ada_exception_catchpoint_cond_string): Use std::string.
5482
5483 2018-05-04  Tom Tromey  <tom@tromey.com>
5484
5485         * ada-lang.c (xget_renaming_scope): Return std::string.
5486         (old_renaming_is_invisible): Update.
5487
5488 2018-05-04  Tom Tromey  <tom@tromey.com>
5489
5490         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
5491         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
5492
5493 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
5494
5495         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
5496
5497 2018-05-04  Tom Tromey  <tom@tromey.com>
5498
5499         * remote.c (remote_query_supported_append): Change type.
5500         (remote_check_symbols): Update.
5501
5502 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
5503
5504         PR gdb/11420
5505         * configure.ac: Prepend libpython.
5506         * python/python-config.py: Likewise.
5507         * configure: Regenerate.
5508
5509 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
5510
5511         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
5512
5513 2018-05-03  Pedro Alves  <palves@redhat.com>
5514
5515         * s390-linux-nat.c
5516         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
5517         override.  Write 'true' instead of '1'.
5518         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
5519         declaration.
5520
5521 2018-05-02  Pedro Alves  <palves@redhat.com>
5522
5523         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
5524         add_inf_child_target.
5525         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
5526         add_inf_child_target.
5527         * aix-thread.c (aix_thread_target_info): New.
5528         (aix_thread_target) <shortname, longname, doc>: Delete.
5529         <info>: New.
5530         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
5531         add_inf_child_target.
5532         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
5533         add_inf_child_target.
5534         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
5535         add_inf_child_target.
5536         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
5537         add_inf_child_target.
5538         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
5539         add_inf_child_target.
5540         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
5541         add_inf_child_target.
5542         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
5543         add_inf_child_target.
5544         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
5545         add_inf_child_target.
5546         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
5547         add_inf_child_target.
5548         * bfd-target.c (target_bfd_target_info): New.
5549         (target_bfd) <shortname, longname, doc>: Delete.
5550         <info>: New.
5551         * bsd-kvm.c (bsd_kvm_target_info): New.
5552         (bsd_kvm_target) <shortname, longname, doc>: Delete.
5553         <info>: New.
5554         (bsd_kvm_target::open): Rename to ...
5555         (bsd_kvm_target_open): ... this.  Adjust.
5556         * bsd-uthread.c (bsd_uthread_target_info): New.
5557         (bsd_uthread_target) <shortname, longname, doc>: Delete.
5558         <info>: New.
5559         * corefile.c (core_file_command): Adjust.
5560         * corelow.c (core_target_info): New.
5561         (core_target) <shortname, longname, doc>: Delete.
5562         <info>: New.
5563         (core_target::open): Rename to ...
5564         (core_target_open): ... this.  Adjust.
5565         * ctf.c (ctf_target_info): New.
5566         (ctf_target) <shortname, longname, doc>: Delete.
5567         <info>: New.
5568         (ctf_target::open): Rename to ...
5569         (ctf_target_open): ... this.
5570         (_initialize_ctf): Adjust.
5571         * exec.c (exec_target_info): New.
5572         (exec_target) <shortname, longname, doc>: Delete.
5573         <info>: New.
5574         (exec_target::open): Rename to ...
5575         (exec_target_open): ... this.
5576         * gdbcore.h (core_target_open): Declare.
5577         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5578         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5579         add_inf_child_target.
5580         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5581         add_inf_child_target.
5582         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5583         add_inf_child_target.
5584         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5585         add_inf_child_target.
5586         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5587         add_inf_child_target.
5588         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5589         add_inf_child_target.
5590         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5591         add_inf_child_target.
5592         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5593         add_inf_child_target.
5594         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5595         add_inf_child_target.
5596         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5597         add_inf_child_target.
5598         * inf-child.c (inf_child_target_info): New.
5599         (inf_child_target::info): New.
5600         (inf_child_open_target): Remove 'target' parameter.  Use
5601         get_native_target instead.
5602         (inf_child_target::open): Delete.
5603         (add_inf_child_target): New.
5604         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5605         Delete.
5606         <info>: New.
5607         (add_inf_child_target): Declare.
5608         (inf_child_open_target): Declare.
5609         * linux-thread-db.c (thread_db_target_info): New.
5610         (thread_db_target) <shortname, longname, doc>: Delete.
5611         <info>: New.
5612         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5613         add_inf_child_target.
5614         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5615         add_inf_child_target.
5616         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5617         add_inf_child_target.
5618         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5619         add_inf_child_target.
5620         * make-target-delegates (print_class): Adjust.
5621         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5622         add_inf_child_target.
5623         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5624         add_inf_child_target.
5625         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5626         add_inf_child_target.
5627         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5628         add_inf_child_target.
5629         * nto-procfs.c (nto_native_target_info): New.
5630         (nto_procfs_target_native) <shortname, longname, doc>:
5631         Delete.
5632         <info>: New.
5633         (nto_procfs_target_info): New.
5634         (nto_procfs_target_procfs) <shortname, longname, doc>:
5635         Delete.
5636         <info>: New.
5637         (init_procfs_targets): Adjust.
5638         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5639         add_inf_child_target.
5640         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5641         add_inf_child_target.
5642         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5643         add_inf_child_target.
5644         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5645         add_inf_child_target.
5646         * ravenscar-thread.c (ravenscar_target_info): New.
5647         (ravenscar_thread_target) <shortname, longname, doc>:
5648         Delete.
5649         <info>: New.
5650         * record-btrace.c (record_btrace_target_info):
5651         (record_btrace_target) <shortname, longname, doc>: Delete.
5652         <info>: New.
5653         (record_btrace_target::open): Rename to ...
5654         (record_btrace_target_open): ... this.  Adjust.
5655         * record-full.c (record_longname, record_doc): New.
5656         (record_full_base_target) <shortname, longname, doc>: Delete.
5657         <info>: New.
5658         (record_full_target_info): New.
5659         (record_full_target): <shortname>: Delete.
5660         <info>: New.
5661         (record_full_core_open_1, record_full_open_1): Update comments.
5662         (record_full_base_target::open): Rename to ...
5663         (record_full_open): ... this.
5664         (cmd_record_full_restore): Update.
5665         (_initialize_record_full): Update.
5666         * remote-sim.c (remote_sim_target_info): New.
5667         (gdbsim_target) <shortname, longname, doc>: Delete.
5668         <info>: New.
5669         (gdbsim_target::open): Rename to ...
5670         (gdbsim_target_open): ... this.
5671         (_initialize_remote_sim): Adjust.
5672         * remote.c (remote_doc): New.
5673         (remote_target_info): New.
5674         (remote_target) <shortname, longname, doc>: Delete.
5675         <info>: New.
5676         (extended_remote_target_info): New.
5677         (extended_remote_target) <shortname, longname, doc>: Delete.
5678         <info>: New.
5679         (remote_target::open_1): Make static.  Adjust.
5680         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5681         * s390-linux-nat.c (_initialize_s390_nat): Use
5682         add_inf_child_target.
5683         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5684         add_inf_child_target.
5685         * sol-thread.c (thread_db_target_info): New.
5686         (sol_thread_target) <shortname, longname, doc>: Delete.
5687         <info>: New.
5688         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5689         add_inf_child_target.
5690         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5691         add_inf_child_target.
5692         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5693         add_inf_child_target.
5694         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5695         add_inf_child_target.
5696         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5697         add_inf_child_target.
5698         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5699         add_inf_child_target.
5700         * spu-linux-nat.c (_initialize_spu_nat): Use
5701         add_inf_child_target.
5702         * spu-multiarch.c (spu_multiarch_target_info): New.
5703         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5704         <info>: New.
5705         * target-delegates.c: Regenerate.
5706         * target.c: Include <unordered_map>.
5707         (target_ops_p): Delete.
5708         (DEF_VEC_P(target_ops_p)): Delete.
5709         (target_factories): New.
5710         (test_target_info): New.
5711         (test_target_ops::info): New.
5712         (open_target): Adjust to use target_factories.
5713         (add_target_with_completer): Rename to ...
5714         (add_target): ... this.  Change prototype.  Register target_info
5715         and open callback in target_factories.  Register target_info in
5716         command context instead of target_ops.
5717         (add_target): Delete old implementation.
5718         (add_deprecated_target_alias): Change prototype.  Adjust.
5719         (the_native_target): New.
5720         (set_native_target, get_native_target): New.
5721         (find_default_run_target): Use the_native_target.
5722         (find_attach_target, find_run_target): Simplify.
5723         (target_ops::open): Delete.
5724         (dummy_target_info): New.
5725         (dummy_target::shortname, dummy_target::longname)
5726         (dummy_target::doc): Delete.
5727         (dummy_target::info): New.
5728         (debug_target::shortname, debug_target::longname)
5729         (debug_target::doc): Delete.
5730         (debug_target::info): New.
5731         * target.h (struct target_info): New.
5732         (target_ops::~target_ops): Add comment.
5733         (target_ops::info): New.
5734         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5735         longer virtual.  Implement in terms of target_info.
5736         (set_native_target, get_native_target): Declare.
5737         (target_open_ftype): New.
5738         (add_target, add_target_with_completer)
5739         (add_deprecated_target_alias): Change prototype.
5740         (test_target) <shortname, longname, doc>: Delete.
5741         <info>: New.
5742         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5743         add_inf_child_target.
5744         * tracefile-tfile.c (tfile_target_info): New.
5745         (tfile_target) <shortname, longname, doc>: Delete.
5746         <info>: New.
5747         (tfile_target::open): Rename to ...
5748         (tfile_target_open): ... this.
5749         (_initialize_tracefile_tfile): Adjust.
5750         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5751         add_inf_child_target.
5752         * windows-nat.c (_initialize_windows_nat): Use
5753         add_inf_child_target.
5754         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5755         add_inf_child_target.
5756
5757 2018-05-02  Pedro Alves  <palves@redhat.com>
5758
5759         * linux-nat.h (linux_nat_target) <low_new_thread,
5760         low_delete_thread, low_new_fork, low_forget_process,
5761         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5762         New virtual methods.
5763         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5764         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5765         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5766         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5767         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5768         Delete.
5769         * linux-fork.c (delete_fork): Adjust to call low method.
5770         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5771         (linux_nat_new_fork, linux_nat_forget_process_hook)
5772         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5773         (linux_nat_status_is_event):
5774         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5775         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5776         to call low method.
5777         (sigtrap_is_event): Rename to ...
5778         (linux_nat_target::low_status_is_event): ... this.
5779         (linux_nat_set_status_is_event): Delete.
5780         (save_stop_reason, linux_nat_wait_1)
5781         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5782         low methods.
5783         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5784         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5785         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5786         (linux_nat_set_prepare_to_resume): Delete.
5787         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5788         low virtual methods.
5789         * amd64-linux-nat.c: Likewise.
5790         * arm-linux-nat.c: Likewise.
5791         * i386-linux-nat.c: Likewise.
5792         * ia64-linux-nat.c: Likewise.
5793         * mips-linux-nat.c: Likewise.
5794         * ppc-linux-nat.c: Likewise.
5795         * s390-linux-nat.c: Likewise.
5796         * sparc64-linux-nat.c: Likewise.
5797         * x86-linux-nat.c: Likewise.
5798         * x86-linux-nat.h: Include "nat/x86-linux.h".
5799         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5800         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5801         Override methods.
5802
5803 2018-05-02  Pedro Alves  <palves@redhat.com>
5804
5805         * target.h (target_ops)
5806         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5807         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5808         stopped_by_watchpoint, have_continuable_watchpoint,
5809         stopped_data_address, watchpoint_addr_within_range,
5810         can_accel_watchpoint_condition, can_run, thread_alive,
5811         has_all_memory, has_memory, has_stack, has_registers,
5812         has_execution, can_async_p, is_async_p, supports_non_stop,
5813         always_non_stop_p, can_execute_reverse, supports_multi_process,
5814         supports_enable_disable_tracepoint,
5815         supports_disable_randomization, supports_string_tracing,
5816         supports_evaluation_of_breakpoint_conditions,
5817         can_run_breakpoint_commands, filesystem_is_local,
5818         can_download_tracepoint, get_trace_state_variable_value,
5819         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5820         record_is_replaying, record_will_replay,
5821         augmented_libraries_svr4_read>: Adjust to return bool.
5822         * aarch64-linux-nat.c: All implementations adjusted.
5823         * aix-thread.c: All implementations adjusted.
5824         * arm-linux-nat.c: All implementations adjusted.
5825         * breakpoint.c: All implementations adjusted.
5826         * bsd-kvm.c: All implementations adjusted.
5827         * bsd-uthread.c: All implementations adjusted.
5828         * corelow.c: All implementations adjusted.
5829         * ctf.c: All implementations adjusted.
5830         * darwin-nat.c: All implementations adjusted.
5831         * darwin-nat.h: All implementations adjusted.
5832         * exec.c: All implementations adjusted.
5833         * fbsd-nat.c: All implementations adjusted.
5834         * fbsd-nat.h: All implementations adjusted.
5835         * gnu-nat.c: All implementations adjusted.
5836         * gnu-nat.h: All implementations adjusted.
5837         * go32-nat.c: All implementations adjusted.
5838         * ia64-linux-nat.c: All implementations adjusted.
5839         * inf-child.c: All implementations adjusted.
5840         * inf-child.h: All implementations adjusted.
5841         * inf-ptrace.c: All implementations adjusted.
5842         * inf-ptrace.h: All implementations adjusted.
5843         * linux-nat.c: All implementations adjusted.
5844         * linux-nat.h: All implementations adjusted.
5845         * mips-linux-nat.c: All implementations adjusted.
5846         * nto-procfs.c: All implementations adjusted.
5847         * ppc-linux-nat.c: All implementations adjusted.
5848         * procfs.c: All implementations adjusted.
5849         * ravenscar-thread.c: All implementations adjusted.
5850         * record-btrace.c: All implementations adjusted.
5851         * record-full.c: All implementations adjusted.
5852         * remote-sim.c: All implementations adjusted.
5853         * remote.c: All implementations adjusted.
5854         * s390-linux-nat.c: All implementations adjusted.
5855         * sol-thread.c: All implementations adjusted.
5856         * spu-multiarch.c: All implementations adjusted.
5857         * target-delegates.c: All implementations adjusted.
5858         * target.c: All implementations adjusted.
5859         * target.h: All implementations adjusted.
5860         * tracefile-tfile.c: All implementations adjusted.
5861         * tracefile.c: All implementations adjusted.
5862         * tracefile.h: All implementations adjusted.
5863         * windows-nat.c: All implementations adjusted.
5864         * x86-linux-nat.h: All implementations adjusted.
5865         * x86-nat.h: All implementations adjusted.
5866
5867 2018-05-02  Pedro Alves  <palves@redhat.com>
5868
5869         * make-target-delegates (scan_target_h): Don't trim lines here.
5870         Replace sequences of tabs and/or whitespace with a single
5871         whitespace.
5872         (top level, parsing methods): Trim each line before processing it
5873         here.
5874
5875 2018-05-02  Pedro Alves  <palves@redhat.com>
5876             John Baldwin  <jhb@freebsd.org>
5877
5878         * target.h (enum strata) <debug_stratum>: New.
5879         (struct target_ops) <all delegation methods>: Replace by C++
5880         virtual methods, and drop "to_" prefix.  All references updated
5881         throughout.
5882         <to_shortname, to_longname, to_doc, to_data,
5883         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5884         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5885         virtual methods.  All references updated throughout.
5886         <can_attach, supports_terminal_ours, can_create_inferior,
5887         get_thread_control_capabilities, attach_no_wait>: New
5888         virtual methods.
5889         <insert_breakpoint, remove_breakpoint>: Now
5890         TARGET_DEFAULT_NORETURN methods.
5891         <info_proc>: Now returns bool.
5892         <to_magic>: Delete.
5893         (OPS_MAGIC): Delete.
5894         (current_target): Delete.  All references replaced by references
5895         to ...
5896         (target_stack): ... this.  New.
5897         (target_shortname, target_longname): Adjust.
5898         (target_can_run): Now a function declaration.
5899         (default_child_has_all_memory, default_child_has_memory)
5900         (default_child_has_stack, default_child_has_registers)
5901         (default_child_has_execution): Remove target_ops parameter.
5902         (complete_target_initialization): Delete.
5903         (memory_breakpoint_target): New template class.
5904         (test_target_ops): Refactor as a C++ class with virtual methods.
5905         * make-target-delegates (NAME_PART): Tighten.
5906         (POINTER_PART, CP_SYMBOL): New.
5907         (SIMPLE_RETURN_PART): Reimplement.
5908         (VEC_RETURN_PART): Expect less.
5909         (RETURN_PART, VIRTUAL_PART): New.
5910         (METHOD): Adjust to C++ virtual methods.
5911         (scan_target_h): Remove reference to C99.
5912         (dname): Output "target_ops::" prefix.
5913         (write_function_header): Adjust to output a C++ class method.
5914         (write_declaration): New.
5915         (write_delegator): Adjust to output a C++ class method.
5916         (tdname): Output "dummy_target::" prefix.
5917         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5918         method.
5919         (tdefault_names, debug_names): Delete.
5920         (return_types, tdefaults, styles, argtypes_array): New.
5921         (top level): All methods are delegators.
5922         (print_class): New.
5923         (top level): Print dummy_target and debug_target classes.
5924         * target-delegates.c: Regenerate.
5925         * target-debug.h (target_debug_print_enum_info_proc_what)
5926         (target_debug_print_thread_control_capabilities)
5927         (target_debug_print_thread_info_p): New.
5928         * target.c (dummy_target): Delete.
5929         (the_dummy_target, the_debug_target): New.
5930         (target_stack): Now extern.
5931         (set_targetdebug): Push/unpush debug target.
5932         (default_child_has_all_memory, default_child_has_memory)
5933         (default_child_has_stack, default_child_has_registers)
5934         (default_child_has_execution): Remove target_ops parameter.
5935         (complete_target_initialization): Delete.
5936         (add_target_with_completer): No longer call
5937         complete_target_initialization.
5938         (target_supports_terminal_ours): Use regular delegation.
5939         (update_current_target): Delete.
5940         (push_target): No longer check magic number.  Don't call
5941         update_current_target.
5942         (unpush_target): Don't call update_current_target.
5943         (target_is_pushed): No longer check magic number.
5944         (target_require_runnable): Skip for all stratums over
5945         process_stratum.
5946         (target_ops::info_proc): New.
5947         (target_info_proc): Use find_target_at and
5948         find_default_run_target.
5949         (target_supports_disable_randomization): Use regular delegation.
5950         (target_get_osdata): Use find_target_at.
5951         (target_ops::open, target_ops::close, target_ops::can_attach)
5952         (target_ops::attach, target_ops::can_create_inferior)
5953         (target_ops::create_inferior, target_ops::can_run)
5954         (target_can_run): New.
5955         (default_fileio_target): Use regular delegation.
5956         (target_ops::fileio_open, target_ops::fileio_pwrite)
5957         (target_ops::fileio_pread, target_ops::fileio_fstat)
5958         (target_ops::fileio_close, target_ops::fileio_unlink)
5959         (target_ops::fileio_readlink): New.
5960         (target_fileio_open_1, target_fileio_unlink)
5961         (target_fileio_readlink): Always call the target method.  Handle
5962         FILEIO_ENOSYS.
5963         (return_zero, return_zero_has_execution): Delete.
5964         (init_dummy_target): Delete.
5965         (dummy_target::dummy_target, dummy_target::shortname)
5966         (dummy_target::longname, dummy_target::doc)
5967         (debug_target::debug_target, debug_target::shortname)
5968         (debug_target::longname, debug_target::doc): New.
5969         (target_supports_delete_record): Use regular delegation.
5970         (setup_target_debug): Delete.
5971         (maintenance_print_target_stack): Skip debug_stratum.
5972         (initialize_targets): Instantiate the_dummy_target and
5973         the_debug_target.
5974         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5975         use target_stack.
5976         (target_auxv_search, fprint_target_auxv): Adjust.
5977         (info_auxv_command): Adjust to use target_stack.
5978         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5979         * exceptions.c (print_flush): Handle a NULL target_stack.
5980         * regcache.c (target_ops_no_register): Refactor as class with
5981         virtual methods.
5982
5983         * exec.c (exec_target): New class.
5984         (exec_ops): Now an exec_target.
5985         (exec_open, exec_close_1, exec_get_section_table)
5986         (exec_xfer_partial, exec_files_info, exec_has_memory)
5987         (exec_make_note_section): Refactor as exec_target methods.
5988         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5989         Delete.
5990         (exec_target::find_memory_regions): New.
5991         (_initialize_exec): Don't call init_exec_ops.
5992         * gdbcore.h (exec_file_clear): Delete.
5993
5994         * corefile.c (core_target): Delete.
5995         (core_file_command): Adjust.
5996         * corelow.c (core_target): New class.
5997         (the_core_target): New.
5998         (core_close): Remove target_ops parameter.
5999         (core_close_cleanup): Adjust.
6000         (core_target::close): New.
6001         (core_open, core_detach, get_core_registers, core_files_info)
6002         (core_xfer_partial, core_thread_alive, core_read_description)
6003         (core_pid_to_str, core_thread_name, core_has_memory)
6004         (core_has_stack, core_has_registers, core_info_proc): Rework as
6005         core_target methods.
6006         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6007         (_initialize_corelow): Initialize the_core_target.
6008         * gdbcore.h (core_target): Delete.
6009         (the_core_target): New.
6010
6011         * ctf.c: (ctf_target): New class.
6012         (ctf_ops): Now a ctf_target.
6013         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6014         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6015         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6016         methods.
6017         (init_ctf_ops): Delete.
6018         (_initialize_ctf): Don't call it.
6019         * tracefile-tfile.c (tfile_target): New class.
6020         (tfile_ops): Now a tfile_target.
6021         (tfile_open, tfile_close, tfile_files_info)
6022         (tfile_get_tracepoint_status, tfile_trace_find)
6023         (tfile_fetch_registers, tfile_xfer_partial)
6024         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6025         Refactor as tfile_target methods.
6026         (tfile_xfer_partial_features): Remove target_ops parameter.
6027         (init_tfile_ops): Delete.
6028         (_initialize_tracefile_tfile): Don't call it.
6029         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6030         (tracefile_has_stack, tracefile_has_registers)
6031         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6032         tracefile_target methods.
6033         (init_tracefile_ops): Delete.
6034         (tracefile_target::tracefile_target): New.
6035         * tracefile.h: Include "target.h".
6036         (tracefile_target): New class.
6037         (init_tracefile_ops): Delete.
6038
6039         * spu-multiarch.c (spu_multiarch_target): New class.
6040         (spu_ops): Now a spu_multiarch_target.
6041         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6042         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6043         (spu_search_memory, spu_mourn_inferior): Refactor as
6044         spu_multiarch_target methods.
6045         (init_spu_ops): Delete.
6046         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6047         complete_target_initialization.
6048
6049         * ravenscar-thread.c (ravenscar_thread_target): New class.
6050         (ravenscar_ops): Now a ravenscar_thread_target.
6051         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6052         (ravenscar_thread_alive, ravenscar_pid_to_str)
6053         (ravenscar_fetch_registers, ravenscar_store_registers)
6054         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6055         (ravenscar_stopped_by_hw_breakpoint)
6056         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6057         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6058         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6059         methods.
6060         (init_ravenscar_thread_ops): Delete.
6061         (_initialize_ravenscar): Remove references to
6062         init_ravenscar_thread_ops and complete_target_initialization.
6063
6064         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6065         (bsd_uthread_target): New class.
6066         (bsd_uthread_ops): Now a bsd_uthread_target.
6067         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6068         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6069         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6070         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6071         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6072         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6073         (bsd_uthread_target): Delete function.
6074         (_initialize_bsd_uthread): Remove reference to
6075         complete_target_initialization.
6076
6077         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6078         (target_bfd): ... this new class.
6079         (target_bfd_xfer_partial, target_bfd_get_section_table)
6080         (target_bfd_close): Refactor as target_bfd methods.
6081         (target_bfd::~target_bfd): New.
6082         (target_bfd_reopen): Adjust.
6083         (target_bfd::close): New.
6084
6085         * record-btrace.c (record_btrace_target): New class.
6086         (record_btrace_ops): Now a record_btrace_target.
6087         (record_btrace_open, record_btrace_stop_recording)
6088         (record_btrace_disconnect, record_btrace_close)
6089         (record_btrace_async, record_btrace_info)
6090         (record_btrace_insn_history, record_btrace_insn_history_range)
6091         (record_btrace_insn_history_from, record_btrace_call_history)
6092         (record_btrace_call_history_range)
6093         (record_btrace_call_history_from, record_btrace_record_method)
6094         (record_btrace_is_replaying, record_btrace_will_replay)
6095         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6096         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6097         (record_btrace_store_registers, record_btrace_prepare_to_store)
6098         (record_btrace_to_get_unwinder)
6099         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6100         (record_btrace_commit_resume, record_btrace_wait)
6101         (record_btrace_stop, record_btrace_can_execute_reverse)
6102         (record_btrace_stopped_by_sw_breakpoint)
6103         (record_btrace_supports_stopped_by_sw_breakpoint)
6104         (record_btrace_stopped_by_hw_breakpoint)
6105         (record_btrace_supports_stopped_by_hw_breakpoint)
6106         (record_btrace_update_thread_list, record_btrace_thread_alive)
6107         (record_btrace_goto_begin, record_btrace_goto_end)
6108         (record_btrace_goto, record_btrace_stop_replaying_all)
6109         (record_btrace_execution_direction)
6110         (record_btrace_prepare_to_generate_core)
6111         (record_btrace_done_generating_core): Refactor as
6112         record_btrace_target methods.
6113         (init_record_btrace_ops): Delete.
6114         (_initialize_record_btrace): Remove reference to
6115         init_record_btrace_ops.
6116         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6117         the execution_direction global.
6118         (record_full_base_target, record_full_target)
6119         (record_full_core_target): New classes.
6120         (record_full_ops): Now a record_full_target.
6121         (record_full_core_ops): Now a record_full_core_target.
6122         (record_full_target::detach, record_full_target::disconnect)
6123         (record_full_core_target::disconnect)
6124         (record_full_target::mourn_inferior, record_full_target::kill):
6125         New.
6126         (record_full_open, record_full_close, record_full_async): Refactor
6127         as methods of the record_full_base_target class.
6128         (record_full_resume, record_full_commit_resume): Refactor
6129         as methods of the record_full_target class.
6130         (record_full_wait, record_full_stopped_by_watchpoint)
6131         (record_full_stopped_data_address)
6132         (record_full_stopped_by_sw_breakpoint)
6133         (record_full_supports_stopped_by_sw_breakpoint)
6134         (record_full_stopped_by_hw_breakpoint)
6135         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6136         methods of the record_full_base_target class.
6137         (record_full_store_registers, record_full_xfer_partial)
6138         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6139         Refactor as methods of the record_full_target class.
6140         (record_full_can_execute_reverse, record_full_get_bookmark)
6141         (record_full_goto_bookmark, record_full_execution_direction)
6142         (record_full_record_method, record_full_info, record_full_delete)
6143         (record_full_is_replaying, record_full_will_replay)
6144         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6145         (record_full_stop_replaying): Refactor as methods of the
6146         record_full_base_target class.
6147         (record_full_core_resume, record_full_core_kill)
6148         (record_full_core_fetch_registers)
6149         (record_full_core_prepare_to_store)
6150         (record_full_core_store_registers, record_full_core_xfer_partial)
6151         (record_full_core_insert_breakpoint)
6152         (record_full_core_remove_breakpoint)
6153         (record_full_core_has_execution): Refactor
6154         as methods of the record_full_core_target class.
6155         (record_full_base_target::supports_delete_record): New.
6156         (init_record_full_ops): Delete.
6157         (init_record_full_core_ops): Delete.
6158         (record_full_save): Refactor as method of the
6159         record_full_base_target class.
6160         (_initialize_record_full): Remove references to
6161         init_record_full_ops and init_record_full_core_ops.
6162
6163         * remote.c (remote_target, extended_remote_target): New classes.
6164         (remote_ops): Now a remote_target.
6165         (extended_remote_ops): Now an extended_remote_target.
6166         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6167         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6168         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6169         (remote_pass_signals, remote_set_syscall_catchpoint)
6170         (remote_program_signals, )
6171         (remote_thread_always_alive): Remove target_ops parameter.
6172         (remote_thread_alive, remote_thread_name)
6173         (remote_update_thread_list, remote_threads_extra_info)
6174         (remote_static_tracepoint_marker_at)
6175         (remote_static_tracepoint_markers_by_strid)
6176         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
6177         (remote_open): Refactor as methods of remote_target.
6178         (extended_remote_open, extended_remote_detach)
6179         (extended_remote_attach, extended_remote_post_attach):
6180         (extended_remote_supports_disable_randomization)
6181         (extended_remote_create_inferior): : Refactor as method of
6182         extended_remote_target.
6183         (remote_set_permissions, remote_open_1, remote_detach)
6184         (remote_follow_fork, remote_follow_exec, remote_disconnect)
6185         (remote_resume, remote_commit_resume, remote_stop)
6186         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
6187         (remote_terminal_ours, remote_wait, remote_fetch_registers)
6188         (remote_prepare_to_store, remote_store_registers)
6189         (remote_flash_erase, remote_flash_done, remote_files_info)
6190         (remote_kill, remote_mourn, remote_insert_breakpoint)
6191         (remote_remove_breakpoint, remote_insert_watchpoint)
6192         (remote_watchpoint_addr_within_range)
6193         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
6194         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
6195         (remote_supports_stopped_by_sw_breakpoint)
6196         (remote_stopped_by_hw_breakpoint)
6197         (remote_supports_stopped_by_hw_breakpoint)
6198         (remote_stopped_by_watchpoint, remote_stopped_data_address)
6199         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
6200         (remote_verify_memory): Refactor as methods of remote_target.
6201         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
6202         parameter.
6203         (remote_xfer_partial, remote_get_memory_xfer_limit)
6204         (remote_search_memory, remote_rcmd, remote_memory_map)
6205         (remote_pid_to_str, remote_get_thread_local_address)
6206         (remote_get_tib_address, remote_read_description): Refactor as
6207         methods of remote_target.
6208         (remote_target::fileio_open, remote_target::fileio_pwrite)
6209         (remote_target::fileio_pread, remote_target::fileio_close): New.
6210         (remote_hostio_readlink, remote_hostio_fstat)
6211         (remote_filesystem_is_local, remote_can_execute_reverse)
6212         (remote_supports_non_stop, remote_supports_disable_randomization)
6213         (remote_supports_multi_process, remote_supports_cond_breakpoints)
6214         (remote_supports_enable_disable_tracepoint)
6215         (remote_supports_string_tracing)
6216         (remote_can_run_breakpoint_commands, remote_trace_init)
6217         (remote_download_tracepoint, remote_can_download_tracepoint)
6218         (remote_download_trace_state_variable, remote_enable_tracepoint)
6219         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
6220         (remote_trace_start, remote_get_trace_status)
6221         (remote_get_tracepoint_status, remote_trace_stop)
6222         (remote_trace_find, remote_get_trace_state_variable_value)
6223         (remote_save_trace_data, remote_get_raw_trace_data)
6224         (remote_set_disconnected_tracing, remote_core_of_thread)
6225         (remote_set_circular_trace_buffer, remote_traceframe_info)
6226         (remote_get_min_fast_tracepoint_insn_len)
6227         (remote_set_trace_buffer_size, remote_set_trace_notes)
6228         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
6229         (remote_disable_btrace, remote_teardown_btrace)
6230         (remote_read_btrace, remote_btrace_conf)
6231         (remote_augmented_libraries_svr4_read, remote_load)
6232         (remote_pid_to_exec_file, remote_can_do_single_step)
6233         (remote_execution_direction, remote_thread_handle_to_thread_info):
6234         Refactor as methods of remote_target.
6235         (init_remote_ops, init_extended_remote_ops): Delete.
6236         (remote_can_async_p, remote_is_async_p, remote_async)
6237         (remote_thread_events, remote_upload_tracepoints)
6238         (remote_upload_trace_state_variables): Refactor as methods of
6239         remote_target.
6240         (_initialize_remote): Remove references to init_remote_ops and
6241         init_extended_remote_ops.
6242
6243         * remote-sim.c (gdbsim_target): New class.
6244         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
6245         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
6246         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
6247         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
6248         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
6249         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
6250         Refactor as methods of gdbsim_target.
6251         (gdbsim_ops): Now a gdbsim_target.
6252         (init_gdbsim_ops): Delete.
6253         (gdbsim_cntrl_c): Adjust.
6254         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
6255
6256         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
6257         (the_amd64_linux_nat_target): New.
6258         (amd64_linux_fetch_inferior_registers)
6259         (amd64_linux_store_inferior_registers): Refactor as methods of
6260         amd64_linux_nat_target.
6261         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
6262         * i386-linux-nat.c: Don't include "linux-nat.h".
6263         (i386_linux_nat_target): New class.
6264         (the_i386_linux_nat_target): New.
6265         (i386_linux_fetch_inferior_registers)
6266         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
6267         as methods of i386_linux_nat_target.
6268         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
6269         * inf-child.c (inf_child_ops): Delete.
6270         (inf_child_fetch_inferior_registers)
6271         (inf_child_store_inferior_registers): Delete.
6272         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
6273         methods of inf_child_target.
6274         (inf_child_target::supports_terminal_ours)
6275         (inf_child_target::terminal_init)
6276         (inf_child_target::terminal_inferior)
6277         (inf_child_target::terminal_ours_for_output)
6278         (inf_child_target::terminal_ours, inf_child_target::interrupt)
6279         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
6280         New.
6281         (inf_child_open, inf_child_disconnect, inf_child_close)
6282         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
6283         (inf_child_post_startup_inferior, inf_child_can_run)
6284         (inf_child_pid_to_exec_file): Refactor as methods of
6285         inf_child_target.
6286         (inf_child_follow_fork): Delete.
6287         (inf_child_target::can_create_inferior)
6288         (inf_child_target::can_attach): New.
6289         (inf_child_target::has_all_memory, inf_child_target::has_memory)
6290         (inf_child_target::has_stack, inf_child_target::has_registers)
6291         (inf_child_target::has_execution): New.
6292         (inf_child_fileio_open, inf_child_fileio_pwrite)
6293         (inf_child_fileio_pread, inf_child_fileio_fstat)
6294         (inf_child_fileio_close, inf_child_fileio_unlink)
6295         (inf_child_fileio_readlink, inf_child_use_agent)
6296         (inf_child_can_use_agent): Refactor as methods of
6297         inf_child_target.
6298         (return_zero, inf_child_target): Delete.
6299         (inf_child_target::inf_child_target): New.
6300         * inf-child.h: Include "target.h".
6301         (inf_child_target): Delete function prototype.
6302         (inf_child_target): New class.
6303         (inf_child_open_target, inf_child_mourn_inferior)
6304         (inf_child_maybe_unpush_target): Delete.
6305         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
6306         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
6307         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
6308         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
6309         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
6310         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
6311         (inf_ptrace_wait, inf_ptrace_xfer_partial)
6312         (inf_ptrace_thread_alive, inf_ptrace_files_info)
6313         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
6314         methods of inf_ptrace_target.
6315         (inf_ptrace_target): Delete function.
6316         * inf-ptrace.h: Include "inf-child.h".
6317         (inf_ptrace_target): Delete function declaration.
6318         (inf_ptrace_target): New class.
6319         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
6320         * linux-nat.c (linux_target): New.
6321         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
6322         (linux_nat_target::~linux_nat_target): New.
6323         (linux_child_post_attach, linux_child_post_startup_inferior)
6324         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
6325         (linux_child_remove_fork_catchpoint)
6326         (linux_child_insert_vfork_catchpoint)
6327         (linux_child_remove_vfork_catchpoint)
6328         (linux_child_insert_exec_catchpoint)
6329         (linux_child_remove_exec_catchpoint)
6330         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
6331         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
6332         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
6333         (linux_nat_stopped_data_address)
6334         (linux_nat_stopped_by_sw_breakpoint)
6335         (linux_nat_supports_stopped_by_sw_breakpoint)
6336         (linux_nat_stopped_by_hw_breakpoint)
6337         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
6338         (linux_nat_kill, linux_nat_mourn_inferior)
6339         (linux_nat_xfer_partial, linux_nat_thread_alive)
6340         (linux_nat_update_thread_list, linux_nat_pid_to_str)
6341         (linux_nat_thread_name, linux_child_pid_to_exec_file)
6342         (linux_child_static_tracepoint_markers_by_strid)
6343         (linux_nat_is_async_p, linux_nat_can_async_p)
6344         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
6345         (linux_nat_supports_multi_process)
6346         (linux_nat_supports_disable_randomization, linux_nat_async)
6347         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
6348         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
6349         (linux_nat_fileio_open, linux_nat_fileio_readlink)
6350         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
6351         methods of linux_nat_target.
6352         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
6353         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
6354         parameter.
6355         (check_stopped_by_watchpoint): Adjust.
6356         (linux_xfer_partial): Delete.
6357         (linux_target_install_ops, linux_target, linux_nat_add_target):
6358         Delete.
6359         (linux_nat_target::linux_nat_target): New.
6360         * linux-nat.h: Include "inf-ptrace.h".
6361         (linux_nat_target): New.
6362         (linux_target, linux_target_install_ops, linux_nat_add_target):
6363         Delete function declarations.
6364         (linux_target): Declare global.
6365         * linux-thread-db.c (thread_db_target): New.
6366         (thread_db_target::thread_db_target): New.
6367         (thread_db_ops): Delete.
6368         (the_thread_db_target): New.
6369         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
6370         (thread_db_update_thread_list, thread_db_pid_to_str)
6371         (thread_db_extra_thread_info)
6372         (thread_db_thread_handle_to_thread_info)
6373         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
6374         (thread_db_resume): Refactor as methods of thread_db_target.
6375         (init_thread_db_ops): Delete.
6376         (_initialize_thread_db): Remove reference to init_thread_db_ops.
6377         * x86-linux-nat.c: Don't include "linux-nat.h".
6378         (super_post_startup_inferior): Delete.
6379         (x86_linux_nat_target::~x86_linux_nat_target): New.
6380         (x86_linux_child_post_startup_inferior)
6381         (x86_linux_read_description, x86_linux_enable_btrace)
6382         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
6383         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
6384         methods of x86_linux_nat_target.
6385         (x86_linux_create_target): Delete.  Bits folded ...
6386         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
6387         pointer.
6388         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
6389         (x86_linux_nat_target): New class.
6390         (x86_linux_create_target): Delete.
6391         (x86_linux_add_target): Now takes a linux_nat_target pointer.
6392         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
6393         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
6394         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
6395         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
6396         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
6397         make extern.
6398         (x86_use_watchpoints): Delete.
6399         * x86-nat.h: Include "breakpoint.h" and "target.h".
6400         (x86_use_watchpoints): Delete.
6401         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
6402         (x86_stopped_by_watchpoint, x86_stopped_data_address)
6403         (x86_insert_watchpoint, x86_remove_watchpoint)
6404         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
6405         (x86_stopped_by_hw_breakpoint): New declarations.
6406         (x86_nat_target): New template class.
6407
6408         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
6409         (the_ppc_linux_nat_target): New.
6410         (ppc_linux_fetch_inferior_registers)
6411         (ppc_linux_can_use_hw_breakpoint)
6412         (ppc_linux_region_ok_for_hw_watchpoint)
6413         (ppc_linux_ranged_break_num_registers)
6414         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
6415         (ppc_linux_insert_mask_watchpoint)
6416         (ppc_linux_remove_mask_watchpoint)
6417         (ppc_linux_can_accel_watchpoint_condition)
6418         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
6419         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
6420         (ppc_linux_watchpoint_addr_within_range)
6421         (ppc_linux_masked_watch_num_registers)
6422         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
6423         (ppc_linux_read_description): Refactor as methods of
6424         ppc_linux_nat_target.
6425         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
6426
6427         * procfs.c (procfs_xfer_partial): Delete forward declaration.
6428         (procfs_target): New class.
6429         (the_procfs_target): New.
6430         (procfs_target): Delete function.
6431         (procfs_auxv_parse, procfs_attach, procfs_detach)
6432         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
6433         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
6434         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
6435         (procfs_create_inferior, procfs_update_thread_list)
6436         (procfs_thread_alive, procfs_pid_to_str)
6437         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
6438         (procfs_stopped_data_address, procfs_insert_watchpoint)
6439         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
6440         (proc_find_memory_regions, procfs_info_proc)
6441         (procfs_make_note_section): Refactor as methods of procfs_target.
6442         (_initialize_procfs): Adjust.
6443         * sol-thread.c (sol_thread_target): New class.
6444         (sol_thread_ops): Now a sol_thread_target.
6445         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
6446         (sol_thread_fetch_registers, sol_thread_store_registers)
6447         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
6448         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
6449         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
6450         (init_sol_thread_ops): Delete.
6451         (_initialize_sol_thread): Adjust.  Remove references to
6452         init_sol_thread_ops and complete_target_initialization.
6453
6454         * windows-nat.c (windows_nat_target): New class.
6455         (windows_fetch_inferior_registers)
6456         (windows_store_inferior_registers, windows_resume, windows_wait)
6457         (windows_attach, windows_detach, windows_pid_to_exec_file)
6458         (windows_files_info, windows_create_inferior)
6459         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
6460         (windows_close, windows_pid_to_str, windows_xfer_partial)
6461         (windows_get_tib_address, windows_get_ada_task_ptid)
6462         (windows_thread_name, windows_thread_alive): Refactor as
6463         windows_nat_target methods.
6464         (do_initial_windows_stuff): Adjust.
6465         (windows_target): Delete function.
6466         (_initialize_windows_nat): Adjust.
6467
6468         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
6469         (darwin_mourn_inferior, darwin_kill_inferior)
6470         (darwin_create_inferior, darwin_attach, darwin_detach)
6471         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
6472         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
6473         (darwin_supports_multi_process): Refactor as darwin_nat_target
6474         methods.
6475         (darwin_resume_to, darwin_files_info): Delete.
6476         (_initialize_darwin_inferior): Rename to ...
6477         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
6478         * darwin-nat.h: Include "inf-child.h".
6479         (darwin_nat_target): New class.
6480         (darwin_complete_target): Delete.
6481         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
6482         (darwin_target): New.
6483         (i386_darwin_fetch_inferior_registers)
6484         (i386_darwin_store_inferior_registers): Refactor as methods of
6485         darwin_nat_target.
6486         (darwin_complete_target): Delete, with ...
6487         (_initialize_i386_darwin_nat): ... bits factored out here.
6488
6489         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
6490         (the_alpha_linux_nat_target): New.
6491         (alpha_linux_register_u_offset): Refactor as
6492         alpha_linux_nat_target method.
6493         (_initialize_alpha_linux_nat): Adjust.
6494         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
6495         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6496         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
6497         methods of linux_nat_trad_target.
6498         (linux_trad_target): Delete.
6499         * linux-nat-trad.h (linux_trad_target): Delete function.
6500         (linux_nat_trad_target): New class.
6501         * mips-linux-nat.c (mips_linux_nat_target): New class.
6502         (super_fetch_registers, super_store_registers, super_close):
6503         Delete.
6504         (the_mips_linux_nat_target): New.
6505         (mips64_linux_regsets_fetch_registers)
6506         (mips64_linux_regsets_store_registers)
6507         (mips64_linux_fetch_registers, mips64_linux_store_registers)
6508         (mips_linux_register_u_offset, mips_linux_read_description)
6509         (mips_linux_can_use_hw_breakpoint)
6510         (mips_linux_stopped_by_watchpoint)
6511         (mips_linux_stopped_data_address)
6512         (mips_linux_region_ok_for_hw_watchpoint)
6513         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
6514         (mips_linux_close): Refactor as methods of mips_linux_nat.
6515         (_initialize_mips_linux_nat): Adjust to C++ification.
6516
6517         * aix-thread.c (aix_thread_target): New class.
6518         (aix_thread_ops): Now an aix_thread_target.
6519         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
6520         (aix_thread_fetch_registers, aix_thread_store_registers)
6521         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
6522         (aix_thread_thread_alive, aix_thread_pid_to_str)
6523         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
6524         Refactor as methods of aix_thread_target.
6525         (init_aix_thread_ops): Delete.
6526         (_initialize_aix_thread): Remove references to init_aix_thread_ops
6527         and complete_target_initialization.
6528         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
6529         (rs6000_nat_target): New class.
6530         (the_rs6000_nat_target): New.
6531         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
6532         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
6533         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
6534         (super_create_inferior): Delete.
6535         (_initialize_rs6000_nat): Adjust to C++ification.
6536
6537         * arm-linux-nat.c (arm_linux_nat_target): New class.
6538         (the_arm_linux_nat_target): New.
6539         (arm_linux_fetch_inferior_registers)
6540         (arm_linux_store_inferior_registers, arm_linux_read_description)
6541         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
6542         (arm_linux_remove_hw_breakpoint)
6543         (arm_linux_region_ok_for_hw_watchpoint)
6544         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
6545         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
6546         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
6547         arm_linux_nat_target.
6548         (_initialize_arm_linux_nat): Adjust to C++ification.
6549
6550         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
6551         (the_aarch64_linux_nat_target): New.
6552         (aarch64_linux_fetch_inferior_registers)
6553         (aarch64_linux_store_inferior_registers)
6554         (aarch64_linux_child_post_startup_inferior)
6555         (aarch64_linux_read_description)
6556         (aarch64_linux_can_use_hw_breakpoint)
6557         (aarch64_linux_insert_hw_breakpoint)
6558         (aarch64_linux_remove_hw_breakpoint)
6559         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
6560         (aarch64_linux_region_ok_for_hw_watchpoint)
6561         (aarch64_linux_stopped_data_address)
6562         (aarch64_linux_stopped_by_watchpoint)
6563         (aarch64_linux_watchpoint_addr_within_range)
6564         (aarch64_linux_can_do_single_step): Refactor as methods of
6565         aarch64_linux_nat_target.
6566         (super_post_startup_inferior): Delete.
6567         (_initialize_aarch64_linux_nat): Adjust to C++ification.
6568
6569         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
6570         (the_hppa_linux_nat_target): New.
6571         (hppa_linux_fetch_inferior_registers)
6572         (hppa_linux_store_inferior_registers): Refactor as methods of
6573         hppa_linux_nat_target.
6574         (_initialize_hppa_linux_nat): Adjust to C++ification.
6575
6576         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6577         (the_ia64_linux_nat_target): New.
6578         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6579         (ia64_linux_stopped_data_address)
6580         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6581         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6582         ia64_linux_nat_target methods.
6583         (super_xfer_partial): Delete.
6584         (_initialize_ia64_linux_nat): Adjust to C++ification.
6585
6586         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6587         (the_m32r_linux_nat_target): New.
6588         (m32r_linux_fetch_inferior_registers)
6589         (m32r_linux_store_inferior_registers): Refactor as
6590         m32r_linux_nat_target methods.
6591         (_initialize_m32r_linux_nat): Adjust to C++ification.
6592
6593         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6594         (the_m68k_linux_nat_target): New.
6595         (m68k_linux_fetch_inferior_registers)
6596         (m68k_linux_store_inferior_registers): Refactor as
6597         m68k_linux_nat_target methods.
6598         (_initialize_m68k_linux_nat): Adjust to C++ification.
6599
6600         * s390-linux-nat.c (s390_linux_nat_target): New class.
6601         (the_s390_linux_nat_target): New.
6602         (s390_linux_fetch_inferior_registers)
6603         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6604         (s390_insert_watchpoint, s390_remove_watchpoint)
6605         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6606         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6607         (s390_auxv_parse, s390_read_description): Refactor as methods of
6608         s390_linux_nat_target.
6609         (_initialize_s390_nat): Adjust to C++ification.
6610
6611         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6612         (the_sparc_linux_nat_target): New.
6613         (_initialize_sparc_linux_nat): Adjust to C++ification.
6614         * sparc-nat.c (sparc_fetch_inferior_registers)
6615         (sparc_store_inferior_registers): Remove target_ops parameter.
6616         * sparc-nat.h (sparc_fetch_inferior_registers)
6617         (sparc_store_inferior_registers): Remove target_ops parameter.
6618         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6619         (the_sparc64_linux_nat_target): New.
6620         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6621
6622         * spu-linux-nat.c (spu_linux_nat_target): New class.
6623         (the_spu_linux_nat_target): New.
6624         (spu_child_post_startup_inferior, spu_child_post_attach)
6625         (spu_child_wait, spu_fetch_inferior_registers)
6626         (spu_store_inferior_registers, spu_xfer_partial)
6627         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6628         methods.
6629         (_initialize_spu_nat): Adjust to C++ification.
6630
6631         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6632         (the_tilegx_linux_nat_target): New.
6633         (fetch_inferior_registers, store_inferior_registers):
6634         Refactor as methods.
6635         (_initialize_tile_linux_nat): Adjust to C++ification.
6636
6637         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6638         (the_xtensa_linux_nat_target): New.
6639         (xtensa_linux_fetch_inferior_registers)
6640         (xtensa_linux_store_inferior_registers): Refactor as
6641         xtensa_linux_nat_target methods.
6642         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6643
6644         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6645         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6646         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6647         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6648         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6649         (fbsd_stopped_by_sw_breakpoint)
6650         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6651         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6652         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6653         (fbsd_post_startup_inferior, fbsd_post_attach)
6654         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6655         (fbsd_set_syscall_catchpoint)
6656         (super_xfer_partial, super_resume, super_wait)
6657         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6658         (fbsd_handle_debug_trap): Remove target_ops parameter.
6659         (fbsd_nat_add_target): Delete.
6660         * fbsd-nat.h: Include "inf-ptrace.h".
6661         (fbsd_nat_add_target): Delete.
6662         (USE_SIGTRAP_SIGINFO): Define.
6663         (fbsd_nat_target): New class.
6664
6665         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6666         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6667         (amd64bsd_target): Delete.
6668         * amd64-bsd-nat.h: New file.
6669         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6670         "x86-bsd-nat.h".
6671         (amd64_fbsd_nat_target): New class.
6672         (the_amd64_fbsd_nat_target): New.
6673         (amd64fbsd_read_description): Refactor as method of
6674         amd64_fbsd_nat_target.
6675         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6676         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6677         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6678         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6679         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6680         (i386bsd_target): Delete.
6681         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6682         (i386bsd_fetch_inferior_registers)
6683         (i386bsd_store_inferior_registers): Declare.
6684         (i386_bsd_nat_target): New class.
6685         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6686         (the_i386_fbsd_nat_target): New.
6687         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6688         i386_fbsd_nat_target methods.
6689         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6690         (_initialize_i386fbsd_nat): Adjust to C++ification.
6691         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6692         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6693         (_initialize_x86_bsd_nat): Adjust to C++ification.
6694         * x86-bsd-nat.h: Include "x86-nat.h".
6695         (x86bsd_target): Delete declaration.
6696         (x86bsd_nat_target): New class.
6697
6698         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6699         (the_aarch64_fbsd_nat_target): New.
6700         (aarch64_fbsd_fetch_inferior_registers)
6701         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6702         aarch64_fbsd_nat_target.
6703         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6704         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6705         (the_alpha_bsd_nat_target): New.
6706         (alphabsd_fetch_inferior_registers)
6707         (alphabsd_store_inferior_registers): Refactor as
6708         alpha_bsd_nat_target methods.
6709         (_initialize_alphabsd_nat): Refactor as methods of
6710         alpha_bsd_nat_target.
6711         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6712         (the_amd64_nbsd_nat_target): New.
6713         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6714         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6715         (the_amd64_obsd_nat_target): New.
6716         (_initialize_amd64obsd_nat): Adjust to C++ification.
6717         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6718         (the_arm_fbsd_nat_target): New.
6719         (arm_fbsd_fetch_inferior_registers)
6720         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6721         (_initialize_arm_fbsd_nat): Refactor as methods of
6722         arm_fbsd_nat_target.
6723         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6724         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6725         (the_arm_netbsd_nat_target): New.
6726         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6727         arm_netbsd_nat_target.
6728         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6729         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6730         (the_hppa_nbsd_nat_target): New.
6731         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6732         hppa_nbsd_nat_target methods.
6733         (_initialize_hppanbsd_nat): Adjust to C++ification.
6734         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6735         (the_hppa_obsd_nat_target): New.
6736         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6737         methods of hppa_obsd_nat_target.
6738         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6739         add_target.
6740         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6741         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6742         add_target.
6743         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6744         (_initialize_i386obsd_nat): Use add_target.
6745         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6746         (the_m68k_bsd_nat_target): New.
6747         (m68kbsd_fetch_inferior_registers)
6748         (m68kbsd_store_inferior_registers): Refactor as methods of
6749         m68k_bsd_nat_target.
6750         (_initialize_m68kbsd_nat): Adjust to C++ification.
6751         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6752         (the_mips_fbsd_nat_target): New.
6753         (mips_fbsd_fetch_inferior_registers)
6754         (mips_fbsd_store_inferior_registers): Refactor as methods of
6755         mips_fbsd_nat_target.
6756         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6757         add_target.
6758         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6759         (the_mips_nbsd_nat_target): New.
6760         (mipsnbsd_fetch_inferior_registers)
6761         (mipsnbsd_store_inferior_registers): Refactor as methods of
6762         mips_nbsd_nat_target.
6763         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6764         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6765         (the_mips64_obsd_nat_target): New.
6766         (mips64obsd_fetch_inferior_registers)
6767         (mips64obsd_store_inferior_registers): Refactor as methods of
6768         mips64_obsd_nat_target.
6769         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6770         add_target.
6771         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6772         nbsd_nat_target.
6773         * nbsd-nat.h: Include "inf-ptrace.h".
6774         (nbsd_nat_target): New class.
6775         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6776         (obsd_wait): Refactor as methods of obsd_nat_target.
6777         (obsd_add_target): Delete.
6778         * obsd-nat.h: Include "inf-ptrace.h".
6779         (obsd_nat_target): New class.
6780         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6781         (the_ppc_fbsd_nat_target): New.
6782         (ppcfbsd_fetch_inferior_registers)
6783         (ppcfbsd_store_inferior_registers): Refactor as methods of
6784         ppc_fbsd_nat_target.
6785         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6786         add_target.
6787         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6788         (the_ppc_nbsd_nat_target): New.
6789         (ppcnbsd_fetch_inferior_registers)
6790         (ppcnbsd_store_inferior_registers): Refactor as methods of
6791         ppc_nbsd_nat_target.
6792         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6793         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6794         (the_ppc_obsd_nat_target): New.
6795         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6796         methods of ppc_obsd_nat_target.
6797         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6798         add_target.
6799         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6800         (the_sh_nbsd_nat_target): New.
6801         (shnbsd_fetch_inferior_registers)
6802         (shnbsd_store_inferior_registers): Refactor as methods of
6803         sh_nbsd_nat_target.
6804         (_initialize_shnbsd_nat): Adjust to C++ification.
6805         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6806         (inf_ptrace_xfer_partial): Delete.
6807         (sparc_xfer_partial, sparc_target): Delete.
6808         * sparc-nat.h (sparc_fetch_inferior_registers)
6809         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6810         (sparc_target): Delete function declaration.
6811         (sparc_target): New template class.
6812         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6813         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6814         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6815         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6816         add_target.
6817         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6818         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6819         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6820         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6821         add_target.
6822         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6823         (the_vax_bsd_nat_target): New.
6824         (vaxbsd_fetch_inferior_registers)
6825         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6826         methods.
6827         (_initialize_vaxbsd_nat): Adjust to C++ification.
6828
6829         * bsd-kvm.c (bsd_kvm_target): New class.
6830         (bsd_kvm_ops): Now a bsd_kvm_target.
6831         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6832         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6833         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6834         bsd_kvm_target.
6835         (bsd_kvm_return_one): Delete.
6836         (bsd_kvm_add_target): Adjust to C++ification.
6837
6838         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6839         (nto_procfs_target_procfs): New classes.
6840         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6841         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6842         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6843         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6844         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6845         (procfs_remove_hw_breakpoint, procfs_resume)
6846         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6847         (procfs_kill_inferior, procfs_store_registers)
6848         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6849         as methods of nto_procfs_target.
6850         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6851         (nto_native_ops): Delete.
6852         (procfs_open, procfs_native_open): Delete.
6853         (nto_native_ops): Now an nto_procfs_target_native.
6854         (init_procfs_targets): Adjust to C++ification.
6855         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6856         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6857         Refactor as methods of nto_procfs_target.
6858
6859         * go32-nat.c (go32_nat_target): New class.
6860         (the_go32_nat_target): New.
6861         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6862         (go32_store_registers, go32_xfer_partial, go32_files_info)
6863         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6864         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6865         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6866         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6867         (go32_target): Delete.
6868         (_initialize_go32_nat): Adjust to C++ification.
6869
6870         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6871         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6872         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6873         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6874         gnu_nat_target.
6875         (gnu_target): Delete.
6876         * gnu-nat.h (gnu_target): Delete.
6877         (gnu_nat_target): New class.
6878         * i386-gnu-nat.c (gnu_base_target): New.
6879         (i386_gnu_nat_target): New class.
6880         (the_i386_gnu_nat_target): New.
6881         (_initialize_i386gnu_nat): Adjust to C++ification.
6882
6883 2018-05-02  Pedro Alves  <palves@redhat.com>
6884
6885         * bfd-target.c (target_bfd_xclose): Rename to ...
6886         (target_bfd_close): ... this.
6887         (target_bfd_reopen): Adjust.
6888         * target.c (target_close): Remove references to to_xclose.
6889         * target.h (target_ops::to_xclose): Delete.
6890         (target_ops::to_close): Update comments.
6891
6892 2018-05-02  Pedro Alves  <palves@redhat.com>
6893
6894         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6895         "linux-nat.h".
6896         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6897         * inf-ptrace.c (inf_ptrace_register_u_offset)
6898         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6899         (inf_ptrace_store_register, inf_ptrace_store_registers)
6900         (inf_ptrace_trad_target): Move to ...
6901         * linux-nat-trad.c: ... this new file.
6902         * linux-nat-trad.h: New file.
6903         * linux-nat.c (linux_target_install_ops): Make extern.
6904         (linux_trad_target): Delete.
6905         * linux-nat.h (linux_trad_target): Delete declaration.
6906         (linux_target_install_ops): Declare.
6907         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6908         "linux-nat.h".
6909
6910 2018-05-02  Pedro Alves  <palves@redhat.com>
6911
6912         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6913         procfs_target/add_target here.
6914         * procfs.c (procfs_target): Make static.
6915         (_initialize_procfs): Call add_target here.
6916         * procfs.h (struct target_ops): Remove forward declaration.
6917         (procfs_target): Remove declaration.
6918         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6919
6920 2018-05-02  Pedro Alves  <palves@redhat.com>
6921
6922         * procfs.c (procfs_stopped_by_watchpoint)
6923         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6924         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6925         Forward declare.
6926         (procfs_use_watchpoints): Delete, move contents...
6927         (procfs_target): ... here.
6928         * procfs.h (procfs_use_watchpoints): Delete declaration.
6929         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6930         procfs_use_watchpoints.
6931         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6932         procfs_use_watchpoints.
6933
6934 2018-05-02  Tom Tromey  <tom@tromey.com>
6935
6936         PR python/20084:
6937         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6938         and var_zuinteger_unlimited.
6939         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6940         and PARAM_ZUINTEGER_UNLIMITED.
6941         (set_parameter_value): Handle var_zuinteger and
6942         var_zuinteger_unlimited.
6943         (add_setshow_generic): Likewise.
6944         (parmpy_init): Likewise.
6945
6946 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6947
6948         PR rust/23124
6949         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6950         pointer is not null before dereferencing it.
6951
6952 2018-04-30  Tom Tromey  <tom@tromey.com>
6953
6954         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6955         is_mi_like_p.
6956
6957 2018-04-30  Tom Tromey  <tom@tromey.com>
6958
6959         * breakpoint.c (mention): Remove use of is_mi_like_p.
6960         (print_mention_ranged_breakpoint): Likewise.
6961         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6962         of is_mi_like_p.
6963
6964 2018-04-30  Tom Tromey  <tom@tromey.com>
6965
6966         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6967
6968 2018-04-30  Tom Tromey  <tom@tromey.com>
6969
6970         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6971         (info_spu_event_command): Remove some uses of is_mi_like_p.
6972
6973 2018-04-30  Tom Tromey  <tom@tromey.com>
6974
6975         * python/py-framefilter.c (py_print_single_arg)
6976         (enumerate_locals, py_print_args, py_print_frame): Remove some
6977         uses of is_mi_like_p.
6978
6979 2018-04-30  Tom Tromey  <tom@tromey.com>
6980
6981         * ui-out.c: Update.
6982         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6983         * ui-out.h (ui_out::is_mi_like_p): Now const.
6984         (ui_out::do_is_mi_like_p): Now const.
6985         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6986
6987 2018-04-30  Tom Tromey  <tom@tromey.com>
6988
6989         * varobj.c (varobj_set_visualizer): Use new_reference.
6990         * python/python.c (gdbpy_decode_line): Use new_reference.
6991         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6992         new_reference.
6993
6994 2018-04-30  Tom Tromey  <tom@tromey.com>
6995
6996         * varobj.c (install_new_value): Use new_reference.
6997         * value.h (value_incref): Return void.  Swap intro comment with
6998         value_decref.
6999         * value.c (set_value_parent): Use new_reference.
7000         (value_incref): Return void.  Update intro comment.
7001         (release_value): Use new_reference.
7002         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7003
7004 2018-04-30  Tom Tromey  <tom@tromey.com>
7005
7006         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7007         * gdb_bfd.h (new_bfd_ref): Remove.
7008         (gdb_bfd_open): Update comment.
7009         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7010         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7011         (gdb_bfd_fdopenr): Use new_reference.
7012         * exec.c (exec_file_attach): Use new_reference.
7013
7014 2018-04-30  Tom Tromey  <tom@tromey.com>
7015
7016         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7017         method.
7018
7019 2018-04-30  Tom Tromey  <tom@tromey.com>
7020
7021         * jit.c (jit_read_code_entry): Use type_align.
7022         * i386-tdep.c (i386_gdbarch_init): Don't call
7023         set_gdbarch_long_long_align_bit.
7024         * gdbarch.sh: Remove long_long_align_bit.
7025         * gdbarch.c, gdbarch.h: Rebuild.
7026         * arc-tdep.c (arc_type_align): New function.
7027         (arc_gdbarch_init): Use arc_type_align.  Don't call
7028         set_gdbarch_long_long_align_bit.
7029
7030 2018-04-30  Tom Tromey  <tom@tromey.com>
7031
7032         * rust-lang.c (rust_type_alignment): Remove.
7033         (rust_composite_type): Use type_align.
7034
7035 2018-04-30  Tom Tromey  <tom@tromey.com>
7036
7037         * NEWS: Mention Type.align.
7038         * python/py-type.c (typy_get_alignof): New function.
7039         (type_object_getset): Add "alignof".
7040
7041 2018-04-30  Tom Tromey  <tom@tromey.com>
7042
7043         PR exp/17095:
7044         * NEWS: Update.
7045         * std-operator.def (UNOP_ALIGNOF): New operator.
7046         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7047         New.
7048         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7049         * c-lang.c (c_op_print_tab): Add alignof.
7050         * c-exp.y (ALIGNOF): New token.
7051         (exp): Add "ALIGNOF" production.
7052         (ident_tokens): Add _Alignof and alignof.
7053
7054 2018-04-30  Tom Tromey  <tom@tromey.com>
7055
7056         * i386-tdep.c (i386_type_align): New function.
7057         (i386_gdbarch_init): Update.
7058         * gdbarch.sh (type_align): New method.
7059         * gdbarch.c, gdbarch.h: Rebuild.
7060         * arch-utils.h (default_type_align): Declare.
7061         * arch-utils.c (default_type_align): New function.
7062         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7063         (struct type) <align_log2>: New field.
7064         <instance_flags>: Now a bitfield.
7065         (TYPE_RAW_ALIGN): New macro.
7066         (type_align, type_raw_align, set_type_align): Declare.
7067         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7068         functions.
7069         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7070         (get_alignment, maybe_set_alignment): New functions.
7071         (read_structure_type, read_enumeration_type, read_array_type)
7072         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7073         (read_subrange_type, read_base_type): Set type alignment.
7074
7075 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7076
7077         * dwarf2read.c (read_index_from_section): Use bool.
7078
7079 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7080
7081         PR gdb/22950
7082         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7083         with #ifdef.
7084
7085 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7086
7087         PR build/22873
7088         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7089         last step, and do it atomically.
7090
7091 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7092
7093         * compile/compile-c-types.c (convert_int, convert_float):
7094         Update for C FE v1.
7095
7096 2018-04-27  Tom Tromey  <tom@tromey.com>
7097
7098         PR rust/22545:
7099         * rust-lang.c (rust_inclusive_range_type_p): New function.
7100         (rust_range): Handle inclusive ranges.
7101         (rust_compute_range): Likewise.
7102         * rust-exp.y (struct rust_op) <inclusive>: New field.
7103         (DOTDOTEQ): New constant.
7104         (range_expr): Add "..=" productions.
7105         (operator_tokens): Add "..=" token.
7106         (ast_range): Add "inclusive" parameter.
7107         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7108         ranges.
7109         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7110         bounds values.
7111         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7112         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7113         Update comments.
7114         * expprint.c (print_subexp_standard): Handle new bounds values.
7115         (dump_subexp_body_standard): Likewise.
7116
7117 2018-04-27  Tom Tromey  <tom@tromey.com>
7118
7119         * configure: Rebuild.
7120         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7121         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7122         "OVERRIDE".
7123         (class symbol_needs_eval_context): Likewise.
7124         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7125         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7126         "virtual".
7127         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7128         "override".
7129         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7130         * aarch64-tdep.c (instruction_reader::read): Use "override".
7131         (instruction_reader_test::read): Likewise.
7132         * arm-tdep.c (instruction_reader::read): Use "override".
7133         (instruction_reader_thumb::read): Likewise.
7134
7135 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7136
7137         PR remote/9665
7138         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7139         instead of remote_send.
7140         (remote_send): Remove.
7141
7142 2018-04-26  Pedro Alves  <palves@redhat.com>
7143
7144         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7145         find_function_start_sal instead of find_pc_line.
7146
7147 2018-04-26  Pedro Alves  <palves@redhat.com>
7148
7149         * breakpoint.c (set_breakpoint_location_function): Handle
7150         mst_data_gnu_ifunc.
7151         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7152         * elfread.c (elf_symtab_read): Give data symbols with
7153         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7154         (elf_rel_plt_read): Update comment.
7155         * linespec.c (convert_linespec_to_sals): Handle
7156         mst_data_gnu_ifunc.
7157         (minsym_found): Handle mst_data_gnu_ifunc.
7158         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7159         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7160         * parse.c (find_minsym_type_and_address): Handle
7161         mst_data_gnu_ifunc.
7162         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7163         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7164         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7165         comment.
7166         <mst_data_gnu_ifunc>: New enumerator.
7167
7168 2018-04-26  Pedro Alves  <palves@redhat.com>
7169
7170         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7171         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7172         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7173         Handle it.
7174         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
7175         (lookup_minimal_symbol_by_pc): Adjust.
7176         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
7177         (lookup_solib_trampoline_symbol_by_pc): Adjust.
7178         * minsyms.h (lookup_msym_prefer): New enum.
7179         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7180         parameter by a lookup_msym_prefer parameter.
7181
7182 2018-04-26  Pedro Alves  <palves@redhat.com>
7183
7184         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
7185         ends in "@plt" instead of looking at the symbol's section.
7186
7187 2018-04-26  Pedro Alves  <palves@redhat.com>
7188
7189         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
7190         all references.
7191         (find_pc_partial_function_gnu_ifunc): Rename to ...
7192         (find_pc_partial_function): ... this, and remove references to
7193         'is_gnu_ifunc_p'.
7194         (find_pc_partial_function): Delete old implementation.
7195         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
7196
7197 2018-04-26  Pedro Alves  <palves@redhat.com>
7198
7199         * linespec.c (struct bound_minimal_symbol_search_key): New.
7200         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
7201         skip first line if we found a GNU ifunc minimal symbol by name.
7202         (compare_msymbols): Change parameters to work with a destructured
7203         lhs minsym.
7204         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
7205         functions.
7206
7207 2018-04-26  Pedro Alves  <palves@redhat.com>
7208
7209         * breakpoint.c (set_breakpoint_location_function): Don't resolve
7210         ifunc targets here.  Instead, if we have an ifunc minsym, use its
7211         address/name.
7212         (add_location_to_breakpoint): Store the minsym and the objfile in
7213         the breakpoint location.
7214         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
7215         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
7216         Record the minsym in the sal.
7217         * symtab.h (symtab_and_line) <msymbol>: New field.
7218
7219 2018-04-26  Pedro Alves  <palves@redhat.com>
7220
7221         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
7222         unless we actually resolved the ifunc.
7223
7224 2018-04-26  Pedro Alves  <palves@redhat.com>
7225
7226         * c-exp.y (variable production): Prefer ifunc minsyms over
7227         regular function symbols.
7228         * symtab.c (find_gnu_ifunc): New function.
7229         * minsyms.h (lookup_msym_prefer): New enum.
7230         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7231         parameter by a lookup_msym_prefer parameter.
7232         * symtab.h (find_gnu_ifunc): New declaration.
7233
7234 2018-04-26  Pedro Alves  <palves@redhat.com>
7235
7236         * blockframe.c (find_gnu_ifunc_target_type): New function.
7237         (find_function_type): New.
7238         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
7239         return a value with a memory address.
7240         (eval_call): For calls to GNU ifunc functions, try to find the
7241         type of the target function from the type that the resolver
7242         returns.
7243         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
7244         symbols.
7245         * infcall.c (find_function_return_type): Delete.
7246         (find_function_addr): Add 'function_type' parameter.  For calls to
7247         GNU ifunc functions, try to find the type of the target function
7248         from the type that the resolver returns, and return it via
7249         FUNCTION_TYPE.
7250         (call_function_by_hand_dummy): Adjust to use the function type
7251         returned by find_function_addr.
7252         (find_function_addr): Add 'function_type' parameter and move
7253         description here.
7254         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
7255         declarations.
7256
7257 2018-04-26  Pedro Alves  <palves@redhat.com>
7258
7259         * c-exp.y (variable production): Skip finding an alias for ifunc
7260         symbols.
7261
7262 2018-04-26  Pedro Alves  <palves@redhat.com>
7263
7264         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
7265
7266 2018-04-25  Pedro Alves  <palves@redhat.com>
7267
7268         * infcmd.c (kill_command): Print the pid as string, not the whole
7269         thread's ptid.  Add comment.  s/has been killed/killed/ in output
7270         message.
7271         * remote.c (remote_detach_1): Print the pid as string, not the
7272         whole thread's ptid.
7273
7274 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7275             Sergio Durigan Junior  <sergiodj@redhat.com>
7276             Pedro Alves  <palves@redhat.com>
7277
7278         * infcmd.c (kill_command): Print message when inferior has
7279         been killed.
7280         * inferior.c (print_inferior_events): Remove 'static'.  Set as
7281         '1'.
7282         (add_inferior): Improve message printed when
7283         'print_inferior_events' is on.
7284         (exit_inferior): Remove message printed when
7285         'print_inferior_events' is on.
7286         (detach_inferior): Improve message printed when
7287         'print_inferior_events' is on.
7288         (initialize_inferiors): Use 'add_inferior_silent' to set
7289         'current_inferior_'.
7290         * inferior.h (print_inferior_events): Declare here as
7291         'extern'.
7292         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
7293         '[Detaching...]' messages when 'print_inferior_events' is on.
7294         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
7295         as prefix/suffix for messages.  Remove periods.  Fix erroneous
7296         'Detaching after fork from child...', replace it by '... from
7297         parent...'.
7298         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
7299         prefix/suffix when printing 'Detaching...' messages.  Print
7300         them when 'print_inferior_events' is on.
7301         * remote.c (remote_detach_1): Print message when detaching
7302         from inferior and '!is_fork_parent'.
7303
7304 2018-04-24  Tom Tromey  <tom@tromey.com>
7305
7306         * cli-out.h: Reindent.
7307
7308 2018-04-24  Tom Tromey  <tom@tromey.com>
7309
7310         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
7311         (cli_ui_out::do_field_string): Use fputs_filtered.
7312         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
7313
7314 2018-04-23  Tom Tromey  <tom@tromey.com>
7315
7316         * guile/scm-frame.c (gdbscm_frame_read_var): Use
7317         gdb::unique_xmalloc_ptr.
7318
7319 2018-04-23  Tom Tromey  <tom@tromey.com>
7320
7321         * configure: Rebuild.
7322
7323 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
7324
7325         PR gdb/23095
7326         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
7327         prepare_for_testing.  Set normal_bp to r_debug_state if target
7328         is bsd.
7329
7330 2018-04-21  Pedro Alves  <palves@redhat.com>
7331             Rajendra SY  <rajendra.sy@gmail.com>
7332
7333         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
7334         * remote.c (extended_remote_attach): In all-stop mode, mark the
7335         thread as executing.
7336
7337 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7338
7339         * thread.c (thread_apply_all_command): Fix comment.
7340         (thread_command): Fix comment.
7341
7342 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
7343
7344         * common/tdesc.h (tdesc_create_feature): Remove xml filename
7345         parameter.
7346         * features/aarch64-core.c (create_feature_aarch64_core):
7347         Regenerate.
7348         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
7349         Likewise.
7350         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
7351         Likewise.
7352         * features/i386/32bit-avx512.c
7353         (create_feature_i386_32bit_avx512): Likewise.
7354         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
7355         Likewise.
7356         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
7357         Likewise.
7358         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
7359         Likewise.
7360         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
7361         Likewise.
7362         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
7363         Likewise.
7364         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
7365         Likewise.
7366         * features/i386/64bit-avx512.c
7367         (create_feature_i386_64bit_avx512): Likewise.
7368         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
7369         Likewise.
7370         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
7371         Likewise.
7372         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
7373         Likewise.
7374         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
7375         Likewise.
7376         * features/i386/64bit-segments.c
7377         (create_feature_i386_64bit_segments): Likewise.
7378         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
7379         Likewise.
7380         * features/i386/x32-core.c
7381         (create_feature_i386_x32_core): Likewise.
7382         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
7383         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
7384         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
7385         * target-descriptions.c: In generated code, don't pass xml
7386         filename.
7387
7388 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7389
7390         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
7391         (print_xml_feature::visit_post): Likewise.
7392         (print_xml_feature::visit): Likewise.
7393         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
7394         (print_xml_feature): Add new class.
7395         * regformats/regdat.sh: Null xmltarget on feature targets.
7396         * target-descriptions.c (struct target_desc): Add xmltarget.
7397         (maintenance_check_tdesc_xml_convert): Add unittest function.
7398         (tdesc_get_features_xml): Add function to get xml.
7399         (maintenance_check_xml_descriptions): Test xml generation.
7400         * xml-tdesc.c (string_read_description_xml): Add function.
7401         * xml-tdesc.h (string_read_description_xml): Add declaration.
7402
7403 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7404
7405         * features/Makefile: Add feature marker to targets with new style
7406         target descriptions.
7407         * regformats/aarch64.dat: Regenerate.
7408         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
7409         * regformats/i386/amd64-avx-linux.dat: Likewise.
7410         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
7411         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
7412         * regformats/i386/amd64-linux.dat: Likewise.
7413         * regformats/i386/amd64-mpx-linux.dat: Likewise.
7414         * regformats/i386/amd64.dat: Likewise.
7415         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
7416         * regformats/i386/i386-avx-linux.dat: Likewise.
7417         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
7418         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
7419         * regformats/i386/i386-linux.dat: Likewise.
7420         * regformats/i386/i386-mmx-linux.dat: Likewise.
7421         * regformats/i386/i386-mpx-linux.dat: Likewise.
7422         * regformats/i386/i386.dat: Likewise.
7423         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
7424         * regformats/i386/x32-avx-linux.dat: Likewise.
7425         * regformats/i386/x32-linux.dat: Likewise.
7426         * regformats/tic6x-c62x-linux.dat: Likewise.
7427         * regformats/tic6x-c64x-linux.dat: Likewise.
7428         * regformats/tic6x-c64xp-linux.dat: Likewise.
7429         * regformats/regdat.sh: Parse feature marker.
7430
7431 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7432
7433         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
7434         (tdesc_osabi_name): Likewise.
7435         * target-descriptions.c (tdesc_architecture_name): Add new
7436         function.
7437         (tdesc_osabi_name): Likewise.
7438
7439 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7440
7441         * common/tdesc.c (tdesc_predefined_type): Move to here.
7442         (tdesc_named_type): Likewise.
7443         (tdesc_create_vector): Likewise.
7444         (tdesc_create_struct): Likewise.
7445         (tdesc_set_struct_size): Likewise.
7446         (tdesc_create_union): Likewise.
7447         (tdesc_create_flags): Likewise.
7448         (tdesc_create_enum): Likewise.
7449         (tdesc_add_field): Likewise.
7450         (tdesc_add_typed_bitfield): Likewise.
7451         (tdesc_add_bitfield): Likewise.
7452         (tdesc_add_flag): Likewise.
7453         (tdesc_add_enum_value): Likewise.
7454         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
7455         (struct tdesc_type_vector): Likewise.
7456         (struct tdesc_type_field): Likewise.
7457         (struct tdesc_type_with_fields): Likewise.
7458         (tdesc_create_enum): Add declaration.
7459         (tdesc_add_typed_bitfield): Likewise.
7460         (tdesc_add_enum_value): Likewise.
7461         * target-descriptions.c (tdesc_type_field): Move from here.
7462         (tdesc_type_builtin): Likewise.
7463         (tdesc_type_vector): Likewise.
7464         (tdesc_type_with_fields): Likewise.
7465         (tdesc_predefined_types): Likewise.
7466         (tdesc_named_type): Likewise.
7467         (tdesc_create_vector): Likewise.
7468         (tdesc_create_struct): Likewise.
7469         (tdesc_set_struct_size): Likewise.
7470         (tdesc_create_union): Likewise.
7471         (tdesc_create_flags): Likewise.
7472         (tdesc_create_enum): Likewise.
7473         (tdesc_add_field): Likewise.
7474         (tdesc_add_typed_bitfield): Likewise.
7475         (tdesc_add_bitfield): Likewise.
7476         (tdesc_add_flag): Likewise.
7477         (tdesc_add_enum_value): Likewise.
7478         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
7479         (tdesc_add_typed_bitfield): Likewise.
7480         (tdesc_add_enum_value): Likewise.
7481
7482 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7483
7484         * common/tdesc.c (tdesc_feature::accept): Move to here.
7485         (tdesc_feature::operator==): Likewise.
7486         (tdesc_create_reg): Likewise.
7487         * common/tdesc.h (tdesc_type_kind): Likewise.
7488         (struct tdesc_type): Likewise.
7489         (struct tdesc_feature): Likewise.
7490         * regformats/regdat.sh: Create a feature.
7491         * target-descriptions.c (tdesc_type_kind): Move from here.
7492         (tdesc_type): Likewise.
7493         (tdesc_type_up): Likewise.
7494         (tdesc_feature): Likewise.
7495         (tdesc_create_reg): Likewise.
7496
7497 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7498
7499         * Makefile.in: Add arch/tdesc.c
7500         * common/tdesc.c: New file.
7501         * common/tdesc.h (tdesc_element_visitor): Move to here.
7502         (tdesc_element): Likewise.
7503         (tdesc_reg): Likewise.
7504         (tdesc_reg_up): Likewise.
7505         * regformats/regdef.h (reg): Add offset to constructors.
7506         * target-descriptions.c (tdesc_element_visitor): Move from here.
7507         (tdesc_element): Likewise.
7508         (tdesc_reg): Likewise.
7509         (tdesc_reg_up): Likewise.
7510
7511 2018-04-17  Tom Tromey  <tom@tromey.com>
7512
7513         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
7514         discriminant field.
7515
7516 2018-04-17  Tom Tromey  <tom@tromey.com>
7517
7518         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
7519
7520 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7521
7522         * symtab.c (print_symbol_info): Skip printing filename and line
7523         number when `last' is NULL.
7524         (symtab_symbol_info): Use empty string instead of NULL for first
7525         invocation of print_symbol_info.
7526         (rbreak_command): Pass NULL to `last' parameter of
7527         print_symbol_info.
7528
7529 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
7530
7531         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
7532         instead of nullptr.
7533
7534 2018-04-16  Pedro Alves  <palves@redhat.com>
7535
7536         * MAINTAINERS (sh): Remove.
7537         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
7538         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
7539         (ALLDEPFILES): Remove sh64-tdep.c.
7540         * NEWS: Mentions that support for SH-5/SH64 is removed.
7541         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
7542         (sh*-*-openbsd*): Ditto.
7543         (sh64-*-elf*): Remove.
7544         (sh*): Remove.
7545         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
7546         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
7547         * sh-tdep.c: No longer include "sh64-tdep.h".
7548         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
7549         * sh64-tdep.c, sh64-tdep.h: Remove files.
7550
7551 2018-04-16  Pedro Alves  <palves@redhat.com>
7552
7553         * MAINTAINERS: Remove m88k.
7554         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
7555         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
7556         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
7557         * NEWS: Mention that support for m88k was removed.
7558         * configure.host (m88*-*-*): Remove support.
7559         * configure.nat (m88k-*-*): Remove support.
7560         * configure.tgt (m88*-*-openbsd*): Remove.
7561         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
7562
7563 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
7564
7565         * configure.tgt (x86_tobjs): New variable.
7566         (amd64_tobjs, i386_tobjs): Use it.
7567
7568 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7569
7570         * symtab.c (print_symbol_info): Precede the symbol definition by
7571         the line number when available.
7572         * NEWS: Advertise this enhancement.
7573
7574 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7575
7576         * NEWS (New options): announce set/show record btrace cpu.
7577         * btrace.c: Include record-btrace.h.
7578         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7579         the vendor is unknown.
7580         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7581         Maybe overwrite the btrace configuration's cpu.
7582         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7583         (btrace_fetch): Add cpu parameter.  Update callers.
7584         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7585         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7586         errata workarounds if the vendor is unknown.
7587         * python/py-record-btrace.c: Include record-btrace.h.
7588         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7589         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7590         * record-btrace.c (record_btrace_cpu_state_kind): New.
7591         (record_btrace_cpu): New.
7592         (set_record_btrace_cpu_cmdlist): New.
7593         (record_btrace_get_cpu): New.
7594         (require_btrace_thread, record_btrace_info)
7595         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7596         (cmd_set_record_btrace_cpu_none): New.
7597         (cmd_set_record_btrace_cpu_auto): New.
7598         (cmd_set_record_btrace_cpu): New.
7599         (cmd_show_record_btrace_cpu): New.
7600         (_initialize_record_btrace): Initialize set/show record btrace cpu
7601         commands.
7602         * record-btrace.h (record_btrace_get_cpu): New.
7603
7604 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7605
7606         * record.c (set_record_command): Fix typo in message.
7607
7608 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7609
7610         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7611
7612 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7613
7614         * infrun.c (process_event_stop_test): Call
7615         gdbarch_in_indirect_branch_thunk.
7616         * gdbarch.sh (in_indirect_branch_thunk): New.
7617         * gdbarch.c: Regenerated.
7618         * gdbarch.h: Regenerated.
7619         * x86-tdep.h: New.
7620         * x86-tdep.c: New.
7621         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7622         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7623         (ALLDEPFILES): Add x86-tdep.c.
7624         * arch-utils.h (default_in_indirect_branch_thunk): New.
7625         * arch-utils.c (default_in_indirect_branch_thunk): New.
7626         * i386-tdep: Include x86-tdep.h.
7627         (i386_in_indirect_branch_thunk): New.
7628         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7629         function.
7630         * amd64-tdep: Include x86-tdep.h.
7631         (amd64_in_indirect_branch_thunk): New.
7632         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7633
7634 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7635
7636         PR gdb/23053
7637         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7638         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7639         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7640         regression.
7641
7642 2018-04-12  Tom Tromey  <tom@tromey.com>
7643
7644         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7645         (rust_evaluate_subexp): Likewise.
7646
7647 2018-04-12  Pedro Alves  <palves@redhat.com>
7648
7649         * procfs.c (procfs_detach): Make forward declaration's prototype
7650         match definition's protototype.
7651         (proc_get_LDT_entry): Remove stale do_cleanups call.
7652
7653 2018-04-12  Pedro Alves  <palves@redhat.com>
7654
7655         * target.h (target_ops::to_has_exited): Delete.
7656         (target_has_exited): Delete.
7657         * target-delegates.c: Regenerate.
7658
7659 2018-04-11  Pedro Alves  <palves@redhat.com>
7660
7661         * target.c (fileio_fh_t::t): Add comment.
7662         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7663         (target_fileio_close): Handle a NULL target.
7664         (invalidate_fileio_fh): New.
7665         (target_close): Call it.
7666         * remote.c (remote_hostio_send_command): No longer check whether
7667         remote_desc is open.
7668
7669 2018-04-11  Pedro Alves  <palves@redhat.com>
7670
7671         * target.c (fileio_fh_t): Make it a named struct instead of a
7672         typedef.
7673         (fileio_fh_t::is_closed): New method.
7674         (DEF_VEC_O (fileio_fh_t)): Remove.
7675         (fileio_fhandles): Now a std::vector.
7676         (is_closed_fileio_fh): Delete.
7677         (acquire_fileio_fd): Adjust.  Rename parameters.
7678         (release_fileio_fd): Adjust.
7679         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7680         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7681         (target_fileio_close): Adjust.
7682
7683 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7684
7685         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7686         index.
7687
7688 2018-04-10  Pedro Alves  <palves@redhat.com>
7689
7690         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7691         (scoped_finish_thread_state): New class.
7692         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7693         cleanup.
7694         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7695         (fetch_inferior_event, normal_stop): Likewise.
7696         * thread.c (finish_thread_state_cleanup): Delete.
7697
7698 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7699             Pedro Alves  <palves@redhat.com>
7700
7701         * value.c: Include "selftest.h" and "common/array-view.h".
7702         (struct range) <operator ==>: New.
7703         (test_ranges_contain): New.
7704         (check_ranges_vector): New.
7705         (test_insert_into_bit_range_vector): New.
7706         (_initialize_values): Register selftests.
7707         * common/array-view.h (operator==, operator!=): New.
7708
7709 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7710
7711         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7712         an iterator.
7713         * inline-frame.c: Include <algorithm>.
7714         (struct inline_state): Add constructor.
7715         (inline_state_s): Remove.
7716         (DEF_VEC_O(inline_state_s)): Remove.
7717         (inline_states): Change type to std::vector.
7718         (find_inline_frame_state): Adjust to std::vector.
7719         (allocate_inline_frame_state): Remove.
7720         (clear_inline_frame_state): Adjust to std::vector.
7721         (skip_inline_frames): Adjust to std::vector.
7722
7723 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7724
7725         * tracepoint.h (struct trace_state_variable): Add constructor.
7726         <name>: Change type to std::string.
7727         * tracepoint.c (tsv_s): Remove.
7728         (DEF_VEC_O(tsv_s)): Remove.
7729         (tvariables): Change to std::vector.
7730         (create_trace_state_variable): Adjust to std::vector.
7731         (find_trace_state_variable): Likewise.
7732         (find_trace_state_variable_by_number): Likewise.
7733         (delete_trace_state_variable): Likewise.
7734         (trace_variable_command): Adjust to std::string.
7735         (delete_trace_variable_command): Likewise.
7736         (tvariables_info_1): Adjust to std::vector.
7737         (save_trace_state_variables): Likewise.
7738         (start_tracing): Likewise.
7739         (merge_uploaded_trace_state_variables): Adjust to std::vector
7740         and std::string.
7741         * target.h (struct target_ops)
7742         <to_download_trace_state_variable>: Pass reference to
7743         trace_state_variable.
7744         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7745         * target-delegates.c: Re-generate.
7746         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7747         (mi_tsv_deleted): Likewise.
7748         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7749         * remote.c (remote_download_trace_state_variable): Change
7750         pointer to reference and adjust.
7751         * make-target-delegates (parse_argtypes): Handle references.
7752         (write_function_header): Likewise.
7753         (munge_type): Likewise.
7754
7755 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7756
7757         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7758         string_view-selftests.c.
7759         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7760         testsuite.
7761         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7762         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7763         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7764         * unittests/basic_string_view/element_access/char/1.cc:
7765         Likewise.
7766         * unittests/basic_string_view/element_access/char/empty.cc:
7767         Likewise.
7768         * unittests/basic_string_view/element_access/char/front_back.cc:
7769         Likewise.
7770         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7771         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7772         Likewise.
7773         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7774         Likewise.
7775         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7776         Likewise.
7777         * unittests/basic_string_view/operations/compare/char/1.cc:
7778         Likewise.
7779         * unittests/basic_string_view/operations/compare/char/13650.cc:
7780         Likewise.
7781         * unittests/basic_string_view/operations/copy/char/1.cc:
7782         Likewise.
7783         * unittests/basic_string_view/operations/data/char/1.cc:
7784         Likewise.
7785         * unittests/basic_string_view/operations/find/char/1.cc:
7786         Likewise.
7787         * unittests/basic_string_view/operations/find/char/2.cc:
7788         Likewise.
7789         * unittests/basic_string_view/operations/find/char/3.cc:
7790         Likewise.
7791         * unittests/basic_string_view/operations/find/char/4.cc:
7792         Likewise.
7793         * unittests/basic_string_view/operations/rfind/char/1.cc:
7794         Likewise.
7795         * unittests/basic_string_view/operations/rfind/char/2.cc:
7796         Likewise.
7797         * unittests/basic_string_view/operations/rfind/char/3.cc:
7798         Likewise.
7799         * unittests/basic_string_view/operations/substr/char/1.cc:
7800         Likewise.
7801         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7802         * unittests/string_view-selftests.c: New file.
7803
7804 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7805
7806         * unittests/basic_string_view/capacity/1.cc: New file.
7807         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7808         * unittests/basic_string_view/cons/char/1.cc: New file.
7809         * unittests/basic_string_view/cons/char/2.cc: New file.
7810         * unittests/basic_string_view/cons/char/3.cc: New file.
7811         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7812         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7813         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7814         * unittests/basic_string_view/element_access/char/1.cc: New file.
7815         * unittests/basic_string_view/element_access/char/2.cc: New file.
7816         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7817         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7818         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7819         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7820         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7821         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7822         * unittests/basic_string_view/include.cc: New file.
7823         * unittests/basic_string_view/inserters/char/1.cc: New file.
7824         * unittests/basic_string_view/inserters/char/2.cc: New file.
7825         * unittests/basic_string_view/inserters/char/3.cc: New file.
7826         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7827         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7828         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7829         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7830         * unittests/basic_string_view/literals/types.cc: New file.
7831         * unittests/basic_string_view/literals/values.cc: New file.
7832         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7833         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7834         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7835         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7836         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7837         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7838         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7839         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7840         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7841         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7842         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7843         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7844         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7845         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7846         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7847         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7848         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7849         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7850         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7851         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7852         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7853         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7854         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7855         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7856         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7857         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7858         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7859         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7860         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7861         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7862         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7863         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7864         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7865         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7866         * unittests/basic_string_view/operators/char/2.cc: New file.
7867         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7868         * unittests/basic_string_view/range_access/char/1.cc: New file.
7869         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7870         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7871         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7872         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7873         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7874         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7875         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7876         * unittests/basic_string_view/typedefs.cc: New file.
7877         * unittests/basic_string_view/types/1.cc: New file.
7878
7879 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7880
7881         * common/gdb_string_view.h: Remove libstdc++ implementation
7882         details, adjust to gdb reality.
7883         * common/gdb_string_view.tcc: Likewise.
7884         * cli/cli-script.c (struct string_view): Remove.
7885         (user_args) <m_args>: Change element type to gdb::string_view.
7886         (user_args::insert_args): Adjust.
7887
7888 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7889
7890         * common/gdb_string_view.h: New file.
7891         * common/gdb_string_view.tcc: New file.
7892
7893 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7894
7895         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7896         * configure: Re-generate.
7897
7898 2018-04-09  Pedro Alves  <palves@redhat.com>
7899
7900         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7901         (set_target_gdbarch): Call
7902         gdb::observers::architecture_changed.notify instead of
7903         observer_notify_architecture_changed.
7904
7905 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7906
7907         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7908         (do_restore_current_traceframe_cleanup): Remove.
7909         (restore_current_traceframe_cleanup_dtor): Remove.
7910         (make_cleanup_restore_current_traceframe): Remove.
7911         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7912         New.
7913         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7914         * infrun.c (fetch_inferior_event): Use
7915         scoped_restore_current_traceframe.
7916
7917 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7918
7919         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7920         Remove.
7921         <n_allocated_type_units>: Remove.
7922         <all_type_units>: Change to std::vector.
7923         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7924         to std::vector change.
7925         (dwarf2_per_objfile::get_cutu): Likewise.
7926         (dwarf2_per_objfile::get_tu): Likewise.
7927         (create_signatured_type_table_from_index): Likewise.
7928         (create_signatured_type_table_from_debug_names): Likewise.
7929         (dw2_symtab_iter_next): Likewise.
7930         (dw2_print_stats): Likewise.
7931         (dw2_expand_all_symtabs): Likewise.
7932         (dw2_expand_marked_cus): Likewise.
7933         (dw2_debug_names_iterator::next): Likewise.
7934         (dwarf2_initialize_objfile): Likewise.
7935         (add_signatured_type_cu_to_table): Likewise.
7936         (create_all_type_units): Likewise.
7937         (add_type_unit): Likewise.
7938         (struct tu_abbrev_offset): Add constructor.
7939         (build_type_psymtabs_1): Adjust to std::vector change.
7940         (print_tu_stats): Likewise.
7941         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7942         (write_debug_names): Likewise.
7943
7944 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7945
7946         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7947         Make an std::vector.
7948         <n_comp_units>: Remove.
7949         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7950         to std::vector change.
7951         (dwarf2_per_objfile::get_cutu): Likewise.
7952         (dwarf2_per_objfile::get_cu): Likewise.
7953         (create_cus_from_index): Likewise.
7954         (create_addrmap_from_index): Likewise.
7955         (create_addrmap_from_aranges): Likewise.
7956         (dwarf2_read_index): Likewise.
7957         (dw2_find_last_source_symtab): Likewise.
7958         (dw2_map_symtabs_matching_filename): Likewise.
7959         (dw2_symtab_iter_next): Likewise.
7960         (dw2_print_stats): Likewise.
7961         (dw2_expand_all_symtabs): Likewise.
7962         (dw2_expand_symtabs_with_fullname): Likewise.
7963         (dw2_expand_marked_cus): Likewise.
7964         (dw2_map_symbol_filenames): Likewise.
7965         (create_cus_from_debug_names): Likewise.
7966         (dwarf2_read_debug_names): Likewise.
7967         (dw2_debug_names_iterator::next): Likewise.
7968         (dwarf2_initialize_objfile): Likewise.
7969         (set_partial_user): Likewise.
7970         (dwarf2_build_psymtabs_hard): Likewise.
7971         (read_comp_units_from_section): Remove arguments, adjust to
7972         std::vector change.
7973         (create_all_comp_units): Adjust to std::vector and
7974         read_comp_units_from_section changes.
7975         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7976         change.
7977         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7978         (psyms_seen_size): Likewise.
7979         (write_gdbindex): Likewise.
7980         (write_debug_names): Likewise.
7981
7982 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7983
7984         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7985         with dwarf2_per_objfile.
7986         (create_cus_from_index): Likewise.
7987         (create_signatured_type_table_from_index): Likewise.
7988         (dwarf2_read_index): Likewise.
7989         (dwarf2_initialize_objfile): Likewise.
7990         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7991         per_cu rather than get_dwarf2_per_objfile.
7992
7993 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7994
7995         * dwarf2read.h (struct signatured_type): Forward declare.
7996         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7997         New methods.
7998         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7999         (dw2_get_cutu): ...this.
8000         (dwarf2_per_objfile::get_cu): Rename from...
8001         (dw2_get_cu): ...this.
8002         (dwarf2_per_objfile::get_tu): New.
8003         (create_addrmap_from_index): Adjust.
8004         (create_addrmap_from_aranges): Adjust.
8005         (dw2_find_last_source_symtab): Adjust.
8006         (dw2_map_symtabs_matching_filename): Adjust.
8007         (dw2_symtab_iter_next): Adjust.
8008         (dw2_print_stats): Adjust.
8009         (dw2_expand_all_symtabs): Adjust.
8010         (dw2_expand_symtabs_with_fullname): Adjust.
8011         (dw2_expand_marked_cus): Adjust.
8012         (dw_expand_symtabs_matching_file_matcher): Adjust.
8013         (dw2_map_symbol_filenames): Adjust.
8014         (dw2_debug_names_iterator::next): Adjust.
8015         (dwarf2_initialize_objfile): Adjust.
8016         (set_partial_user): Adjust.
8017         (dwarf2_build_psymtabs_hard): Adjust.
8018
8019 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8020
8021         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8022         Remove unused variables.
8023         (dw2_map_symtabs_matching_filename): Likewise.
8024         (dwarf2_record_block_ranges): Likewise.
8025         (dwarf2_read_addr_index): Likewise.
8026         (follow_die_offset): Likewise.
8027
8028 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8029
8030         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8031         to symbol_file_add_main.
8032
8033 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8034
8035         PR mi/22299
8036         * mi/mi-console.c (do_fputc_async_safe): New.
8037         (mi_console_file::write_async_safe): New.
8038         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8039         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8040         New.
8041         * ui-file.c (ui_file::putstrn): Adjust call to
8042         fputstrn_unfiltered.
8043         * utils.c (printchar): Replace do_fputs and do_fprintf
8044         parameters by do_fputc.
8045         (fputstr_filtered): Adjust call to printchar.
8046         (fputstr_unfiltered): Likewise.
8047         (fputstrn_filtered): Likewise.
8048         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8049         printchar.
8050         * utils.h (do_fputc_ftype): New typedef.
8051         (fputstrn_unfiltered): Add do_fputc parameter.
8052
8053 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8054
8055         * regformats/i386/i386-avx.dat: Remove.
8056
8057 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8058
8059         PR gdb/22979
8060         * amd64-tdep.c (amd64_none_init_abi): New function.
8061         (amd64_x32_none_init_abi): New function.
8062         (_initialize_amd64_tdep): Register handlers for x86-64 and
8063         x64_32 with GDB_OSABI_NONE.
8064         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8065         GDB_OSABI_NONE osabi.
8066
8067 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8068
8069         PR gdb/22980
8070         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8071         GDB_OSABI_NONE.
8072         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8073         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8074
8075 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8076
8077         * common/byte-vector.h (char_vector): New type.
8078         * target.h (target_read_alloc): Return
8079         gdb::optional<byte_vector>.
8080         (target_read_stralloc): Return gdb::optional<char_vector>.
8081         (target_get_osdata): Return gdb::optional<char_vector>.
8082         * target.c (target_read_alloc_1): Templatize.  Replacement
8083         manual memory management with vector.
8084         (target_read_alloc): Change return type, adjust.
8085         (target_read_stralloc): Change return type, adjust.
8086         (target_get_osdata): Change return type, adjust.
8087         * auxv.c (struct auxv_info) <length>: Remove.
8088         <data>: Change type to gdb::optional<byte_vector>.
8089         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8090         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8091         (target_auxv_search): Adjust.
8092         (fprint_target_auxv): Adjust.
8093         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8094         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8095         (linux_make_corefile_notes): Adjust.
8096         * osdata.c (get_osdata): Adjust.
8097         * remote.c (remote_get_threads_with_qxfer): Adjust.
8098         (remote_memory_map): Adjust.
8099         (remote_traceframe_info): Adjust.
8100         (btrace_read_config): Adjust.
8101         (remote_read_btrace): Adjust.
8102         (remote_pid_to_exec_file): Adjust.
8103         * solib-aix.c (solib_aix_get_library_list): Adjust.
8104         * solib-dsbt.c (decode_loadmap): Don't free buf.
8105         (dsbt_get_initial_loadmaps): Adjust.
8106         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8107         * solib-target.c (solib_target_current_sos): Adjust.
8108         * tracepoint.c (sdata_make_value): Adjust.
8109         * xml-support.c (xinclude_start_include): Adjust.
8110         (xml_fetch_content_from_file): Adjust.
8111         * xml-support.h (xml_fetch_another): Change return type.
8112         (xml_fetch_content_from_file): Change return type.
8113         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8114         * xml-tdesc.c (file_read_description_xml): Adjust.
8115         (fetch_available_features_from_target): Change return type.
8116         (target_fetch_description_xml): Adjust.
8117         (target_read_description_xml): Adjust.
8118
8119 2018-04-06  Tom Tromey  <tom@tromey.com>
8120
8121         * value.c (~value): Update.
8122         (struct value) <contents>: Now unique_xmalloc_ptr.
8123         (value_contents_bits_eq, allocate_value_contents)
8124         (value_contents_raw, value_contents_all_raw)
8125         (value_contents_for_printing, value_contents_for_printing_const)
8126         (set_value_enclosing_type): Update.
8127
8128 2018-04-06  Tom Tromey  <tom@tromey.com>
8129
8130         * value.c (range_s): Remove typedef, VEC.
8131         (struct range): Add operator<.
8132         (range_lessthan): Remove.
8133         (ranges_contain): Change type.
8134         (~value): Update.
8135         (struct value) <unavailable, optimized_out>: Now std::vector.
8136         (value_entirely_available)
8137         (value_entirely_covered_by_range_vector)
8138         (value_entirely_unavailable, value_entirely_optimized_out):
8139         Update.
8140         (insert_into_bit_range_vector): Change argument type.
8141         (find_first_range_overlap): Likewise.
8142         (struct ranges_and_idx, value_contents_bits_eq)
8143         (require_not_optimized_out, require_available): Update.
8144         (ranges_copy_adjusted): Change argument types.
8145         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8146
8147 2018-04-06  Tom Tromey  <tom@tromey.com>
8148
8149         * value.c (~value): Update.
8150         (struct value) <parent>: Now a value_ref_ptr.
8151         (value_parent, set_value_parent, value_address, value_copy):
8152         Update.
8153
8154 2018-04-06  Tom Tromey  <tom@tromey.com>
8155
8156         * value.c (struct value): Add constructor, destructor, and member
8157         initializers.
8158         (allocate_value_lazy, value_decref): Update.
8159
8160 2018-04-06  Tom Tromey  <tom@tromey.com>
8161
8162         * value.c (struct value) <released, next>: Remove.
8163         (all_values): Now a std::vector.
8164         (allocate_value_lazy): Update.
8165         (value_next): Remove.
8166         (value_mark, value_free_to_mark, release_value)
8167         (value_release_to_mark): Update.
8168
8169 2018-04-06  Tom Tromey  <tom@tromey.com>
8170
8171         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8172         (free_value_chain): Remove.
8173         * value.c (free_value_chain): Remove.
8174         (value_release_to_mark): Return a std::vector.
8175         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
8176         std::vector.
8177         (check_condition): Update.
8178         * eval.c (fetch_subexp_value): Change "val_chain" to a
8179         std::vector.
8180         * breakpoint.c (update_watchpoint): Update.
8181         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
8182
8183 2018-04-06  Tom Tromey  <tom@tromey.com>
8184
8185         * value.h (free_all_values): Remove.
8186         * value.c (free_all_values): Remove.
8187
8188 2018-04-06  Tom Tromey  <tom@tromey.com>
8189
8190         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
8191         (value_history_chain, value_history_count): Remove.
8192         (value_history): New global.
8193         (record_latest_value, access_value_history, show_values)
8194         (preserve_values): Update.
8195
8196 2018-04-06  Tom Tromey  <tom@tromey.com>
8197
8198         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
8199         * varobj.c (varobj_set_display_format, varobj_set_value)
8200         (install_default_visualizer, construct_visualizer)
8201         (install_new_value, ~varobj, varobj_get_value_type)
8202         (my_value_of_variable, varobj_editable_p): Update.
8203         * c-varobj.c (c_describe_child, c_value_of_variable)
8204         (cplus_number_of_children, cplus_describe_child): Update.
8205         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
8206         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
8207         (ada_value_of_variable, ada_value_is_changeable_p): Update.
8208
8209 2018-04-06  Tom Tromey  <tom@tromey.com>
8210
8211         * printcmd.c (last_examine_address): Change type to
8212         value_ref_ptr.
8213         (do_examine, x_command): Update.
8214
8215 2018-04-06  Tom Tromey  <tom@tromey.com>
8216
8217         * value.c (release_value): Update.
8218         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
8219         (struct bpstats) <val>: Now a value_ref_ptr.
8220         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8221         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8222         (~watchpoint, print_it_watchpoint, watch_command_1)
8223         (invalidate_bp_value_on_memory_change): Update.
8224
8225 2018-04-06  Tom Tromey  <tom@tromey.com>
8226
8227         * varobj.c (varobj_clear_saved_item)
8228         (update_dynamic_varobj_children, install_new_value, ~varobj):
8229         Update.
8230         * value.h (value_incref): Move declaration earlier.
8231         (value_decref): Rename from value_free.
8232         (struct value_ref_policy): New.
8233         (value_ref_ptr): New typedef.
8234         (struct value_deleter): Remove.
8235         (gdb_value_up): Remove typedef.
8236         (release_value): Change return type.
8237         (release_value_or_incref): Remove.
8238         * value.c (set_value_parent): Update.
8239         (value_incref): Change return type.
8240         (value_decref): Rename from value_free.
8241         (value_free_to_mark, free_all_values, free_value_chain): Update.
8242         (release_value): Return value_ref_ptr.
8243         (release_value_or_incref): Remove.
8244         (record_latest_value, set_internalvar, clear_internalvar):
8245         Update.
8246         * stack.c (info_frame_command): Don't call value_free.
8247         * python/py-value.c (valpy_dealloc, valpy_new)
8248         (value_to_value_object): Update.
8249         * printcmd.c (do_examine): Update.
8250         * opencl-lang.c (lval_func_free_closure): Update.
8251         * mi/mi-main.c (register_changed_p): Don't call value_free.
8252         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
8253         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
8254         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
8255         value_free.
8256         * guile/scm-value.c (vlscm_free_value_smob)
8257         (vlscm_scm_from_value): Update.
8258         * frame.c (frame_register_unwind, frame_unwind_register_signed)
8259         (frame_unwind_register_unsigned, get_frame_register_bytes)
8260         (put_frame_register_bytes): Don't call value_free.
8261         * findvar.c (address_from_register): Don't call value_free.
8262         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
8263         * dwarf2loc.c (entry_data_value_free_closure)
8264         (value_of_dwarf_reg_entry, free_pieced_value_closure)
8265         (dwarf2_evaluate_loc_desc_full): Update.
8266         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8267         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8268         (~watchpoint, watch_command_1)
8269         (invalidate_bp_value_on_memory_change): Update.
8270         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
8271
8272 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
8273
8274         PR gdb/23022
8275         * warning.m4: Add -Wno-error=deprecated-register.
8276         * configure: Re-generate.
8277
8278 2018-04-05  Tom Tromey  <tom@tromey.com>
8279
8280         * linespec.h: Remove include of "vec.h".
8281
8282 2018-04-05  Tom Tromey  <tom@tromey.com>
8283
8284         * linespec.c (typep): Remove typedef.
8285         (find_methods, find_superclass_methods): Take a std::vector.
8286         (find_method): Use std::vector.
8287
8288 2018-04-05  Tom Tromey  <tom@tromey.com>
8289
8290         * utils.c (compare_strings): Remove.
8291         * utils.h (compare_strings): Remove.
8292         * objc-lang.h (find_imps): Update.
8293         * objc-lang.c (find_methods): Take a std::vector.
8294         (uniquify_strings, find_imps): Likewise.
8295         * linespec.c (find_methods): Take a std::vector.
8296         (decode_objc): Use std::vector.
8297         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
8298         a std::vector.
8299         (find_method, find_function_symbols): Use std::vector.
8300
8301 2018-04-05  Tom Tromey  <tom@tromey.com>
8302
8303         * completer.c (completion_tracker::completion_tracker): Remove
8304         cast.
8305         (completion_tracker::discard_completions): Likewise.
8306         * breakpoint.c (ambiguous_names_p): Remove cast.
8307         * ada-lang.c (_initialize_ada_language): Remove cast.
8308         * utils.h (streq): Update.
8309         (streq_hash): Add new declaration.
8310         * utils.c (streq): Return bool.
8311         (streq_hash): New function.
8312
8313 2018-04-05  Tom Tromey  <tom@tromey.com>
8314
8315         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
8316         Remove a string copy.
8317
8318 2018-04-05  Tom Tromey  <tom@tromey.com>
8319
8320         * linespec.c (filter_results): Use std::vector.
8321         (decode_line_2, decode_line_full): Update.
8322
8323 2018-04-05  Tom Tromey  <tom@tromey.com>
8324
8325         * linespec.c (canonical_to_fullform): Return std::string.
8326         (filter_results): Update.
8327         (struct decode_line_2_item): Add constructor.
8328         <fullform, displayform>: Now std::string.
8329         (decode_line_2_compare_items): Now a std::sort comparator.
8330         (decode_line_2): Update.
8331
8332 2018-04-05  Tom Tromey  <tom@tromey.com>
8333
8334         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
8335         (unexpected_linespec_error): Update.
8336         (linespec_parse_basic, parse_linespec): Update.
8337
8338 2018-04-05  Tom Tromey  <tom@tromey.com>
8339
8340         * linespec.c (linespec_parse_basic): Reindent.
8341
8342 2018-04-05  Tom Tromey  <tom@tromey.com>
8343
8344         * minsyms.h (iterate_over_minimal_symbols): Update.
8345         * minsyms.c (iterate_over_minimal_symbols): Take a
8346         gdb::function_view.
8347         * linespec.c (struct collect_minsyms): Remove.
8348         (compare_msyms): Now a std::sort comparator.
8349         (add_minsym): Add parameters.
8350         (search_minsyms_for_name): Update.  Use std::vector.
8351
8352 2018-04-03  Tom Tromey  <tom@tromey.com>
8353
8354         * mipsread.c (read_alphacoff_dynamic_symtab): Use
8355         gdb::byte_vector.
8356
8357 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8358
8359         * MAINTAINERS (Write After Approval): Add Weimin Pan.
8360
8361 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8362
8363         PR gdb/16959
8364         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
8365         printing static type.
8366
8367 2018-04-01  Tom Tromey  <tom@tromey.com>
8368
8369         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
8370         (rs6000_xfer_shared_libraries): Update.
8371
8372 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
8373
8374         * common/gdb_vecs.h (char_ptr): Remove.
8375         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
8376
8377 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8378
8379         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
8380         with std::vector.
8381         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
8382
8383 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8384
8385         * tracepoint.h (struct uploaded_tp): Initialize fields.
8386         <actions, step_actions, cmd_strings>: Change type to
8387         std::vector<char *>.
8388         * tracepoint.c (get_uploaded_tp): Allocate with new.
8389         (free_uploaded_tps): Free with delete.
8390         (parse_tracepoint_definition): Adjust to std::vector change.
8391         * breakpoint.c (read_uploaded_action): Likewise.
8392         (create_tracepoint_from_upload): Likewise.
8393         * ctf.c (ctf_write_uploaded_tp): Likewise.
8394         (SET_ARRAY_FIELD): Likewise.
8395         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
8396
8397 2018-03-30  Tom Tromey  <tom@tromey.com>
8398
8399         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
8400         std::unique_ptr.
8401         (svr4_keep_data_in_core): Update.
8402         (svr4_read_so_list): Update.
8403
8404 2018-03-30  Tom Tromey  <tom@tromey.com>
8405
8406         * windows-nat.c (handle_output_debug_string, handle_exception):
8407         Update.
8408         * target.h (target_read_string): Update.
8409         * target.c (target_read_string): Change "string" to
8410         unique_xmalloc_ptr.
8411         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
8412         Update.
8413         * solib-frv.c (frv_current_sos): Update.
8414         * solib-dsbt.c (dsbt_current_sos): Update.
8415         * solib-darwin.c (darwin_current_sos): Update.
8416         * linux-thread-db.c (inferior_has_bug): Update.
8417         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
8418         Update.  Remove alloca.
8419         * ada-lang.c (ada_main_name): Update.
8420
8421 2018-03-30  Tom Tromey  <tom@tromey.com>
8422
8423         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
8424         (struct dwo_file_deleter): New.
8425         (dwo_file_up): New typedef.
8426         (open_and_init_dwo_file): Use dwo_file_up.
8427         (free_dwo_file_cleanup): Remove.
8428
8429 2018-03-30  Tom Tromey  <tom@tromey.com>
8430
8431         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
8432         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
8433
8434 2018-03-30  Tom Tromey  <tom@tromey.com>
8435
8436         * dwarf2read.c (class free_cached_comp_units): New class.
8437         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
8438         (free_cached_comp_units): Remove function.
8439
8440 2018-03-30  Tom Tromey  <tom@tromey.com>
8441
8442         * utils.h (make_cleanup_unpush_target): Remove.
8443         * inf-ptrace.c (struct target_unpusher): New.
8444         (target_unpush_up) New typedef.
8445         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
8446         target_unpush_up.
8447         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
8448
8449 2018-03-27  Tom Tromey  <tom@tromey.com>
8450
8451         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
8452
8453 2018-03-27  Pedro Alves  <palves@redhat.com>
8454             Tom Tromey  <tom@tromey.com>
8455
8456         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
8457         destructor.  Now a class.
8458         (gdb_readline_wrapper_cleanup): Remove function.
8459         (gdb_readline_wrapper): Remove cleanups.
8460
8461 2018-03-27  Tom Tromey  <tom@tromey.com>
8462
8463         * typeprint.h (struct type_print_options) <local_typedefs,
8464         global_typedefs>: Remove "struct" keyword.
8465         (class typedef_hash_table): New class.
8466         (recursively_update_typedef_hash, add_template_parameters)
8467         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
8468         (find_typedef_in_hash): Don't declare.
8469         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
8470         (typedef_hash_table::recursively_update): Rename from
8471         recursively_update_typedef_hash.  Now a member.
8472         (typedef_hash_table::add_template_parameters): Rename from
8473         add_template_parameters.  Now a member.
8474         (typedef_hash_table::typedef_hash_table): Now a constructor;
8475         rename from create_typedef_hash.
8476         (typedef_hash_table::~typedef_hash_table): Now a destructor;
8477         rename from free_typedef_hash.
8478         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
8479         (do_free_global_table): Remove.
8480         (typedef_hash_table::typedef_hash_table): New constructor; renamed
8481         from copy_type_recursive.
8482         (create_global_typedef_table): Remove.
8483         (typedef_hash_table::find_global_typedef): Now a member of
8484         typedef_hash_table.
8485         (typedef_hash_table::find_typedef): Rename from
8486         find_typedef_in_hash; now a member.
8487         (whatis_exp): Update.
8488         * extension.h (struct ext_lang_type_printers): Add constructor and
8489         destructor.
8490         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
8491         declare.
8492         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
8493         Now a constructor; rename from start_ext_lang_type_printers.
8494         (ext_lang_type_printers): Now a destructor; rename from
8495         free_ext_lang_type_printers.
8496         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
8497         Update.
8498         (c_type_print_base_struct_union): Update.  Remove cleanups.
8499
8500 2018-03-27  Tom Tromey  <tom@tromey.com>
8501
8502         * dwarf-index-write.c: Include <cmath>.
8503
8504 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8505
8506         * NEWS: Add entry describing new "set|show varsize-limit" command.
8507         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
8508         command.
8509         * printcmd.c (_initialize_printcmd): Add "set var" alias of
8510         "set variable".
8511
8512 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
8513
8514         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
8515         dwarf-index-write.c
8516         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
8517         * dwarf-index-common.c: New file.
8518         * dwarf-index-common.h: New file.
8519         * dwarf-index-write.c: New file.
8520         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
8521         (struct dwarf2_section_info): Move from here.
8522         (dwarf2_section_info_def): Likewise.
8523         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
8524         (offset_type): Likewise.
8525         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
8526         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
8527         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
8528         (byte_swap): Likewise.
8529         (MAYBE_SWAP): Likewise.
8530         (dwarf2_per_cu_ptr): Likewise.
8531         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
8532         (struct tu_stats): Likewise.
8533         (struct dwarf2_per_objfile): Likewise.
8534         (struct dwarf2_per_cu_data): Likewise.
8535         (struct signatured_type): Likewise.
8536         (sig_type_ptr): Likewise.
8537         (DEF_VEC_P (sig_type_ptr)): Likewise.
8538         (INDEX4_SUFFIX): Likewise.
8539         (INDEX5_SUFFIX): Likewise.
8540         (DEBUG_STR_SUFFIX): Likewise.
8541         (dwarf2_read_section): Make non-static.
8542         (mapped_index_string_hash): Move from here.
8543         (dwarf5_djb_hash): Likewise.
8544         (file_write): Likewise.
8545         (class data_buf): Likewise.
8546         (struct symtab_index_entry): Likewise.
8547         (struct mapped_symtab): Likewise.
8548         (find_slot): Likewise.
8549         (hash_expand): Likewise.
8550         (add_index_entry): Likewise.
8551         (uniquify_cu_indices): Likewise.
8552         (class c_str_view): Likewise.
8553         (class c_str_view_hasher): Likewise.
8554         (class vector_hasher): Likewise.
8555         (write_hash_table): Likewise.
8556         (psym_index_map): Likewise.
8557         (struct addrmap_index_data): Likewise.
8558         (add_address_entry): Likewise.
8559         (add_address_entry_worker): Likewise.
8560         (write_address_map): Likewise.
8561         (symbol_kind): Likewise.
8562         (write_psymbols): Likewise.
8563         (struct signatured_type_index_data): Likewise.
8564         (write_one_signatured_type): Likewise.
8565         (recursively_count_psymbols): Likewise.
8566         (recursively_write_psymbols): Likewise.
8567         (class debug_names): Likewise.
8568         (check_dwarf64_offsets): Likewise.
8569         (psyms_seen_size): Likewise.
8570         (write_gdbindex): Likewise.
8571         (write_debug_names): Likewise.
8572         (assert_file_size): Likewise.
8573         (write_psymtabs_to_index): Likewise.
8574         (save_gdb_index_command): Likewise.
8575         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8576         command.
8577         * dwarf2read.h: New file.
8578
8579 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8580
8581         PR gdb/22670
8582         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8583         symbol name if the CU's language stores symbol names in linkage
8584         format.
8585         * language.h (struct language_defn)
8586         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8587         all instances of this struct.
8588
8589 2018-03-26  Tom Tromey  <tom@tromey.com>
8590
8591         * stack.c (backtrace_command_1): Remove verbose code.
8592
8593 2018-03-26  Tom Tromey  <tom@tromey.com>
8594
8595         * python/py-framefilter.c (py_print_type): Don't catch
8596         exceptions.  Return void.
8597         (py_print_value): Likewise.
8598         (py_print_single_arg): Likewise.
8599         (enumerate_args): Don't catch exceptions.
8600         (py_print_args): Likewise.
8601         (py_print_frame): Likewise.
8602         (gdbpy_apply_frame_filter): Catch exceptions here.
8603
8604 2018-03-26  Tom Tromey  <tom@tromey.com>
8605
8606         * stack.c (_initialize_stack): Remove trailing newlines from help
8607         text.  Add "Usage" line to "backtrace" help.
8608
8609 2018-03-26  Tom Tromey  <tom@tromey.com>
8610
8611         PR python/16486:
8612         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8613
8614 2018-03-26  Tom Tromey  <tom@tromey.com>
8615
8616         * python/py-framefilter.c (py_print_single_arg): Return
8617         EXT_LANG_BT_ERROR from catch.
8618
8619 2018-03-26  Tom Tromey  <tom@tromey.com>
8620
8621         PR backtrace/15584:
8622         * stack.c (backtrace_command_1): Move some code into no-filters
8623         "if".
8624
8625 2018-03-26  Tom Tromey  <tom@tromey.com>
8626
8627         * python/py-framefilter.c (throw_quit_or_print_exception): New
8628         function.
8629         (gdbpy_apply_frame_filter): Use it.
8630
8631 2018-03-26  Tom Tromey  <tom@tromey.com>
8632
8633         PR cli/17716:
8634         * python/py-framefilter.c (py_print_type, py_print_value)
8635         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8636         RETURN_MASK_ERROR.
8637
8638 2018-03-26  Tom Tromey  <tom@tromey.com>
8639
8640         * python/py-framefilter.c (enumerate_args): Use
8641         gdb::unique_xmalloc_ptr.
8642
8643 2018-03-26  Tom Tromey  <tom@tromey.com>
8644
8645         * python/py-framefilter.c (py_print_frame): Return
8646         EXT_LANG_BT_OK.
8647         (gdbpy_apply_frame_filter): Update comment.
8648         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8649         Remove.
8650         <EXT_LANG_BT_NO_FILTERS>: Change value.
8651
8652 2018-03-26  Tom Tromey  <tom@tromey.com>
8653
8654         PR backtrace/15582:
8655         * stack.c (backtrace_command): Parse "hide" argument.
8656         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8657         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8658         constant.
8659
8660 2018-03-26  Tom Tromey  <tom@tromey.com>
8661
8662         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8663         add "flags".
8664         (backtrace_command): Remove "fulltrace", add "flags".
8665
8666 2018-03-26  Tom Tromey  <tom@tromey.com>
8667
8668         * stack.c (backtrace_command): Rewrite command line parsing.
8669
8670 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8671
8672         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8673
8674 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8675
8676         * filename-seen-cache.h: Add include guard.
8677
8678 2018-03-26  Keith Seitz  <keiths@redhat.com>
8679
8680         * symfile.c (place_section): Remove "struct" from section_addr_info
8681         in comment.
8682         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8683         "struct" keyword from section_addr_info.
8684
8685 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8686
8687         * regformats/regdef.h (reg): Add constructors.
8688
8689 2018-03-25  Pedro Alves  <palves@redhat.com>
8690
8691         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8692         if then/else bodies in var_func_name extraction.
8693
8694 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8695
8696         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8697         lookup_minimal_symbol() to find symbol entry.
8698         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8699
8700 2018-03-23  Keith Seitz  <keiths@redhat.com>
8701
8702         PR c++/22968
8703         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8704         nested type definitions for C++, too.
8705
8706 2018-03-23  Tom Tromey  <tom@tromey.com>
8707
8708         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8709         a typedef.
8710         (macho_register_oso): Remove.
8711         (macho_symtab_read): Take a std::vector.
8712         (oso_el_compare_name): Now a std::sort comparator.
8713         (macho_symfile_read_all_oso): Take a std::vector.
8714         (macho_symfile_read): Use std::vector.  Remove cleanups.
8715
8716 2018-03-22  Tom Tromey  <tom@tromey.com>
8717
8718         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8719         (record_full_goto_bookmark): Use std::string.
8720
8721 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8722
8723         PR tdep/18295
8724         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8725         a single mask.
8726
8727 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8728
8729         * rs6000-tdep.c (store_insn_p): New function.
8730         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8731         and cr_reg to their unshifted values. Use store_insn_p to
8732         match LR saves using either R1 or fdata->alloca_reg. Use
8733         store_insn_p to match CR saves. Set alloca_reg_offset
8734         when alloca_reg and framep are set. Remove lr_reg shift
8735         when assigning to fdata->lr_register.
8736
8737 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8738
8739         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8740         command line args instead of emitting a warning.
8741
8742 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8743
8744         * tracepoint.h (struct static_tracepoint_marker): Initialize
8745         fields, define default constructor, move constructor and move
8746         assignment, disable the rest.
8747         <str_id, extra>: Make std::string.
8748         (release_static_tracepoint_marker): Remove.
8749         (free_current_marker): Remove.
8750         * tracepoint.c (free_current_marker): Remove.
8751         (parse_static_tracepoint_marker_definition): Adjust to
8752         std::string, use new hex2str overload.
8753         (release_static_tracepoint_marker): Remove.
8754         (print_one_static_tracepoint_marker): Get marker by reference
8755         and adjust to std::string.
8756         (info_static_tracepoint_markers_command): Adjust to std::vector
8757         changes
8758         * target.h (static_tracepoint_marker_p): Remove typedef.
8759         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8760         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8761         bool.
8762         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8763         * target-debug.h
8764         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8765         (target_debug_print_std_vector_static_tracepoint_marker): New.
8766         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8767         to...
8768         (target_debug_print_static_tracepoint_marker_p): ... this.
8769         * target-delegates.c: Re-generate.
8770         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8771         Make std::string.
8772         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8773         (decode_static_tracepoint_spec): Adjust to std::vector.
8774         (tracepoint_print_one_detail): Adjust to std::string.
8775         (strace_marker_decode_location): Adjust to std::string.
8776         (update_static_tracepoint): Adjust to std::string, remove call
8777         to release_static_tracepoint_marker.
8778         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8779         Adjust to std::vector.
8780         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8781         (remote_static_tracepoint_markers_by_strid): Adjust to
8782         std::vector.
8783         * common/rsp-low.h (hex2str): New overload with explicit count
8784         of bytes.
8785         * common/rsp-low.c (hex2str): New overload with explicit count
8786         of bytes.
8787         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8788         (_initialize_rsp_low_selftests): Add test_hex2str test.
8789         * unittests/tracepoint-selftests.c
8790         (test_parse_static_tracepoint_marker_definition): Adjust to
8791         std::string.
8792
8793 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8794
8795         * tracepoint.c (parse_static_tracepoint_marker_definition):
8796         Consider case where the definition is followed by more
8797         definitions.
8798         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8799         tracepoint-selftests.c.
8800         * unittests/tracepoint-selftests.c: New.
8801
8802 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8803
8804         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8805         Carvalho.
8806
8807 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8808
8809         * symtab.c (find_pc_sect_line): fixed indentation.
8810
8811 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8812
8813         * symtab.c (find_pc_sect_line): now uses binary search.
8814
8815 2018-03-19  Tom Tromey  <tom@tromey.com>
8816
8817         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8818         "IDENT" production.
8819
8820 2018-03-19  Pedro Alves  <palves@redhat.com>
8821             Tom Tromey  <tom@tromey.com>
8822
8823         * unittests/observable-selftests.c: New file.
8824         * common/observable.h: New file.
8825         * observable.h: New file.
8826         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8827         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8828         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8829         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8830         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8831         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8832         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8833         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8834         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8835         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8836         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8837         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8838         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8839         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8840         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8841         tui/tui-interp.c, valops.c: Update all users.
8842         * tui/tui-hooks.c (tui_bp_created_observer)
8843         (tui_bp_deleted_observer, tui_bp_modified_observer)
8844         (tui_inferior_exit_observer, tui_before_prompt_observer)
8845         (tui_normal_stop_observer, tui_register_changed_observer):
8846         Remove.
8847         (tui_observers_token): New global.
8848         (attach_or_detach, tui_attach_detach_observers): New functions.
8849         (tui_install_hooks, tui_remove_hooks): Use
8850         tui_attach_detach_observers.
8851         * record-btrace.c (record_btrace_thread_observer): Remove.
8852         (record_btrace_thread_observer_token): New global.
8853         * observer.sh: Remove.
8854         * observer.c: Rename to observable.c.
8855         * observable.c (namespace gdb_observers): Define new objects.
8856         (observer_debug): Move into gdb_observers namespace.
8857         (struct observer, struct observer_list, xalloc_observer_list_node)
8858         (xfree_observer_list_node, generic_observer_attach)
8859         (generic_observer_detach, generic_observer_notify): Remove.
8860         (_initialize_observer): Update.
8861         Don't include observer.inc.
8862         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8863         (clean mostlyclean): Likewise.
8864         (observer.h, observer.inc): Remove targets.
8865         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8866         (COMMON_SFILES): Use observable.c, not observer.c.
8867         * .gitignore: Remove observer.h.
8868
8869 2018-03-18  Tom Tromey  <tom@tromey.com>
8870
8871         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8872         gdb::def_vector.
8873         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8874
8875 2018-03-17  Tom Tromey  <tom@tromey.com>
8876
8877         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8878
8879 2018-03-17  Tom Tromey  <tom@tromey.com>
8880
8881         * target.c (class scoped_target_fd): New.
8882         (target_fileio_close_cleanup): Remove.
8883         (target_fileio_read_alloc_1): Use scoped_target_fd.
8884
8885 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8886
8887         * silent-rules.mk: New.
8888         * Makefile.in: Include silent-rules.mk
8889         (srcdir, VPATH, top_srcdir): Move up.
8890         (COMPILE): Add ECHO_CXX.
8891         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8892         (init.c): Add ECHO_INIT_C.
8893         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8894         (version.c): Add ECHO_GEN.
8895         (printcmd.o): Add ECHO_CXX.
8896         (target-float.o): Add ECHO_CXX.
8897         (ada-exp.o): Add ECHO_CXX.
8898         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8899         (insight$(EXEEXT)): Add ECHO_CXXLD.
8900         * gnulib/configure.ac: Add AM_SILENT_RULES.
8901         * gnulib/aclocal.m4: Re-generate.
8902         * gnulib/configure: Re-generate.
8903         * gnulib/import/Makefile.in: Re-generate.
8904
8905 2018-03-16  Tom Tromey  <tom@tromey.com>
8906
8907         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8908         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8909         * utils.c (do_free_section_addr_info)
8910         (make_cleanup_free_section_addr_info): Remove.
8911         * symfile.h (struct other_sections): Add constructor.
8912         (struct section_addr_info): Remove.
8913         (section_addr_info): New typedef.
8914         (struct sym_fns) <sym_offsets>: Change type of parameter.
8915         (build_section_addr_info_from_objfile)
8916         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8917         (default_symfile_offsets, symbol_file_add)
8918         (symbol_file_add_from_bfd)
8919         (build_section_addr_info_from_section_table): Update.
8920         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8921         * symfile.c (alloc_section_addr_info): Remove.
8922         (build_section_addr_info_from_section_table): Change return type.
8923         Update.
8924         (build_section_addr_info_from_bfd)
8925         (build_section_addr_info_from_objfile): Likewise.
8926         (free_section_addr_info): Remove.
8927         (relative_addr_info_to_section_offsets): Change type of "addrs".
8928         (addrs_section_compar): Now a std::sort comparator.
8929         (addrs_section_sort): Change return type.
8930         (addr_info_make_relative): Change type of "addrs".  Update.
8931         (default_symfile_offsets, syms_from_objfile_1)
8932         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8933         (symbol_file_add_separate): Update.
8934         (symbol_file_add): Change type of "addrs".  Update.
8935         (add_symbol_file_command): Update.  Remove cleanups.
8936         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8937         cleanups.
8938         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8939         * solib.c (solib_read_symbols): Update.
8940         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8941         * machoread.c (macho_symfile_offsets): Update.
8942         * jit.c (jit_bfd_try_read_symtab): Update.
8943
8944 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8945
8946         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8947         unittests/utils-selftests.c.
8948         * unittests/utils-selftests.c: New file.
8949
8950 2018-03-14  Tom Tromey  <tom@tromey.com>
8951
8952         PR cli/14977:
8953         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8954         for NULL.
8955
8956 2018-03-14  Tom Tromey  <tom@tromey.com>
8957
8958         PR cli/19918:
8959         * printcmd.c (printf_pointer): Allow "-" in format.
8960
8961 2018-03-14  Tom Tromey  <tom@tromey.com>
8962
8963         * printcmd.c (_initialize_printcmd): Add usage to printf.
8964
8965 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8966
8967         * MAINTAINERS: Update my email address.
8968
8969 2018-03-13  Tom Tromey  <tom@tromey.com>
8970
8971         * machoread.c (macho_check_dsym): Change filenamep to a
8972         std::string*.
8973         (macho_symfile_read): Update.
8974         * symfile.c (load_command): Use std::string.
8975
8976 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8977
8978         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8979         to error message string.
8980         (riscv_register_name): Use xsnprintf instead of sprintf.
8981         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8982         internal_error.
8983         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8984         error.
8985         (riscv_push_dummy_call): Likewise.
8986
8987 2018-03-12  Tom Tromey  <tom@tromey.com>
8988
8989         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8990         Use gdb::byte_vector.
8991         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8992
8993 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8994
8995         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8996         parameter type to readable_regcache.
8997         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8998         the declaration.
8999
9000 2018-03-11  Tom Tromey  <tom@tromey.com>
9001
9002         * dwarf2read.c (struct nextfield): Add initializers.
9003         (struct nextfnfield): Remove.
9004         (struct fnfieldlist): Add initializers.  Remove "length" and
9005         "head", use std::vector.
9006         (struct decl_field_list): Remove.
9007         (struct field_info): Add initializers.
9008         <fields, baseclasses>: Now std::vector.
9009         <nbaseclasses, nfnfields, typedef_field_list_count,
9010         nested_types_list_count>: Remove.
9011         (dwarf2_add_field, dwarf2_add_type_defn)
9012         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9013         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9014         (process_structure_scope): Update.
9015
9016 2018-03-11  Tom Tromey  <tom@tromey.com>
9017
9018         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9019         for use by std::sort.
9020         (build_type_psymtabs_1): Use std::vector.
9021
9022 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9023
9024         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9025         and LIBMPFR in the printed configuration.
9026
9027 2018-03-08  Tom Tromey  <tom@tromey.com>
9028
9029         * source.c (get_filename_and_charpos): Use scoped_fd.
9030         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9031         (procfs_pidlist): Likewise.
9032         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9033         (iterate_over_mappings): Likewise.
9034
9035 2018-03-08  Tom Tromey  <tom@tromey.com>
9036
9037         * infcall.c (struct call_return_meta_info)
9038         <stack_temporaries_enabled>: Remove.
9039         (get_call_return_value, call_function_by_hand_dummy): Update.
9040         * thread.c (disable_thread_stack_temporaries): Remove.
9041         (enable_thread_stack_temporaries): Remove.
9042         (thread_stack_temporaries_enabled_p): Return bool.
9043         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9044         (get_last_thread_stack_temporary): Update.
9045         * eval.c (evaluate_subexp): Update.
9046         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9047         class, not a function.
9048         (value_ptr, value_vec): Remove typedefs.
9049         (class thread_info) <stack_temporaries_enabled>: Now bool.
9050         <stack_temporaries>: Now a std::vector.
9051         (thread_stack_temporaries_enabled_p)
9052         (value_in_thread_stack_temporaries): Return bool.
9053
9054 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9055
9056         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9057         (getpkt_or_notif_sane_1): Likewise.
9058
9059 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9060
9061         * build-id.c (build_id_to_debug_bfd): Use std::string.
9062
9063 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9064
9065         * build-id.c (find_separate_debug_file_by_buildid): Return
9066         std::string.
9067         * build-id.h (find_separate_debug_file_by_buildid): Return
9068         std::string.
9069         * coffread.c (coff_symfile_read): Adjust to std::string.
9070         * elfread.c (elf_symfile_read): Adjust to std::string.
9071         * symfile.c (separate_debug_file_exists): Change parameter to
9072         std::string.
9073         (find_separate_debug_file): Return std::string.
9074         (find_separate_debug_file_by_debuglink): Return std::string.
9075         * symfile.h (find_separate_debug_file_by_debuglink): Return
9076         std::string.
9077
9078 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9079
9080         * common/xml-utils.c (xml_escape_text): Move code to...
9081         (xml_escape_text_append): ... this new function.
9082         * common/xml-utils.h (xml_escape_text_append): New declaration.
9083         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9084         New function.
9085         (_initialize_xml_utils): register test_xml_escape_text_append as
9086         a selftest.
9087
9088 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9089
9090         * defs.h: Remove MAX_REGISTER_SIZE.
9091         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9092         asserts.
9093         * python/py-unwind.c (pyuw_sniffer): Likewise.
9094
9095 2018-03-07  Tom Tromey  <tom@tromey.com>
9096
9097         * linux-tdep.c (linux_info_proc): Update.
9098         * target.h (struct target_ops) <to_fileio_readlink>: Return
9099         optional<string>.
9100         (target_fileio_readlink): Return optional<string>.
9101         * remote.c (remote_hostio_readlink): Return optional<string>.
9102         * inf-child.c (inf_child_fileio_readlink): Return
9103         optional<string>.
9104         * target.c (target_fileio_readlink): Return optional<string>.
9105
9106 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9107
9108         * regcache.c (cooked_read_test): Add riscv to the list of
9109         architectures that have a save_reggroup.
9110
9111 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9112
9113         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9114         value is not a dynamic class object.
9115
9116 2018-03-06  Tom Tromey  <tom@tromey.com>
9117
9118         * rust-exp.y: Formatting fixes.
9119
9120 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9121
9122         * riscv-tdep.c (riscv_register_name): Remove target description
9123         support.
9124         (riscv_gdbarch_init): Remove target description check.
9125
9126 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9127
9128         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9129         comment.
9130         * riscv-tdep.h: Likewise.
9131
9132 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9133
9134         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9135         (riscv_pseudo_register_write): Delete.
9136         (riscv_gdbarch_init): Remove all use of pseudo registers.
9137
9138 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9139
9140         * record-btrace.c (btrace_print_lines): Replace cleanup
9141         parameter with RAII equivalents.
9142         (btrace_insn_history): Replace cleanup with RAII equivalents.
9143         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9144         make_cleanup_ui_out_tuple_begin_end): Remove.
9145         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9146         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9147         make_cleanup_ui_out_list_begin_end): Remove.
9148
9149 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9150
9151         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9152         parameter types to std::vector.  Use bool.
9153         (record_btrace_wait): Replace VEC(tp_t) with
9154         std::vector<thread_info *>.
9155         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9156
9157 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9158
9159         * record-btrace.c (record_btrace_disable_callback): Remove.
9160         (struct scoped_btrace_disable): New.
9161         (record_btrace_open): Use scoped_btrace_disable.
9162
9163 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9164
9165         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9166         reading values from registers.
9167
9168 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9169
9170         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9171         where appropriate.
9172
9173 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9174
9175         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
9176         change parameter type.  Use GDB's print functions, and use
9177         core_addr_to_string where appropriate.
9178         (riscv_push_dummy_call): Use core_addr_to_string where
9179         appropriate, update call to riscv_print_arg_location, and reindent
9180         a few lines.
9181         (riscv_return_value): Update call to riscv_print_arg_location.
9182
9183 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9184             Tim Newsome <tim@sifive.com>
9185             Albert Ou <a0u@eecs.berkeley.edu>
9186             Darius Rad <darius@bluespec.com>
9187
9188         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
9189         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
9190         (ALLDEPFILES): Add riscv-tdep.c
9191         * configure.tgt: Add riscv support.
9192         * riscv-tdep.c: New file.
9193         * riscv-tdep.h: New file.
9194         * NEWS: Mention new target.
9195         * MAINTAINERS: Add entry for riscv.
9196
9197 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9198
9199         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
9200         fields within aggregates.
9201
9202 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
9203
9204         * record-btrace.c (btrace_print_lines): Change type of flags to
9205         gdb_disassembly_flags.
9206
9207 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9208
9209         * fbsd-nat.c: Include "inf-ptrace.h".
9210         (USE_SIGTRAP_SIGINFO): Conditionally define.
9211         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
9212         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
9213         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
9214         function.
9215         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
9216         Likewise.
9217         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
9218         Likewise.
9219         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
9220         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
9221         "supports_stopped_by_hw_breakpoint" target methods.
9222
9223 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9224
9225         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
9226         * fbsd-nat.c (debug_fbsd_nat): New variable.
9227         (show_fbsd_nat_debug): New function.
9228         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
9229         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
9230
9231 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9232
9233         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
9234         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
9235         prototype.
9236         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
9237         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
9238         method.
9239
9240 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9241
9242         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
9243         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
9244
9245 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9246
9247         * charset.c (struct charset_vector): New.
9248         (charsets): Change type to charset_vector.
9249         (find_charset_names): Adjust.
9250         (add_one): Adjust.
9251         (_initialize_charset): Adjust.
9252
9253 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9254
9255         * progspace.h (struct program_space) <deleted_solibs>: Change
9256         type to std::vector<std::string>.
9257         * progspace.c (clear_program_space_solib_cache): Adjust.
9258         * breakpoint.c (print_solib_event): Adjust.
9259         (check_status_catch_solib): Adjust.
9260         * solib.c (update_solib_list): Adjust.
9261         * ui-out.h (class ui_out) <field_string>: New overload.
9262         * ui-out.c (ui_out::field_string): New overload.
9263
9264 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9265
9266         * progspace.h (struct program_space): Add constructor and
9267         destructor, initialize fields.
9268         (add_program_space): Remove.
9269         * progspace.c (add_program_space): Rename to...
9270         (program_space::program_space): ... this.
9271         (release_program_space): Rename to...
9272         (program_space::~program_space): ... this.
9273         (delete_program_space): Use delete to delete program_space.
9274         (initialize_progspace): Use new to allocate program_space.
9275         * inferior.c (add_inferior_with_spaces): Likewise.
9276         (clone_inferior_command): Likewise.
9277         * infrun.c (follow_fork_inferior): Likewise.
9278         (handle_vfork_child_exec_or_exit): Likewise.
9279
9280 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9281
9282         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
9283         (delim_string_to_char_ptr_vec): Return std::vector of
9284         gdb::unique_xmalloc_ptr.
9285         (dirnames_to_char_ptr_vec_append): Take std::vector of
9286         gdb::unique_xmalloc_ptr.
9287         (dirnames_to_char_ptr_vec): Return std::vector of
9288         gdb::unique_xmalloc_ptr.
9289         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
9290         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
9291         (delim_string_to_char_ptr_vec): Return an std::vector of
9292         gdb::unique_xmalloc_ptr, adjust the code.
9293         (dirnames_to_char_ptr_vec_append): Take an std::vector of
9294         gdb::unique_xmalloc_ptr, adjust the code.
9295         (dirnames_to_char_ptr_vec): Return an std::vector of
9296         gdb::unique_xmalloc_ptr, adjust the code.
9297         * auto-load.c (auto_load_safe_path_vec): Change type to
9298         std::vector of gdb::unique_xmalloc_ptr.
9299         (auto_load_expand_dir_vars): Return an std::vector of
9300         gdb::unique_xmalloc_ptr, adjust the code.
9301         (auto_load_safe_path_vec_update): Adjust.
9302         (filename_is_in_auto_load_safe_path_vec): Adjust.
9303         (auto_load_objfile_script_1): Adjust.
9304         * build-id.c (build_id_to_debug_bfd): Adjust.
9305         * linux-thread-db.c (thread_db_load_search): Adjust.
9306         * source.c (add_path): Adjust.
9307         (openp): Adjust.
9308         * symfile.c (find_separate_debug_file): Adjust.
9309         * utils.c (do_free_char_ptr_vec): Remove.
9310         (make_cleanup_free_char_ptr_vec): Remove.
9311
9312 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
9313
9314         PR gdb/22907
9315         * common/pathstuff.c: Conditionally include "<windows.h>".
9316
9317 2018-03-01  Georg Sauthoff  <mail@georg.so>
9318
9319         PR gdb/22888
9320         * gcore.in: Quote variables and switch interpreter to bash.
9321
9322 2018-03-01  Tom Tromey  <tom@tromey.com>
9323
9324         * dwarf2read.c (alloc_discriminant_info): Fix default_index
9325         assertion.  Add assertion for discriminant_index.
9326         (quirk_rust_enum): Use correct base type name in univariant case.
9327
9328 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
9329
9330         * record.c (get_call_history_modifiers): Return a
9331         record_print_flags.
9332         (cmd_record_call_history): Adjust.
9333         * record-btrace.c (record_btrace_call_history): Adjust.
9334         (record_btrace_call_history_range): Adjust.
9335         (record_btrace_call_history_from): Adjust.
9336         * target-debug.h (target_debug_print_record_print_flags): New.
9337         * target-delegates.c: Re-generate.
9338         * target.c (target_call_history): Change flags type.
9339         (target_call_history_from): Likewise.
9340         (target_call_history_range): Likewise.
9341         * target.h (struct target_ops) <target_call_history>: Likewise.
9342         (target_call_history_from): Likewise.
9343         (target_call_history_range): Likewise.
9344
9345 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9346             Simon Marchi  <simon.marchi@polymtl.ca>
9347
9348         * common/common-utils.c: Include "sys/stat.h".
9349         (is_regular_file): Move here from "source.c"; change return
9350         type to "bool".
9351         * common/common-utils.h (is_regular_file): New prototype.
9352         * common/pathstuff.c (contains_dir_separator): New function.
9353         * common/pathstuff.h (contains_dir_separator): New prototype.
9354         * source.c: Don't include "sys/stat.h".
9355         (is_regular_file): Move to "common/common-utils.c".
9356
9357 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9358
9359         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
9360         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
9361         * auto-load.c: Include "common/pathstuff.h".
9362         * common/common-def.h (current_directory): Move here.
9363         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
9364         function.
9365         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
9366         prototype.
9367         * common/pathstuff.c: New file.
9368         * common/pathstuff.h: New file.
9369         * compile/compile.c: Include "common/pathstuff.h".
9370         * defs.h (current_directory): Move to "common/common-defs.h".
9371         * dwarf2read.c: Include "common/pathstuff.h".
9372         * exec.c: Likewise.
9373         * guile/scm-safe-call.c: Likewise.
9374         * linux-thread-db.c: Likewise.
9375         * main.c: Likewise.
9376         * nto-tdep.c: Likewise.
9377         * objfiles.c: Likewise.
9378         * source.c: Likewise.
9379         * symtab.c: Likewise.
9380         * utils.c: Include "common/pathstuff.h".
9381         (gdb_realpath): Move to "common/pathstuff.c".
9382         (gdb_realpath_keepfile): Likewise.
9383         (gdb_abspath): Likewise.
9384         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
9385         (gdb_realpath_keepfile): Likewise.
9386         (gdb_abspath): Likewise.
9387
9388 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
9389
9390         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
9391         wildcard process pid for super_resume for kernels with a
9392         specific bug.
9393
9394 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
9395
9396         * compile/compile.c (get_args): Add additional comments
9397         explaining function.
9398
9399 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
9400             Tom Tromey  <tom@tromey.com>
9401
9402         * target.h (memory_write_request_s): Remove typedef.  Don't define
9403         VEC.
9404         (target_write_memory_blocks): Change argument to std::vector.
9405         (struct memory_write_request): Add constructor.
9406         * target-memory.c (compare_block_starting_address): Return bool.
9407         Change argument types.
9408         (claim_memory): Change arguments to use std::vector.
9409         (split_regular_and_flash_blocks, blocks_to_erase)
9410         (compute_garbled_blocks): Likewise.
9411         (cleanup_request_data, cleanup_write_requests_vector): Remove.
9412         (target_write_memory_blocks): Change argument to std::vector.
9413         * symfile.c (struct load_section_data): Add constructor and
9414         destructor.  Use std::vector for "requests".
9415         (struct load_progress_data): Add initializers.
9416         (load_section_callback): Update.  Use "new".
9417         (clear_memory_write_data): Remove.
9418         (generic_load): Update.
9419
9420 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
9421
9422         * arch/aarch64.h: Use common/tdesc.h.
9423
9424 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9425
9426         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
9427         architecture with a 64-bit ABI.
9428
9429 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9430
9431         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
9432         ahead of target description loading.
9433
9434 2018-02-26  Tom Tromey  <tom@tromey.com>
9435
9436         * stack.c (backtrace_command_1): Update.
9437         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
9438         of "flags".
9439         * python/py-framefilter.c (py_print_frame)
9440         (gdbpy_apply_frame_filter): Change type of "flags".
9441         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
9442         of "flags".
9443         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
9444         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
9445         * extension.h (enum frame_filter_flag): Rename from
9446         frame_filter_flags.
9447         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
9448         (apply_ext_lang_frame_filter): Change type of "flags".
9449         * extension.c (apply_ext_lang_frame_filter): Change type of
9450         "flags".
9451         * extension-priv.h (struct extension_language_ops)
9452         <apply_frame_filter>: Change type of "flags".
9453
9454 2018-02-26  Tom Tromey  <tom@tromey.com>
9455
9456         PR python/16497:
9457         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
9458         off-by-one in py_end computation.
9459         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
9460         PRINT_MORE_FRAMES.
9461         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
9462         constant.
9463
9464 2018-02-26  Tom Tromey  <tom@tromey.com>
9465
9466         * dwarf2read.c (struct variant_field): New.
9467         (struct nextfield) <variant>: New field.
9468         (dwarf2_add_field): Handle DW_TAG_variant_part.
9469         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
9470         discriminated union.
9471         (read_structure_type): Handle DW_TAG_variant_part.
9472         (handle_struct_member_die): New function, extracted from
9473         process_structure_scope.  Handle DW_TAG_variant.
9474         (process_structure_scope): Handle discriminated unions.  Call
9475         handle_struct_member_die.
9476
9477 2018-02-26  Tom Tromey  <tom@tromey.com>
9478
9479         * rust-lang.h (rust_last_path_segment): Declare.
9480         * rust-lang.c (rust_last_path_segment): Now public.  Change
9481         contract.
9482         (struct disr_info): Remove.
9483         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
9484         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
9485         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
9486         (rust_enum_p, rust_enum_variant): New function.
9487         (rust_underscore_fields): Remove "offset" parameter.
9488         (rust_print_enum): New function.
9489         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
9490         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
9491         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
9492         enums.
9493         (rust_internal_print_type): New function, from rust_print_type.
9494         Remove enum code.
9495         (rust_print_type): Call rust_internal_print_type.
9496         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
9497         Update enum handling.
9498         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
9499         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
9500         (rust_union_quirks): New functions.
9501         (process_full_comp_unit, process_full_type_unit): Call
9502         rust_union_quirks.
9503         (process_structure_scope): Update rust_unions if necessary.
9504
9505 2018-02-26  Tom Tromey  <tom@tromey.com>
9506
9507         * value.h (value_union_variant): Declare.
9508         * valops.c (value_union_variant): New function.
9509         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
9510         (struct discriminant_info): New.
9511         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
9512         enumerator.
9513         (struct main_type) <flag_discriminated_union>: New field.
9514
9515 2018-02-26  Tom Tromey  <tom@tromey.com>
9516
9517         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9518         unittests/unpack-selftests.c.
9519         * unittests/unpack-selftests.c: New file.
9520         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
9521
9522 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9523
9524         * dwarf2read.c (struct partial_die_info) <read>: New method.
9525         (read_partial_die): Remove the declaration.
9526         (load_partial_dies): Update.
9527         (partial_die_info::partial_die_info):
9528         (read_partial_die): Change it to partial_die_info::read.
9529
9530 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9531
9532         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
9533         (fixup_partial_die): Remove declaration.
9534         (scan_partial_symbols): Update.
9535         (partial_die_parent_scope): Likewise.
9536         (partial_die_full_name): Likewise.
9537         (fixup_partial_die): Change it to partial_die_info::fixup.
9538
9539 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9540
9541         * dwarf2read.c (read_partial_die): Update the declaration.
9542         (load_partial_dies): Caller update.
9543         (read_partial_die): Remove one argument abbrev_len.
9544
9545 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9546
9547         * dwarf2read.c (struct partial_die_info): Add ctor, delete
9548         assignment operator.
9549         (load_partial_dies): Use ctor and copy ctor.
9550         (read_partial_die): Update.
9551         (dwarf2_cu::find_partial_die): Use ctor.
9552
9553 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9554
9555         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
9556         (find_partial_die_in_comp_unit): Change it to
9557         dwarf2_cu::find_partial_die.
9558         (find_partial_die): Update.
9559
9560 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9561
9562         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
9563         is NULL.
9564
9565 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9566
9567         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
9568
9569 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
9570
9571         * arch/amd64.h: Use common/tdesc.h.
9572         * arch/i386.c: Likewise.
9573         * arch/i386.h: Likewise.
9574         * arch/tic6x.c: Likewise.
9575         * arch/tdesc.h: Move file from here...
9576         * common/tdesc.h: ...to here.
9577         * features/aarch64-core.c: Regenerate.
9578         * features/aarch64-fpu.c: Regenerate.
9579         * features/i386/32bit-avx.c: Regenerate.
9580         * features/i386/32bit-avx512.c: Regenerate.
9581         * features/i386/32bit-core.c: Regenerate.
9582         * features/i386/32bit-linux.c: Regenerate.
9583         * features/i386/32bit-mpx.c: Regenerate.
9584         * features/i386/32bit-pkeys.c: Regenerate.
9585         * features/i386/32bit-sse.c: Regenerate.
9586         * features/i386/64bit-avx.c: Regenerate.
9587         * features/i386/64bit-avx512.c: Regenerate.
9588         * features/i386/64bit-core.c: Regenerate.
9589         * features/i386/64bit-linux.c: Regenerate.
9590         * features/i386/64bit-mpx.c: Regenerate.
9591         * features/i386/64bit-pkeys.c: Regenerate.
9592         * features/i386/64bit-segments.c: Regenerate.
9593         * features/i386/64bit-sse.c: Regenerate.
9594         * features/i386/x32-core.c: Regenerate.
9595         * features/tic6x-c6xp.c: Regenerate.
9596         * features/tic6x-core.c: Regenerate.
9597         * features/tic6x-gp.c: Regenerate.
9598         * target-descriptions.c: Use common/tdesc.h.
9599         * target-descriptions.h: Likewise.
9600
9601 2018-02-24  Tom Tromey  <tom@tromey.com>
9602
9603         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9604         (try_thread_db_load_from_dir, thread_db_load_search): Use
9605         std::string.
9606         (info_auto_load_libthread_db_compare): Return bool.  Change
9607         argument types.
9608         (info_auto_load_libthread_db): Use std::vector, std::string.
9609         Remove cleanups.
9610
9611 2018-02-24  Tom Tromey  <tom@tromey.com>
9612
9613         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9614         std::string.
9615         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9616         std::string*.
9617         * gdbarch.c: Rebuild.
9618         * gdbarch.h: Rebuild.
9619         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9620         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9621         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9622         std::string*.
9623
9624 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9625
9626         * gdbtypes.h (sect_offset): Change type to uint64_t.
9627         (sect_offset_str): New function.
9628         * dwarf2read.c (create_addrmap_from_aranges): Use
9629         sect_offset_str.
9630         (error_check_comp_unit_head): Likewise.
9631         (create_debug_type_hash_table): Likewise.
9632         (read_cutu_die_from_dwo): Likewise.
9633         (init_cutu_and_read_dies): Likewise.
9634         (init_cutu_and_read_dies_no_follow): Likewise.
9635         (process_psymtab_comp_unit_reader): Likewise.
9636         (partial_die_parent_scope): Likewise.
9637         (peek_die_abbrev): Likewise.
9638         (process_queue): Likewise.
9639         (dwarf2_physname): Likewise.
9640         (read_namespace_alias): Likewise.
9641         (read_import_statement): Likewise.
9642         (create_dwo_cu_reader): Likewise.
9643         (create_cus_hash_table): Likewise.
9644         (lookup_dwo_cutu): Likewise.
9645         (inherit_abstract_dies): Likewise.
9646         (read_func_scope): Likewise.
9647         (read_call_site_scope): Likewise.
9648         (dwarf2_add_member_fn): Likewise.
9649         (read_common_block): Likewise.
9650         (read_module_type): Likewise.
9651         (read_typedef): Likewise.
9652         (read_subrange_type): Likewise.
9653         (load_partial_dies): Likewise.
9654         (read_partial_die): Likewise.
9655         (find_partial_die): Likewise.
9656         (read_str_index): Likewise.
9657         (dwarf2_string_attr): Likewise.
9658         (build_error_marker_type): Likewise.
9659         (lookup_die_type): Likewise.
9660         (dump_die_shallow): Likewise.
9661         (follow_die_ref): Likewise.
9662         (dwarf2_fetch_die_loc_sect_off): Likewise.
9663         (dwarf2_fetch_constant_bytes): Likewise.
9664         (follow_die_sig): Likewise.
9665         (get_signatured_type): Likewise.
9666         (get_DW_AT_signature_type): Likewise.
9667         (dwarf2_find_containing_comp_unit): Likewise.
9668         (set_die_type): Likewise.
9669
9670 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9671
9672         * arch/aarch64.c: Include "common-defs.h".
9673         * arch/amd64.c: Likewise.
9674         * arch/i386.c: Likewise.
9675
9676 2018-02-21  Tom Tromey  <tom@tromey.com>
9677
9678         * value.h: (extract_field_op): Update.
9679         * eval.c (extract_field_op): Return a const char *.
9680         * expression.h (parse_expression_for_completion): Update.
9681         * completer.c (complete_expression): Update.
9682         (add_struct_fields): Make fieldname const.
9683         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9684         (mark_completion_tag, parse_exp_in_context_1): Update.
9685         (parse_expression_for_completion): Change "name" to
9686         unique_xmalloc_ptr*.
9687
9688 2018-02-21  Tom Tromey  <tom@tromey.com>
9689
9690         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9691
9692 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9693
9694         * avr-tdep.c (avr_read_pc): Change parameter type to
9695         readable_regcache.
9696         * gdbarch.sh (read_pc): Likewise.
9697         * gdbarch.c: Re-generated.
9698         * gdbarch.h: Re-generated.
9699         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9700         readable_regcache.
9701         * ia64-tdep.c (ia64_read_pc): Likewise.
9702         * mips-tdep.c (mips_read_pc): Likewise.
9703         * spu-tdep.c (spu_read_pc): Likewise.
9704
9705 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9706
9707         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9708         * regcache-dump.c: New file.
9709         * regcache.c: Move register_dump to regcache-dump.c.
9710         (maintenance_print_registers): Likewise.
9711         (maintenance_print_raw_registers): Likewise.
9712         (maintenance_print_cooked_registers): Likewise.
9713         (maintenance_print_register_groups): Likewise.
9714         (maintenance_print_remote_registers): Likewise.
9715         (_initialize_regcache): Likewise.
9716         * regcache.h (register_dump): Moved from regcache.c.
9717
9718 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9719
9720         * regcache.c (regcache::regcache): Update.
9721         (regcache::invalidate): Move it to detached_regcache::invalidate.
9722         (get_thread_arch_aspace_regcache): Update.
9723         (regcache::raw_update): Update.
9724         (regcache::cooked_read): Remove some code.
9725         (regcache::cooked_read_value): Likewise.
9726         (regcache::raw_write): Remove assert on m_readonly_p.
9727         (regcache::raw_supply_integer): Move it to
9728         detached_regcache::raw_supply_integer.
9729         (regcache::raw_supply_zeroed): Likewise.
9730         * regcache.h (detached_regcache) <raw_supply_integer>: New
9731         declaration.
9732         <raw_supply_zeroed, invalidate>: Likewise.
9733         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9734         <invalidate>: Likewise.
9735         <m_readonly_p>: Removed.
9736
9737 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9738
9739         * infcmd.c (get_return_value): Let stop_regs point to
9740         get_current_regcache.
9741         * regcache.c (regcache::regcache): Remove.
9742         (register_dump_reg_buffer): New class.
9743         (regcache_print): Adjust.
9744         * regcache.h (regcache): Remove constructors.
9745
9746 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9747
9748         * regcache.c (class register_dump): New class.
9749         (register_dump_regcache, register_dump_none): New class.
9750         (register_dump_remote, register_dump_groups): New class.
9751         (regcache_print): Update.
9752         * regcache.h (regcache_dump_what): Move it to regcache.c.
9753         (regcache) <dump>: Remove.
9754
9755 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9756
9757         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9758          reg_buffer_rw *.
9759         (jit_unwind_reg_set_impl): Call raw_supply.
9760         (jit_frame_sniffer): Use reg_buffer_rw.
9761         * record-full.c (record_full_core_regbuf): Change its type.
9762         (record_full_core_open_1): Use reg_buffer_rw.
9763         (record_full_close): Likewise.
9764         (record_full_core_fetch_registers): Use regcache->raw_supply.
9765         (record_full_core_store_registers): Likewise.
9766         * regcache.c (regcache::get_register_status): Move it to
9767         reg_buffer.
9768         (regcache_raw_set_cached_value): Remove.
9769         (regcache::raw_set_cached_value): Remove.
9770         (regcache::raw_write): Call raw_supply.
9771         (regcache::raw_supply): Move it to reg_buffer_rw.
9772         * regcache.h (regcache_raw_set_cached_value): Remove.
9773         (reg_buffer_rw): New class.
9774
9775 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9776
9777         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9778         readonly_detached_regcache.
9779         (dummy_frame_prev_register): Use regcache->cooked_read.
9780         * frame.c (frame_save_as_regcache): Change return type.
9781         (frame_pop): Update.
9782         * frame.h (frame_save_as_regcache): Update declaration.
9783         * inferior.h (get_infcall_suspend_state_regcache): Update
9784         declaration.
9785         * infrun.c (infcall_suspend_state) <registers>: use
9786         readonly_detached_regcache.
9787         (save_infcall_suspend_state): Don't use regcache_dup.
9788         (get_infcall_suspend_state_regcache): Change return type.
9789         * linux-fork.c (struct fork_info) <savedregs>: Change to
9790         readonly_detached_regcache.
9791         <pc>: New field.
9792         (fork_save_infrun_state): Don't use regcache_dup.
9793         (info_checkpoints_command): Adjust.
9794         * mi/mi-main.c (register_changed_p): Update declaration.
9795         (mi_cmd_data_list_changed_registers): Use
9796         readonly_detached_regcache.
9797         (register_changed_p): Change parameter type to
9798         readonly_detached_regcache.
9799         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9800         readonly_detached_regcache.
9801         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9802         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9803         New.
9804         (regcache::save): Move it to reg_buffer.
9805         (regcache::restore): Change parameter type.
9806         (regcache_dup): Remove.
9807         * regcache.h (reg_buffer) <save>: New method.
9808         (readonly_detached_regcache): New class.
9809         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9810         readonly_detached_regcache.
9811         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9812
9813 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9814
9815         * frame.c (frame_save_as_regcache): Use regcache method save.
9816         (frame_pop): Use regcache method restore.
9817         * infrun.c (restore_infcall_suspend_state): Likewise.
9818         * linux-fork.c (fork_load_infrun_state): Likewise.
9819         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9820         save.
9821         * regcache.c (regcache_save): Remove.
9822         (regcache::restore): More asserts.
9823         (regcache_cpy): Remove.
9824         * regcache.h (regcache_save): Remove the declaration.
9825         (regcache::restore): Move from private to public.
9826         Remove the friend declaration of regcache_cpy.
9827         (regcache_cpy): Remove declaration.
9828
9829 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9830
9831         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9832         parameter type to 'readable_regcache *'.
9833         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9834         * arm-tdep.c (arm_neon_quad_read): Likewise.
9835         (arm_pseudo_read): Likewise.
9836         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9837         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9838         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9839         * gdbarch.c: Re-generated.
9840         * gdbarch.h: Re-generated.
9841         * gdbarch.sh (pseudo_register_read): Change parameter type to
9842         'readable_regcache *'.
9843         (pseudo_register_read_value): Likewise.
9844         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9845         (h8300_pseudo_register_read): Likewise.
9846         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9847         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9848         (i386_pseudo_register_read_into_value): Likewise.
9849         (i386_pseudo_register_read_value): Likewise.
9850         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9851         declaration.
9852         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9853         * m32c-tdep.c (m32c_raw_read): Likewise.
9854         (m32c_read_flg): Likewise.
9855         (m32c_banked_register): Likewise.
9856         (m32c_banked_read): Likewise.
9857         (m32c_sb_read): Likewise.
9858         (m32c_part_read): Likewise.
9859         (m32c_cat_read): Likewise.
9860         (m32c_r3r2r1r0_read): Likewise.
9861         (m32c_pseudo_register_read): Likewise.
9862         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9863         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9864         (mep_pseudo_cr64_read): Likewise.
9865         (mep_pseudo_register_read): Likewise.
9866         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9867         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9868         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9869         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9870         (regcache::cooked_read): Likewise.
9871         (regcache::cooked_read_value): Likewise.
9872         (regcache_cooked_read_signed):
9873         (regcache::cooked_read): Likewise.
9874         * regcache.h (readable_regcache): New class.
9875         (regcache): Inherit readable_regcache.  Move some methods to
9876         readable_regcache.
9877         * rl78-tdep.c (rl78_pseudo_register_read): Change
9878         parameter type to 'readable_regcache *'.
9879         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9880         (e500_pseudo_register_read): Change parameter type to
9881         'readable_regcache *'.
9882         (dfp_pseudo_register_read): Likewise.
9883         (vsx_pseudo_register_read): Likewise.
9884         (efpr_pseudo_register_read): Likewise.
9885         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9886         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9887         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9888         (sh64_pseudo_register_read): Likewise.
9889         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9890         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9891         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9892         (spu_pseudo_register_read): Likewise.
9893         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9894         (xtensa_pseudo_register_read): Likewise.
9895
9896 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9897
9898         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9899         (regcache::arch): Move it to reg_buffer::arch.
9900         (regcache::register_buffer): Likewise.
9901         (regcache::assert_regnum): Likewise.
9902         (regcache::num_raw_registers): Likewise.
9903         * regcache.h (reg_buffer): New class.
9904         (regcache): Inherit reg_buffer.
9905
9906 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9907
9908         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9909         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9910
9911 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9912
9913         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9914
9915 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9916
9917         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9918         (SFILES): Remove common/*.c files.
9919         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9920         * common/common.host: Add common reference.
9921         * configure.ac: Likewise.
9922         * configure: Regenerate.
9923
9924 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9925
9926         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9927         (block_initialize_namespace): Use new.
9928         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9929         (dwarf2_free_objfile): Use delete.
9930         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9931         (copy_type_recursive): Use new.
9932         * gdb_obstack.h (allocate_on_obstack): New.
9933
9934 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9935
9936         PR gdb/22849
9937         * inferior.c (exit_inferior_1): Reset inf->control.
9938
9939 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9940
9941         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9942         declaration.
9943
9944 2018-02-14  Pedro Alves  <palves@redhat.com>
9945
9946         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9947         frame_cleanup_after_sniffer on exception.
9948
9949 2018-02-14  Tom Tromey  <tom@tromey.com>
9950
9951         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9952         const.
9953         (solib_bfd_open): Make pathname const.
9954         * solib.c (solib_bfd_open): Make pathname const.
9955         * solib-spu.c (spu_bfd_fopen): Make name const.
9956         (spu_bfd_open): Make pathname const.
9957         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9958         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9959
9960 2018-02-14  Tom Tromey  <tom@tromey.com>
9961
9962         * symfile.c (symfile_bfd_open): Update.
9963         * source.h (openp, source_full_path_of, find_and_open_source):
9964         Change argument type to unique_xmalloc_ptr.
9965         * source.c (openp): Take a unique_xmalloc_ptr.
9966         (source_full_path_of, find_and_open_source): Likewise.
9967         (open_source_file, symtab_to_fullname): Update.
9968         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9969         unique_xmalloc_ptr.
9970         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9971         (exec_file_find): Update.
9972         * psymtab.c (psymtab_to_fullname): Update.
9973         * nto-tdep.h (nto_find_and_open_solib): Update.
9974         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9975         unique_xmalloc_ptr.
9976         * exec.c (exec_file_attach): Update.
9977         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9978         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9979
9980 2018-02-14  Tom Tromey  <tom@tromey.com>
9981
9982         * solib.c: Include source.h.
9983         * nto-tdep.c: Include source.h.
9984         * mi/mi-cmd-env.c: Include source.h.
9985         * infcmd.c: Include source.h.
9986         * exec.c: Include source.h.
9987         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9988         (add_path, directory_switch, source_path, init_source_path): Move
9989         declarations...
9990         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9991         (add_path, directory_switch, source_path, init_source_path):
9992         ...here.
9993
9994 2018-02-14  Tom Tromey  <tom@tromey.com>
9995
9996         * solist.h (exec_file_find, solib_find): Return
9997         unique_xmalloc_ptr.
9998         (solib_bfd_fopen): Take a const char *.
9999         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10000         (exec_file_find, solib_find): Likewise.
10001         (solib_bfd_fopen): Do not take ownership of "pathname".
10002         (solib_bfd_open): Use unique_xmalloc_ptr.
10003         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10004         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10005         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10006         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10007
10008 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10009
10010         * ada-lang.c (name_match_type_from_name): Remove reference to
10011         ada_name_for_lookup in function's documentation.
10012         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10013
10014 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10015
10016         * defs.h (enum openp_flags): New enum.
10017         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10018         Move to enum openp_flags.
10019         (openp_flags): New enum flags.
10020         (openp): Change parameter type to openp_flags.
10021         * source.c (openp): Change parameter type to openp_flags.
10022         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10023         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10024
10025 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10026
10027         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10028         per-command.
10029
10030 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10031
10032         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10033         into...
10034         (class dwarf2_queue_guard): ...the destructor of this new class.
10035         (dw2_do_instantiate_symtab): Create instance of the new class
10036         dwarf2_queue_guard, remove cleanup.
10037
10038 2018-02-09  Tom Tromey  <tom@tromey.com>
10039
10040         * source.c (find_source_lines): Don't reference past the end of
10041         the vector.
10042
10043 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10044
10045         * remote.c (remote_btrace_maybe_reopen): Change error message.
10046         * btrace.c (btrace_enable): Likewise.
10047         (parse_xml_btrace): Likewise.
10048         (parse_xml_btrace_conf): Likewise.
10049
10050 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10051
10052         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10053         (linux_enable_pt, linux_enable_bts): Call
10054         diagnose_perf_event_open_fail.
10055
10056 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10057
10058         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10059         Remove parameter and change return type.  Update callers.  Move it.
10060         (linux_enable_bts, linux_enable_pt): Improve error message.
10061         (linux_enable_pt): Remove zero buffer size check.
10062         (linux_enable_btrace): Improve error messages.  Remove NULL return
10063         check.
10064
10065 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10066
10067         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10068         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10069         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10070         (linux_supports_pt, linux_supports_btrace): Remove.
10071         (linux_enable_bts): Call cpu_supports_bts.
10072         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10073         * remote.c (remote_supports_btrace): Remove.
10074         (init_remote_ops): Remove remote_supports_btrace.
10075         * target-delegates.c: Regenerated.
10076         * target.c (target_supports_btrace): Remove.
10077         * target.h (target_ops) <to_supports_btrace>: Remove
10078         (target_supports_btrace): Remove.
10079         * x86-linux-nat.c (x86_linux_create_target): Remove
10080         linux_supports_btrace.
10081
10082 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10083
10084         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10085         btrace failed.
10086         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10087         exception and use message in own exception.
10088
10089 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10090
10091         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10092         (perf_event_pt_event_type): Use gdb_file_up.
10093         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10094         scoped_fd, and scoped_mmap.
10095
10096 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10097
10098         * common/scoped_mmap.h: New.
10099         * unittests/scoped_mmap-selftest.c: New.
10100         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10101         unittests/scoped_mmap-selftest.c.
10102
10103 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10104
10105         * common/scoped_fd.h: New.
10106         * unittests/scoped_fd-selftest.c: New.
10107         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10108         unittests/scoped_fd-selftest.c.
10109
10110 2018-02-09  Tom Tromey  <tom@tromey.com>
10111
10112         * auto-load.c (auto_load_section_scripts): Use
10113         gdb::unique_xmalloc_ptr.
10114
10115 2018-02-09  Tom Tromey  <tom@tromey.com>
10116
10117         * auto-load.c (execute_script_contents): Use std::string.
10118
10119 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10120
10121         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10122         Python function, rather than a new command.
10123
10124 2018-02-08  Tom Tromey  <tom@tromey.com>
10125
10126         * solib.c (solib_find_1): Use std::string.
10127         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10128
10129 2018-02-08  Tom Tromey  <tom@tromey.com>
10130
10131         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10132
10133 2018-02-08  Tom Tromey  <tom@tromey.com>
10134
10135         * source.c (find_source_lines): Use gdb::def_vector.
10136
10137 2018-02-08  Tom Tromey  <tom@tromey.com>
10138
10139         * macrocmd.c (struct temporary_macro_definition): New.
10140         (macro_define_command): Use temporary_macro_definition.  Remove
10141         cleanups.
10142         (free_macro_definition_ptr): Remove.
10143
10144 2018-02-08  Tom Tromey  <tom@tromey.com>
10145
10146         * macroexp.c (maybe_expand): Use std::string.
10147
10148 2018-02-08  Tom Tromey  <tom@tromey.com>
10149
10150         * macroexp.c (struct macro_buffer): Add initializers for some
10151         members.
10152         (init_buffer, init_shared_buffer, free_buffer)
10153         (free_buffer_return_text): Remove.
10154         (macro_buffer): New constructors.
10155         (~macro_buffer): New destructor.
10156         (macro_buffer::set_shared): New method.
10157         (macro_buffer::resize_buffer, macro_buffer::appendc)
10158         (macro_buffer::appendmem): Now methods, not free functions.
10159         (set_token, append_tokens_without_splicing, stringify)
10160         (macro_stringify): Update.
10161         (gather_arguments): Change return type.  Remove argc_p argument,
10162         add args_ptr argument.  Use std::vector.
10163         (substitute_args): Remove argc argument.  Accept std::vector.
10164         (expand): Update.  Use std::vector.
10165         (scan, macro_expand, macro_expand_next): Update.
10166
10167 2018-02-08  Tom Tromey  <tom@tromey.com>
10168
10169         * symtab.c (default_collect_symbol_completion_matches_break_on):
10170         Use unique_xmalloc_ptr.
10171         * macroscope.h: (sal_macro_scope, user_macro_scope)
10172         (default_macro_scope): Return unique_xmalloc_ptr.
10173         * macroscope.c (sal_macro_scope, user_macro_scope)
10174         (default_macro_scope): Return unique_xmalloc_ptr.
10175         * macroexp.h (macro_expand, macro_expand_once): Return
10176         unique_xmalloc_ptr.
10177         * macroexp.c (macro_expand, macro_expand_once): Return
10178         unique_xmalloc_ptr.
10179         * macrocmd.c (macro_expand_command, macro_expand_once_command)
10180         (info_macro_command, info_macros_command): Use
10181         unique_xmalloc_ptr.
10182         * compile/compile-c-support.c (write_macro_definitions): Use
10183         unique_xmalloc_ptr.
10184         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
10185
10186 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
10187
10188         * value.c (value_static_field): Assign field type instead of
10189         containing type when returning an optimized out value.
10190
10191 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10192
10193         * ft32-tdep.c (ft32_read_pc): Remove.
10194         (ft32_write_pc): Remove.
10195         (ft32_gdbarch_init): Update.
10196         * m32r-tdep.c (m32r_read_pc): Remove.
10197         (m32r_gdbarch_init): Update.
10198         * mep-tdep.c (mep_read_pc): Remove.
10199         (mep_gdbarch_init): Update.
10200         * microblaze-tdep.c (microblaze_write_pc): Remove.
10201         (microblaze_gdbarch_init): Update.
10202         * mn10300-tdep.c (mn10300_read_pc): Remove.
10203         (mn10300_write_pc): Remove.
10204         (mn10300_gdbarch_init): Update.
10205         * moxie-tdep.c (moxie_read_pc): Remove.
10206         (moxie_write_pc): Remove.
10207         (moxie_gdbarch_init): Update.
10208
10209 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10210
10211         * expprint.c (print_subexp_standard): Handle
10212         OP_F77_UNDETERMINED_ARGLIST.
10213         (dump_subexp_body_standard): Likewise.
10214
10215 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
10216
10217         * target-descriptions.c (tdesc_element_visitor) Add empty
10218         implementations.
10219         (tdesc_type): Move make_gdb_type from here.
10220         (tdesc_type_builtin): Likewise.
10221         (tdesc_type_vector): Likewise.
10222         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
10223         (make_gdb_type_struct): Move from tdesc_type_with_fields.
10224         (make_gdb_type_union): Likewise.
10225         (make_gdb_type_flags): Likewise.
10226         (make_gdb_type_enum): Likewise.
10227         (make_gdb_type): New function.
10228         (tdesc_register_type): Use static make_gdb_type.
10229
10230 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
10231
10232         * infcmd.c (default_print_one_register_info): Align natural-format
10233         column values consistently one under another.
10234         (pad_to_column): New function.
10235
10236 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
10237
10238         * dwarf2read.c (dwarf2_physname): Move commment.
10239
10240 2018-02-01  Leszek Swirski  <leszeks@google.com>
10241
10242         * varobj.c (varobj_formatted_print_options): Allow recursive
10243         pretty printing if pretty printing is enabled.
10244
10245 2018-02-01  Leszek Swirski  <leszeks@google.com>
10246
10247         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
10248         names after a structop as a filename.
10249
10250 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10251
10252         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
10253         (arm_record_coproc_data_proc): Likewise.
10254
10255 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10256
10257         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
10258
10259 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
10260
10261         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
10262         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
10263
10264 2018-01-31  Pedro Alves  <palves@redhat.com>
10265
10266         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
10267         * inflow.c (child_terminal_save_inferior): Wrap reference to
10268         tcgetpgrp in HAVE_TERMIOS_H.
10269         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
10270         _WIN32.
10271         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
10272         always iterate over all inferiors.
10273         (gdbsim_cntrl_c): Adjust.
10274         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
10275
10276 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10277
10278         * gdbtypes.c (lookup_array_range_type): Make sure the array's
10279         index type is objfile-owned if the element type is as well.
10280
10281 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10282
10283         GDB 8.1 released.
10284
10285 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10286
10287         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
10288         "features/s390x-linux64.c".
10289         (_initialize_s390_linux_tdep): Remove initialization of tdescs
10290         s390_linux32 and s390x_linux64.
10291         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
10292         default tdesc.
10293         * s390-tdep.c: Include "features/s390-linux32.c" and
10294         "features/s390x-linux64.c".
10295         (s390_tdesc_valid): Add check for tdesc_has_registers.
10296         (s390_gdbarch_init): Make sure there is always a valid tdesc.
10297         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
10298         tdesc_s390x_linux64.
10299         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
10300         tdesc_s390x_linux64 to...
10301         * s390-tdep.h: ...here.
10302
10303 2018-01-30  Pedro Alves  <palves@redhat.com>
10304
10305         PR gdb/13211
10306         * config.in, configure: Regenerate.
10307         * configure.ac: Check for getpgid.
10308         * go32-nat.c (go32_pass_ctrlc): New.
10309         (go32_target): Install it.
10310         * inf-child.c (inf_child_target): Install
10311         child_terminal_save_inferior, child_pass_ctrlc and
10312         child_interrupt.
10313         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
10314         (inf_ptrace_target): No longer install it.
10315         * infcmd.c (interrupt_target_1): Adjust.
10316         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
10317         (child_interrupt): Declare.
10318         (inferior::terminal_state): New.
10319         * inflow.c (struct terminal_info): Update comments.
10320         (inferior_process_group): Delete.
10321         (terminal_is_ours): Delete.
10322         (gdb_tty_state): New.
10323         (child_terminal_init): Adjust.
10324         (is_gdb_terminal, sharing_input_terminal_1)
10325         (sharing_input_terminal): New functions.
10326         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
10327         Set the process's actual process group in the foreground if
10328         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
10329         mark terminal as the inferior's if not sharing GDB's terminal.
10330         Don't check attach_flag.
10331         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
10332         pass down a target_terminal_state.
10333         (child_terminal_save_inferior): New, factored out from ...
10334         (child_terminal_ours_1): ... this.  Handle
10335         target_terminal_state::is_ours_for_output.
10336         (child_interrupt, child_pass_ctrlc): New.
10337         (inflow_inferior_exit): Clear the inferior's terminal_state.
10338         (copy_terminal_info): Copy the inferior's terminal state.
10339         (_initialize_inflow): Remove reference to terminal_is_ours.
10340         * inflow.h (inferior_process_group): Delete.
10341         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
10342         * procfs.c (procfs_target): Don't install procfs_interrupt.
10343         (procfs_interrupt): Delete.
10344         * remote.c (remote_serial_quit_handler): Adjust.
10345         (remote_interrupt): Remove ptid parameter.  Adjust.
10346         * target-delegates.c: Regenerate.
10347         * target.c: Include "terminal.h".
10348         (target_terminal::terminal_state): Rename to ...
10349         (target_terminal::m_terminal_state): ... this.
10350         (target_terminal::init): Adjust.
10351         (target_terminal::inferior): Adjust to per-inferior
10352         terminal_state.
10353         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
10354         (target_terminal::ours, target_terminal::ours_for_output): Use
10355         target_terminal_is_ours_kind.
10356         (target_interrupt): Remove ptid parameter.  Adjust.
10357         (default_target_pass_ctrlc): Adjust.
10358         * target.h (target_ops::to_terminal_save_inferior): New field.
10359         (target_ops::to_interrupt): Remove ptid_t parameter.
10360         (target_interrupt): Remove ptid_t parameter.  Update comment.
10361         (target_pass_ctrlc): Update comment.
10362         * target/target.h (target_terminal_state): New scoped enum,
10363         factored out of ...
10364         (target_terminal::terminal_state): ... here.
10365         (target_terminal::inferior): Update comments.
10366         (target_terminal::restore_inferior): New.
10367         (target_terminal::is_inferior, target_terminal::is_ours)
10368         (target_terminal::is_ours_for_output): Adjust.
10369         (target_terminal::scoped_restore_terminal_state): Adjust to
10370         rename, and call restore_inferior() instead of inferior().
10371         (target_terminal::scoped_restore_terminal_state::m_state): Change
10372         type.
10373         (target_terminal::terminal_state): Rename to ...
10374         (target_terminal::m_terminal_state): ... this and change type.
10375
10376 2018-01-30  Pedro Alves  <palves@redhat.com>
10377
10378         * linux-nat.c (wait_for_signal): New function.
10379         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
10380         directly.
10381         (async_terminal_is_ours)
10382         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
10383         (linux_nat_add_target): Don't override
10384         to_terminal_inferior/to_terminal_ours.
10385
10386 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
10387
10388         * remote.c (remote_follow_fork): Don't call "detach_inferior".
10389
10390 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
10391
10392         * dwarf2read.c (free_dwo_files): Add forward-declaration.
10393         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
10394         dwarf2_per_objfile_free here.
10395         (dwarf2_per_objfile_free): Remove.
10396         (_initialize_dwarf2_read): Don't register
10397         dwarf2_per_objfile_free as a registry cleanup.
10398
10399 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
10400
10401         Avoid compilation errors in MinGW native builds
10402
10403         The error is triggered by including python-internal.h, and the
10404         error message is:
10405
10406              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
10407                       from build-gnulib/import/math.h:27,
10408                       from d:/usr/Python26/include/pyport.h:235,
10409                       from d:/usr/Python26/include/Python.h:58,
10410                       from python/python-internal.h:94,
10411                       from python/py-arch.c:24:
10412              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
10413         using ::hypot;
10414                 ^~~~~
10415
10416         This happens because Python headers define 'hypot' to expand t
10417         '_hypot' in the Windows builds.
10418         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
10419         'hypoth'.  This avoids a compilation error.
10420
10421 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10422
10423         * MAINTAINERS (Write After Approval): Fix ordering.
10424
10425 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10426
10427         * MAINTAINERS (Write After Approval): Add Alan Hayward.
10428
10429 2018-01-26  Alan Modra  <amodra@gmail.com>
10430
10431         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
10432         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
10433         Remove nop.  Make const.  Comment.
10434         (powerpc32_plt_stub_so_2): New.
10435         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
10436         Correct count.  Update uses.
10437         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
10438         Move common code reading PLT entry word.  Correct
10439         powerpc32_plt_stub PLT address calculation.
10440         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
10441         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
10442         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
10443         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
10444         (ppc64_standard_linkage8): Likewise.
10445         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
10446         Correct insns description.
10447         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
10448
10449 2018-01-24  Pedro Alves  <palves@redhat.com>
10450
10451         GCC PR libstdc++/83906
10452         * gdbtypes.c (operator==(const dynamic_prop &,
10453         const dynamic_prop &)): New.
10454         (operator==(const range_bounds &, const range_bounds &)): New.
10455         (check_types_equal): Use them instead of memcmp.
10456         * gdbtypes.h (operator==(const dynamic_prop &,
10457         const dynamic_prop &)): Declare.
10458         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
10459         (operator==(const range_bounds &, const range_bounds &)): Declare.
10460         (operator!=(const range_bounds &, const range_bounds &)): Declare.
10461
10462 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10463
10464         * s390-linux-tdep.c (s390_record_address_mask)
10465         (s390_record_calc_disp_common, s390_record_calc_disp)
10466         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10467         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10468         (s390_process_record): Move to s390-tdep.c.
10469         (s390_linux_init_abi_any): Adjust.
10470         * s390-tdep.c (s390_record_address_mask)
10471         (s390_record_calc_disp_common, s390_record_calc_disp)
10472         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10473         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10474         (s390_process_record): Moved from s390-linux-tdep.c
10475         (s390_gdbarch_init): Adjust.
10476
10477 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10478
10479         * s390-linux-nat.c (s390-tdep.h): New include.
10480         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
10481         (HFILES_NO_SRCDIR): Add s390-tdep.h.
10482         (ALLDEPFILES): Add s390-tdep.c.
10483         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
10484         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
10485         * s390-tdep.h: ...this.  New file.
10486         * s390-linux-tdep.c (s390-tdep.h): New include.
10487         (_initialize_s390_tdep): Rename to...
10488         (_initialize_s390_linux_tdep): ...this and adjust.
10489         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
10490         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
10491         s390-tdep.h.
10492         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
10493         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
10494         (s390_is_partial_instruction, s390_software_single_step)
10495         (is_non_branch_ril, s390_displaced_step_copy_insn)
10496         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
10497         (s390_prologue_data, s390_addr, s390_store, s390_load)
10498         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
10499         (s390_register_call_saved, s390_guess_tracepoint_registers)
10500         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
10501         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
10502         (s390_pseudo_register_name, s390_pseudo_register_type)
10503         (s390_pseudo_register_read, s390_pseudo_register_write)
10504         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
10505         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
10506         (s390_addr_bits_remove, s390_address_class_type_flags)
10507         (s390_address_class_type_flags_to_name)
10508         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
10509         (s390_function_arg_float, s390_function_arg_vector)
10510         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
10511         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
10512         (s390_frame_align, s390_register_return_value, s390_return_value)
10513         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
10514         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
10515         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
10516         (s390_trad_frame_prev_register, s390_unwind_cache)
10517         (s390_prologue_frame_unwind_cache)
10518         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
10519         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
10520         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
10521         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
10522         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
10523         (s390_frame_base_address, s390_local_base_address)
10524         (s390_frame_base, s390_gcc_target_options)
10525         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
10526         (s390_validate_reg_range, s390_tdesc_valid)
10527         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
10528         * s390-tdep.c: ...this.  New file.
10529
10530 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10531
10532         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
10533         (s390_process_record, s390_gdbarch_tdep_alloc)
10534         (s390_linux_init_abi_any): Use/set new hook.
10535
10536 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10537
10538         * s390-linux-tdep.c (osabi.h): New include.
10539         (s390_linux_init_abi_31, s390_linux_init_abi_64)
10540         (s390_linux_init_abi_any): New functions.
10541         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
10542
10543 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10544
10545         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
10546         tdesc_has_registers check
10547
10548 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10549
10550         * s390-linux-tdep.c (s390_tdesc_valid): New function.
10551         (s390_validate_reg_range): New macro.
10552         (s390_gdbarch_init): Adjust.
10553
10554 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10555
10556         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
10557         (s390_gdbarch_tdep_alloc): Adjust.
10558         (s390_gdbarch_init): Adjust.
10559
10560 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10561
10562         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
10563         <have_tdb>: Change type to bool.
10564         (s390_gdbarch_tdep_alloc): Adjust.
10565         (s390_gdbarch_init): Adjust.
10566
10567 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10568
10569         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
10570         (gdbarch_tdep) <have_upper, have_vx>: New fields.
10571         (s390_gdbarch_tdep_alloc): New function.
10572         (s390_gdbarch_init): Allocate tdep at start and use its fields
10573         instead of separate variables.
10574
10575 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10576
10577         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10578         when looking for cached gdbarch and add comment for remaining.
10579
10580 2018-01-22  Pedro Alves  <palves@redhat.com>
10581             Sergio Durigan Junior  <sergiodj@redhat.com>
10582
10583         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10584         case.
10585
10586 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10587
10588         * MAINTAINERS: Update my company e-mail address.
10589
10590 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10591
10592         * regcache.c (cooked_write_test): New function.
10593         (_initialize_regcache): Register the test.
10594
10595 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10596
10597         * ia64-tdep.c (ia64_pseudo_register_read): Call
10598         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10599         * m32c-tdep.c (m32c_cat_read): Likewise.
10600         (m32c_r3r2r1r0_read): Likewise.
10601         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10602         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10603
10604 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10605
10606         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10607         method raw_read instead of regcache_raw_read.
10608         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10609         * arm-tdep.c (arm_neon_quad_read): Likewise.
10610         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10611         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10612         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10613         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10614         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10615         (i386_pseudo_register_read_into_value): Likewise.
10616         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10617         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10618         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10619         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10620         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10621         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10622         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10623         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10624         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10625
10626 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10627
10628         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10629         * configure.tgt: Remove target mt.
10630         * mt-tdep.c: Remove.
10631         * regcache.c (cooked_read_test): Remove the check for mt.
10632
10633 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10634
10635         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10636         instead of gdbarch_pseudo_register_read_value.
10637
10638 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10639
10640         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10641         language is Ada.
10642
10643 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10644
10645         * linespec.c (create_sals_line_offset): Remove code that preserved
10646         the symtab_and_line's line number.
10647
10648 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10649
10650         * varobj.c (varobj_create): Don't set valid_block when creating a
10651         floating varobj.
10652
10653 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10654
10655         * varobj.c (varobj_create): Remove out of date comment.
10656
10657 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10658
10659         PR mi/20395
10660         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10661         updating innermost block.
10662         * parse.c (innermost_block_tracker::update): Take extra type
10663         parameter, and check types match before updating innermost block.
10664         (write_dollar_variable): Update innermost block for registers.
10665         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10666         (innermost_block_tracker::innermost_block_tracker): Initialise
10667         m_types member.
10668         (innermost_block_tracker::reset): Take type parameter.
10669         (innermost_block_tracker::update): Take type parameter, and pass
10670         type through as needed.
10671         (innermost_block_tracker::m_types): New member.
10672         * varobj.c (varobj_create): Pass type when reseting innermost
10673         block.
10674
10675 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10676
10677         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10678         * ada-lang.c (resolve_subexp): Likewise.
10679         * breakpoint.c (set_breakpoint_condition) Likewise.
10680         (watch_command_1) Likewise.
10681         * c-exp.y (variable): Likewise.
10682         * d-exp.y (PrimaryExpression): Likewise.
10683         * f-exp.y (variable): Likewise.
10684         * go-exp.y (variable): Likewise.
10685         * m2-exp.y (variable): Likewise.
10686         * objfiles.c (objfile::~objfile): Likewise.
10687         * p-exp.y (variable): Likewise.
10688         * parse.c (innermost_block): Change type.
10689         * parser-defs.h (class innermost_block_tracker): New.
10690         (innermost_block): Change to innermost_block_tracker.
10691         * printcmd.c (display_command): Switch to innermost_block API.
10692         (do_one_display): Likewise.
10693         * rust-exp.y (do_one_display): Likewise.
10694         * symfile.c (clear_symtab_users): Likewise.
10695         * varobj.c (varobj_create): Switch to innermost_block API, replace
10696         use of innermost_block with block stored on varobj object.
10697
10698 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10699
10700         * expression.h (innermost_block): Remove declaration.
10701         * varobj.c: Add 'parser-defs.h' include.
10702
10703 2018-01-19  Tom Tromey  <tom@tromey.com>
10704
10705         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10706         symbols in the static and global blocks.
10707
10708 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10709
10710         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10711         gdb_ptrace.h, and move including gdb_wait.h ...
10712         * nat/linux-ptrace.h: ... to here.
10713
10714 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10715
10716         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10717         inf_ptrace_detach_success.
10718         (inf_ptrace_detach_success): Add inferior parameter, use it
10719         instead of inferior_ptid, pass it to detach_inferior.
10720         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10721         parameter.
10722         * inferior.c (detach_inferior): Add overload that takes an
10723         inferior object.
10724         * inferior.h (detach_inferior): Likewise.
10725         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10726         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10727         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10728
10729 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10730
10731         * target.h (struct target_ops) <to_detach>: Add inferior
10732         parameter.
10733         (target_detach): Likewise.
10734         * target.c (dispose_inferior): Pass inferior down.
10735         (target_detach): Pass inferior down.  Assert that it is equal to
10736         the current inferior.
10737         * aix-thread.c (aix_thread_detach): Pass inferior down.
10738         * corefile.c (core_file_command): Pass current_inferior() down.
10739         * corelow.c (core_detach): Add inferior parameter.
10740         * darwin-nat.c (darwin_detach): Likewise.
10741         * gnu-nat.c (gnu_detach): Likewise.
10742         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10743         * infcmd.c (detach_command): Pass current_inferior() down to
10744         target_detach.
10745         * infrun.c (follow_fork_inferior): Pass parent_inf to
10746         target_detach.
10747         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10748         target_detach.
10749         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10750         * linux-thread-db.c (thread_db_detach): Likewise.
10751         * nto-procfs.c (procfs_detach): Likewise.
10752         * procfs.c (procfs_detach): Likewise.
10753         * record.c (record_detach): Likewise.
10754         * record.h (struct inferior): Forward-declare.
10755         (record_detach): Add inferior parameter.
10756         * remote-sim.c (gdbsim_detach): Likewise.
10757         * remote.c (remote_detach_1): Likewise.
10758         (remote_detach): Likewise.
10759         (extended_remote_detach): Likewise.
10760         * sol-thread.c (sol_thread_detach): Likewise.
10761         * target-debug.h (target_debug_print_inferior_p): New macro.
10762         * target-delegates.c: Re-generate.
10763         * top.c (kill_or_detach): Pass inferior down to target_detach.
10764         * windows-nat.c (windows_detach): Add inferior parameter.
10765
10766 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10767
10768         * target.h (struct target_ops) <to_detach>: Remove args
10769         parameter.
10770         (target_detach): Likewise.
10771         * target.c (dispose_inferior): Adjust.
10772         (target_detach): Remove args parameter, adjust.
10773         * aix-thread.c (aix_thread_detach): Adjust.
10774         * corefile.c (core_file_command): Adjust.
10775         * corelow.c (core_detach): Adjust.
10776         * darwin-nat.c (darwin_detach): Adjust.
10777         * gnu-nat.c (gnu_detach): Adjust.
10778         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10779         * infcmd.c (detach_command): Adjust
10780         * infrun.c (follow_fork_inferior): Adjust.
10781         (handle_vfork_child_exec_or_exit): Adjust.
10782         * linux-fork.c (linux_fork_detach): Remove args parameter.
10783         * linux-fork.h (linux_fork_detach): Likewise.
10784         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10785         * linux-thread-db.c (thread_db_detach): Likewise.
10786         * nto-procfs.c (procfs_detach): Likewise.
10787         * procfs.c (procfs_detach): Likewise.
10788         (do_detach): Remove signo parameter.
10789         * record.c (record_detach): Remove args parameter.
10790         * record.h (record_detach): Likewise.
10791         * remote-sim.c (gdbsim_detach): Likewise.
10792         * remote.c (remote_detach_1): Likewise.
10793         (remote_detach): Likewise.
10794         (extended_remote_detach): Likewise.
10795         * sol-thread.c (sol_thread_detach): Likewise.
10796         * target-delegates.c: Re-generate.
10797         * top.c (struct qt_args) <args>: Remove field.
10798         (kill_or_detach): Don't pass args.
10799         (quit_force): Don't set args.
10800         * windows-nat.c (windows_detach): Remove args parameter.
10801
10802 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10803
10804         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10805         (arm_linux_init_abi): Install it.
10806
10807 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10808
10809         * osabi.c (gdb_osabi_names): Extend the regexp for
10810         arm-linux-gnueabihf.
10811
10812 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10813
10814         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10815         m_abbrevs.
10816         (abbrev_table::add_abbrev): Update.
10817         (abbrev_table::lookup_abbrev): Update.
10818
10819 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10820
10821         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10822
10823 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10824
10825         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10826         to "std::string".
10827
10828 2018-01-17  Tom Tromey  <tom@tromey.com>
10829
10830         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10831
10832 2018-01-17  Tom Tromey  <tom@tromey.com>
10833
10834         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10835         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10836         (create_array_type_with_stride): Update.
10837         * dwarf2read.c (set_die_type): Update.
10838
10839 2018-01-17  Tom Tromey  <tom@tromey.com>
10840
10841         * dwarf2read.c (delayed_method_info): Remove typedef.
10842         (dwarf2_cu::method_info): Now a std::vector.
10843         (add_to_method_list): Update.
10844         (free_delayed_list): Remove.
10845         (compute_delayed_physnames): Update.
10846         (process_full_comp_unit, process_full_type_unit): Clear the method
10847         list.  Remove cleanups.
10848         (psymtab_include_file_name): Add name_holder parameter.  Use
10849         unique_xmalloc_ptr.
10850         (dwarf_decode_lines): Update.
10851
10852 2018-01-17  Tom Tromey  <tom@tromey.com>
10853             Simon Marchi  <simon.marchi@ericsson.com>
10854
10855         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10856         (dwarf2_per_objfile::free_cached_comp_units)
10857         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10858         (init_cutu_and_read_dies_no_follow): Update.
10859         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10860         (dwarf2_cu::~dwarf2_cu): New.
10861         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10862         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10863
10864 2018-01-17  Tom Tromey  <tom@tromey.com>
10865             Simon Marchi  <simon.marchi@ericsson.com>
10866
10867         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10868         (struct die_reader_specs) <abbrev_table>: New member.
10869         (struct abbrev_table): Add constructor.
10870         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10871         <abbrev_obstack>: Now an auto_obstack.
10872         (abbrev_table_up): New typedef.
10873         (init_cu_die_reader): Add abbrev_table parameter.
10874         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10875         Add result_dwo_abbrev_table.
10876         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10877         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10878         Update.
10879         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10880         parameter.
10881         (skip_children): Update.
10882         (abbrev_table::alloc_abbrev): Rename from
10883         abbrev_table_alloc_abbrev.
10884         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10885         (abbrev_table::lookup_abbrev): Rename from
10886         abbrev_table_lookup_abbrev.
10887         (abbrev_table_read_table): Return abbrev_table_up.
10888         (abbrev_table_free, abbrev_table_free_cleanup)
10889         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10890         (load_partial_dies): Update.
10891
10892 2018-01-17  Tom Tromey  <tom@tromey.com>
10893
10894         * dwarf2read.c (dwarf2_compute_name): Update comment.
10895         (read_func_scope, read_variable): Update.
10896         (new_symbol): Remove.
10897         (new_symbol_full): Rename to new_symbol.
10898
10899 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10900
10901         PR gdb/16577
10902         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10903         a warning instead of throwing an error, set section size to 0 and return
10904         NULL.
10905         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10906
10907 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10908
10909         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10910         std::string.
10911         (linux_ptrace_attach_fail_reason_string): Likewise.
10912         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10913         Likewise.
10914         (linux_ptrace_attach_fail_reason_string): Likewise.
10915         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10916
10917 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10918
10919         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10920
10921 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10922
10923         PR gdb/21559
10924         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10925         checking for fs_base/gs_base fields in struct user_regs_struct.
10926         * configure: Regenerate.
10927
10928 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10929
10930         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10931         function.
10932         (aarch64_linux_init_abi): Install it to gdbarch hook
10933         gcc_target_options.
10934
10935 2018-01-15  Pedro Alves  <palves@redhat.com>
10936
10937         * common/signals-state-save-restore.c
10938         (save_original_signals_state): Fix typos.
10939
10940 2017-01-12  Tom Tromey  <tom@tromey.com>
10941             Sergio Durigan Junior  <sergiodj@redhat.com>
10942
10943         * Makefile.in (install-only): Install gdb-add-index.
10944
10945 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10946
10947         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10948
10949 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10950
10951         * infrun.c (keep_going_pass_signal): Clear step-over info when
10952         insert_breakpoints fails.
10953
10954 2018-01-11  Pedro Alves  <palves@redhat.com>
10955
10956         PR gdb/22583
10957         * infrun.c (resume): Rename to ...
10958         (resume_1): ... this.
10959         (resume): Reimplement as wrapper around resume_1.
10960
10961 2018-01-11  Pedro Alves  <palves@redhat.com>
10962
10963         PR remote/22597
10964         * remote.c (remote_parse_stop_reply): Default to the last-set
10965         general thread instead of to 'magic_null_ptid'.
10966
10967 2018-01-10  Pedro Alves  <palves@redhat.com>
10968
10969         * language.h (language_get_symbol_name_matcher): Rename ...
10970         (get_symbol_name_matcher): ... this.
10971         * language.c (language_get_symbol_name_matcher): Ditto.
10972         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10973         callers adjusted.
10974
10975 2018-01-10  Pedro Alves  <palves@redhat.com>
10976
10977         PR gdb/22670
10978         * dwarf2read.c
10979         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10980         Adjust to use language_get_symbol_name_matcher instead of
10981         language_defn::la_get_symbol_name_matcher.
10982         * language.c (language_get_symbol_name_matcher): If in Ada mode
10983         and the lookup name is a verbatim match, return Ada's matcher.
10984         * language.h (language_get_symbol_name_matcher): Adjust comment.
10985         (ada_lookup_name_info::verbatim_p):: New method.
10986
10987 2018-01-10  Pedro Alves  <palves@redhat.com>
10988
10989         PR gdb/22670
10990         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10991         minsym's language is language_auto or language_cplus, pass down
10992         language_ada instead.
10993         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10994
10995 2018-01-10  Pedro Alves  <palves@redhat.com>
10996
10997         PR gdb/22670
10998         * minsyms.c (linkage_name_str): New function.
10999         (iterate_over_minimal_symbols): Use it.
11000
11001 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11002
11003         * NEWS: Document that 'info proc' now works on FreeBSD.
11004
11005 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11006
11007         * configure.ac: Check for kinfo_getfile in libutil.
11008         * configure: Regenerate.
11009         * config.in: Regenerate.
11010         * fbsd-nat.c: Include "fbsd-tdep.h".
11011         (fbsd_fetch_cmdline): New.
11012         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11013         rather than calling error.
11014         (fbsd_info_proc): New.
11015         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11016         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11017         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11018
11019 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11020
11021         * fbsd-nat.c (struct free_deleter): Remove.
11022         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11023
11024 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11025
11026         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11027         NULL for an empty pathname.
11028
11029 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11030
11031         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11032         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11033         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11034         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11035         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11036         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11037         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11038         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11039         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11040         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11041         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11042         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11043         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11044         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11045         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11046
11047 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11048
11049         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11050         (gnu_xfer_auxv): New function.
11051         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11052         TARGET_OBJECT_AUXV.
11053
11054 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11055             Simon Marchi  <simon.marchi@ericsson.com>
11056
11057         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11058         common/selftest.c.
11059         (COMMON_OBS): Remove selftest.o.
11060         * configure.ac: Append selftest-arch.c and common/selftest.c to
11061         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11062         * configure: Re-generated.
11063         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11064         GDB_SELF_TEST.
11065         (maintenance_info_selftests): Likewise.
11066
11067 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11068
11069         * ada-valprint.c (val_print_packed_array_elements): Use
11070         proper number of elements when printing an array indexed
11071         by an enumeration type.
11072
11073 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11074
11075         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11076         (dw2_get_file_names_reader): Adjust.
11077         (lookup_dwo_signatured_type): Adjust.
11078         (lookup_dwp_signatured_type): Adjust.
11079         (lookup_signatured_type): Adjust.
11080         (create_type_unit_group): Adjust.
11081         (get_type_unit_group): Adjust.
11082         (process_psymtab_comp_unit_reader): Adjust.
11083         (build_type_psymtabs_reader): Adjust.
11084         (scan_partial_symbols): Adjust.
11085         (add_partial_symbol): Adjust.
11086         (add_partial_subprogram): Adjust.
11087         (peek_die_abbrev): Adjust.
11088         (fixup_go_packaging): Adjust.
11089         (process_imported_unit_die): Adjust.
11090         (dwarf2_compute_name): Adjust.
11091         (dwarf2_physname): Adjust.
11092         (read_import_statement): Adjust.
11093         (handle_DW_AT_stmt_list): Adjust.
11094         (read_file_scope): Adjust.
11095         (read_func_scope): Adjust.
11096         (read_lexical_block_scope): Adjust.
11097         (read_call_site_scope): Adjust.
11098         (read_variable): Adjust.
11099         (dwarf2_rnglists_process): Adjust.
11100         (dwarf2_ranges_process): Adjust.
11101         (dwarf2_ranges_read): Adjust.
11102         (dwarf2_get_pc_bounds): Adjust.
11103         (dwarf2_record_block_ranges): Adjust.
11104         (dwarf2_add_field): Adjust.
11105         (dwarf2_add_member_fn): Adjust.
11106         (read_structure_type): Adjust.
11107         (process_structure_scope): Adjust.
11108         (read_enumeration_type): Adjust.
11109         (read_array_type): Adjust.
11110         (mark_common_block_symbol_computed): Adjust.
11111         (read_common_block): Adjust.
11112         (read_namespace_type): Adjust.
11113         (read_namespace): Adjust.
11114         (read_module_type): Adjust.
11115         (read_tag_pointer_type): Adjust.
11116         (read_tag_ptr_to_member_type): Adjust.
11117         (read_tag_string_type): Adjust.
11118         (read_subroutine_type): Adjust.
11119         (read_typedef): Adjust.
11120         (read_base_type): Adjust.
11121         (attr_to_dynamic_prop): Adjust.
11122         (read_subrange_type): Adjust.
11123         (read_unspecified_type): Adjust.
11124         (dwarf2_read_abbrevs): Adjust.
11125         (load_partial_dies): Adjust.
11126         (read_partial_die): Adjust.
11127         (find_partial_die): Adjust.
11128         (guess_partial_die_structure_name): Adjust.
11129         (fixup_partial_die): Adjust.
11130         (read_attribute_value): Adjust.
11131         (read_addr_index): Adjust.
11132         (read_addr_index_from_leb128): Adjust.
11133         (read_str_index): Adjust.
11134         (dwarf2_string_attr): Adjust.
11135         (get_debug_line_section): Adjust.
11136         (dwarf_decode_line_header): Adjust.
11137         (lnp_state_machine::check_line_address): Adjust.
11138         (dwarf_decode_lines_1): Adjust.
11139         (dwarf_decode_lines): Adjust.
11140         (dwarf2_start_symtab): Adjust.
11141         (var_decode_location): Adjust.
11142         (new_symbol_full): Adjust.
11143         (dwarf2_const_value_data): Adjust.
11144         (dwarf2_const_value_attr): Adjust.
11145         (dwarf2_const_value): Adjust.
11146         (die_type): Adjust.
11147         (die_containing_type): Adjust.
11148         (build_error_marker_type): Adjust.
11149         (lookup_die_type): Adjust.
11150         (guess_full_die_structure_name): Adjust.
11151         (anonymous_struct_prefix): Adjust.
11152         (determine_prefix): Adjust.
11153         (dwarf2_name): Adjust.
11154         (follow_die_ref_or_sig): Adjust.
11155         (follow_die_offset): Adjust.
11156         (follow_die_ref): Adjust.
11157         (follow_die_sig_1): Adjust.
11158         (follow_die_sig): Adjust.
11159         (get_signatured_type): Adjust.
11160         (get_DW_AT_signature_type): Adjust.
11161         (decode_locdesc): Adjust.
11162         (dwarf_decode_macros): Adjust.
11163         (cu_debug_loc_section): Adjust.
11164         (fill_in_loclist_baton): Adjust.
11165         (dwarf2_symbol_mark_computed): Adjust.
11166         (init_one_comp_unit): Don't assign
11167         dwarf2_cu::dwarf2_per_objfile.
11168         (set_die_type): Adjust.
11169
11170 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11171
11172         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11173         <dwarf2_per_objfile>: New field.
11174         (dwarf2_per_objfile): Remove global.
11175         (get_dwarf2_per_objfile): New function.
11176         (set_dwarf2_per_objfile): New function.
11177         (dwarf2_build_psymtabs_hard): Change objfile parameter to
11178         dwarf2_per_objfile.
11179         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11180         (read_abbrev_offset): Likewise.
11181         (read_indirect_string): Likewise.
11182         (read_indirect_line_string): Likewise.
11183         (read_indirect_string_at_offset): Likewise.
11184         (read_indirect_string_from_dwz): Likewise.
11185         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11186         dwarf2_per_objfile.
11187         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11188         (create_all_comp_units): Change objfile parameter to
11189         dwarf2_per_objfile.
11190         (create_all_type_units): Likewise.
11191         (process_queue): Add dwarf2_per_objfile parameter.
11192         (read_and_check_comp_unit_head): Likewise.
11193         (lookup_dwo_unit_in_dwp): Likewise.
11194         (get_dwp_file): Likewise.
11195         (process_cu_includes): Likewise.
11196         (struct free_dwo_file_cleanup_data): New struct.
11197         (dwarf2_has_info): Use get_dwarf2_per_objfile and
11198         set_dwarf2_per_objfile.
11199         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
11200         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
11201         context, adjust calls.
11202         (dw2_instantiate_symtab): Likewise.
11203         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
11204         (dw2_get_cu): Likewise.
11205         (create_cu_from_index_list): Change objfile parameter to
11206         dwarf2_per_objfile.
11207         (create_cus_from_index_list): Get dwarf2_per_objfile from
11208         context, adjust calls.
11209         (create_cus_from_index): Likewise.
11210         (create_signatured_type_table_from_index): Change objfile
11211         parameter to dwarf2_per_objfile.
11212         (create_signatured_type_table_from_debug_names): Change objfile
11213         parameter to dwarf2_per_objfile.
11214         (create_addrmap_from_index): Likewise.
11215         (create_addrmap_from_aranges): Likewise.
11216         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
11217         (dw2_setup): Remove.
11218         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
11219         context.
11220         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
11221         get_dwarf2_per_objfile.
11222         (dw2_forget_cached_source_info): Likewise.
11223         (dw2_map_symtabs_matching_filename): Likewise.
11224         (struct dw2_symtab_iterator) <index>: Remove.
11225         <dwarf2_per_objfile>: New field.
11226         (dw2_symtab_iter_init): Replace index parameter with
11227         dwarf2_per_objfile.
11228         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
11229         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
11230         (dw2_print_stats): Likewise.
11231         (dw2_dump): Likewise.
11232         (dw2_expand_symtabs_for_function): Likewise.
11233         (dw2_expand_all_symtabs): Likewise.
11234         (dw2_expand_symtabs_with_fullname): Likewise.
11235         (dw2_expand_marked_cus): Replace index and objfile parameters
11236         with dwarf2_per_objfile.
11237         (dw_expand_symtabs_matching_file_matcher): Add
11238         dwarf2_per_objfile parameter and adjust calls.
11239         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
11240         adjust calls.
11241         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
11242         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
11243         adjust calls.
11244         (create_cus_from_debug_names_list): Replace objfile parameter
11245         with dwarf2_per_objfile and adjust calls.
11246         (create_cus_from_debug_names): Likewise.
11247         (dwarf2_read_debug_names): Likewise.
11248         (mapped_debug_names::namei_to_name): Adjust call.
11249         (dw2_debug_names_iterator::next): Likewise.
11250         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
11251         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
11252         (dw2_debug_names_dump): Likewise.
11253         (dw2_debug_names_expand_symtabs_for_function): Likewise.
11254         (dw2_debug_names_expand_symtabs_matching): Likewise.
11255         (dwarf2_initialize_objfile): Likewise.
11256         (dwarf2_build_psymtabs): Likewise.
11257         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
11258         this_cu.
11259         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
11260         (read_and_check_comp_unit_head): Likewise.
11261         (read_abbrev_offset): Likewise.
11262         (create_debug_type_hash_table): Likewise.
11263         (create_debug_types_hash_table): Likewise.
11264         (create_all_type_units): Replace objfile parameter with
11265         dwarf2_per_objfile.
11266         (add_type_unit): Add dwarf2_per_objfile parameter.
11267         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
11268         with dwarf2_per_objfile.
11269         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
11270         (lookup_dwp_signatured_type): Likewise.
11271         (lookup_signatured_type): Likewise.
11272         (read_cutu_die_from_dwo): Likewise.
11273         (init_tu_and_read_dwo_dies): Likewise.
11274         (init_cutu_and_read_dies): Likewise.
11275         (init_cutu_and_read_dies_no_follow): Likewise.
11276         (allocate_type_unit_groups_table): Add objfile parameter.
11277         (create_type_unit_group): Use dwarf2_per_objfile from cu.
11278         (get_type_unit_group): Likewise.
11279         (process_psymtab_comp_unit): Update call.
11280         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
11281         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
11282         (print_tu_stats): Likewise.
11283         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
11284         in void* parameter.
11285         (build_type_psymtabs): Change objfile parameter to
11286         dwarf2_per_objfile.
11287         (process_skeletonless_type_unit): Use dwarf2_per_objfile
11288         passed in void* parameter.
11289         (process_skeletonless_type_units): Change objfile parameter to
11290         dwarf2_per_objfile.
11291         (set_partial_user): Likewise.
11292         (dwarf2_build_psymtabs_hard): Likewise.
11293         (read_comp_units_from_section): Likewise.
11294         (create_all_comp_units): Likewise.
11295         (scan_partial_symbols): Update calls.
11296         (add_partial_symbol): Likewise.
11297         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
11298         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
11299         (process_queue): Add dwarf2_per_objfile parameter.
11300         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
11301         (compute_compunit_symtab_includes): Likewise.
11302         (process_cu_includes): Add dwarf2_per_objfile parameter.
11303         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
11304         (process_full_type_unit): Likewise.
11305         (process_imported_unit_die): Update call.
11306         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
11307         (read_file_scope): Likewise.
11308         (allocate_dwo_file_hash_table): Add objfile parameter.
11309         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
11310         (create_cus_hash_table): Likewise.
11311         (create_dwp_hash_table): Likewise.
11312         (create_dwo_unit_in_dwp_v1): Likewise.
11313         (create_dwp_v2_section): Likewise.
11314         (create_dwo_unit_in_dwp_v2): Likewise.
11315         (lookup_dwo_unit_in_dwp): Likewise.
11316         (try_open_dwop_file): Likewise.
11317         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
11318         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
11319         cleanup to include a reference to dwarf2_per_objfile.
11320         (open_dwp_file): Add dwarf2_per_objfile parameter.
11321         (open_and_init_dwp_file): Likewise.
11322         (get_dwp_file): Likewise.
11323         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
11324         (queue_and_load_all_dwo_tus): Update call.
11325         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
11326         data.
11327         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
11328         (dwarf2_ranges_process): Likewise.
11329         (dwarf2_get_pc_bounds): Likewise.
11330         (mark_common_block_symbol_computed): Likewise.
11331         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11332         (dwarf2_read_abbrevs): Update call.
11333         (read_partial_die): Use dwarf2_per_objfile from cu.
11334         (find_partial_die): Likewise.
11335         (fixup_partial_die): Likewise.
11336         (read_attribute_value): Likewise.
11337         (read_indirect_string_at_offset_from): Add objfile parameter.
11338         (read_indirect_string_at_offset): Add dwarf2_per_objfile
11339         parameter.
11340         (read_indirect_string_from_dwz): Add objfile parameter.
11341         (read_indirect_string): Add objfile parameter.
11342         (read_addr_index_1): Add dwarf2_per_objfile parameter.
11343         (read_addr_index): Use dwarf2_per_objfile from cu.
11344         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
11345         call dw2_setup.
11346         (read_str_index): Use dwarf2_per_objfile from cu.
11347         (get_debug_line_section): Likewise.
11348         (read_formatted_entries): Add dwarf2_per_objfile parameter.
11349         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
11350         (new_symbol_full): Use dwarf2_per_objfile from cu.
11351         (build_error_marker_type): Likewise.
11352         (lookup_die_type): Likewise.
11353         (determine_prefix): Likewise.
11354         (follow_die_offset): Likewise.
11355         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
11356         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
11357         (dwarf2_fetch_die_type_sect_off): Likewise.
11358         (dwarf2_get_die_type): Likewise.
11359         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
11360         (get_signatured_type): Likewise.
11361         (get_DW_AT_signature_type): Likewise.
11362         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
11363         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
11364         (cu_debug_loc_section): Likewise.
11365         (fill_in_loclist_baton): Likewise.
11366         (dwarf2_symbol_mark_computed): Likewise.
11367         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11368         dwarf2_per_objfile.
11369         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
11370         parameter.
11371         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11372         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
11373         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
11374         (set_die_type): Use dwarf2_free_objfile from cu.
11375         (get_die_type_at_offset): Likewise.
11376         (dwarf2_per_objfile_free): Don't assign global variable.
11377         (debug_names) <constructor>: Add dwarf2_per_objfile
11378         parameter, update m_debugstrlookup construction.
11379         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
11380         parameter.
11381         <m_dwarf2_per_objfile>: New field.
11382         <lookup>: Use m_dwarf2_per_objfile.
11383         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
11384         (psyms_seen_size): Likewise.
11385         (write_gdbindex): Replace objfile parameter with
11386         dwarf2_per_objfile.
11387         (write_debug_names): Likewise.
11388         (write_psymtabs_to_index): Likewise.
11389         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
11390         calls.
11391
11392 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11393
11394         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
11395         <dwarf2_per_objfile>: New field.
11396         (struct dwarf2_per_cu_data) <objfile>: Remove.
11397         <dwarf2_per_objfile>: New field.
11398         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
11399         of objfile.
11400         (create_signatured_type_table_from_index): Likewise.
11401         (create_debug_type_hash_table): Likewise.
11402         (fill_in_sig_entry_from_dwo_entry): Likewise.
11403         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
11404         (create_type_unit_group): Assign dwarf2_per_objfile instead of
11405         objfile.
11406         (create_partial_symtab): Access objfile through
11407         dwarf2_per_objfile.
11408         (process_psymtab_comp_unit_reader): Likewise.
11409         (read_comp_units_from_section): Likewise.
11410         (scan_partial_symbols): Likewise.
11411         (add_partial_symbol): Likewise.
11412         (add_partial_subprogram): Likewise.
11413         (peek_die_abbrev): Likewise.
11414         (fixup_go_packaging): Likewise.
11415         (process_full_comp_unit): Likewise.
11416         (process_full_type_unit): Likewise.
11417         (process_imported_unit_die): Likewise.
11418         (dwarf2_compute_name): Likewise.
11419         (dwarf2_physname): Likewise.
11420         (read_import_statement): Likewise.
11421         (create_cus_hash_table): Assign dwarf2_physname instead of
11422         objfile.
11423         (read_func_scope): Access objfile through dwarf2_per_objfile.
11424         (read_lexical_block_scope): Likewise.
11425         (read_call_site_scope): Likewise.
11426         (read_variable): Likewise.
11427         (dwarf2_rnglists_process): Likewise.
11428         (dwarf2_ranges_process): Likewise.
11429         (dwarf2_ranges_read): Likewise.
11430         (dwarf2_record_block_ranges): Likewise.
11431         (dwarf2_add_field): Likewise.
11432         (dwarf2_add_member_fn): Likewise.
11433         (read_structure_type): Likewise.
11434         (process_structure_scope): Likewise.
11435         (read_enumeration_type): Likewise.
11436         (read_array_type): Likewise.
11437         (read_common_block): Likewise.
11438         (read_namespace_type): Likewise.
11439         (read_namespace): Likewise.
11440         (read_module_type): Likewise.
11441         (read_tag_pointer_type): Likewise.
11442         (read_tag_ptr_to_member_type): Likewise.
11443         (read_tag_string_type): Likewise.
11444         (read_subroutine_type): Likewise.
11445         (read_typedef): Likewise.
11446         (read_base_type): Likewise.
11447         (attr_to_dynamic_prop): Likewise.
11448         (read_subrange_type): Likewise.
11449         (read_unspecified_type): Likewise.
11450         (load_partial_dies): Likewise.
11451         (read_partial_die): Likewise.
11452         (find_partial_die): Likewise.
11453         (guess_partial_die_structure_name): Likewise.
11454         (fixup_partial_die): Likewise.
11455         (read_attribute_value): Likewise.
11456         (read_addr_index_from_leb128): Likewise.
11457         (dwarf2_read_addr_index): Likewise.
11458         (dwarf2_string_attr): Likewise.
11459         (lnp_state_machine::check_line_address): Likewise.
11460         (dwarf_decode_lines_1): Likewise.
11461         (dwarf_decode_lines): Likewise.
11462         (dwarf2_start_symtab): Likewise.
11463         (var_decode_location): Likewise.
11464         (new_symbol_full): Likewise.
11465         (dwarf2_const_value_data): Likewise.
11466         (dwarf2_const_value_attr): Likewise.
11467         (dwarf2_const_value): Likewise.
11468         (die_type): Likewise.
11469         (die_containing_type): Likewise.
11470         (lookup_die_type): Likewise.
11471         (guess_full_die_structure_name): Likewise.
11472         (anonymous_struct_prefix): Likewise.
11473         (dwarf2_name): Likewise.
11474         (follow_die_ref_or_sig): Likewise.
11475         (follow_die_offset): Likewise.
11476         (follow_die_ref): Likewise.
11477         (dwarf2_fetch_die_loc_sect_off): Likewise.
11478         (dwarf2_fetch_constant_bytes): Likewise.
11479         (dwarf2_fetch_die_type_sect_off): Likewise.
11480         (dwarf2_get_die_type): Likewise.
11481         (follow_die_sig): Likewise.
11482         (decode_locdesc): Likewise.
11483         (dwarf2_per_cu_objfile): Likewise.
11484         (dwarf2_per_cu_text_offset): Likewise.
11485         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
11486         objfile.
11487         (set_die_type): Access objfile through
11488         dwarf2_per_objfile.
11489
11490 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11491
11492         * valprint.c (converted_character_d): Remove typedef.
11493         (DEF_VEC_O (converted_character_d)): Remove.
11494         (count_next_character): Use std::vector.
11495         (print_converted_chars_to_obstack): Likewise.
11496         (generic_printstr): Likewise.
11497
11498 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11499
11500         * xml-support.h (struct gdb_xml_value): Add constructor.
11501         <value>: Change type to unique_xmalloc_ptr.
11502         (gdb_xml_value_s): Remove typedef.
11503         (DEF_VEC_O (gdb_xml_value_s)): Remove.
11504         (gdb_xml_element_start_handler): Change parameter type to
11505         std::vector.
11506         (xml_find_attribute): Likewise.
11507         * xml-support.c (xml_find_attribute): Change parameter type to
11508         std::vector and adjust.
11509         (gdb_xml_values_cleanup): Remove.
11510         (gdb_xml_parser::start_element): Adjust to std::vector.
11511         (xinclude_start_include): Change paraeter type to std::vector
11512         and adjust.
11513         * btrace.c (check_xml_btrace_version): Likewise.
11514         (parse_xml_btrace_block): Likewise.
11515         (parse_xml_btrace_pt_config_cpu): Likewise.
11516         (parse_xml_btrace_pt): Likewise.
11517         (parse_xml_btrace_conf_bts): Likewise.
11518         (parse_xml_btrace_conf_pt): Likewise.
11519         * memory-map.c (memory_map_start_memory): Likewise.
11520         (memory_map_start_property): Likewise.
11521         * osdata.c (osdata_start_osdata): Likewise.
11522         (osdata_start_item): Likewise.
11523         (osdata_start_column): Likewise.
11524         * remote.c (start_thread): Likewise.
11525         * solib-aix.c (library_list_start_library): Likewise.
11526         (library_list_start_list): Likewise.
11527         * solib-svr4.c (library_list_start_library): Likewise.
11528         (svr4_library_list_start_list): Likewise.
11529         * solib-target.c (library_list_start_segment): Likewise.
11530         (library_list_start_section): Likewise.
11531         (library_list_start_library): Likewise.
11532         (library_list_start_list): Likewise.
11533         * tracepoint.c (traceframe_info_start_memory): Likewise.
11534         (traceframe_info_start_tvar): Likewise.
11535         * xml-syscall.c (syscall_start_syscall): Likewise.
11536         * xml-tdesc.c (tdesc_start_target): Likewise.
11537         (tdesc_start_feature): Likewise.
11538         (tdesc_start_reg): Likewise.
11539         (tdesc_start_union): Likewise.
11540         (tdesc_start_struct): Likewise.
11541         (tdesc_start_flags): Likewise.
11542         (tdesc_start_enum): Likewise.
11543         (tdesc_start_field): Likewise.
11544         (tdesc_start_enum_value): Likewise.
11545         (tdesc_start_vector): Likewise.
11546
11547 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11548
11549         * extension.h (struct xmethod_worker) <clone>: Remove.
11550         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
11551         Remove.
11552         (python_xmethod_worker::clone): Remove.
11553         * valops.c (find_overload_match): Use std::move instead of
11554         clone.
11555
11556 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11557
11558         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
11559         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
11560         <free_xmethod_worker_data>: Remove.
11561         <get_matching_xmethod_workers>: Chance VEC to std::vector.
11562         <get_xmethod_arg_types>: Remove.
11563         <get_xmethod_result_type>: Remove.
11564         <invoke_xmethod>: Remove.
11565         * extension.c (new_xmethod_worker): Remove.
11566         (clone_xmethod_worker): Remove.
11567         (get_matching_xmethod_workers): Return void, pass std::vector by
11568         pointer.
11569         (get_xmethod_arg_types): Rename to...
11570         (xmethod_worker::get_arg_types): ... this, and adjust.
11571         (get_xmethod_result_type): Rename to...
11572         (xmethod_worker::get_result_type): ... this, and adjust.
11573         (invoke_xmethod): Remove.
11574         (free_xmethod_worker): Remove.
11575         (free_xmethod_worker_vec): Remove.
11576         * extension.h (enum ext_lang_rc): Move here from
11577         extension-priv.h.
11578         (struct xmethod_worker): Add constructor and destructor.
11579         <data>: Remove.
11580         <value>: Remove.
11581         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11582         virtual pure methods.
11583         <get_arg_types, get_result_type>: New methods.
11584         (xmethod_worker_ptr): Remove typedef.
11585         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11586         (xmethod_worker_vec): Remove typedef.
11587         (xmethod_worker_up): New typedef.
11588         (invoke_xmethod): Remove.
11589         (clone_xmethod_worker): Remove.
11590         (free_xmethod_worker): Remove.
11591         (free_xmethod_worker_vec): Remove.
11592         (get_xmethod_arg_types): Remove.
11593         (get_xmethod_result_type): Remove.
11594         * valops.c (find_method_list): Use std::vector, don't use
11595         intermediate vector.
11596         (value_find_oload_method_list): Use std::vector.
11597         (find_overload_match): Use std::vector.
11598         (find_oload_champ): Use std::vector.
11599         * value.c (value_free): Use operator delete.
11600         (value_of_xmethod): Rename to...
11601         (value_from_xmethod): ... this.  Don't assign
11602         xmethod_worker::value, take rvalue-reference.
11603         (result_type_of_xmethod): Adjust.
11604         (call_xmethod): Adjust.
11605         * value.h: Include extension.h.
11606         (struct xmethod_worker): Don't forward-declare.
11607         (value_of_xmethod): Rename to...
11608         (value_from_xmethod): ... this, take rvalue-reference.
11609         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11610         (struct python_xmethod_worker): ... this, add constructor and
11611         destructor.
11612         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11613         (gdbpy_free_xmethod_worker_data): Rename to...
11614         (python_xmethod_worker::~python_xmethod_worker): ... this and
11615         adjust.
11616         (gdbpy_clone_xmethod_worker_data): Rename to...
11617         (python_xmethod_worker::clone): ... this and adjust.
11618         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11619         temporary vector.
11620         (gdbpy_get_xmethod_arg_types): Rename to...
11621         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11622         (gdbpy_get_xmethod_result_type): Rename to...
11623         (python_xmethod_worker::do_get_result_type): ... this and
11624         adjust.
11625         (gdbpy_invoke_xmethod): Rename to...
11626         (python_xmethod_worker::invoke): ... this and adjust.
11627         (new_python_xmethod_worker): Rename to...
11628         (python_xmethod_worker::python_xmethod_worker): ... this and
11629         adjust.
11630         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11631         Remove.
11632         (gdbpy_free_xmethod_worker_data): Remove.
11633         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11634         (gdbpy_get_xmethod_arg_types): Remove.
11635         (gdbpy_get_xmethod_result_type): Remove.
11636         (gdbpy_invoke_xmethod): Remove.
11637         * python/python.c (python_extension_ops): Remove obsolete
11638         callbacks.
11639
11640 2018-01-05  Pedro Alves  <palves@redhat.com>
11641
11642         PR gdb/18653
11643         * common/signals-state-save-restore.c
11644         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11645         find a custom handler preinstalled, instead of internal erroring.
11646         But only warn if !quiet.
11647         * common/signals-state-save-restore.h
11648         (save_original_signals_state): New parameter 'quiet'.
11649         * main.c (captured_main_1): Move save_original_signals_state call
11650         after option handling, and pass QUIET.
11651
11652 2018-01-05  Pedro Alves  <palves@redhat.com>
11653
11654         * spu-tdep.c (spu_catch_start): Pass
11655         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11656
11657 2018-01-05  Pedro Alves  <palves@redhat.com>
11658
11659         PR gdb/22670
11660         * ada-lang.c (literal_symbol_name_matcher): New function.
11661         (ada_get_symbol_name_matcher): Use it for
11662         symbol_name_match_type::SEARCH_NAME.
11663         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11664         it down instead of assuming symbol_name_match_type::FULL.
11665         * block.h (block_lookup_symbol): New parameter 'match_type'.
11666         * c-valprint.c (print_unpacked_pointer): Use
11667         lookup_symbol_search_name instead of lookup_symbol.
11668         * compile/compile-object-load.c (get_out_value_type): Pass down
11669         symbol_name_match_type::SEARCH_NAME.
11670         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11671         symbol_name_match_type::FULL.
11672         * cp-support.c (cp_get_symbol_name_matcher): Handle
11673         symbol_name_match_type::SEARCH_NAME.
11674         * infrun.c (insert_exception_resume_breakpoint): Use
11675         lookup_symbol_search_name.
11676         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11677         * psymtab.c (maintenance_check_psymtabs): Use
11678         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11679         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11680         SYMBOL_SEARCH_NAME.
11681         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11682         if symbol_name_match_type::SEARCH_NAME.
11683         (lookup_symbol_in_language): Pass down
11684         symbol_name_match_type::FULL.
11685         (lookup_symbol_search_name): New.
11686         (lookup_language_this): Pass down
11687         symbol_name_match_type::SEARCH_NAME.
11688         (lookup_symbol_aux, lookup_local_symbol): New parameter
11689         'match_type'.  Pass it down.
11690         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11691         (lookup_symbol_search_name): New declaration.
11692         (lookup_symbol_in_block): New 'match_type' parameter.
11693
11694 2018-01-05  Pedro Alves  <palves@redhat.com>
11695
11696         PR gdb/22670
11697         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11698         ada_lookup_symbol.
11699         (ada_lookup_symbol): Reimplement in terms of
11700         ada_lookup_symbol_list, bits factored out from
11701         ada_lookup_encoded_symbol.
11702
11703 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11704
11705         * ada-exp.y (write_object_renaming): When subscripting an array
11706         using a symbol as the index, pass the block in call to
11707         ada_lookup_encoded_symbol when looking that symbol up.
11708
11709 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11710
11711         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11712         TYPE_INDEX_TYPE.
11713
11714 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11715
11716         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11717         the case where VALUE_LVAL (val0) is not lval_memory.
11718
11719 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11720
11721         * ada-valprint.c (print_optional_low_bound): Handle
11722         character-indexed array printing like boolean-indexed array
11723         printing.
11724
11725 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11726
11727         * NEWS: Create a new section for the next release branch.
11728         Rename the section of the current branch, now that it has
11729         been cut.
11730
11731 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11732
11733         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11734         * version.in: Bump version to 8.1.50.DATE-git.
11735
11736 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11737
11738         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11739         Add field.
11740         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11741         Add field.
11742         (default_exception_support_info) <catch_handlers_sym>: Add field.
11743         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11744         (ada_exception_name_addr_1): Add "catch handlers" handling.
11745         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11746         Update all callers.
11747         (create_excep_cond_exprs) <ex>: Add parameter.
11748         (re_set_exception): Update create_excep_cond_exprs call.
11749         (print_it_exception, print_one_exception, print_mention_exception)
11750         (print_recreate_exception): Add "catch handler" handling.
11751         (allocate_location_catch_handlers, re_set_catch_handlers)
11752         (check_status_catch_handlers, print_it_catch_handlers)
11753         (print_one_catch_handlers, print_mention_catch_handlers)
11754         (print_recreate_catch_handlers): New function.
11755         (catch_handlers_breakpoint_ops): New variable.
11756         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11757         Add parameter.  Add "catch handler" handling.
11758         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11759         Add "catch handler" handling.
11760         (ada_exception_catchpoint_cond_string): Add "catch handler"
11761         handling.
11762         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11763         call.
11764         (catch_ada_handlers_command): New function.
11765         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11766         operations structure.
11767         (_initialize_ada_language): Add "catch handlers" command entry.
11768         * NEWS: Document "catch handlers" feature.
11769
11770 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11771
11772         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11773         account when creating the array type of the slice.
11774         (ada_value_slice): Likewise.
11775
11776 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11777
11778         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11779         New enum value.
11780         (create_array_type_with_stride): Add byte_stride_prop parameter.
11781         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11782         New parameter.  Update all callers in this file.
11783         (array_type_has_dynamic_stride): New function.
11784         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11785         of arrays with dynamic byte strides.
11786         * dwarf2read.c (read_array_type): Add support for dynamic
11787         DW_AT_byte_stride attributes.
11788
11789 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11790
11791         * dwarf2read.c (read_unspecified_type): Treat
11792         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11793
11794 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11795
11796         Update copyright year range in all GDB files.
11797
11798 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11799
11800         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11801         and gdb/testsuite/gdb.base/step-line.c.
11802
11803 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11804
11805         * copyright.py (main): Dump the contents of
11806         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11807         even if BY_HAND is empty.
11808
11809 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11810
11811         * top.c (print_gdb_version): Update Copyright year in version
11812         message.
11813
11814 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11815
11816         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11817
11818 For older changes see ChangeLog-2017.
11819 \f
11820 Local Variables:
11821 mode: change-log
11822 left-margin: 8
11823 fill-column: 74
11824 version-control: never
11825 coding: utf-8
11826 End: