Record explicit block ranges from dwarf2read.c
[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         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
11         for block.
12
13 2018-08-23  Xavier Roirand  <roirand@adacore.com>
14
15         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
16         incrementation.
17
18 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
19
20         * solib-svr4.c (read_program_headers_from_bfd): Return
21         gdb::optional<gdb::byte_vector>.
22         (svr4_exec_displacement): Adjust.
23
24 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
25
26         * solib-svr4.c (read_program_header): Return
27         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
28         (find_program_interpreter): Return
29         gdb::optional<gdb::byte_vector>.
30         (scan_dyntag_auxv): Adjust.
31         (enable_break): Adjust.
32         (svr4_exec_displacement): Adjust.
33
34 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
35
36         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
37         * inf-child.c (inf_child_target::terminal_save_inferior): New.
38
39 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
40
41         * guile/scm-string.c (gdbscm_scm_from_printf): Use
42         string_vprintf.
43         * guile/scm-utils.c (gdbscm_printf): Likewise.
44         * serial.c (serial_printf): Likewise.
45         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
46
47 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
48
49         * stack.c (print_frame): Print frame architecture when printing on
50         an MI output.
51         * NEWS: Mention new "arch" attribute in frame output.
52
53 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
54
55         * arch/aarch64.h (aarch64_regnum): Update comment.
56
57 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
58
59         * NEWS: Add SVE to 8.2 section.
60
61 2018-08-21  Pedro Alves  <palves@redhat.com>
62
63         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
64         out from gdbscm_parse_function_args.
65         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
66         gdbscm_parse_function_args_1.
67
68 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
69
70         PR gdb/17816
71         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
72         operator.
73
74 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
75
76         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
77
78 2018-08-19  Michael Spang  <spang@google.com>
79
80         PR gdb/11786
81         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
82         for PT_TLS segments.
83
84 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
85
86         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
87         dwarf_variable_value.
88         * dwarf2-frame.c (class dwarf_expr_executor):
89         Add override for dwarf_variable_value.
90         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
91         (class symbol_needs_eval_context): Likewise.
92         (indirect_synthetic_pointer): Add forward declaration.
93         (sect_variable_value): New function.
94         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
95         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
96         for DW_OP_GNU_variable_value.
97
98 2018-08-16  Tom Tromey  <tom@tromey.com>
99
100         * top.c (read_command_file): Update.
101         (command_line_input): Remove "repeat" argument.
102         * ada-lang.c (get_selections): Update.
103         * linespec.c (decode_line_2): Update.
104         * defs.h (command_line_input): Remove argument.
105         * cli/cli-script.c (read_next_line): Update.
106         * python/py-gdb-readline.c: Update.
107
108 2018-08-17  Tom Tromey  <tom@tromey.com>
109
110         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
111         command_line_input.
112
113 2018-08-15  Tom Tromey  <tom@tromey.com>
114
115         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
116
117 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
118
119         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
120         If used, use find_pc_partial_function to find address range
121         to disassemble.
122         * mi/mi-main.c (mi_cmd_list_features): Report
123         "data-disassemble-a-option" feature.
124         * NEWS: Mention new -data-disassemble option -a.
125
126 2018-08-13  Tom Tromey  <tom@tromey.com>
127
128         * common/common-defs.h (_FORTIFY_SOURCE): Define.
129
130 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
131
132         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
133         (aarch64_linux_collect_sve_regset): Likewise.
134         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
135         * regcache.h (regcache_map_entry_size): New function.
136
137 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
138
139         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
140         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
141         (SVE_HEADER_VL_LENGTH): Likewise.
142         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
143         (SVE_HEADER_FLAGS_LENGTH): Likewise.
144         (SVE_HEADER_RESERVED_LENGTH): Likewise.
145         (SVE_HEADER_SIZE_OFFSET): Likewise.
146         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
147         (SVE_HEADER_VL_OFFSET): Likewise.
148         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
149         (SVE_HEADER_FLAGS_OFFSET): Likewise.
150         (SVE_HEADER_RESERVED_OFFSET): Likewise.
151         (SVE_HEADER_SIZE): Likewise.
152         (aarch64_linux_core_read_vq): Add function.
153         (aarch64_linux_core_read_description): Check for SVE section.
154
155 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
156
157         * aarch64-fbsd-tdep.c
158         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
159         collect_size.
160         * aarch64-linux-tdep.c
161         (aarch64_linux_iterate_over_regset_sections): Likewise.
162         * alpha-linux-tdep.c
163         (alpha_linux_iterate_over_regset_sections):
164         * alpha-nbsd-tdep.c
165         (alphanbsd_iterate_over_regset_sections): Likewise.
166         * amd64-fbsd-tdep.c
167         (amd64fbsd_iterate_over_regset_sections): Likewise.
168         * amd64-linux-tdep.c
169         (amd64_linux_iterate_over_regset_sections): Likewise.
170         * arm-bsd-tdep.c
171         (armbsd_iterate_over_regset_sections): Likewise.
172         * arm-fbsd-tdep.c
173         (arm_fbsd_iterate_over_regset_sections): Likewise.
174         * arm-linux-tdep.c
175         (arm_linux_iterate_over_regset_sections): Likewise.
176         * corelow.c (get_core_registers_cb): Likewise.
177         (core_target::fetch_registers): Likewise.
178         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
179         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
180         * gdbarch.h (void): Regenerate.
181         * gdbarch.sh: Add supply_size and collect_size.
182         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
183         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
184         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
185         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
186         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
187         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
188         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
189         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
190         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
191         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
192         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
193         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
194         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
195         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
196         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
197         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
198         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
199         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
200         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
201         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
202         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
203         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
204         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
205         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
206         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
207         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
208         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
209         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
210         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
211         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
212
213 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
214
215         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
216         with string_printf.
217
218 2018-08-10  Keith Seitz  <keiths@redhat.com>
219
220         * compile/compile-c-support.c (add_code_header, add_code_footer):
221         Move into policy class.
222         (c_push_user_expression, pop_user_expression_nop)
223         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
224         (compile_program): New host class.
225         (c_compile_program): New typedef.
226         (c_compute_porgram): Use c_compile_program.
227
228 2018-08-10  Keith Seitz  <keiths@redhat.com>
229
230         * compile/compile-internal.h (compile_instance::~compile_instance):
231         Remove calls to htab_delete.
232         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
233         * compile.c (compile_instance::compile_instance): Initialize
234         htab unique pointers.
235         (compile_instance::get_cached_type, compile_instance::insert_type)
236         (compile_instance::error_symbol_once): Update for unique_ptr.
237
238 2018-08-10  Keith Seitz  <keiths@redhat.com>
239
240         * compile/compile-c-symbols.c (struct symbol_error)
241         (hash_symbol_error, eq_symbol_error, del_symbol_error)
242         (compile_instance::insert_symbol_error)
243         (compile_instance::error_symbol_once): Move to ...
244         * compile/compile.c: ... here.
245
246 2018-08-10  Keith Seitz  <keiths@redhat.com>
247
248         * compile/compile-c-support.c (c_get_compile_context): Use `new'
249         instead of `new_compile_instance'.
250         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
251         Update description.
252         If the symbol error map is not initialized, create it.
253         (generate_c_for_for_one_symbol): Do not check/initialize
254         the symbol error map.
255         * compile/compile-c-types.c (compile_c_instance): Make a class.
256         Update all callers.
257         (compile_instance::compile_instance): Initialize the type cache.
258         (get_cached_type): New function.
259         (insert_type): Update description.
260         (compile_c_instance::m_default_cflags): Define.
261         (convert_type): Update description.  Use get_cached_type.
262         (delete_instance): Moved to destructor.
263         (new_compile_instance): Moved to constructor.
264         * compile/compile-c.h (compile_c_instance): Make class inheriting
265         from compile_instance.
266         <base>: Remove field.
267         <type_map, symbol_err_map>: Move to base class.
268         <c_plugin>: Rename to `m_plugin' and remove pointer type.
269         * compile/compile-internal.h (compile_instance): Make class.
270         <type_map_t, symbol_err_map_t>: Define.
271         <fe>: Rename to `m_gcc_fe'.
272         <scope, block, gcc_target_options>: Add `m_' prefix.
273         <m_type_map, m_symbol_err_map>: New fields, moved from
274         compile_c_instance.
275         <destroy>: Remove.
276         (convert_type, new_compile_instance): Remove.
277         * compile/compile.c (cleanup_compile_instance): Remove.
278         (compile_to_object): Use unique_ptr to eliminate cleanups.
279         (compile_instance::set_print_callback, compile_instance::version)
280         (compile_instance::set_verbose)
281         (compile_instance::set_driver_filename)
282         (compile_instance::set_triplet_regexp)
283         (compile_instance::set_arguments)
284         (compile_instance::set_source_file)
285         (compile_instance::compile): Define.
286
287 2018-08-10  Keith Seitz  <keiths@redhat.com>
288
289         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
290         * compile/compile-c-types.c: Define GCC_METHODN macros and include
291         gcc-c-fe.def to define C plugin.
292         (delete_instance): Delete `c_plugin'.
293         (new_compile_instance): Initialize `c_plugin'.
294         * compile/compile-c.h: Include gcc_c_plugin.h.
295         (struct compile_c_instance) <c_plugin>: New member.
296         * gcc-c-plugin.h: New file.
297         Update all callers with API change.
298
299 2018-08-10  Keith Seitz  <keiths@redhat.com>
300
301         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
302         (HFILES_NO_SRCDIR): ... to here.
303         Add compile-internal.h and compile-c.h.
304         * compile/compile-c-support.c: Include compile-c.h.
305         * compile/compile-c-symbols.c: Include compile-c.h.
306         (generate_c_for_variable_locations): Update comment.
307         * compile/compile-c-types.c: Include compile-c.h.
308         * compile/compile-c.h: New file -- moved C language declarations
309         from other files here.
310         * compile/compile-internal.h: Do not include hashtab.h or
311         common/enum-flags.h.
312         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
313         (gcc_convert_symbol, gcc_symbol_address)
314         (generate_c_for_variable_locations, c_get_mode_for_size)
315         (c_get_range_decl_name): Definitions moved to compile-c.h.
316         * compile/compile-loc2c.c: Include compile-c.h.
317
318 2018-08-10  Keith Seitz  <keiths@redhat.com>
319
320         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
321         (c_symbol_substitution_name): ... this.
322         Update all callers.
323
324 2018-08-10  Keith Seitz  <keiths@redhat.com>
325
326         * compile/compile-c-support.c (c_compute_program): Use
327         unique_xmalloc_ptr to eliminate cleanup.
328         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
329         Return a unique_xmalloc_ptr and eliminate cleanup.
330         * compile/compile-internal.h (generate_c_for_variable_locations):
331         Return unique_xmalloc_ptr and update description.
332
333 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
334
335         * corelow.c (core_target::get_core_register_section): Rename
336         min_size to section_min_size.
337
338 2018-08-09  Jim Wilson  <jimw@sifive.com>
339
340         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
341         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
342         * NEWS: Mention new GNU/Linux RISC-V target.
343         * configure.host: Add riscv*-*-linux*.
344         * configure.nat: Add riscv*.
345         * configure.tgt: Add riscv*-*-linux*.
346         * riscv-linux-nat.c: New file.
347         * riscv-linux-tdep.c: New file.
348
349 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
350
351         * infrun.c (resume): Make static, add forward declaration.
352         (proceed): Update header comment.
353         * infrun.h (resume): Delete declaration.
354
355 2018-08-09  Tom Tromey  <tom@tromey.com>
356
357         * riscv-tdep.h: Minor formatting fixes.
358
359 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
360
361         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
362         * dwarf-index-cache.c (create_dir_and_check): Likewise.
363         (test_mkdir_recursive): Likewise.
364         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
365
366 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
367
368         * valarith.c (value_subscripted_rvalue): If an array is not in
369         memory, and we don't know the upper bound, then we can't know that
370         the requested element exists or not.
371
372 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
373
374         * target.c (str_comma_list_concat_elem): Fix typo in comment.
375         (target_options_to_string): Add comment.
376
377 2018-08-08  Tom Tromey  <tom@tromey.com>
378
379         * unittests/scoped_mmap-selftests.c: Check result of "write".
380
381 2018-08-08  Jim Wilson  <jimw@sifive.com>
382
383         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
384         (decode_register_index_short): New.
385         (decode_j_type_insn, decode_cj_type_insn): New.
386         (decode_b_type_insn, decode_cb_type_insn): New.
387         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
388         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
389         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
390         is_c_sw_insn instead of is_sw_insn.
391         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
392         (riscv_software_single_step): New.
393         * riscv-tdep.h (riscv_software_single_step): Declare.
394
395         * riscv-tdep.c (riscv_isa_xlen): Drop static.
396         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
397
398 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
399
400         PR gdb/18050:
401         * target.c (dispose_inferior): Don't dispose of inferiors that are
402         already killed.
403
404 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
405
406         * remote.c (remote_target::download_tracepoint): Change char* to
407         const char*.
408
409 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
410
411         * target.h (target_options_to_string): Return an std::string.
412         * target.c (str_comma_list_concat_elem): Return void, use
413         std::string.
414         (do_option): Likewise.
415         (target_options_to_string): Return an std::string.
416         * linux-nat.c (linux_nat_target::wait): Adjust.
417         * target-debug.h (target_debug_print_options): Adjust.
418
419 2018-08-07  Tom Tromey  <tom@tromey.com>
420
421         * Makefile.in (CPPFLAGS): New variable.
422         (INTERNAL_CPPFLAGS): Use it.
423
424 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
425
426         * NEWS: Mention the index cache.
427
428 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
429
430         * common/pathstuff.h (get_standard_cache_dir): New.
431         * common/pathstuff.c (get_standard_cache_dir): New.
432         * build-id.h (build_id_to_string): New.
433         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
434         DEBUG_STR_SUFFIX): Move to here.
435         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
436         DEBUG_STR_SUFFIX): Move from there.
437         (write_psymtabs_to_index): Make non-static, add basename
438         parameter.  Write to temporary files, rename when done.
439         (save_gdb_index_command): Adjust call to
440         write_psymtabs_to_index.
441         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
442         field.
443         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
444         (get_gdb_index_contents_from_cache): New.
445         (get_gdb_index_contents_from_cache_dwz): New.
446         (dwarf2_initialize_objfile): Read index from cache.
447         (dwarf2_build_psymtabs): Save to index.
448         * dwarf-index-cache.h: New file.
449         * dwarf-index-cache.c: New file.
450         * dwarf-index-write.h: New file.
451
452 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
453
454         * gnulib/aclocal.m4: Re-generate.
455         * gnulib/config.in: Re-generate.
456         * gnulib/configure: Re-generate.
457         * gnulib/import/Makefile.am: Re-generate.
458         * gnulib/import/Makefile.in: Re-generate.
459         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
460         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
461         * gnulib/import/m4/mkdir.m4: New file.
462         * gnulib/import/mkdir.c: New file.
463         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
464         module.
465
466 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
467
468         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
469         * common/scoped_mmap.c: New file.
470         * common/scoped_mmap.h (destroy): New method.
471         (~scoped_mmap, reset): Use destroy.
472         (scoped_mmap): New move constructor.
473         (mmap_file): New declaration.
474         * unittests/scoped_mmap-selftests.c (test_normal,
475         test_invalid_filename, run_tests): New functions.
476         (_initialize_scoped_mmap_selftests): Register selftest.
477
478 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
479
480         * dwarf2read.c (read_gdb_index_from_section): Rename to...
481         (read_gdb_index_from_buffer): ... this.  Remove section
482         parameter, add buffer parameter.
483         (get_gdb_index_contents_ftype,
484         get_gdb_index_contents_dwz_ftype): New typedefs.
485         (dwarf2_read_gdb_index): Add callback parameters to get the
486         index contents.
487         (get_gdb_index_contents_from_section): New.
488         (dwarf2_initialize_objfile): Update call to
489         dwarf2_read_gdb_index.
490
491 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
492
493         * common/filestuff.h (gdb_fopen_cloexec): New overload.
494         (gdb_open_cloexec): Likewise.
495         * nat/linux-osdata.c (command_from_pid): Use string_printf.
496         (commandline_from_pid): Likewise.
497         (linux_xfer_osdata_threads): Likewise.
498         (linux_xfer_osdata_fds): Likewise.
499         * ada-lang.c (is_package_name): Likewise.
500         * auxv.c (procfs_xfer_auxv): Likewise.
501         * breakpoint.c (print_one_breakpoint_location): Use
502         uiout::field_fmt.
503         (print_one_catch_solib): Use string_printf.
504         * coff-pe-read.c (add_pe_exported_sym): Likewise.
505         (add_pe_forwarded_sym): Likewise.
506         * dwarf2read.c (create_type_unit_group): Likewise.
507         (build_error_marker_type): Likewise.
508         * infcall.c (get_function_name): Likewise.
509         * valprint.c (print_converted_chars_to_obstack): Likewise.
510         * xtensa-tdep.c (xtensa_register_type): Likewise.
511
512 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
513
514         * remote.c (remote_target::download_tracepoint): Fix format
515         string errors.
516
517 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
518
519         * tracefile.c: Include common/byte-vector.h.
520         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
521         with trace_regblock_size if needed.  Update uses of buf.
522
523 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
524
525         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
526         std::vector<unsigned char>.
527         * tracepoint.c (collection_list::collection_list): Remove
528         m_regs_mask initializer from initializer list.  Resize
529         m_regs_mask using the largest remote register number.
530         (collection_list::add_remote_register): Remove size check on
531         m_regs_mask.  Use at to access element.
532         (collection_list::stringify): Change type of temp_buf to
533         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
534         stringify the register mask.  Use pack_hex_byte for the register
535         mask.
536
537 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
538
539         * tracepoint.h (class collection_list) <add_register>: Remove.
540         <add_remote_register, add_ax_registers, add_local_register>:
541         Declare.
542         <add_memrange>: Add scope parameter.
543         * tracepoint.c (encode_actions_1): Likewise.
544         (collection_list::add_register): Rename to ...
545         (collection_list::add_remote_register): ... this.  Update
546         comment.
547         (collection_list::add_ax_registers, add_local_register): New
548         methods.
549         (collection_list::add_memrange): Add scope parameter.  Call
550         add_local_register instead of add_register.
551         (finalize_tracepoint_aexpr): New function.
552         (collection_list::collect_symbol): Update calls to add_memrange.
553         Call add_local_register instead of add_register.  Call
554         add_ax_registers.  Call finalize_tracepoint_aexpr.
555         (encode_actions_1): Get remote regnos for $reg action.  Call
556         add_remote_register, add_ax_registers, and add_local_register.
557         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
558         (validate_actionline): Call finalize_tracepoint_aexpr.
559
560 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
561
562         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
563         Replace array buf with gdb::char_vector buf, of size
564         get_remote_packet_size ().  Replace references to buf and
565         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
566         and xsnprintf with snprintf.  Raise errors if the buffer is too
567         small.
568
569 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
570
571         * remote.c (remote_target::download_tracepoint): Fix the has_more
572         predicate in the QTDP action list iteration.
573
574 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
575
576         * remote.c (remote_target::download_tracepoint): Fix indentation
577         in for block.
578
579 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
580
581         * proc-api.c (_initialize_proc_api): Remove c, unused.
582         * procfs.c (procfs_init_inferior): Remove signals, unused.
583         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
584         unused.
585
586 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
587             Andrew Burgess  <andrew.burgess@embecosm.com>
588
589         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
590         'W_STOPCODE (0)' as this could be ambiguous.
591
592 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
593
594         * ser-tcp.c (net_open): Fix thinko when deciding whether to
595         disable TCP's Nagle algorithm (use "ai_protocol" instead of
596         "ai_socktype").
597
598 2018-08-02  Tom Tromey  <tom@tromey.com>
599
600         PR symtab/16842.
601         * dwarf2read.c (read_func_scope): Set symtab on template parameter
602         symbols.
603         (process_structure_scope): Likewise.
604
605 2018-08-02  Xavier Roirand  <roirand@adacore.com>
606
607         PR gdb/22629:
608         * darwin-nat.c (darwin_kill_inferior): Fix handling of
609         kill inferior.
610
611 2018-08-02  Tom Tromey  <tom@tromey.com>
612
613         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
614         (darwin_suspend_inferior, darwin_resume_inferior)
615         (darwin_decode_notify_message, darwin_resume_inferior_threads)
616         (darwin_check_new_threads): Check result of get_darwin_inferior.
617
618 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
619
620         GDB 8.1.1 released.
621
622 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
623
624         * varobj.c (varobj_get_path_expr_parent): Report an error if
625         parent is a dynamic varobj.
626
627 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
628
629         * gnulib/aclocal.m4: Re-generate.
630         * gnulib/config.in: Re-generate.
631         * gnulib/configure: Re-generate.
632         * gnulib/import/Makefile.in: Re-generate.
633         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
634         * gnulib/import/m4/onceonly.m4: Re-generate.
635
636 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
637
638         * target-descriptions.c (struct xml_test_tdesc): New.
639         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
640         (record_xml_tdesc): Update.
641         (maintenance_check_xml_descriptions): Update.
642         * target-descriptions.h (record_xml_tdesc): Update comment.
643
644 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
645
646         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
647         checking array bounds are defined.
648
649 2018-07-30  Tom Tromey  <tom@tromey.com>
650
651         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
652         irreflexivity violation.
653
654 2018-07-30  Tom Tromey  <tom@tromey.com>
655
656         * cli/cli-decode.c (lookup_cmd): Remove lint code.
657         * value.c (unpack_long): Remove lint code.
658         * valops.c (value_ind): Remove lint code.
659         * valarith.c (value_x_binop, value_x_unop, value_equal)
660         (value_pos): Remove lint code.
661
662 2018-07-28  Tom de Vries  <tdevries@suse.de>
663
664         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
665         with undefined upper bound as <optimized out>.
666
667 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
668
669         * gcore.in: Rename variable "name" to "prefix".  Expand
670         "usage" text.
671
672 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
673
674         * windows-nat.c (windows_nat_target::create_inferior): Update to
675         call close() in global namespace.
676
677 2018-07-26  Tom Tromey  <tom@tromey.com>
678
679         * dwarf-index-write.c (add_address_entry): Don't add objfile
680         offsets.
681         * dbxread.c (find_stab_function): Rename from
682         find_stab_function_addr.  Return a bound_minimal_symbol.
683         (read_dbx_symtab): Use raw_text_low, raw_text_high.
684         Don't add objfile offsets.
685         (end_psymtab): Use raw_text_low, raw_text_high,
686         MSYMBOL_VALUE_RAW_ADDRESS.
687         (read_ofile_symtab): Update.
688         (process_one_symbol): Update.
689         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
690         offsets.
691         (dw2_relocate): Remove.
692         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
693         searching addrmap.
694         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
695         Update.
696         (process_psymtab_comp_unit_reader, add_partial_symbol)
697         (add_partial_subprogram, dwarf2_ranges_read): Update.
698         (load_partial_dies): Update.
699         (add_address_entry): Don't add objfile offsets.
700         (dwarf2_build_include_psymtabs): Update.
701         (create_addrmap_from_aranges): Don't add objfile offsets.
702         (dw2_find_pc_sect_compunit_symtab): Update.
703         * mdebugread.c (parse_symbol): Don't add objfile offsets.
704         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
705         Update.
706         (parse_partial_symbols): Don't add objfile offsets.  Use
707         raw_text_low, raw_text_high.  Update.
708         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
709         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
710         or call 'relocate' quick function.  Clear psymbol_map.
711         * psympriv.h (struct partial_symbol) <address>: Add section
712         offset.
713         <set_unrelocated_address>: Rename from set_address.
714         <raw_text_low, raw_text_high>: New methods.
715         <text_low, text_high>: Add objfile parameter.
716         (add_psymbol_to_bcache): Add 'section' parameter.  Call
717         set_unrelocated_address.
718         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
719         (find_pc_psymbol): Update.
720         (fixup_psymbol_section, relocate_psymtabs): Remove.
721         (dump_psymtab, psym_functions): Update.
722         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
723         parameter.
724         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
725         (start_psymtab_common): Update.
726         * symfile-debug.c (debug_qf_relocate): Remove.
727         (debug_sym_quick_functions): Update.
728         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
729         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
730         Update.
731
732 2018-07-26  Tom Tromey  <tromey@redhat.com>
733
734         * dbxread.c (end_psymtab): Use text_high_valid and
735         text_low_valid.
736         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
737         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
738         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
739         Update comment.
740         <text_low_valid, text_high_valid>: New fields.
741         <set_text_low, set_text_high>: Update.
742         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
743
744 2018-07-26  Tom Tromey  <tom@tromey.com>
745
746         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
747         Update.
748         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
749         textlow and texthigh fields.
750         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
751         Update.
752         * mdebugread.c (parse_lines, parse_partial_symbols)
753         (psymtab_to_symtab_1): Update.
754         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
755         Rename fields.  Update comment.  Now private.
756         <text_low, text_high, set_text_low, set_text_high>: New methods.
757         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
758         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
759         (start_psymtab_common, maintenance_info_psymtabs)
760         (maintenance_check_psymtabs): Update.
761         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
762         texthigh fields.
763         (scan_xcoff_symtab): Update.
764
765 2018-07-26  Tom Tromey  <tromey@redhat.com>
766
767         * psympriv.h (struct partial_symbol) <unrelocated_address,
768         address, set_address>: New methods.
769         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
770         (fixup_psymbol_section, relocate_psymtabs): Update.
771         (print_partial_symbols): Add 'objfile' parameter.  Update.
772         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
773         Update.
774
775 2018-07-26  Tom Tromey  <tom@tromey.com>
776
777         * dwarf-index-write.c (write_psymbols, debug_names::insert)
778         (debug_names::write_psymbols): Update.
779         * psympriv.h (struct partial_symbol): Derive from
780         general_symbol_info.
781         <obj_section>: New method.
782         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
783         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
784         (find_pc_sect_psymbol, fixup_psymbol_section)
785         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
786         (print_partial_symbols, recursively_search_psymtabs)
787         (compare_psymbols, psymbol_hash, psymbol_compare)
788         (add_psymbol_to_bcache, maintenance_check_psymtabs)
789         (psymbol_name_matches, psym_fill_psymbol_map): Update.
790
791 2018-07-26  Tom Tromey  <tromey@redhat.com>
792
793         * dbxread.c (end_psymtab): Remove dead code.
794
795 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
796
797         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
798         DWARF unwinders are disabled.
799         * dwarf2-frame.c: Add dwarf2read.h include.
800         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
801         disabled.
802         (dwarf2_frame_unwinders_enabled_p): Define.
803         (show_dwarf_unwinders_enabled_p): New function.
804         (_initialize_dwarf2_frame): Register switch to control DWARF
805         unwinder use.
806         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
807         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
808         (show_dwarf_cmdlist): Remove static keyword.
809         * dwarf2read.h (set_dwarf_cmdlist): Declare.
810         (show_dwarf_cmdlist): Declare.
811         * NEWS: Document new feature.
812
813 2018-07-26  Tom de Vries  <tdevries@suse.de>
814
815         PR breakpoints/23366
816         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
817
818 2018-07-26  Tom de Vries  <tdevries@suse.de>
819
820         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
821         DW_AT_count can't be translated to a dynamic prop.
822
823 2018-07-25  Tom de Vries  <tdevries@suse.de>
824
825         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
826         try/catch.
827
828 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
829
830         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
831
832 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
833
834         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
835
836 2018-07-24  Keith Seitz  <keiths@redhat.comt
837
838         PR symtab/23010
839         * dwarf2read.c (dw2_add_symbol_to_list): New function.
840         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
841         instead of add_symbol_to_list.
842         (read_file_scope): Call prepare_one_comp_unit before reading
843         any other DIEs.
844
845 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
846
847         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
848
849 2018-07-24  Tom Tromey  <tom@tromey.com>
850
851         * utils.c (malloc, realloc, free): Don't declare.
852         * configure, config.in: Rebuild.
853         * configure.ac: Don't check for declarations of free, malloc, or
854         realloc.
855
856 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
857
858         * aarch64-linux-nat.c
859         (aarch64_linux_nat_target::stopped_data_address): Remove unused
860         variable.
861         * arm-linux-nat.c (fetch_regs): Likewise.
862         (store_regs): Likewise.
863         (fetch_vfp_regs): Likewise.
864         (store_vfp_regs): Likewise.
865         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
866         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
867         (arm_linux_nat_target::insert_watchpoint): Likewise.
868         (arm_linux_nat_target::remove_watchpoint): Likewise.
869         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
870         Likewise.
871         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
872         Likewise.
873         * ppc-linux-nat.c (fetch_register): Likewise.
874         (fetch_all_gp_regs): Likewise.
875         (fetch_ppc_registers): Likewise.
876         (store_all_gp_regs): Likewise.
877         (store_ppc_registers): Likewise.
878         (hwdebug_insert_point): Likewise.
879         (can_use_watchpoint_cond_accel): Likewise.
880         * remote-sim.c (gdb_os_write_stdout): Likewise.
881
882 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
883             Tom Tromey  <tom@tromey.com>
884
885         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
886         test for it.
887         * configure: Rebuild.
888
889 2018-07-22  Tom Tromey  <tom@tromey.com>
890
891         * regformats/regdat.sh: Define xmltarget_${name} inside
892         #ifndef IN_PROCESS_AGENT.
893
894 2018-07-22  Tom Tromey  <tom@tromey.com>
895
896         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
897
898 2018-07-22  Tom Tromey  <tom@tromey.com>
899
900         * symfile.c (reread_symbols): Notify iter, not objfile.
901
902 2018-07-22  Tom Tromey  <tom@tromey.com>
903
904         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
905         Use arch_ops.
906         (ravenscar_thread_target::prepare_to_store): Likewise.
907
908 2018-07-22  Tom Tromey  <tom@tromey.com>
909
910         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
911         unused variable.  Call value_fetch_lazy when needed.
912         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
913         Remove unused variable.  Call value_fetch_lazy when needed.
914
915 2018-07-22  Tom Tromey  <tom@tromey.com>
916
917         * m32c-tdep.c (mark_dma): Return void.
918         (make_regs): Remove unused declarations.
919
920 2018-07-22  Tom Tromey  <tom@tromey.com>
921
922         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
923         cmdscm_get_valid_command_smob_arg_unsafe for effect.
924         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
925         bkscm_get_valid_block_smob_arg_unsafe for effect.
926
927 2018-07-22  Tom Tromey  <tom@tromey.com>
928
929         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
930         value_type.
931
932 2018-07-22  Tom Tromey  <tom@tromey.com>
933
934         * windows-nat.c (saved_context): Conditionally define.
935         * remote.c (remote_target::remote_btrace_maybe_reopen):
936         Conditionally declare "warned".
937         * inflow.c (sigquit_ours): Conditionally define.
938         (new_tty): Move "tty" declaration inside #if.
939         * guile/guile.c (guile_datadir): Conditionally define.
940         * charset.c (set_be_le_names): Move some declarations inside #if.
941         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
942         #if.
943         (parse_xml_btrace_conf): Likewise.
944
945 2018-07-22  Tom Tromey  <tom@tromey.com>
946
947         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
948
949 2018-07-22  Tom Tromey  <tom@tromey.com>
950
951         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
952         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
953         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
954         * buildsym-legacy.c (get_macro_table): Remove unused variable.
955         * stack.c (frame_apply_level_command): Remove unused variable.
956         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
957         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
958         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
959         unused variable.
960         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
961         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
962         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
963         variable.
964         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
965         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
966         variable.
967         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
968         Remove unused variable.
969         * cli/cli-script.c (recurse_read_control_structure): Remove unused
970         variable.
971         * common/tdesc.c (print_xml_feature::visit): Remove unused
972         variable.
973         * compile/compile-object-load.c (store_regs): Remove unused
974         variables.
975         * complaints.c (clear_complaints): Remove unused variable.
976         * corelow.c (core_target_open): Remove unused variable.
977         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
978         variable.
979         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
980         variable.
981         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
982         variable.
983         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
984         variable.
985         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
986         variable.
987         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
988         variable.
989         * ia64-tdep.c (examine_prologue): Remove unused variable.
990         * infcall.c (run_inferior_call): Remove unused variable.
991         * inferior.c (exit_inferior): Remove unused variable.
992         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
993         * linespec.c (decode_line_2): Remove unused variable.
994         * linux-nat.c (super_close): Remove.
995         * linux-tdep.c (linux_info_proc): Remove unused variable.
996         * mi/mi-main.c (mi_execute_command): Remove unused variable.
997         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
998         Remove unused variable.
999         * parse.c (find_minsym_type_and_address): Remove unused variable.
1000         * printcmd.c (info_symbol_command, printf_floating): Remove unused
1001         variable.
1002         * python/py-breakpoint.c (bppy_set_commands): Remove unused
1003         variable.
1004         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
1005         variables.
1006         * record-btrace.c (record_btrace_target::store_registers): Remove
1007         unused variable.
1008         (cmd_show_record_btrace_cpu): Remove unused variable.
1009         * riscv-tdep.c (riscv_register_reggroup_p)
1010         (riscv_push_dummy_call, riscv_return_value): Remove unused
1011         variable.
1012         * rust-exp.y (literal): Remove unused variable.
1013         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
1014         unused variable.
1015         <STRUCTOP_ANONYMOUS>: Likewise.
1016         * s390-linux-tdep.c (s390_linux_init_abi_31)
1017         (s390_linux_init_abi_64): Remove unused variable.
1018         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
1019         (file_select_thread, net_windows_open, _initialize_ser_windows):
1020         Remove unused variables.
1021         * symtab.c (find_pc_sect_line): Remove unused variable.
1022         * target-memory.c (compute_garbled_blocks): Remove unused
1023         variable.
1024         (target_write_memory_blocks): Remove unused variable.
1025         * target.c (target_stack::unpush): Remove unused variables.
1026         * tracepoint.c (start_tracing, all_tracepoint_actions)
1027         (merge_uploaded_trace_state_variables)
1028         (print_one_static_tracepoint_marker): Remove unused variable.
1029         * unittests/basic_string_view/element_access/char/1.cc (test01):
1030         Remove unused variable.
1031         * windows-nat.c (windows_continue, windows_add_all_dlls)
1032         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1033         Remove unused variables.
1034
1035 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1036
1037         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1038         attr_profile in HAVE_ELF.
1039         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1040         HAVE_ELF.
1041
1042 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1043
1044         * frame.c (frame_register_unwind): Change parameter name.
1045         (frame_unwind_register): Likewise.
1046         (frame_unwind_register_value): Likewise.
1047         (frame_unwind_register_signed): Likewise.
1048         (frame_unwind_register_unsigned): Likewise.
1049         * frame.h (frame_register_unwind): Likewise.
1050         (frame_unwind_register): Likewise.
1051         (frame_unwind_register_value): Likewise.
1052         (frame_unwind_register_signed): Likewise.
1053         (frame_unwind_register_unsigned): Likewise.
1054         (frame_unwind_arch): Likewise.
1055
1056 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1057
1058         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1059         ISA maintenance.
1060
1061 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1062
1063         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1064         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1065         hand.
1066
1067 2018-07-20  Keith Seitz  <keiths@redhat.com>
1068
1069         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1070         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1071         m_compunit_symtab, m_language>: Add "m_" prefix.
1072         Update all uses.
1073         * buildsym.c: Update all uses.
1074
1075 2018-07-20  Tom Tromey  <tom@tromey.com>
1076
1077         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1078         * buildsym.h (record_line_ftype): Remove typedef.
1079
1080 2018-07-20  Tom Tromey  <tom@tromey.com>
1081
1082         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1083         (end_expandable_symtab): Likewise.
1084         (end_symtab_get_static_block): Likewise.
1085         (end_symtab_from_static_block): Likewise.
1086         * buildsym-legacy.c (augment_type_symtab): Remove.
1087         (end_expandable_symtab): Remove.
1088         (end_symtab_get_static_block): Remove.
1089         (end_symtab_from_static_block): Remove.
1090
1091 2018-07-20  Tom Tromey  <tom@tromey.com>
1092
1093         * dwarf2read.c: Include buildsym.h.
1094         (struct dwarf2_cu) <builder>: New method.
1095         (fixup_go_packaging): Update.
1096         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1097         use scoped_free_pendings.
1098         (using_directives): Add "cu" parameter, remove "language".
1099         (read_import_statement, setup_type_unit_groups, )
1100         (read_func_scope, read_lexical_block_scope)
1101         (dwarf2_record_block_ranges, read_namespace): Update.
1102         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1103         (lnp_state_machine::handle_end_sequence): Update.
1104         (class lnp_state_machine) <m_cu>: New member.
1105         <m_record_line_callback>: Remove.
1106         <m_currently_recording_lines>: New member.
1107         (lnp_state_machine::handle_set_file): Update.
1108         (noop_record_line): Remove.
1109         (dwarf_record_line_p): Add cu parameter.
1110         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1111         (lnp_state_machine::record_line)
1112         (lnp_state_machine::lnp_state_machine)
1113         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1114         (dwarf_decode_lines): Update.
1115         (dwarf2_start_subfile): Add cu parameter.
1116         (dwarf2_start_symtab, new_symbol): Update.
1117         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1118         Remove dwarf2_per_objfile parameter.
1119         (dwarf_decode_macros): Update.
1120
1121 2018-07-20  Tom Tromey  <tom@tromey.com>
1122
1123         * stabsread.c (define_symbol): Update.
1124         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1125         * dwarf2read.c (new_symbol): Update.
1126         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1127         * cp-namespace.c: Include buildsym.h.
1128         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1129         * buildsym-legacy.c (get_buildsym_compunit): New function.
1130
1131 2018-07-20  Tom Tromey  <tom@tromey.com>
1132
1133         * xcoffread.c: Include buildsym-legacy.h.
1134         * windows-nat.c: Include buildsym-legacy.h.
1135         * stabsread.c: Include buildsym-legacy.h.
1136         * mdebugread.c: Include buildsym-legacy.h.
1137         * buildsym-legacy.h: New file.
1138         * buildsym-legacy.c: New file, from buildsym.c.
1139         * go32-nat.c: Include buildsym-legacy.h.
1140         * dwarf2read.c: Include buildsym-legacy.h.
1141         * dbxread.c: Include buildsym-legacy.h.
1142         * cp-namespace.c: Include buildsym-legacy.h.
1143         * coffread.c: Include buildsym-legacy.h.
1144         * buildsym.h: Move some contents to buildsym-legacy.h.
1145         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1146         buildsym-legacy.c.
1147         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1148
1149 2018-07-20  Tom Tromey  <tom@tromey.com>
1150
1151         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1152         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1153         (buildsym_compunit::buildsym_compunit)
1154         (buildsym_compunit::~buildsym_compunit)
1155         (buildsym_compunit::get_macro_table): Define.
1156
1157 2018-07-20  Tom Tromey  <tom@tromey.com>
1158
1159         * buildsym.c (reset_symtab_globals): Remove.
1160         (buildsym_compunit::end_symtab_from_static_block): Update.
1161         (buildsym_compunit::augment_type_symtab): Update.
1162         (end_symtab_from_static_block): Call free_buildsym_compunit.
1163         (augment_type_symtab, end_symtab, end_expandable_symtab):
1164         Likewise.
1165
1166 2018-07-20  Tom Tromey  <tom@tromey.com>
1167
1168         * arch-utils.c: Do not include buildsym.h.
1169         * mipsread.c: Do not include buildsym.h.
1170         * machoread.c: Do not include buildsym.h.
1171         * elfread.c: Do not include buildsym.h.
1172
1173 2018-07-20  Tom Tromey  <tom@tromey.com>
1174
1175         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
1176         initialization.
1177         (buildsym_compunit): Add new constructor.
1178         (struct buildsym_compunit) <get_last_source_file, finish_block,
1179         record_block_range, start_subfile, patch_subfile_names,
1180         push_subfile, pop_subfile, record_line, get_compunit_symtab,
1181         set_last_source_start_addr, get_last_source_start_addr,
1182         get_local_using_directives, set_local_using_directives,
1183         get_global_using_directives, outermost_context_p,
1184         get_current_context_stack, get_context_stack_depth,
1185         get_current_subfile, get_local_symbols, get_file_symbols,
1186         get_global_symbols, record_debugformat, record_producer,
1187         push_context, pop_context, end_symtab_get_static_block,
1188         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
1189         New public methods.
1190         <record_pending_block, finish_block_internal, make_blockvector,
1191         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
1192         private methods.
1193         Update all users.
1194
1195 2018-05-22  Tom Tromey  <tom@tromey.com>
1196
1197         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1198         parameter.
1199         (finish_block_internal): Update.
1200
1201 2018-07-20  Tom Tromey  <tom@tromey.com>
1202
1203         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1204         parameter.
1205         (finish_block_internal): Update.
1206
1207 2018-07-20  Tom Tromey  <tom@tromey.com>
1208
1209         * buildsym.h (EXTERN): Don't define or undef.
1210         * buildsym.c (EXTERN): Don't define.
1211
1212 2018-07-20  Tom Tromey  <tom@tromey.com>
1213
1214         * buildsym.c: Remove TODO comment.
1215
1216 2018-07-20  Tom Tromey  <tom@tromey.com>
1217
1218         * coffread.c (coff_symtab_read): Update.
1219         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
1220         (xcoff_new_init): Update.
1221         * mipsread.c (mipscoff_new_init): Update.
1222         * mdebugread.c (mdebug_build_psymtabs): Update.
1223         * elfread.c (elf_new_init): Update.
1224         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
1225         Update.
1226         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
1227         (coffstab_build_psymtabs, elfstab_build_psymtabs)
1228         (stabsect_build_psymtabs): Update.
1229         * buildsym.h (buildsym_init): Don't declare.
1230         * buildsym.c: Update comment.
1231         (prepare_for_building): Remove.
1232         (start_symtab, restart_symtab): Update.
1233         (reset_symtab_globals): Update comment.
1234         (buildsym_init): Remove.
1235
1236 2018-07-20  Tom Tromey  <tom@tromey.com>
1237
1238         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
1239         * stabsread.c (patch_block_stabs, define_symbol, read_type)
1240         (read_enum_type, common_block_start, common_block_end)
1241         (cleanup_undefined_types_1, finish_global_stabs): Update.
1242         * mdebugread.c (psymtab_to_symtab_1): Update.
1243         * dwarf2read.c (fixup_go_packaging, read_func_scope)
1244         (read_lexical_block_scope, new_symbol): Update.
1245         * dbxread.c (process_one_symbol): Update.
1246         * coffread.c (coff_symtab_read, process_coff_symbol)
1247         (coff_read_enum_type): Update.
1248         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
1249         declare.
1250         (get_local_symbols, get_file_symbols, get_global_symbols): New
1251         functions.
1252         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
1253         m_global_symbols.
1254         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
1255         (~scoped_free_pendings): Update.
1256         (finish_block, prepare_for_building, reset_symtab_globals)
1257         (end_symtab_get_static_block, end_symtab_with_blockvector)
1258         (augment_type_symtab, push_context): Update.
1259         (get_local_symbols, get_file_symbols, get_global_symbols): New
1260         functions.
1261         (buildsym_init): Update.
1262
1263 2018-07-20  Tom Tromey  <tom@tromey.com>
1264
1265         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
1266         (process_full_type_unit): Likewise.
1267         (dwarf2_start_symtab): Set list_in_scope.
1268
1269 2018-07-20  Tom Tromey  <tom@tromey.com>
1270
1271         * dwarf2read.c (process_psymtab_comp_unit_reader)
1272         (build_type_psymtabs_reader): Do not set list_in_scope.
1273
1274 2018-07-20  Tom Tromey  <tom@tromey.com>
1275
1276         * buildsym.c (free_pendings): Remove.
1277         (add_symbol_to_list, scoped_free_pendings)
1278         (finish_block_internal, buildsym_init): Update.
1279
1280 2018-07-20  Tom Tromey  <tom@tromey.com>
1281
1282         * xcoffread.c (read_xcoff_symtab): Update.
1283         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
1284         Update.
1285         * dbxread.c (process_one_symbol): Update.
1286         * coffread.c (coff_symtab_read): Update.
1287         * buildsym.h (finish_block): Update.
1288         * buildsym.c (finish_block): Remove "listhead" argument.
1289         (end_symtab_get_static_block): Update.
1290
1291 2018-07-20  Tom Tromey  <tom@tromey.com>
1292
1293         * buildsym.h (class scoped_free_pendings): Remove constructor.
1294         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
1295         method.
1296         <m_pending_block_obstack, m_pending_blocks>: New members.
1297         (pending_block_obstack, pending_blocks): Remove.
1298         (scoped_free_pendings::scoped_free_pendings): Default.
1299         (~scoped_free_pendings): Update.
1300         (free_pending_blocks): Remove.
1301         (finish_block_internal, record_pending_block, make_blockvector)
1302         (end_symtab_get_static_block, augment_type_symtab, push_context)
1303         (buildsym_init): Update.
1304
1305 2018-07-20  Tom Tromey  <tom@tromey.com>
1306
1307         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
1308         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
1309         members.
1310         (pending_addrmap, pending_addrmap_obstack)
1311         (pending_addrmap_interesting): Remove.
1312         (scoped_free_pendings, record_block_range, make_blockvector)
1313         (prepare_for_building, reset_symtab_globals, buildsym_init):
1314         Update.
1315
1316 2018-07-20  Tom Tromey  <tom@tromey.com>
1317
1318         * xcoffread.c (process_linenos): Update.
1319         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
1320         * mdebugread.c (psymtab_to_symtab_1): Update.
1321         * dwarf2read.c (setup_type_unit_groups)
1322         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
1323         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
1324         * dbxread.c (process_one_symbol): Update.
1325         * coffread.c (coff_symtab_read, enter_linenos)
1326         (process_coff_symbol): Update.
1327         * buildsym.h (current_subfile): Don't declare.
1328         (get_current_subfile): Declare.
1329         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
1330         member.
1331         (start_subfile, free_buildsym_compunit, push_subfile)
1332         (prepare_for_building, start_symtab): Update.
1333         (get_current_subfile): New function.
1334
1335 2018-07-20  Tom Tromey  <tom@tromey.com>
1336
1337         * coffread.c (coff_symtab_read): Update.
1338         * xcoffread.c (read_xcoff_symtab): Update.
1339         * dwarf2read.c (new_symbol): Update.
1340         (read_func_scope, read_lexical_block_scope): Update.
1341         * dbxread.c (process_one_symbol): Update.
1342         * buildsym.h (context_stack, context_stack_depth): Don't declare.
1343         (outermost_context_p): Remove macro.
1344         (outermost_context_p, get_current_context_stack)
1345         (get_context_stack_depth): Declare.
1346         (pop_context): Return struct context_stack.
1347         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
1348         member.
1349         (context_stack_size): Remove.
1350         (INITIAL_CONTEXT_STACK_SIZE): Remove.
1351         (prepare_for_building, end_symtab_get_static_block)
1352         (augment_type_symtab, push_context): Update.
1353         (pop_context): Return struct context_stack.
1354         (outermost_context_p, get_current_context_stack)
1355         (get_context_stack_depth): New functions.
1356         (buildsym_init): Update.
1357
1358 2018-07-20  Tom Tromey  <tom@tromey.com>
1359
1360         * rust-exp.y: Now a pure parser.  Update all rules.
1361         (%union): Move earlier.
1362         (current_parser, work_obstack): Remove globals.
1363         (rust_parser, ~rust_parser): Update.
1364         (class rust_parser) <copy_name, concat3, crate_name, super_name,
1365         lex_character, lex_number, lex_string, lex_identifier,
1366         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
1367         convert_name, convert_params_to_expression,
1368         convert_ast_to_expression, ast_basic_type, ast_operation,
1369         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
1370         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
1371         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
1372         ast_array_type, ast_slice_type, ast_reference_type,
1373         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
1374         (rust_parse): Update.
1375         (rustyyerror, rustyylex): Add parser parameter.
1376         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
1377         (rust_lex_stringish_test, rust_lex_test_sequence)
1378         (rust_lex_test_trailing_dot, rust_lex_test_completion)
1379         (rust_lex_test_push_back, rust_lex_tests): Update.
1380
1381 2018-07-19  Pedro Alves  <palves@redhat.com>
1382
1383         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
1384         gdb::unique_xmalloc_ptr.
1385         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
1386         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
1387         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
1388         copy-initialization.
1389         * guile/scm-pretty-print.c (ppscm_print_children): Use
1390         gdb::unique_xmalloc_ptr instead of cleanups.
1391         (gdbscm_apply_val_pretty_printer): Remove cleanups.
1392         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
1393         gdb::unique_xmalloc_ptr.
1394         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1395         Adjust to use gdb::unique_xmalloc_ptr.
1396         * guile/scm-utils.c (extract_arg): Adjust.
1397         * guile/scm-value.c (gdbscm_value_field): Adjust to use
1398         gdb::unique_xmalloc_ptr instead of a cleanup.
1399
1400 2018-07-19  Tom Tromey  <tom@tromey.com>
1401
1402         * utils.c (do_value_free_to_mark)
1403         (make_cleanup_value_free_to_mark): Remove.
1404         * utils.h (make_cleanup_value_free_to_mark): Remove.
1405
1406 2018-07-19  Pedro Alves  <palves@redhat.com>
1407
1408         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
1409         forwarding reference.
1410
1411 2018-07-18  Pedro Alves  <palves@redhat.com>
1412
1413         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
1414         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
1415         cleanup.
1416
1417 2018-07-18  Pedro Alves  <palves@redhat.com>
1418
1419         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
1420         exceptions.
1421         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
1422         (gdbscm_wrap): New.
1423         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
1424         directly instead of a cleanup.
1425         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
1426         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
1427         (vlscm_binop_gdbthrow): New, factored out from ...
1428         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
1429         (vlscm_rich_compare): Use gdbscm_wrap.
1430         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
1431         instead of a cleanup.
1432         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
1433         cleanup.
1434         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1435         Use xfree directly instead of a cleanup.
1436         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
1437         Adjust to use gdbscm_wrap and scoped_value_mark.
1438         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
1439         (gdbscm_value_address, gdbscm_value_dereference)
1440         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
1441         scoped_value_mark.
1442         (gdbscm_value_dynamic_type): Use scoped_value_mark.
1443         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
1444         scoped_value_mark.
1445         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
1446         gdbscm_wrap and scoped_value_mark.
1447         (gdbscm_value_to_string): Use xfree directly instead of a
1448         cleanup.  Move 'buffer' unique_ptr to TRY scope.
1449         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
1450         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
1451         scoped_value_mark.
1452         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
1453         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
1454         scoped_value_mark.
1455         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
1456         gdbscm_wrap.
1457
1458 2018-07-18  Tom de Vries  <tdevries@suse.de>
1459
1460         * findvar.c (default_read_var_value): Also resolve dynamic type for
1461         LOC_OPTIMIZED_OUT vars.
1462
1463 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
1464
1465         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
1466         decoding.
1467
1468 2018-07-17  Tom Tromey  <tom@tromey.com>
1469
1470         * guile/scm-param.c (pascm_set_func, pascm_show_func)
1471         (compute_enum_list, pascm_set_param_value_x)
1472         (gdbscm_parameter_value): Update.
1473         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
1474         (gdbscm_scm_to_host_string): Update.
1475         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
1476         Update.
1477         * guile/scm-cmd.c (cmdscm_add_completion): Update.
1478         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
1479         * guile/scm-string.c (gdbscm_scm_to_string): Return
1480         unique_xmalloc_ptr.
1481         (gdbscm_scm_to_host_string): Likewise.
1482
1483 2018-07-17  Tom Tromey  <tom@tromey.com>
1484
1485         * guile/guile.c (gdbscm_eval_from_control_command): Update.
1486         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
1487         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
1488         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
1489         unique_xmalloc_ptr.
1490
1491 2018-07-17  Tom Tromey  <tom@tromey.com>
1492
1493         * guile/scm-param.c (pascm_signal_setshow_error): Update.
1494         * guile/guile-internal.h (gdbscm_exception_message_to_string):
1495         Update.
1496         * guile/scm-cmd.c (cmdscm_function): Update.
1497         * guile/scm-pretty-print.c
1498         (ppscm_print_exception_unless_memory_error): Update.
1499         * guile/scm-exception.c (gdbscm_exception_message_to_string):
1500         Return unique_xmalloc_ptr.
1501
1502 2018-07-17  Tom Tromey  <tom@tromey.com>
1503
1504         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
1505         Use string_printf.
1506
1507 2018-07-17  Jim Wilson  <jimw@sifive.com>
1508
1509         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
1510         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
1511         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
1512         unecessary braces after EF_RISCV_RVC test.  Delete call to
1513         set_gdbarch_decr_pc_after_break.
1514
1515         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
1516         RISCV_LAST_FP_REGNUM + 1.
1517         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
1518
1519 2018-07-17  Tom Tromey  <tom@tromey.com>
1520
1521         * configure.ac: Remove --disable-gdbcli.
1522         * configure: Rebuild.
1523         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
1524         (SUBDIR_CLI_CFLAGS): Remove.
1525         (SFILES): Use SUBDIR_CLI_SRCS.
1526         (COMMON_OBS): Use SUBDIR_CLI_OBS.
1527
1528 2018-07-17  Tom Tromey  <tom@tromey.com>
1529
1530         PR gdb/18624:
1531         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
1532
1533 2018-07-16  Jim Wilson  <jimw@sifive.com>
1534
1535         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
1536
1537 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1538
1539         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
1540         variable.
1541         (libunwind_frame_sniffer): Likewise.
1542         (libunwind_frame_prev_register): Likewise.
1543         (libunwind_sigtramp_frame_sniffer): Likewise.
1544         * ia64-tdep.c (ia64_access_reg): Likewise.
1545         (ia64_access_rse_reg): Likewise.
1546         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
1547         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
1548
1549 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1550
1551         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
1552
1553 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1554
1555         * remote-sim.c (gdbsim_target::close,
1556         gdbsim_target::mourn_inferior): Remove unused variables.
1557
1558 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
1559
1560         * ia64-tdep.c (ktab_buf): New global.
1561         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
1562         (get_kernel_table): Adjust.
1563
1564 2018-07-16  Tom Tromey  <tom@tromey.com>
1565
1566         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
1567         * dwarf2read.c (using_directives, new_symbol): Use
1568         outermost_context_p.
1569         * dbxread.c (process_one_symbol): Use outermost_context_p.
1570         * coffread.c (coff_symtab_read): Use outermost_context_p.
1571
1572 2018-07-16  Tom Tromey  <tom@tromey.com>
1573
1574         * dwarf2read.c (using_directives, read_func_scope)
1575         (read_lexical_block_scope): Update.
1576         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
1577         * buildsym.h (local_using_directives, global_using_directives):
1578         Don't declare.
1579         (get_local_using_directives, set_local_using_directives)
1580         (get_global_using_directives): Declare.
1581         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1582         m_global_using_directives>: New members.
1583         (finish_block_internal, prepare_for_building)
1584         (reset_symtab_globals, end_symtab_get_static_block)
1585         (push_context): Update.
1586         (get_local_using_directives, set_local_using_directives)
1587         (get_global_using_directives): New functions.
1588         (buildsym_init): Update.
1589
1590 2018-07-16  Tom Tromey  <tom@tromey.com>
1591
1592         * xcoffread.c (xcoff_initial_scan): Don't call
1593         free_pending_blocks.
1594         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1595         * buildsym.h (class scoped_free_pendings): Add constructor.
1596         (free_pending_blocks): Don't declare.
1597         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1598         (free_pending_blocks): Now static.
1599
1600 2018-07-16  Tom Tromey  <tom@tromey.com>
1601
1602         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1603         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1604         member.
1605         (struct subfile_stack): Remove.
1606         (subfile_stack): Remove.
1607         (push_subfile, pop_subfile, buildsym_init): Update.
1608
1609 2018-07-16  Tom Tromey  <tom@tromey.com>
1610
1611         * buildsym.c (push_subfile): Use gdb_assert.
1612         (pop_subfile): Use gdb_assert.
1613
1614 2018-07-16  Tom Tromey  <tom@tromey.com>
1615
1616         * buildsym.h (merge_symbol_lists): Remove.
1617         * buildsym.c (merge_symbol_lists): Remove.
1618
1619 2018-07-16  Tom Tromey  <tom@tromey.com>
1620
1621         * stabsread.c (scan_file_globals): Update comment.
1622         * stabsread.h (scan_file_globals): Move from buildsym.h.
1623         * buildsym.h (scan_file_globals): Move to stabsread.h.
1624
1625 2018-07-16  Tom Tromey  <tom@tromey.com>
1626
1627         * xcoffread.c (xcoff_new_init): Update.
1628         * mipsread.c (mipscoff_new_init): Update.
1629         * mdebugread.c (mdebug_build_psymtabs): Update.
1630         * elfread.c (elf_new_init): Update.
1631         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1632         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1633         * buildsym.h (buildsym_new_init): Don't declare.
1634         * buildsym.c (buildsym_new_init): Remove.
1635
1636 2018-07-16  Tom Tromey  <tom@tromey.com>
1637
1638         * stabsread.h (within_function): Move from buildsym.h.
1639         * stabsread.c (start_stabs): Clear within_function.
1640         * coffread.c (coff_start_symtab): Clear within_function.
1641         * buildsym.h (within_function): Move to stabsread.h.
1642         * buildsym.c (prepare_for_building): Update.
1643
1644 2018-07-16  Tom Tromey  <tom@tromey.com>
1645
1646         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1647         * dwarf2read.c (dwarf2_start_symtab): Don't set
1648         processing_gcc_compilation.
1649         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1650
1651 2018-07-16  Tom Tromey  <tom@tromey.com>
1652
1653         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1654         (next_symbol_text_func): Move from buildsym.h.
1655         * stabsread.c (hashname): Move from buildsym.c.
1656         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1657         (next_symbol_text_func, hashname): Move to stabsread.h.
1658         * buildsym.c: Don't include bcache.h
1659         (hashname): Move to stasbread.c.
1660
1661 2018-07-16  Tom Tromey  <tom@tromey.com>
1662
1663         * buildsym.h (context_stack_size): Don't declare.
1664         * buildsym.c (context_stack_size): New global.
1665
1666 2018-07-16  Tom Tromey  <tom@tromey.com>
1667
1668         * dbxread.c (processing_acc_compilation): New global.
1669         * buildsym.h (processing_acc_compilation): Don't declare.
1670
1671 2018-07-16  Tom Tromey  <tom@tromey.com>
1672
1673         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1674         * dbxread.c (read_ofile_symtab): Update.
1675         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1676         * buildsym.h (last_source_start_addr): Remove.
1677         (set_last_source_start_addr, get_last_source_start_addr):
1678         Declare.
1679         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1680         parameter.
1681         (struct buildsym_compunit) <m_last_source_start_addr>: New
1682         member.
1683         (prepare_for_building): Remove start_addr parameter.
1684         (start_symtab, restart_symtab, end_symtab_get_static_block)
1685         (end_symtab_with_blockvector): Update.
1686         (set_last_source_start_addr, get_last_source_start_addr): New
1687         functions.
1688
1689 2018-07-16  Tom Tromey  <tom@tromey.com>
1690
1691         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1692         member.
1693         (have_line_numbers): Remove.
1694         (record_line, prepare_for_building, end_symtab_get_static_block)
1695         (augment_type_symtab): Update.
1696
1697 2018-07-16  Tom Tromey  <tom@tromey.com>
1698
1699         * buildsym.c (~buildsym_compunit): Free the macro table.
1700         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1701         methods.
1702         <m_pending_macros>: New member.
1703         (pending_macros): Remove.
1704         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1705         (reset_symtab_globals, end_symtab_get_static_block)
1706         (end_symtab_with_blockvector, augment_type_symtab)
1707         (buildsym_init): Update.
1708
1709 2018-07-16  Tom Tromey  <tom@tromey.com>
1710
1711         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1712         parameter.
1713         (buildsym_compunit::set_last_source_file): New method.
1714         <m_last_source_file>: New member.
1715         (prepare_for_building): Remove "name" parameter.
1716         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1717         (last_source_file): Remove.
1718         (set_last_source_file, get_last_source_file): Update.
1719
1720 2018-07-16  Tom Tromey  <tom@tromey.com>
1721
1722         * buildsym.c (prepare_for_building): Add assert.
1723
1724 2018-07-16  Tom Tromey  <tom@tromey.com>
1725
1726         * buildsym.c (~buildsym_compunit): Update.
1727         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1728         (start_subfile, patch_subfile_names)
1729         (end_symtab_with_blockvector): Update.
1730
1731 2018-07-16  Tom Tromey  <tom@tromey.com>
1732
1733         * buildsym.c (struct buildsym_compunit): Add constructor,
1734         destructor, initializers.
1735         (start_buildsym_compunit): Remove.
1736         (free_buildsym_compunit): Use "delete".
1737         (start_symtab, restart_symtab): Use "new".
1738
1739 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1740
1741         * symfile.c (set_objfile_default_section_offset): Remove struct
1742         keyword.
1743
1744 2018-07-14  Stafford Horne  <shorne@gmail.com>
1745
1746         * (Responsible Maintainers): Add myself as or1k maintainer.
1747
1748 2018-07-13  Tom Tromey  <tom@tromey.com>
1749
1750         * symfile.c (set_objfile_default_section_offset): Use extra braces
1751         around initializer.
1752
1753 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1754
1755         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1756         non-branching basr.
1757
1758 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1759
1760         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1761         unittests/cli-utils-selftests.c
1762         * unittests/cli-utils-selftests.c: New file.
1763
1764 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1765
1766         * NEWS: Mention new commands. Mention change to 'thread apply'.
1767
1768 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1769
1770         * thread.c (thr_try_catch_cmd): New function.
1771         (thread_apply_all_command): Handle qcs flags.
1772         (thread_apply_command): Handle qcs flags.
1773         (taas_command): New function.
1774         (tfaas_command): New function.
1775         (_initialize_thread): Update to setup the new commands 'taas
1776         and 'tfaas'. Change doc string for 'thread apply'.
1777
1778 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1779
1780         * stack.c: (trailing_outermost_frame): New function, mostly
1781         extracted from backtrace_command_1.
1782         (leading_innermost_frame): New function.
1783         (backtrace_command_1): Update to call trailing_outermost_frame.
1784         (frame_apply_command_count): New function.
1785         (frame_apply_level_command): New function.
1786         (frame_apply_all_command): New function.
1787         (frame_apply_command): New function.
1788         (faas_command): New function.
1789         (frame_cmd_list): New variable.
1790         (_initialize_stack): Update to setup the new commands 'frame apply'
1791         and 'faas'.
1792
1793 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1794
1795         * cli-utils.c (number_or_range_parser::get_number): Only handle
1796         numbers or convenience var as numbers.
1797         (parse_flags): New function.
1798         (parse_flags_qcs): New function.
1799         (number_or_range_parser::finished): Ensure parsing end is detected
1800         before end of string.
1801         * cli-utils.h (parse_flags): New function.
1802         (parse_flags_qcs): New function.
1803         (number_or_range_parser): Remove m_finished bool.
1804         (number_or_range_parser::skip_range): Set m_in_range to false.
1805
1806 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1807
1808         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1809         on Windows.
1810
1811 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1812             Jan Kratochvil  <jan.kratochvil@redhat.com>
1813             Paul Fertser  <fercerpav@gmail.com>
1814             Tsutomu Seki  <sekiriki@gmail.com>
1815             Pedro Alves  <palves@redhat.com>
1816
1817         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1818         'unittests/parse-connection-spec-selftests.c'.
1819         (COMMON_SFILES): Add 'common/netstuff.c'.
1820         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1821         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1822         * common/netstuff.c: New file.
1823         * common/netstuff.h: New file.
1824         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1825         (wait_for_connect): Update comment.  New parameter
1826         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1827         Use 'sock' directly instead of 'scb->fd'.
1828         (try_connect): New function, with code from 'net_open'.
1829         (net_open): Rewrite main loop to deal with multiple
1830         sockets/addresses.  Handle IPv6-style hostnames; implement
1831         support for IPv6 connections.
1832         * unittests/parse-connection-spec-selftests.c: New file.
1833
1834 2018-07-11  Pedro Alves  <palves@redhat.com>
1835
1836         PR gdb/23377
1837         * remote.c (remote_target::remote_detach_pid): Call
1838         set_current_process.
1839
1840 2018-07-11  Pedro Alves  <palves@redhat.com>
1841
1842         * h8300-tdep.c (h8300_gdbarch_init): Remove
1843         set_gdbarch_ecoff_reg_to_regnum calls.
1844
1845 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1846
1847         PR c++/23373
1848         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1849         offsets/sizes for static members of a class/struct.
1850
1851 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1852
1853         * target-descriptions.c (tdesc_register_bitsize): Rename.
1854         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1855         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1856         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1857
1858 2018-07-10  Tom Tromey  <tom@tromey.com>
1859
1860         * breakpoint.c (moribund_locations): Now static and a
1861         std::vector.
1862         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1863         (build_bpstat_chain, update_global_location_list)
1864         (breakpoint_retire_moribund): Update.
1865         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1866         VEC.
1867
1868 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1869
1870         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1871         (riscv_register_reggroup_p): Use new function, remove unneeded
1872         parenthesis.
1873         (riscv_push_dummy_call): Extend assert to compare against xlen or
1874         flen based on register type.
1875
1876 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1877
1878         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1879
1880 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1881
1882         * remote.c (show_hardware_watchpoint_limit): New function.
1883         (show_hardware_watchpoint_length_limit): New function.
1884         (show_hardware_breakpoint_limit): New function.
1885         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1886         where appropriate, update help text.
1887
1888 2018-07-09  Tom Tromey  <tom@tromey.com>
1889
1890         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1891         (CLIBS): Don't mention NAT_CLIBS.
1892
1893 2018-07-09  Tom Tromey  <tom@tromey.com>
1894
1895         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1896         (LIBGDB_OBS, clean mostlyclean): Update.
1897         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1898
1899 2018-07-09  Tom Tromey  <tom@tromey.com>
1900
1901         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1902         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1903         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1904
1905 2018-07-09  Tom Tromey  <tom@tromey.com>
1906
1907         * Makefile.in (ALLDEPFILES): Remove exec.c.
1908         (COMMON_OBS): Remove exec.o.
1909         (COMMON_SFILES): Add exec.c.
1910
1911 2018-07-09  Tom Tromey  <tom@tromey.com>
1912
1913         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1914
1915 2018-07-09  Tom Tromey  <tom@tromey.com>
1916
1917         * Makefile.in (clean mostlyclean): Remove stamp-version.
1918         (version.c): Depend on stamp-version.
1919         (stamp-version): New rule, from version.c rule.
1920
1921 2018-07-09  Tom Tromey  <tom@tromey.com>
1922
1923         * Makefile.in (init.c): Depend on stamp-init.
1924         (stamp-init): New rule, from init.c rule.
1925         (clean mostlyclean): Remove stamp-init.
1926
1927 2018-07-09  Tom Tromey  <tom@tromey.com>
1928
1929         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1930         SUBDIR_GCC_COMPILE_SRCS.
1931
1932 2018-07-09  Tom Tromey  <tom@tromey.com>
1933
1934         * Makefile.in (init.c): Remove some unused sed rules.
1935
1936 2018-07-09  Tom Tromey  <tom@tromey.com>
1937
1938         * Makefile.in (TSOBS): Remove.
1939         (INIT_FILES): Update.
1940         (LIBGDB_OBS): Update.
1941         (COMMON_SFILES): Add inflow.c.
1942         (SFILES): Remove inflow.c.
1943
1944 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1945
1946         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1947
1948 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1949
1950         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1951         get_saveloc_name, is_signal_frame_name, step_name,
1952         init_remote_name, create_addr_space_name,
1953         destroy_addr_space_name, search_unwind_table_name,
1954         find_dyn_list_name): Constify.
1955
1956 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1957
1958         * darwin-nat.c (darwin_pthread_kill): New function.
1959         (darwin_resume_thread): Use darwin_pthread_kill.
1960
1961 2018-07-05  Tom de Vries  <tdevries@suse.de>
1962
1963         * macroexp.c (macro_buffer) <operator=>: New member function.
1964
1965 2018-07-04  Tom Tromey  <tom@tromey.com>
1966
1967         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1968
1969 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1970
1971         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1972         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1973         * maint.c: Likewise.
1974         * top.c: Likewise.
1975
1976 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1977
1978         * NEWS: Create a new section for the next release branch.
1979         Rename the section of the current branch, now that it has
1980         been cut.
1981
1982 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1983
1984         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1985         * version.in: Bump version to 8.2.50.DATE-git.
1986
1987 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1988             Pedro Alves  <palves@redhat.com>
1989
1990         * linux-nat.c (linux_init_ptrace): Rename to ...
1991         (linux_init_ptrace_procfs): ... this.  Call
1992         linux_proc_init_warnings.
1993         (linux_nat_target::post_attach)
1994         (linux_nat_target::post_startup_inferior): Adjust.
1995         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1996         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1997
1998 2018-07-04  Tom de Vries  <tdevries@suse.de>
1999
2000         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
2001         check ...
2002         (read_comp_unit_head): ... here.
2003
2004 2018-07-03  Tom Tromey  <tom@tromey.com>
2005
2006         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
2007         (stop_tracing, tstatus_command)
2008         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
2009         (print_one_static_tracepoint_marker): Update.
2010         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
2011         std::vector.
2012         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
2013         VEC.
2014         (all_tracepoints, static_tracepoints_here): Return std::vector.
2015
2016 2018-07-03  Tom Tromey  <tom@tromey.com>
2017
2018         * common/ptid.c (ptid_equal): Remove.
2019         * common/ptid.h (ptid_equal): Don't declare.
2020         * ada-tasks.c: Update.
2021         * breakpoint.c: Update.
2022         * common/agent.c: Update.
2023         * corelow.c: Update.
2024         * darwin-nat-info.c: Update.
2025         * darwin-nat.c: Update.
2026         * dcache.c: Update.
2027         * dtrace-probe.c: Update.
2028         * dummy-frame.c: Update.
2029         * fbsd-nat.c: Update.
2030         * frame.c: Update.
2031         * gdbthread.h: Update.
2032         * gnu-nat.c: Update.
2033         * go32-nat.c: Update.
2034         * inf-loop.c: Update.
2035         * inf-ptrace.c: Update.
2036         * infcall.c: Update.
2037         * infcmd.c: Update.
2038         * inflow.c: Update.
2039         * infrun.c: Update.
2040         * linux-fork.c: Update.
2041         * linux-nat.c: Update.
2042         * linux-thread-db.c: Update.
2043         * mi/mi-cmd-var.c: Update.
2044         * mi/mi-interp.c: Update.
2045         * mi/mi-main.c: Update.
2046         * nto-procfs.c: Update.
2047         * ppc-linux-tdep.c: Update.
2048         * procfs.c: Update.
2049         * python/py-inferior.c: Update.
2050         * python/py-record-btrace.c: Update.
2051         * python/py-record.c: Update.
2052         * ravenscar-thread.c: Update.
2053         * regcache.c: Update.
2054         * remote-sim.c: Update.
2055         * remote.c: Update.
2056         * sol-thread.c: Update.
2057         * solib.c: Update.
2058         * target.c: Update.
2059         * tui/tui-stack.c: Update.
2060         * varobj.c: Update.
2061         * windows-nat.c: Update.
2062         * windows-tdep.c: Update.
2063
2064 2018-07-03  Tom Tromey  <tom@tromey.com>
2065
2066         * common/ptid.c (ptid_match): Remove.
2067         * common/ptid.h (ptid_match): Don't declare.
2068         * fbsd-nat.c: Update.
2069         * infcmd.c: Update.
2070         * infrun.c: Update.
2071         * linux-nat.c: Update.
2072         * record-btrace.c: Update.
2073         * regcache.c: Update.
2074         * remote.c: Update.
2075
2076 2018-07-03  Tom Tromey  <tom@tromey.com>
2077
2078         * common/ptid.c (ptid_tid_p): Remove.
2079         * common/ptid.h (ptid_tid_p): Don't declare.
2080         * sol-thread.c: Update.
2081
2082 2018-07-03  Tom Tromey  <tom@tromey.com>
2083
2084         * common/ptid.c (ptid_lwp_p): Remove.
2085         * common/ptid.h (ptid_lwp_p): Don't declare.
2086         * fbsd-nat.c: Update.
2087         * linux-nat.c: Update.
2088         * nat/linux-procfs.c: Update.
2089         * nat/x86-linux-dregs.c: Update.
2090         * sol-thread.c: Update.
2091
2092 2018-07-03  Tom Tromey  <tom@tromey.com>
2093
2094         * common/ptid.c (ptid_is_pid): Remove.
2095         * common/ptid.h (ptid_is_pid): Don't declare.
2096         * infrun.c: Update.
2097         * linux-nat.c: Update.
2098         * mi/mi-interp.c: Update.
2099         * remote.c: Update.
2100         * thread.c: Update.
2101
2102 2018-07-03  Tom Tromey  <tom@tromey.com>
2103
2104         * common/ptid.c (ptid_get_tid): Remove.
2105         * common/ptid.h (ptid_get_tid): Don't declare.
2106         * ada-tasks.c: Update.
2107         * aix-thread.c: Update.
2108         * bsd-uthread.c: Update.
2109         * darwin-nat.c: Update.
2110         * fbsd-nat.c: Update.
2111         * i386-darwin-nat.c: Update.
2112         * infrun.c: Update.
2113         * linux-tdep.c: Update.
2114         * nto-procfs.c: Update.
2115         * ppc-ravenscar-thread.c: Update.
2116         * python/py-infthread.c: Update.
2117         * ravenscar-thread.c: Update.
2118         * sol-thread.c: Update.
2119         * sparc-ravenscar-thread.c: Update.
2120         * windows-nat.c: Update.
2121
2122 2018-07-03  Tom Tromey  <tom@tromey.com>
2123
2124         * common/ptid.c (ptid_get_lwp): Remove.
2125         * common/ptid.h (ptid_get_lwp): Don't declare.
2126         * aarch64-linux-nat.c: Update.
2127         * ada-tasks.c: Update.
2128         * aix-thread.c: Update.
2129         * amd64-linux-nat.c: Update.
2130         * arm-linux-nat.c: Update.
2131         * corelow.c: Update.
2132         * fbsd-nat.c: Update.
2133         * fbsd-tdep.c: Update.
2134         * gnu-nat.c: Update.
2135         * i386-cygwin-tdep.c: Update.
2136         * i386-gnu-nat.c: Update.
2137         * i386-linux-nat.c: Update.
2138         * ia64-linux-nat.c: Update.
2139         * inf-ptrace.c: Update.
2140         * infrun.c: Update.
2141         * linux-fork.c: Update.
2142         * linux-nat.c: Update.
2143         * linux-tdep.c: Update.
2144         * linux-thread-db.c: Update.
2145         * mips-linux-nat.c: Update.
2146         * nat/aarch64-linux-hw-point.c: Update.
2147         * nat/aarch64-linux.c: Update.
2148         * nat/linux-btrace.c: Update.
2149         * nat/linux-osdata.c: Update.
2150         * nat/linux-procfs.c: Update.
2151         * nat/x86-linux-dregs.c: Update.
2152         * obsd-nat.c: Update.
2153         * ppc-fbsd-nat.c: Update.
2154         * ppc-linux-nat.c: Update.
2155         * procfs.c: Update.
2156         * python/py-infthread.c: Update.
2157         * ravenscar-thread.c: Update.
2158         * remote.c: Update.
2159         * s390-linux-nat.c: Update.
2160         * sol-thread.c: Update.
2161         * sol2-tdep.c: Update.
2162         * spu-linux-nat.c: Update.
2163         * x86-linux-nat.c: Update.
2164         * xtensa-linux-nat.c: Update.
2165
2166 2018-07-03  Tom Tromey  <tom@tromey.com>
2167
2168         * common/ptid.c (ptid_get_pid): Remove.
2169         * common/ptid.h (ptid_get_pid): Don't declare.
2170         * aarch64-linux-nat.c: Update.
2171         * ada-lang.c: Update.
2172         * aix-thread.c: Update.
2173         * alpha-bsd-nat.c: Update.
2174         * amd64-fbsd-nat.c: Update.
2175         * amd64-linux-nat.c: Update.
2176         * arm-linux-nat.c: Update.
2177         * arm-nbsd-nat.c: Update.
2178         * auxv.c: Update.
2179         * break-catch-syscall.c: Update.
2180         * breakpoint.c: Update.
2181         * bsd-uthread.c: Update.
2182         * corelow.c: Update.
2183         * ctf.c: Update.
2184         * darwin-nat.c: Update.
2185         * fbsd-nat.c: Update.
2186         * fbsd-tdep.c: Update.
2187         * gcore.c: Update.
2188         * gnu-nat.c: Update.
2189         * hppa-nbsd-nat.c: Update.
2190         * hppa-obsd-nat.c: Update.
2191         * i386-fbsd-nat.c: Update.
2192         * ia64-linux-nat.c: Update.
2193         * inf-ptrace.c: Update.
2194         * infcmd.c: Update.
2195         * inferior.c: Update.
2196         * inferior.h: Update.
2197         * inflow.c: Update.
2198         * infrun.c: Update.
2199         * linux-fork.c: Update.
2200         * linux-nat.c: Update.
2201         * linux-tdep.c: Update.
2202         * linux-thread-db.c: Update.
2203         * m68k-bsd-nat.c: Update.
2204         * mi/mi-interp.c: Update.
2205         * mi/mi-main.c: Update.
2206         * mips-linux-nat.c: Update.
2207         * mips-nbsd-nat.c: Update.
2208         * mips64-obsd-nat.c: Update.
2209         * nat/aarch64-linux-hw-point.c: Update.
2210         * nat/aarch64-linux.c: Update.
2211         * nat/linux-btrace.c: Update.
2212         * nat/linux-osdata.c: Update.
2213         * nat/linux-procfs.c: Update.
2214         * nat/x86-linux-dregs.c: Update.
2215         * nto-procfs.c: Update.
2216         * obsd-nat.c: Update.
2217         * ppc-linux-nat.c: Update.
2218         * ppc-nbsd-nat.c: Update.
2219         * ppc-obsd-nat.c: Update.
2220         * proc-service.c: Update.
2221         * procfs.c: Update.
2222         * python/py-inferior.c: Update.
2223         * python/py-infthread.c: Update.
2224         * ravenscar-thread.c: Update.
2225         * record.c: Update.
2226         * remote-sim.c: Update.
2227         * remote.c: Update.
2228         * rs6000-nat.c: Update.
2229         * s390-linux-nat.c: Update.
2230         * sh-nbsd-nat.c: Update.
2231         * sol-thread.c: Update.
2232         * sparc-nat.c: Update.
2233         * sparc64-tdep.c: Update.
2234         * spu-linux-nat.c: Update.
2235         * spu-tdep.c: Update.
2236         * target-debug.h: Update.
2237         * target.c: Update.
2238         * thread.c: Update.
2239         * tid-parse.c: Update.
2240         * tracefile-tfile.c: Update.
2241         * vax-bsd-nat.c: Update.
2242         * windows-nat.c: Update.
2243         * x86-linux-nat.c: Update.
2244         * x86-nat.c: Update.
2245
2246 2018-07-03  Tom Tromey  <tom@tromey.com>
2247
2248         * common/ptid.c (pid_to_ptid): Remove.
2249         * common/ptid.h (pid_to_ptid): Don't declare.
2250         * aix-thread.c: Update.
2251         * arm-linux-nat.c: Update.
2252         * common/ptid.c: Update.
2253         * common/ptid.h: Update.
2254         * corelow.c: Update.
2255         * ctf.c: Update.
2256         * darwin-nat.c: Update.
2257         * fbsd-nat.c: Update.
2258         * fork-child.c: Update.
2259         * gnu-nat.c: Update.
2260         * go32-nat.c: Update.
2261         * inf-ptrace.c: Update.
2262         * infcmd.c: Update.
2263         * inferior.c: Update.
2264         * infrun.c: Update.
2265         * linux-fork.c: Update.
2266         * linux-nat.c: Update.
2267         * nat/aarch64-linux-hw-point.c: Update.
2268         * nat/fork-inferior.c: Update.
2269         * nat/x86-linux-dregs.c: Update.
2270         * nto-procfs.c: Update.
2271         * obsd-nat.c: Update.
2272         * procfs.c: Update.
2273         * progspace.c: Update.
2274         * remote.c: Update.
2275         * rs6000-nat.c: Update.
2276         * s390-linux-nat.c: Update.
2277         * sol-thread.c: Update.
2278         * spu-linux-nat.c: Update.
2279         * target.c: Update.
2280         * top.c: Update.
2281         * tracefile-tfile.c: Update.
2282         * windows-nat.c: Update.
2283
2284 2018-07-03  Tom Tromey  <tom@tromey.com>
2285
2286         * common/ptid.h (ptid_build): Don't declare.
2287         * common/ptid.c (ptid_build): Remove.
2288         * aix-thread.c: Update.
2289         * bsd-kvm.c: Update.
2290         * bsd-uthread.c: Update.
2291         * common/agent.c: Update.
2292         * common/ptid.c: Update.
2293         * common/ptid.h: Update.
2294         * corelow.c: Update.
2295         * darwin-nat.c: Update.
2296         * fbsd-nat.c: Update.
2297         * gnu-nat.c: Update.
2298         * linux-fork.c: Update.
2299         * linux-nat.c: Update.
2300         * linux-thread-db.c: Update.
2301         * nat/linux-osdata.c: Update.
2302         * nat/linux-procfs.c: Update.
2303         * nto-procfs.c: Update.
2304         * obsd-nat.c: Update.
2305         * proc-service.c: Update.
2306         * procfs.c: Update.
2307         * ravenscar-thread.c: Update.
2308         * remote-sim.c: Update.
2309         * remote.c: Update.
2310         * sol-thread.c: Update.
2311         * target.c: Update.
2312         * windows-nat.c: Update.
2313
2314 2018-07-03  Tom Tromey  <tom@tromey.com>
2315
2316         * infrun.c (follow_exec): Use exit_inferior_silent.
2317         * inferior.c (exit_inferior_num_silent): Remove.
2318         * inferior.h (exit_inferior_num_silent): Don't declare.
2319
2320 2018-07-03  Tom Tromey  <tom@tromey.com>
2321
2322         PR cli/23340:
2323         * darwin-nat.c (darwin_attach_pid): Reset inferior and
2324         inferior_ptid on error.
2325
2326 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
2327             Simon Marchi  <simon.marchi@polymtl.ca>
2328
2329         PR tdep/8282
2330         * disasm.h (gdb_disassembler): Add
2331         `m_disassembler_options_holder'. member
2332         * disasm.c (get_all_disassembler_options): New function.
2333         (gdb_disassembler::gdb_disassembler): Use it.
2334         (gdb_buffered_insn_length_init_dis): Likewise.
2335         (gdb_buffered_insn_length): Adjust accordingly.
2336         (set_disassembler_options): Handle options with arguments.
2337         (show_disassembler_options_sfunc): Likewise.  Add a leading new
2338         line if showing options with descriptions.
2339         (disassembler_options_completer): Adapt to using the
2340         `disasm_options_and_args_t' structure.
2341         * mips-tdep.c (mips_disassembler_options): New variable.
2342         (mips_disassembler_options_o32): Likewise.
2343         (mips_disassembler_options_n32): Likewise.
2344         (mips_disassembler_options_n64): Likewise.
2345         (gdb_print_insn_mips): Don't set `disassembler_options'.
2346         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
2347         functions.
2348         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
2349         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
2350         `gdbarch_disassembler_options_implicit' and
2351         `gdbarch_valid_disassembler_options'.
2352         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
2353         `disasm_options_and_args_t' structure.
2354         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
2355         method.
2356         (valid_disassembler_options): Switch from `disasm_options_t' to
2357         the `disasm_options_and_args_t' structure.
2358         * NEWS: Document `set disassembler-options' support for the MIPS
2359         target.
2360         * gdbarch.h: Regenerate.
2361         * gdbarch.c: Regenerate.
2362
2363 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2364
2365         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
2366
2367 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
2368
2369         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
2370         parameter in call to amd64_target_description.
2371         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
2372         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
2373         (amd64fbsd_init_abi): Likewise.
2374         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
2375         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
2376         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
2377         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
2378
2379 2018-06-29  Pedro Alves  <palves@redhat.com>
2380
2381         * gdb/amd64-tdep.h (amd64_create_target_description): Add
2382         "segments" parameter.
2383         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
2384         (_initialize_amd64_tdep): Update call to
2385         amd64_create_target_description.
2386         (amd64_target_description): Add "segments" parameter.  Adjust
2387         the implementation to use it.
2388         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
2389         call to amd64_create_target_description.
2390         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
2391         * gdb/arch/amd64.h (amd64_create_target_description): Add
2392         "segments" register.
2393         * gdb/arch/amd64.c (amd64_create_target_description): Add
2394         "segments" parameter.  Call create_feature_i386_64bit_segments
2395         only if SEGMENTS is true.
2396         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
2397         call to amd64_create_target_description.
2398
2399 2018-06-29  Pedro Alves  <palves@redhat.com>
2400
2401         * thread.c (thread_target_id_str): New, factored out from ...
2402         (print_thread_info_1): ... here.  Use it to compute the max
2403         "Target Id" column width.
2404
2405 2018-06-29  Pedro Alves  <palves@redhat.com>
2406
2407         * remote.c (remote_target::extra_thread_info): Delete
2408         'display_buf' and 'n' locals.  from the cache, regardless of
2409         packet mechanims is in use.  Use cache for qThreadExtra and qP
2410         methods too.
2411
2412 2018-06-29  Pedro Alves  <palves@redhat.com>
2413
2414         * blockframe.c (find_pc_sect_containing_function): New function.
2415         * breakpoint.c (print_breakpoint_location): Don't call
2416         find_pc_sect_function.
2417         * linespec.c (create_sals_line_offset): Record the location's
2418         symbol in the sal.
2419         * linespec.c (convert_address_location_to_sals): Fill in sal's
2420         symbol with find_pc_sect_containing_function.
2421         * symtab.c (find_function_start_sal): Rename to ...
2422         (find_function_start_sal_1): ... this.
2423         (find_function_start_sal): Reimplement as wrapper around
2424         find_function_start_sal_1, and use
2425         find_pc_sect_containing_function to fill in the sal's symbol.
2426         (find_function_start_sal(symbol*, bool)): Adjust.
2427         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
2428         comments.
2429         (find_pc_sect_containing_function): Declare.
2430
2431 2018-06-29  Pedro Alves  <palves@redhat.com>
2432
2433         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
2434         true if the the location has no symbol.
2435
2436 2018-06-28  Tom Tromey  <tom@tromey.com>
2437
2438         * NEWS: Mention --enable-codesign.
2439         * silent-rules.mk (ECHO_SIGN): New variable.
2440         * configure.ac: Add --enable-codesign.
2441         * configure: Rebuild.
2442         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
2443         (gdb$(EXEEXT)): Optionally invoke codesign.
2444
2445 2018-06-28  Pedro Alves  <palves@redhat.com>
2446
2447         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
2448         comments.
2449         (switch_to_thread_no_regs): Adjust comment.
2450         * infcmd.c (stop_pc): Delete.
2451         (post_create_inferior, info_program_command): Replace references
2452         to stop_pc with references to thread_info->suspend.stop_pc.
2453         * inferior.h (stop_pc): Delete declaration.
2454         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
2455         (handle_inferior_event_1, handle_signal_stop)
2456         (process_event_stop_test, keep_going_stepped_thread)
2457         (handle_step_into_function, handle_step_into_function_backward)
2458         (print_stop_location): Replace references to stop_pc with
2459         references to thread_info->suspend.stop_pc.
2460         (struct infcall_suspend_state) <stop_pc>: Delete field.
2461         (save_infcall_suspend_state, restore_infcall_suspend_state):
2462         Remove references to inf_stat->stop_pc.
2463         * linux-fork.c (fork_load_infrun_state): Likewise.
2464         * record-btrace.c (record_btrace_set_replay): Likewise.
2465         * record-full.c (record_full_goto_entry): Likewise.
2466         * remote.c (print_one_stopped_thread): Likewise.
2467         * target.c (target_resume): Extend comment.
2468         * thread.c (set_executing_thread): New.
2469         (set_executing): Use it.
2470         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
2471         Remove references to stop_pc.
2472
2473 2018-06-28  Pedro Alves  <palves@redhat.com>
2474
2475         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
2476         Moving fetching stop_pc until after ecs->event_thread is refreshed.
2477
2478 2018-06-28  Tom Tromey  <tom@tromey.com>
2479
2480         * coffread.c (coff_symfile_finish): Update.
2481         * xcoffread.c (xcoff_symfile_finish): Update.
2482         * elfread.c (elf_symfile_finish): Update.
2483         * symfile.h (dwarf2_free_objfile): Don't declare.
2484         * dwarf2read.c (_initialize_dwarf2_read): Use
2485         register_objfile_data_with_cleanup.
2486         (dwarf2_free_objfile): Now static.  Change signature.
2487
2488 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2489
2490         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
2491         option "-o" to add-symbol-file-load to add an offset to each
2492         section's load address.
2493         * symfile.c (set_objfile_default_section_offset): New function.
2494
2495 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2496
2497         * symfile.c (add_symbol_file_command): Make sure that sections
2498         with the same name are sorted in the same order.
2499
2500 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2501
2502         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
2503         require the second argument.  If omitted, load sections at the
2504         addresses specified in the file.
2505
2506 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2507
2508         * symfile.c (symbol_file_command, symbol_file_add_main_1)
2509         (_initialize_symfile): Add option "-o" to symbol-file to add an
2510         offset to each section of the symbol file.
2511
2512 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2513
2514         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
2515
2516 2018-06-27  Tom Tromey  <tom@tromey.com>
2517
2518         * stack.c (_initialize_stack): Update "func" help text.
2519
2520 2018-06-27  Tom Tromey  <tom@tromey.com>
2521
2522         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
2523         std::vector.
2524         (unwind_infopy_str, pyuw_create_unwind_info)
2525         (unwind_infopy_add_saved_register, pyuw_sniffer)
2526         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
2527         Update.
2528         (struct saved_reg): Add constructor.
2529         <value>: Now a gdbpy_ref<>.
2530
2531 2018-06-27  Tom Tromey  <tom@tromey.com>
2532
2533         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
2534
2535 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2536
2537         * gdb-gdb.py.in: Format using autopep8.
2538
2539 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2540
2541         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
2542         (type_lookup_function): Recognize CORE_ADDR values.
2543
2544 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2545
2546         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
2547         print tag_name.
2548
2549 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2550
2551         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
2552         <__lt__>: Add.
2553
2554 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2555
2556         * gdb-gdb.py: Move to...
2557         * gdb-gdb.py.in: ... here.
2558         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
2559         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
2560         dependencies.
2561         (distclean): Remove gdb-gdb.py when cleaning.
2562         (gdb-gdb.py, gdb-gdb.gdb): New rules.
2563         * configure: Re-generate.
2564
2565 2018-06-27  Pedro Alves  <palves@redhat.com>
2566
2567         * proc-service.c (get_ps_regcache): New.
2568         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2569         (ps_lsetfpregs): Use it.
2570
2571 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
2572
2573         PR gdb/21695
2574         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
2575         (dwarf_decode_lines_1): Adjust.
2576
2577 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2578
2579         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2580         override.
2581         <info_proc>: Likewise.
2582
2583 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2584
2585         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2586         to windows_fetch_one_register, and only handle the case of
2587         fetching one register.  Move the code that reloads the context
2588         and iterates over all registers if R is negative to...
2589         (windows_nat_target::fetch_registers): ... here.
2590         (do_windows_store_inferior_registers): Rename to
2591         windows_store_one_register, and only handle the case of storing
2592         one register.  Move the code that handles the case where r is
2593         negative to...
2594         (windows_nat_target::store_registers) ... here.
2595
2596 2018-06-26  Tom Tromey  <tom@tromey.com>
2597
2598         PR rust/22574:
2599         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2600         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2601         Update.
2602         (rust_internal_print_type): Add podata parameter.
2603         (rust_print_type): Update.
2604
2605 2018-06-26  Tom Tromey  <tom@tromey.com>
2606
2607         * typeprint.h (struct print_offset_data) <update, finish,
2608         maybe_print_hole>: New methods.
2609         <indentation>: New constant.
2610         * typeprint.c (print_offset_data::indentation): Define.
2611         (print_offset_data::maybe_print_hole, print_offset_data::update)
2612         (print_offset_data::finish): Move from c-typeprint.c and rename.
2613         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2614         (print_spaces_filtered_with_print_options): Update.
2615         (c_print_type_union_field_offset, maybe_print_hole)
2616         (c_print_type_struct_field_offset): Move to typeprint.c and
2617         rename.
2618         (c_type_print_base_struct_union): Update.
2619
2620 2018-06-25  Pedro Alves  <palves@redhat.com>
2621
2622         * gdbthread.h (thread_info_ref, delete_thread)
2623         (delete_thread_silent, first_thread_of_inferior)
2624         (any_thread_of_inferior, switch_to_thread)
2625         (enable_thread_stack_temporaries)
2626         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2627         (get_last_thread_stack_temporary)
2628         (value_in_thread_stack_temporaries, can_access_registers_thread):
2629         Spell out "struct thread_info" instead of just "thread_info".
2630         * inferior.h (notice_new_inferior): Likewise.
2631
2632 2018-06-25  Pedro Alves  <palves@redhat.com>
2633
2634         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2635         pass thread_info pointer to delete_thread.
2636         (windows_nat_target::detach): Pass inferior pointer to
2637         detach_inferior.
2638         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2639         delete_thread.
2640         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2641         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2642         and pass a thread_info pointer to delete_thread.
2643         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2644         pass thread_info pointer to delete_thread.
2645         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2646         delete_thread_silent call.
2647         * procfs.c (procfs_target::detach): Pass inferior pointer to
2648         detach_inferior.
2649         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2650         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2651         delete_thread_silent call.
2652         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2653         pass thread_info pointer to delete_thread.
2654         (windows_nat_target::detach): Pass inferior pointer to
2655         delete_inferior.
2656
2657 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2658
2659         * regcache.c (readable_regcache::read_part): Fix asserts.
2660         (reg_buffer::raw_collect_part): New function.
2661         (regcache::write_part): Fix asserts.
2662         (reg_buffer::raw_supply_part): New function.
2663         (regcache::transfer_regset_register): New helper function.
2664         (regcache::transfer_regset): Call new functions.
2665         (regcache_supply_regset): Use gdb_byte*.
2666         (regcache::supply_regset): Likewise.
2667         (regcache_collect_regset): Likewise.
2668         (regcache::collect_regset): Likewise.
2669         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2670         (reg_buffer::raw_supply_part): Likewise.
2671         (regcache::transfer_regset_register): Likewise.
2672         (regcache::transfer_regset): Use gdb_byte*.
2673
2674 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2675
2676         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2677
2678 2018-06-21  Pedro Alves  <palves@redhat.com>
2679
2680         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2681         instead of a ptid_t.  All callers adjusted.
2682         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2683         adjusted.
2684         (print_ada_task_info, display_current_task_id, task_command_1):
2685         Adjust.
2686         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2687         inferior_thread.
2688         (breakpoint_kind): Adjust.
2689         (remove_breakpoints_pid): Rename to ...
2690         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2691         pointer.  All callers adjusted.
2692         (bpstat_clear_actions): Use inferior_thread.
2693         (get_bpstat_thread): New.
2694         (bpstat_do_actions): Use it.
2695         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2696         to take a thread_info pointer.  All callers adjusted.
2697         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2698         (breakpoint_re_set_thread): Use inferior_thread.
2699         * breakpoint.h (struct inferior): Forward declare.
2700         (bpstat_stop_status): Update.
2701         (remove_breakpoints_pid): Delete.
2702         (remove_breakpoints_inf): New.
2703         * bsd-uthread.c (bsd_uthread_target::wait)
2704         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2705         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2706         (maint_btrace_packet_history_cmd)
2707         (maint_btrace_clear_packet_history_cmd): Adjust.
2708         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2709         inferior_thread.
2710         * cli/cli-interp.c: Include "inferior.h".
2711         * common/refcounted-object.h (struct
2712         refcounted_object_ref_policy): New.
2713         * compile/compile-object-load.c: Include gdbthread.h.
2714         (store_regs): Use inferior_thread.
2715         * corelow.c (core_target::close): Use current_inferior.
2716         (core_target_open): Adjust to use first_thread_of_inferior and use
2717         the current inferior.
2718         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2719         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2720         <thread>: ... this new field.  All references adjusted.
2721         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2722         Take a thread_info pointer instead of a ptid_t.
2723         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2724         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2725         thread_info pointer instead of a ptid_t.
2726         * elfread.c: Include "inferior.h".
2727         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2728         Use inferior_thread.
2729         * eval.c (evaluate_subexp): Likewise.
2730         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2731         inferior_thread.
2732         * gdb_proc_service.h (struct thread_info): Forward declare.
2733         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2734         <thread>: ... this new field.  All references adjusted.
2735         * gdbarch.h, gdbarch.c: Regenerate.
2736         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2737         'thread' parameter.  All implementations and callers adjusted.
2738         * gdbthread.h (thread_info) <set_running>: New method.
2739         (delete_thread, delete_thread_silent): Take a thread_info pointer
2740         instead of a ptid.
2741         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2742         (first_thread_of_process): Delete, replaced by ...
2743         (first_thread_of_inferior): ... this new function.  All callers
2744         adjusted.
2745         (any_live_thread_of_process): Delete, replaced by ...
2746         (any_live_thread_of_inferior): ... this new function.  All callers
2747         adjusted.
2748         (switch_to_thread, switch_to_no_thread): Declare.
2749         (is_executing): Delete.
2750         (enable_thread_stack_temporaries): Update comment.
2751         <enable_thread_stack_temporaries>: Take a thread_info pointer
2752         instead of a ptid_t.  Incref the thread.
2753         <~enable_thread_stack_temporaries>: Decref the thread.
2754         <m_ptid>: Delete
2755         <m_thr>: New.
2756         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2757         (get_last_thread_stack_temporary)
2758         (value_in_thread_stack_temporaries, can_access_registers_thread):
2759         Take a thread_info pointer instead of a ptid_t.  All callers
2760         adjusted.
2761         * infcall.c (get_call_return_value): Use inferior_thread.
2762         (run_inferior_call): Work with thread pointers instead of ptid_t.
2763         (call_function_by_hand_dummy): Work with thread pointers instead
2764         of ptid_t.  Use thread_info_ref.
2765         * infcmd.c (proceed_thread_callback): Access thread's state
2766         directly.
2767         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2768         access thread's state directly.
2769         (continue_command): Use inferior_thread.
2770         (info_program_command): Use find_thread_ptid and access thread
2771         state directly.
2772         (proceed_after_attach_callback): Use thread state directly.
2773         (notice_new_inferior): Take a thread_info pointer instead of a
2774         ptid_t.  All callers adjusted.
2775         (exit_inferior): Take an inferior pointer instead of a pid.  All
2776         callers adjusted.
2777         (exit_inferior_silent): New.
2778         (detach_inferior): Delete.
2779         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2780         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2781         (detach_inferior_command, kill_inferior_command): Use
2782         find_inferior_id instead of valid_gdb_inferior_id and
2783         gdb_inferior_id_to_pid.
2784         (inferior_command): Use inferior and thread pointers.
2785         * inferior.h (struct thread_info): Forward declare.
2786         (notice_new_inferior): Take a thread_info pointer instead of a
2787         ptid_t.  All callers adjusted.
2788         (detach_inferior): Delete declaration.
2789         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2790         instead of a pid.  All callers adjusted.
2791         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2792         (valid_gdb_inferior_id): Delete.
2793         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2794         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2795         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2796         ...
2797         <inf>: ... this new field.
2798         <step_ptid>: Delete, replaced by ...
2799         <step_thread>: ... this new field.
2800         (get_displaced_stepping_state): Take an inferior pointer instead
2801         of a pid.  All callers adjusted.
2802         (displaced_step_in_progress_any_inferior): Adjust.
2803         (displaced_step_in_progress_thread): Take a thread pointer instead
2804         of a ptid_t.  All callers adjusted.
2805         (displaced_step_in_progress, add_displaced_stepping_state): Take
2806         an inferior pointer instead of a pid.  All callers adjusted.
2807         (get_displaced_step_closure_by_addr): Adjust.
2808         (remove_displaced_stepping_state): Take an inferior pointer
2809         instead of a pid.  All callers adjusted.
2810         (displaced_step_prepare_throw, displaced_step_prepare)
2811         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2812         All callers adjusted.
2813         (start_step_over): Adjust.
2814         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2815         displaced step queue.
2816         (do_target_resume): Adjust.
2817         (fetch_inferior_event): Use inferior_thread.
2818         (context_switch, get_inferior_stop_soon): Take an
2819         execution_control_state pointer instead of a ptid_t.  All callers
2820         adjusted.
2821         (switch_to_thread_cleanup): Delete.
2822         (stop_all_threads): Use scoped_restore_current_thread.
2823         * inline-frame.c: Include "gdbthread.h".
2824         (inline_state) <inline_state>: Take a thread pointer instead of a
2825         ptid_t.  All callers adjusted.
2826         <ptid>: Delete, replaced by ...
2827         <thread>: ... this new field.
2828         (find_inline_frame_state): Take a thread pointer instead of a
2829         ptid_t.  All callers adjusted.
2830         (skip_inline_frames, step_into_inline_frame)
2831         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2832         pointer instead of a ptid_t.  All callers adjusted.
2833         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2834         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2835         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2836         pointers directly.
2837         * linux-nat.c (get_detach_signal): Likewise.
2838         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2839         (thread_db_notice_clone): Adjust.
2840         (thread_db_find_new_threads_silently)
2841         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2842         a thread pointer instead of a ptid_t.  All callers adjusted.
2843         * mi/mi-cmd-var.c: Include "inferior.h".
2844         (mi_cmd_var_update_iter): Update to use thread pointers.
2845         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2846         inferior directly.
2847         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2848         out to ...
2849         (mi_output_running): ... this new function.
2850         (mi_on_resume_1): Adjust to use it.
2851         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2852         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2853         directly.
2854         (interrupt_thread_callback): : Adjust to use thread and inferior
2855         pointers.
2856         * proc-service.c: Include "gdbthread.h".
2857         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2858         * progspace-and-thread.c: Include "inferior.h".
2859         * progspace.c: Include "inferior.h".
2860         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2861         hold a reference to an inferior_object.
2862         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2863         inferior_thread.
2864         * python/py-inferior.c (struct inferior_object): Give the type a
2865         tag name instead of a typedef.
2866         (python_on_normal_stop): No need to check if the current thread is
2867         listed.
2868         (inferior_to_inferior_object): Change return type to
2869         inferior_object.  All callers adjusted.
2870         (find_thread_object): Delete, bits factored out to ...
2871         (thread_to_thread_object): ... this new function.
2872         * python/py-infthread.c (create_thread_object): Use
2873         inferior_to_inferior_object.
2874         (thpy_is_stopped): Use thread pointer directly.
2875         (gdbpy_selected_thread): Use inferior_thread.
2876         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2877         field, replaced with ...
2878         <thread>: ... this new field.  All users adjusted.
2879         (btpy_insn_or_gap_new): Drop const.
2880         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2881         callers adjusted.
2882         * python/py-record.c: Include "gdbthread.h".
2883         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2884         a ptid_t.  All callers adjusted.
2885         (gdbpy_current_recording): Use inferior_thread.
2886         * python/py-record.h (recpy_record_object) <ptid>: Delete
2887         field, replaced with ...
2888         <thread>: ... this new field.  All users adjusted.
2889         (recpy_element_object) <ptid>: Delete
2890         field, replaced with ...
2891         <thread>: ... this new field.  All users adjusted.
2892         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2893         a ptid_t.  All callers adjusted.
2894         * python/py-threadevent.c: Include "gdbthread.h".
2895         (get_event_thread): Use thread_to_thread_object.
2896         * python/python-internal.h (struct inferior_object): Forward
2897         declare.
2898         (find_thread_object, find_inferior_object): Delete declarations.
2899         (thread_to_thread_object, inferior_to_inferior_object): New
2900         declarations.
2901         * record-btrace.c: Include "inferior.h".
2902         (require_btrace_thread): Use inferior_thread.
2903         (record_btrace_frame_sniffer)
2904         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2905         (get_thread_current_frame): Use scoped_restore_current_thread and
2906         switch_to_thread.
2907         (get_thread_current_frame): Use thread pointer directly.
2908         (record_btrace_replay_at_breakpoint): Use thread's inferior
2909         pointer directly.
2910         * record-full.c: Include "inferior.h".
2911         * regcache.c: Include "gdbthread.h".
2912         (get_thread_arch_regcache): Use the inferior's address space
2913         directly.
2914         (get_thread_regcache, registers_changed_thread): New.
2915         * regcache.h (get_thread_regcache(thread_info *thread)): New
2916         overload.
2917         (registers_changed_thread): New.
2918         (remote_target) <remote_detach_1>: Swap order of parameters.
2919         (remote_add_thread): <remote_add_thread>: Return the new thread.
2920         (get_remote_thread_info(ptid_t)): New overload.
2921         (remote_target::remote_notice_new_inferior): Use thread pointers
2922         directly.
2923         (remote_target::process_initial_stop_replies): Use
2924         thread_info::set_running.
2925         (remote_target::remote_detach_1, remote_target::detach)
2926         (extended_remote_target::detach): Adjust.
2927         * stack.c (frame_show_address): Use inferior_thread.
2928         * target-debug.h (target_debug_print_thread_info_pp): New.
2929         * target-delegates.c: Regenerate.
2930         * target.c (default_thread_address_space): Delete.
2931         (memory_xfer_partial_1): Use current_inferior.
2932         (target_detach): Use current_inferior.
2933         (target_thread_address_space): Delete.
2934         (generic_mourn_inferior): Use current_inferior.
2935         * target.h (struct target_ops) <thread_address_space>: Delete.
2936         (target_thread_address_space): Delete.
2937         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2938         pointers directly.
2939         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2940         thread pointer instead of a ptid_t.  Adjust all callers.
2941         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2942         (first_thread_of_process): Delete, replaced by ...
2943         (first_thread_of_inferior): ... this new function.  All callers
2944         adjusted.
2945         (any_thread_of_process): Rename to ...
2946         (any_thread_of_inferior): ... this, and take an inferior pointer.
2947         (any_live_thread_of_process): Rename to ...
2948         (any_live_thread_of_inferior): ... this, and take an inferior
2949         pointer.
2950         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2951         (value_in_thread_stack_temporaries)
2952         (get_last_thread_stack_temporary): Take a thread pointer instead
2953         of a ptid_t.  Adjust all callers.
2954         (thread_info::set_running): New.
2955         (validate_registers_access): Use inferior_thread.
2956         (can_access_registers_ptid): Rename to ...
2957         (can_access_registers_thread): ... this, and take a thread
2958         pointer.
2959         (print_thread_info_1): Adjust to compare thread pointers instead
2960         of ptids.
2961         (switch_to_no_thread, switch_to_thread): Make extern.
2962         (scoped_restore_current_thread::~scoped_restore_current_thread):
2963         Use m_thread pointer directly.
2964         (scoped_restore_current_thread::scoped_restore_current_thread):
2965         Use inferior_thread.
2966         (thread_command): Use thread pointer directly.
2967         (thread_num_make_value_helper): Use inferior_thread.
2968         * top.c (execute_command): Use inferior_thread.
2969         * tui/tui-interp.c: Include "inferior.h".
2970         * varobj.c (varobj_create): Use inferior_thread.
2971         (value_of_root_1): Use find_thread_global_id instead of
2972         global_thread_id_to_ptid.
2973
2974 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2975
2976         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2977         possible.
2978         (regcache::write_part): Likewise.
2979         (readable_regcache::cooked_read_part): Update comment.
2980         (readable_regcache::cooked_write_part): Likewise.
2981         * regcache.h: (readable_regcache::read_part): Likewise.
2982         (regcache::write_part): Likewise.
2983
2984 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2985             Dirk Schubert  <dirk.schubert@arm.com>
2986
2987         * aarch64-linux-nat.c (post_attach): New.
2988         (aarch64_linux_nat_target::post_attach): Override post_attach to
2989         record the number of hardware debug registers.
2990
2991 2018-06-20  Tom Tromey  <tom@tromey.com>
2992
2993         * python/py-param.c (add_setshow_generic): Make parameters const.
2994         (parmpy_init): Update.
2995
2996 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2997
2998         * regcache.h (regcache_cooked_read_ftype): Rename to...
2999         (register_read_ftype): ...this, change type to function_view.
3000         (class reg_buffer) <save>: Remove src parameter.
3001         (readonly_detached_regcache) <readonly_detached_regcache>: Make
3002         parameter non-const in first overload.  Remove src parameter in
3003         second overload.
3004         * regcache.c (do_cooked_read): Remove.
3005         (readonly_detached_regcache::readonly_detached_regcache): Make
3006         parameter non-const, adjust call to other constructor.
3007         (reg_buffer::save): Remove src parameter.
3008         * frame.c (do_frame_register_read): Remove.
3009         (frame_save_as_regcache): Use lambda function.
3010         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
3011         parameter to ppu2spu_data *.
3012         (ppu2spu_sniffer): Use lambda function.
3013
3014 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
3015
3016         * record-full.c (record_full_target::insert_breakpoint): Remove
3017         "struct" keyword, add const.
3018
3019 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
3020
3021         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
3022         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
3023         * configure.ac: Remove AC_PREREQ, add missing quoting.
3024         * gnulib/configure.ac: Modernize usage of
3025         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
3026         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
3027         (AUTOMAKE_VERSION): Bump to 1.15.1.
3028         * configure: Re-generate.
3029         * config.in: Re-generate.
3030         * aclocal.m4: Re-generate.
3031         * gnulib/aclocal.m4: Re-generate.
3032         * gnulib/config.in: Re-generate.
3033         * gnulib/configure: Re-generate.
3034         * gnulib/import/Makefile.in: Re-generate.
3035
3036 2018-06-19  Pedro Alves  <palves@redhat.com>
3037
3038         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3039         (lookup_minimal_symbol_by_pc_section): ... here with
3040         gdb_assert_not_reached added.
3041
3042 2018-06-19  Pedro Alves  <palves@redhat.com>
3043
3044         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3045         parameter with a block parameter.  Compare location's block symbol
3046         with the frame's block instead of addresses.
3047         (skip_inline_frames): Pass the current block instead of the
3048         frame's address.  Break out as soon as we determine the frame
3049         should not be skipped.
3050
3051 2018-06-18  Tom Tromey  <tom@tromey.com>
3052
3053         * solib-aix.c (solib_aix_get_section_offsets): Return
3054         unique_xmalloc_ptr.
3055         (solib_aix_solib_create_inferior_hook): Update.
3056
3057 2018-06-18  Tom Tromey  <tom@tromey.com>
3058
3059         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3060
3061 2018-06-18  Tom Tromey  <tom@tromey.com>
3062
3063         * solib-frv.c (frv_relocate_main_executable): Use
3064         unique_xmalloc_ptr.
3065         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3066         unique_xmalloc_ptr.
3067
3068 2018-06-18  Tom Tromey  <tom@tromey.com>
3069
3070         * objfiles.h (inhibit_section_map_updates): Update.
3071         (resume_section_map_updates, resume_section_map_updates_cleanup):
3072         Remove.
3073         * solib-svr4.c (svr4_handle_solib_event): Update.
3074         * objfiles.c (inhibit_section_map_updates): Return
3075         scoped_restore_tmpl<int>.
3076         (resume_section_map_updates, resume_section_map_updates_cleanup):
3077         Remove.
3078
3079 2018-06-18  Tom Tromey  <tom@tromey.com>
3080
3081         * valprint.h (read_string): Update.
3082         * valprint.c (read_string): Change type of "buffer".
3083         (val_print_string): Update.
3084         * python/py-value.c (valpy_string): Update.
3085         * language.h (struct language_defn) <la_get_string>: Change
3086         type of "buffer".
3087         (default_get_string, c_get_string): Update.
3088         * language.c (default_get_string): Change type of "buffer".
3089         * guile/scm-value.c (gdbscm_value_to_string): Update.
3090         * c-lang.c (c_get_string): Change type of "buffer".
3091
3092 2018-06-18  Tom Tromey  <tom@tromey.com>
3093
3094         * ser-mingw.c (struct pipe_state_destroyer): New.
3095         (pipe_state_up): New typedef.
3096         (cleanup_pipe_state): Remove.
3097         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3098
3099 2018-06-18  Tom Tromey  <tom@tromey.com>
3100
3101         * rust-lang.h (rust_yyerror): Don't declare.
3102         * rust-lang.c (rust_language_defn): Update.
3103         * rust-exp.y (yyerror): Now static.
3104         * parse.c (parse_exp_in_context_1): Update.
3105         * p-lang.h (p_yyerror): Don't declare.
3106         * p-lang.c (p_language_defn): Update.
3107         * p-exp.y (yyerror): Now static.
3108         * opencl-lang.c (opencl_language_defn): Update.
3109         * objc-lang.c (objc_language_defn): Update.
3110         * m2-lang.h (m2_yyerror): Don't declare.
3111         * m2-lang.c (m2_language_defn): Update.
3112         * m2-exp.y (yyerror): Now static.
3113         * language.h (struct language_defn) <la_error>: Remove.
3114         * language.c (unk_lang_error): Remove.
3115         (unknown_language_defn, auto_language_defn): Remove.
3116         * go-lang.h (go_yyerror): Don't declare.
3117         * go-lang.c (go_language_defn): Update.
3118         * go-exp.y (yyerror): Now static.
3119         * f-lang.h (f_yyerror): Don't declare.
3120         * f-lang.c (f_language_defn): Update.
3121         * f-exp.y (yyerror): Now static.
3122         * d-lang.h (d_yyerror): Don't declare.
3123         * d-lang.c (d_language_defn): Update.
3124         * d-exp.y (yyerror): Now static.
3125         * c-lang.h (c_yyerror): Don't declare.
3126         * c-lang.c (c_language_defn, cplus_language_defn)
3127         (asm_language_defn, minimal_language_defn): Update.
3128         * c-exp.y (yyerror): Now static.
3129         * ada-lang.h (ada_yyerror): Don't declare.
3130         * ada-lang.c (ada_language_defn): Update.
3131         * ada-exp.y (yyerror): Now static.
3132
3133 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3134
3135         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3136         (store_sveregs_to_thread): Likewise.
3137         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3138         (aarch64_linux_store_inferior_registers): Likewise.
3139         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3140         function.
3141         (aarch64_sve_regs_copy_to_regcache): Likewise.
3142         (aarch64_sve_regs_copy_from_regcache): Likewise.
3143         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3144         declaration.
3145         (aarch64_sve_regs_copy_to_regcache): Likewise.
3146         (aarch64_sve_regs_copy_from_regcache): Likewise.
3147         (sve_context): Structure from Linux headers.
3148         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3149         (SVE_SIG_ZREG_SIZE): Likewise.
3150         (SVE_SIG_PREG_SIZE): Likewise.
3151         (SVE_SIG_FFR_SIZE): Likewise.
3152         (SVE_SIG_REGS_OFFSET): Likewise.
3153         (SVE_SIG_ZREGS_OFFSET): Likewise.
3154         (SVE_SIG_ZREG_OFFSET): Likewise.
3155         (SVE_SIG_ZREGS_SIZE): Likewise.
3156         (SVE_SIG_PREGS_OFFSET): Likewise.
3157         (SVE_SIG_PREG_OFFSET): Likewise.
3158         (SVE_SIG_PREGS_SIZE): Likewise.
3159         (SVE_SIG_FFR_OFFSET): Likewise.
3160         (SVE_SIG_REGS_SIZE): Likewise.
3161         (SVE_SIG_CONTEXT_SIZE): Likewise.
3162         (SVE_PT_REGS_MASK): Likewise.
3163         (SVE_PT_REGS_FPSIMD): Likewise.
3164         (SVE_PT_REGS_SVE): Likewise.
3165         (SVE_PT_VL_INHERIT): Likewise.
3166         (SVE_PT_VL_ONEXEC): Likewise.
3167         (SVE_PT_REGS_OFFSET): Likewise.
3168         (SVE_PT_FPSIMD_OFFSET): Likewise.
3169         (SVE_PT_FPSIMD_SIZE): Likewise.
3170         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3171         (SVE_PT_SVE_PREG_SIZE): Likewise.
3172         (SVE_PT_SVE_FFR_SIZE): Likewise.
3173         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3174         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3175         (__SVE_SIG_TO_PT): Likewise.
3176         (SVE_PT_SVE_OFFSET): Likewise.
3177         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
3178         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
3179         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
3180         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
3181         (SVE_PT_SVE_PREG_OFFSET): Likewise.
3182         (SVE_PT_SVE_PREGS_SIZE): Likewise.
3183         (SVE_PT_SVE_FFR_OFFSET): Likewise.
3184         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
3185         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
3186         (SVE_PT_SVE_SIZE): Likewise.
3187         (SVE_PT_SIZE): Likewise.
3188         (HAS_SVE_STATE): New define.
3189
3190 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3191
3192         * nat/aarch64-sve-linux-sigcontext.h: New file.
3193         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
3194         new files.
3195         (SVE_VQ_MIN): Likewise.
3196         (SVE_VQ_MAX): Likewise.
3197         (SVE_VL_MIN): Likewise.
3198         (SVE_VL_MAX): Likewise.
3199         (SVE_NUM_ZREGS): Likewise.
3200         (SVE_NUM_PREGS): Likewise.
3201         (sve_vl_valid): Likewise.
3202         (struct user_sve_header): Likewise.
3203
3204 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
3205             Richard Bunt <Richard.Bunt@arm.com>
3206
3207         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
3208         was requested by GDB.
3209
3210 2018-06-15  Tom de Vries  <tdevries@suse.de>
3211
3212         * MAINTAINERS (Write After Approval): Add Tom de Vries.
3213
3214 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
3215
3216         * gnulib/update-gnulib.sh: Print expected versions of
3217         autoconf/aclocal.
3218
3219 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
3220
3221         * arch-utils.c (default_type_align): Use type_length_units.
3222         * gdbtypes.c (type_align): Use type_length_units.
3223
3224 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3225
3226         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
3227         of 'define' command.
3228
3229 2018-06-14  Tom de Vries  <tdevries@suse.de>
3230
3231         PR cli/22573
3232         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
3233         get_no_prettyformat_print_options.
3234
3235 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
3236
3237         * sparc-nat.h: Include target.h.
3238         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
3239         <fetch_registers>: Remove this argument in function call.
3240         <store_registers>: Remove this argument in function call, remove
3241         extra semicolon.
3242         <low_forget_process>: Call sparc64_forget_process instead of
3243         sparc_forget_process.
3244
3245 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3246
3247         * procfs.c (_initialize_procfs): Use add_inf_child_target.
3248         (procfs_target::make_corefile_notes): Adjust to new
3249         target_read_alloc return type.
3250
3251 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3252             Stephen Roberts  <stephen.roberts@arm.com>
3253
3254         PR gdb/22882
3255         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
3256         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
3257         Move should_notify_stop local into more inner scope.
3258
3259 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3260             Stephen Roberts  <stephen.roberts@arm.com>
3261
3262         PR gdb/22882
3263         * infrun.c (resume_1): Add call to mark_async_event_handler.
3264
3265 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3266
3267         * infrun.c (do_target_wait): Change old version of $pc printed.
3268
3269 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
3270
3271         * dwarf2read.c (read_index_from_section): Rename to...
3272         (read_gdb_index_from_section): ... this, update all callers.
3273         (dwarf2_read_index): Rename to...
3274         (dwarf2_read_gdb_index): ... this, update all callers.
3275
3276 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
3277
3278         * gdb/hppa-linux-nat.c
3279         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
3280         hppa_linux_nat_target::fetch_registers.
3281
3282 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3283
3284         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
3285         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
3286         (AARCH64_DWARF_SVE_FFR): Likewise.
3287         (AARCH64_DWARF_SVE_P0): Likewise.
3288         (AARCH64_DWARF_SVE_Z0): Likewise.
3289
3290 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3291
3292         * common/common-regcache.h (raw_compare): New function.
3293         * regcache.c (regcache::raw_compare): Likewise.
3294         * regcache.h (regcache::raw_compare): New declaration.
3295
3296 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3297
3298         * common/common-regcache.h (reg_buffer_common): New structure.
3299         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
3300         (reg_buffer::raw_supply): Likewise.
3301         (reg_buffer::raw_supply_integer): Likewise.
3302         (reg_buffer::raw_supply_zeroed): Likewise.
3303         (reg_buffer::raw_collect): Likewise.
3304         (reg_buffer::raw_collect_integer): Likewise.
3305         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
3306         (reg_buffer::raw_supply): Likewise.
3307         (reg_buffer::raw_supply_integer): Likewise.
3308         (reg_buffer::raw_supply_zeroed): Likewise.
3309         (reg_buffer::raw_collect): Likewise.
3310         (reg_buffer::raw_collect_integer): Likewise.
3311
3312 2018-06-10  Tom Tromey  <tom@tromey.com>
3313
3314         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
3315         (class remote_state) <stop_reply_queue>: Now std::vector.
3316         (remote_state::~remote_state)
3317         (remote_target::stop_reply_queue_length): Update.
3318         (struct queue_iter_param, remove_child_of_pending_fork)
3319         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
3320         (check_pending_event_prevents_wildcard_vcont_callback)
3321         (remove_stop_reply_for_inferior)
3322         (remove_stop_reply_of_remote_state)
3323         (remote_notif_remove_once_on_match)
3324         (stop_reply_match_ptid_and_ws)
3325         (remote_kill_child_of_pending_fork): Remove.
3326         (remote_target::remove_new_fork_children)
3327         (remote_target::check_pending_events_prevent_wildcard_vcont)
3328         (remote_target::discard_pending_stop_replies)
3329         (remote_target::discard_pending_stop_replies_in_queue)
3330         (remote_target::remote_notif_remove_queued_reply)
3331         (remote_target::queued_stop_reply)
3332         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
3333         (remote_target::wait, remote_target::kill_new_fork_children)
3334         (remote_target::async): Update.
3335
3336 2018-06-10  Tom Tromey  <tom@tromey.com>
3337
3338         * record-full.c (record_full_arch_list_cleanups): Remove.
3339         (record_full_message): Use try/catch.
3340         (record_full_wait_cleanups): Remove.
3341         (record_full_wait_1): Use try/catch.
3342         (record_full_restore): Likewise.
3343
3344 2018-06-10  Tom Tromey  <tom@tromey.com>
3345
3346         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
3347         declare VEC.  Add constructor.
3348         <in_target_beneath>: Now bool.
3349         (record_full_breakpoints): Now a std::vector, static.
3350         (record_full_sync_record_breakpoints)
3351         (record_full_init_record_breakpoints)
3352         (record_full_target::insert_breakpoint)
3353         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
3354
3355 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
3356
3357         * dwarf2read.c (process_cu_includes): Remove struct keyword.
3358         * serial.c (serial_interface_lookup): Remove struct keyword.
3359
3360 2018-06-10  Tom Tromey  <tom@tromey.com>
3361
3362         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
3363         method.
3364         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
3365         a method.
3366         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
3367         method.
3368         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
3369         "beneath" as a method.
3370         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
3371         Use "beneath" as a method.
3372
3373 2018-06-10  Tom Tromey  <tom@tromey.com>
3374
3375         * tracefile.c (struct trace_file_writer_deleter): New.
3376         <operator()>: Rename from trace_file_writer_xfree.
3377         (trace_file_writer_up): New typedef.
3378         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
3379
3380 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3381
3382         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
3383         <m_registers, m_register_status>: Change type to
3384         std::unique_ptr.
3385         * regcache.c (reg_buffer::reg_buffer): Use new instead of
3386         XCNEWVEC.
3387
3388 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3389
3390         * common/common-regcache.h (enum register_status): Add
3391         underlying type "signed char".
3392         * regcache.h (reg_buffer) <m_register_status>: Change type to
3393         register_status *.
3394         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
3395         register_status instead of signed char.
3396         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
3397         (reg_buffer::get_register_status): Remove cast.
3398         (readable_regcache::raw_read): Remove cast.
3399         (readable_regcache::cooked_read): Remove cast.
3400
3401 2018-06-09  Tom Tromey  <tom@tromey.com>
3402
3403         * source.c (reverse_search_command, forward_search_command): Use
3404         scoped_fd.
3405
3406 2018-06-09  Tom Tromey  <tom@tromey.com>
3407
3408         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
3409         (serial_ops_list): Now static, std::vector.
3410         (serial_interface_lookup, serial_add_interface): Update.
3411
3412 2018-06-09  Tom Tromey  <tom@tromey.com>
3413
3414         * dwarf2read.c (process_cu_includes): Update.
3415         (process_full_comp_unit): Update.
3416         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
3417         std::vector.
3418
3419 2018-06-08  Paul Koning  <paul_koning@dell.com>
3420
3421         PR gdb/23252
3422
3423         * python/python.c (do_start_initialization):
3424         Avoid call to internal Python API.
3425         (init__gdb_module): New function.
3426
3427 2018-06-08  Gary Benson <gbenson@redhat.com>
3428
3429         * linux-thread-db.c (valprint.h): New include.
3430         (struct check_thread_db_info): New structure.
3431         (check_thread_db_on_load, tdb_testinfo): New static globals.
3432         (check_thread_db, check_thread_db_callback): New functions.
3433         (try_thread_db_load_1): Run integrity checks if requested.
3434         (maintenance_check_libthread_db): New function.
3435         (_initialize_thread_db): Register "maint check libthread-db"
3436         and "maint set/show check-libthread-db".
3437         * NEWS: Mention the above new commands.
3438
3439 2018-06-08  Tom Tromey  <tom@tromey.com>
3440
3441         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
3442         now a method.
3443
3444 2018-06-08  Tom Tromey  <tom@tromey.com>
3445
3446         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
3447
3448 2018-06-08  Tom Tromey  <tom@tromey.com>
3449
3450         * common/btrace-common.h (struct btrace_data): Add constructor,
3451         destructor, move assignment operator.
3452         <empty, clear, fini>: New methods.
3453         <format>: Initialize.
3454         (btrace_data_init, btrace_data_fini, btrace_data_clear)
3455         (btrace_data_empty): Don't declare.
3456         * common/btrace-common.c (btrace_data_init): Remove.
3457         (btrace_data::fini): Rename from btrace_data_fini.
3458         (btrace_data::empty): Rename from btrace_data_empty.
3459         (btrace_data::clear): Rename from btrace_data_clear.  Return
3460         bool.
3461         * btrace.h (make_cleanup_btrace_data): Don't declare.
3462         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
3463         (parse_xml_btrace): Update.
3464         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
3465         (maint_btrace_clear_packet_history_cmd): Update.
3466
3467 2018-06-07  Pedro Alves  <palves@redhat.com>
3468
3469         * target.h (target_ops) <beneath>: Now a method.  All references
3470         updated.
3471         (class target_stack): New.
3472         * target.c (g_target_stack): New.
3473         (g_current_top_target): Delete.
3474         (current_top_target): Get the top target out of g_target_stack.
3475         (target_stack::push, target_stack::unpush): New.
3476         (push_target, unpush_target): Reimplement.
3477         (target_is_pushed): Reimplement in terms of g_target_stack.
3478         (target_ops::beneath, target_stack::find_beneath): New.
3479
3480 2018-06-07  Pedro Alves  <palves@redhat.com>
3481
3482         * target.h (find_target_beneath): Delete declaration.
3483         * target.c (find_target_beneath): Delete definition.
3484         * aix-thread.c: All callers of find_target_beneath adjusted to
3485         call target_ops::beneath instead.
3486         * bsd-uthread.c: Likewise.
3487         * linux-thread-db.c: Likewise.
3488         * ravenscar-thread.c: Likewise.
3489         * sol-thread.c: Likewise.
3490         * spu-multiarch.c: Likewise.
3491
3492 2018-06-07  Pedro Alves  <palves@redhat.com>
3493
3494         * target.h (target_ops) <beneath>: Now a method.  All references
3495         updated.
3496         (target_ops) <m_beneath>: New.
3497         * target.c (target_ops::beneath): New.
3498         * corelow.c: Adjust all references to target_ops::beneath.
3499         * linux-thread-db.c: Likewise.
3500         * make-target-delegates: Likewise.
3501         * record-btrace.c: Likewise.
3502         * record-full.c: Likewise.
3503         * remote.c: Likewise.
3504         * target.c: Likewise.
3505         * target-delegates.c: Regenerate.
3506
3507 2018-06-07  Pedro Alves  <palves@redhat.com>
3508
3509         * target.h (target_stack): Delete.
3510         (current_top_target): Declare function.
3511         * target.c (target_stack): Delete.
3512         (g_current_top_target): New.
3513         (current_top_target): New function.
3514         * auxv.c: Use current_top_target instead of target_stack
3515         throughout.
3516         * avr-tdep.c: Likewise.
3517         * breakpoint.c: Likewise.
3518         * corefile.c: Likewise.
3519         * elfread.c: Likewise.
3520         * eval.c: Likewise.
3521         * exceptions.c: Likewise.
3522         * frame.c: Likewise.
3523         * gdbarch-selftests.c: Likewise.
3524         * gnu-v3-abi.c: Likewise.
3525         * ia64-tdep.c: Likewise.
3526         * ia64-vms-tdep.c: Likewise.
3527         * infcall.c: Likewise.
3528         * infcmd.c: Likewise.
3529         * infrun.c: Likewise.
3530         * linespec.c: Likewise.
3531         * linux-tdep.c: Likewise.
3532         * minsyms.c: Likewise.
3533         * ppc-linux-nat.c: Likewise.
3534         * ppc-linux-tdep.c: Likewise.
3535         * procfs.c: Likewise.
3536         * regcache.c: Likewise.
3537         * remote.c: Likewise.
3538         * rs6000-tdep.c: Likewise.
3539         * s390-linux-nat.c: Likewise.
3540         * s390-tdep.c: Likewise.
3541         * solib-aix.c: Likewise.
3542         * solib-darwin.c: Likewise.
3543         * solib-dsbt.c: Likewise.
3544         * solib-spu.c: Likewise.
3545         * solib-svr4.c: Likewise.
3546         * solib-target.c: Likewise.
3547         * sparc-tdep.c: Likewise.
3548         * sparc64-tdep.c: Likewise.
3549         * spu-tdep.c: Likewise.
3550         * symfile.c: Likewise.
3551         * symtab.c: Likewise.
3552         * target-descriptions.c: Likewise.
3553         * target-memory.c: Likewise.
3554         * target.c: Likewise.
3555         * target.h: Likewise.
3556         * tracefile-tfile.c: Likewise.
3557         * tracepoint.c: Likewise.
3558         * valops.c: Likewise.
3559         * valprint.c: Likewise.
3560         * value.c: Likewise.
3561         * windows-tdep.c: Likewise.
3562         * mi/mi-main.c: Likewise.
3563
3564 2018-06-07  Tom Tromey  <tom@tromey.com>
3565
3566         * valprint.h (build_address_symbolic): Declare.
3567         * printcmd.c (print_address_symbolic): Update.
3568         (build_address_symbolic): Change "name" and "filename" to
3569         std::string.
3570         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
3571         Update.
3572         * defs.h (build_address_symbolic): Remove declaration.
3573
3574 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
3575
3576         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
3577         (aarch64_vnv_type): Add function.
3578         (aarch64_pseudo_register_name): Add V regs for SVE.
3579         (aarch64_pseudo_register_type): Likewise.
3580         (aarch64_pseudo_register_reggroup_p): Likewise.
3581         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3582         (aarch64_pseudo_read_value): Add V regs for SVE.
3583         (aarch64_pseudo_write_2): Use V0 offset for SVE
3584         (aarch64_pseudo_write): Add V regs for SVE.
3585         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3586
3587 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3588
3589         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3590         (sve_vl_from_vq): Likewise.
3591
3592 2018-06-05  Tom Tromey  <tom@tromey.com>
3593
3594         * cli/cli-cmds.c (show_version): Update.
3595         * top.c (print_gdb_version): Add "interactive" parameter.
3596         Update.
3597         * main.c (captured_main_1): Update.
3598         * top.h (print_gdb_version): Add "interactive" parameter and a
3599         comment.
3600
3601 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3602
3603         * common/enum-flags.h: Add trailing semicolon to example in
3604         comment.
3605
3606 2018-06-05  Tom Tromey  <tom@tromey.com>
3607
3608         PR cli/12326:
3609         * NEWS: Add entry about pager.
3610         * utils.c (pagination_disabled_for_command): New global.
3611         (prompt_for_continue): Allow "c" response to prompt.
3612         (reinitialize_more_filter): Clear
3613         pagination_disabled_for_command.
3614         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3615
3616 2018-06-04  Tom Tromey  <tom@tromey.com>
3617
3618         * ada-lang.h (ada_lookup_symbol_list): Update.
3619         * ada-lang.c (resolve_subexp): Update.
3620         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3621         parameter.
3622         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3623         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3624         results parameter to std::vector.
3625         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3626         Update.
3627         * ada-exp.y (block_lookup): Update.
3628         (select_possible_type_sym): Change type of syms.  Remove nsyms
3629         parameter.
3630         (write_var_or_type, write_name_assoc): Update.
3631
3632 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3633
3634         * windows-nat.c (windows_nat_target::xfer_partial): Return
3635         TARGET_XFER_E_IO if we need to delegate to the target beneath
3636         but BENEATH is NULL.
3637
3638 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3639
3640         * Makefile.in (config.status): Add configure.nat as a
3641         dependency.
3642
3643 2018-06-04  Tom Tromey  <tom@tromey.com>
3644
3645         * cp-name-parser.y (cpname_state): Add method declarations.
3646         (HANDLE_QUAL): Update.
3647         (cpname_state::d_grab, cpname_state::fill_comp)
3648         (cpname_state::make_operator, cpname_state::make_dtor)
3649         (cpname_state::make_builtin_type, cpname_state::make_name)
3650         (cpname_state::d_qualify, cpname_state::d_int_type)
3651         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3652         (%union): Move earlier.
3653
3654 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3655
3656         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3657
3658 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3659
3660         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3661         (aarch64_pseudo_write_1): Likewise.
3662         (aarch64_pseudo_read_value): Use helper.
3663         (aarch64_pseudo_write): Likewise.
3664
3665 2018-06-04  Pedro Alves  <palves@redhat.com>
3666
3667         * darwin-nat.c (darwin_ops): Delete.
3668         (darwin_attach_pid): Use get_native_target.
3669
3670 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3671
3672         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3673         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3674
3675 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3676
3677         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3678         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3679         (aarch64_gdbarch_init): Check for SVE.
3680         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3681
3682 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3683
3684         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3685         * aarch64-tdep.h (aarch64_read_description): Likewise.
3686         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3687         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3688         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3689         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3690         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3691
3692 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3693
3694         * value.c (value_fetch_lazy_bitfield): New.
3695         (value_fetch_lazy_memory): New.
3696         (value_fetch_lazy_register): New.
3697         (value_fetch_lazy): Factor out to smaller functions.
3698
3699 2018-06-01  Tom Tromey  <tom@tromey.com>
3700
3701         * cp-name-parser.y (backslashable, represented): Now const.
3702
3703 2018-06-01  Tom Tromey  <tom@tromey.com>
3704
3705         * cp-name-parser.y: Include parser-defs.h.
3706         (parser_fprintf): Remove declaration.
3707
3708 2018-06-01  Tom Tromey  <tom@tromey.com>
3709
3710         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3711         %parse-param.
3712         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3713         (global_result): Remove globals.
3714         (struct cpname_state): New.
3715         (yyparse): Don't declare.
3716         (yylex, yyerror): Move declarations after %union.
3717         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3718         (make_name): Add state parameter.
3719         Update all callers.
3720         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3721         parameter.
3722         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3723         Update.
3724         (yylex): Add lvalp, state parameters.
3725         (yyerror): Add state parameter.
3726         (cp_demangled_name_to_comp): Update.
3727
3728 2018-06-01  Tom Tromey  <tom@tromey.com>
3729
3730         * cp-name-parser.y (parser_fprintf): Declare.
3731         (GDB_YY_REMAP_PREFIX): Define.
3732         Include yy-remap.h.  Don't redefine yy* identifiers.
3733
3734 2018-06-01  Tom Tromey  <tom@tromey.com>
3735
3736         * python/py-type.c (typy_legacy_template_argument): Update.
3737         * cp-support.h (cp_demangled_name_to_comp): Update.
3738         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3739         parameter to be a "std::string *".
3740         (main): Update.
3741
3742 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3743
3744         * ada-lex.l: Include "diagnostics.h" instead of
3745         "common/diagnostics.h".
3746         * unittests/environ-selftests.c: Likewise.
3747         * common/diagnostics.h: Moved to ../include.
3748
3749 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3750
3751         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3752         to language_mode_manual while calling breakpoint_re_set_one.
3753
3754 2018-06-01  Tom Tromey  <tom@tromey.com>
3755
3756         * valops.c (value_cast_structs, destructor_name_p): Update.
3757         * symtab.c (gdb_mangle_name): Update.
3758         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3759         Update.
3760         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3761         (pascal_object_print_value_fields, pascal_object_print_value):
3762         Update.
3763         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3764         * linespec.c (find_methods): Update.
3765         * gdbtypes.h (type_name_no_tag): Remove.
3766         (type_name_or_error): Rename from type_name_no_tag_or_error.
3767         * gdbtypes.c (type_name_no_tag): Remove.
3768         (type_name_or_error): Rename from type_name_no_tag_or_error.
3769         (lookup_struct_elt_type, check_typedef): Update.
3770         * expprint.c (print_subexp_standard): Update.
3771         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3772         * d-namespace.c (d_lookup_nested_symbol): Update.
3773         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3774         (cp_print_class_member): Update.
3775         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3776         * completer.c (add_struct_fields): Update.
3777         * c-typeprint.c (cp_type_print_derivation_info)
3778         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3779         Update.
3780         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3781         (ada_prefer_type, ada_is_exception_sym): Update.
3782
3783 2018-06-01  Tom Tromey  <tom@tromey.com>
3784
3785         * valops.c (enum_constant_from_type, value_namespace_elt)
3786         (value_maybe_namespace_elt): Update.
3787         * valarith.c (find_size_for_pointer_math): Update.
3788         * target-descriptions.c (make_gdb_type): Update.
3789         * symmisc.c (print_symbol): Update.
3790         * stabsread.c (define_symbol, read_type)
3791         (complain_about_struct_wipeout, add_undefined_type)
3792         (cleanup_undefined_types_1): Update.
3793         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3794         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3795         (rust_internal_print_type, rust_composite_type)
3796         (rust_evaluate_funcall, rust_evaluate_subexp)
3797         (rust_inclusive_range_type_p): Update.
3798         * python/py-type.c (typy_get_tag): Update.
3799         * p-typeprint.c (pascal_type_print_base): Update.
3800         * mdebugread.c (parse_symbol, parse_type): Update.
3801         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3802         Update.
3803         * guile/scm-type.c (gdbscm_type_tag): Update.
3804         * go-lang.c (sixg_string_p): Update.
3805         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3806         Update.
3807         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3808         (TYPE_TAG_NAME): Remove.
3809         * gdbtypes.c (type_name_no_tag): Simplify.
3810         (check_typedef, check_types_equal, recursive_dump_type)
3811         (copy_type_recursive, arch_composite_type): Update.
3812         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3813         in summary mode when needed.
3814         * eval.c (evaluate_funcall): Update.
3815         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3816         (process_structure_scope, read_enumeration_type)
3817         (read_namespace_type, read_module_type, determine_prefix): Update.
3818         * cp-support.c (inspect_type): Update.
3819         * coffread.c (process_coff_symbol, decode_base_type): Update.
3820         * c-varobj.c (c_is_path_expr_parent): Update.
3821         * c-typeprint.c (c_type_print_base_struct_union): Update.
3822         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3823         summary when using C language.
3824         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3825         (gen_maybe_namespace_elt): Update.
3826         * ada-lang.c (ada_type_name): Simplify.
3827         (empty_record, ada_template_to_fixed_record_type_1)
3828         (template_to_static_fixed_type)
3829         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3830
3831 2018-06-01  Tom Tromey  <tom@tromey.com>
3832
3833         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3834         c_print_type.
3835         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3836         (c_print_type): Update.
3837         (c_print_type): New overload.
3838         (c_type_print_varspec_prefix, c_type_print_args)
3839         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3840         (c_type_print_base_struct_union, c_type_print_base_1)
3841         (cp_type_print_method_args): Add "language" parameter.
3842         (c_type_print_base): Update.
3843         * c-lang.h (c_print_type): Add new overload.
3844
3845 2018-06-01  Tom Tromey  <tom@tromey.com>
3846
3847         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3848         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3849
3850 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3851
3852         * aarch64-tdep.c (aarch64_sve_register_names): New const
3853         var.
3854         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3855         (AARCH64_SVE_Z_REGS_NUM): New define.
3856         (AARCH64_SVE_P_REGS_NUM): Likewise.
3857         (AARCH64_SVE_NUM_REGS): Likewise.
3858
3859 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3860
3861         * nat/linux-ptrace.h [__alpha__]
3862         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3863         definitions.
3864
3865 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3866
3867         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3868         the endianness selected.
3869         * NEWS: Document `set endian auto' mode operation update.
3870
3871 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3872
3873         * Makefile.in: Add new header.
3874         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3875         (sve_vl_from_vg): Likewise.
3876         (sve_vq_from_vl): Likewise.
3877         (sve_vl_from_vq): Likewise.
3878         (sve_vq_from_vg): Likewise.
3879         (sve_vg_from_vq): Likewise.
3880         * configure.nat: Add new c file.
3881         * nat/aarch64-sve-linux-ptrace.c: New file.
3882         * nat/aarch64-sve-linux-ptrace.h: New file.
3883
3884 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3885
3886         * aarch64-linux-nat.c (aarch64_linux_read_description):
3887         Add parmeter zero.
3888         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3889         Likewise.
3890         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3891         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3892         (aarch64_gdbarch_init): Add parmeter zero.
3893         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3894         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3895         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3896         parmeter.
3897         * doc/gdb.texinfo: Describe SVE feature
3898         * features/aarch64-sve.c: New file.
3899
3900 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3901
3902         PR gdb/23210
3903         * gdbarch.sh (significant_addr_bit): Default to zero when
3904         not set by target architecture.
3905         * gdbarch.c: Re-generated.
3906         * utils.c (address_significant): Update.
3907
3908 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3909
3910         * stack.c (func_command): Remove trailing newline in call to error.
3911
3912 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3913
3914         * regcache.h (regcache_raw_collect): Remove, update callers to
3915         use regcache::raw_collect.
3916         * regcache.c (regcache_raw_collect): Remove.
3917
3918 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3919
3920         * regcache.h (regcache_raw_supply): Remove, update callers to
3921         use detached_regcache::raw_supply.
3922         * regcache.c (regcache_raw_supply): Remove.
3923
3924 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3925
3926         * regcache.h (regcache_cooked_write_part): Remove, update
3927         callers to use regcache::cooked_write_part.
3928         * regcache.c (regcache_cooked_write_part): Remove.
3929
3930 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3931
3932         * regcache.h (regcache_cooked_read_part): Remove, update callers
3933         to use readable_regcache::cooked_read_part.
3934         * regcache.c (regcache_cooked_read_part): Remove.
3935
3936 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3937
3938         * regcache.h (regcache_cooked_read_value): Remove, update
3939         callers to use readable_regcache::cooked_read_value.
3940         * regcache.c (regcache_cooked_read_value): Remove.
3941
3942 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3943
3944         * regcache.h (regcache_cooked_write): Remove, update callers to
3945         use regcache::cooked_write.
3946         * regcache.c (regcache_cooked_write): Remove.
3947
3948 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3949
3950         * regcache.h (regcache_invalidate): Remove, update callers to
3951         use detached_regcache::invalidate instead.
3952         * regcache.c (regcache_invalidate): Remove.
3953
3954 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3955
3956         * regcache.h (regcache_raw_write_part): Remove, update callers
3957         to use regcache::raw_write_part instead.
3958         * regcache.c (regcache_raw_write_part): Remove.
3959
3960 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3961
3962         * regcache.h (regcache_raw_read_part): Remove, update callers to
3963         use readable_regcache::raw_read_part instead.
3964         * regcache.c (regcache_raw_read_part): Remove.
3965
3966 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3967
3968         * regcache.h (regcache_cooked_read): Remove, update callers to
3969         use readable_regcache::cooked_read instead.
3970         * regcache.c (regcache_cooked_read): Remove.
3971
3972 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3973
3974         * regcache.h (regcache_raw_write): Remove, update callers to use
3975         regcache::raw_write instead.
3976         * regcache.c (regcache_raw_write): Remove.
3977
3978 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3979
3980         * regcache.h (regcache_raw_read): Remove, update callers to use
3981         readable_regcache::raw_read instead.
3982         * regcache.c (regcache_raw_read): Remove.
3983
3984 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3985
3986         * regcache.h (regcache_raw_update): Remove, update callers to
3987         use readable_regcache::raw_update instead.
3988         * regcache.c (regcache_raw_update): Remove.
3989
3990 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3991
3992         * regcache.h (regcache_register_status): Remove, update callers
3993         to use reg_buffer::get_register_status directly instead.
3994         * regcache.c (regcache_register_status): Remove.
3995
3996 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3997
3998         * regcache.h (regcache_get_ptid): Remove, update all callers to
3999         call regcache::ptid instead.
4000         * regcache.c (regcache_get_ptid): Remove.
4001
4002 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
4003
4004         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
4005
4006 2018-05-30  Pedro Alves  <palves@redhat.com>
4007
4008         * common/common-exceptions.h (exception_rethrow): Use
4009         ATTRIBUTE_NORETURN.
4010
4011 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
4012
4013         * breakpoint.c (print_solib_event, check_status_catch_solib):
4014         Remove struct keyword in range-based for loops.
4015         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
4016         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
4017         Likewise.
4018         * linespec.c (find_superclass_methods, search_minsyms_for_name):
4019         Likewise.
4020         * symfile.c (addr_info_make_relative): Likewise.
4021         * thread.c (value_in_thread_stack_temporaries): Likewise.
4022
4023 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
4024
4025         PR gdb/16841
4026         * valops.c (value_struct_elt_for_reference): Call check_typedef on
4027         aggregate type to get its real type before accessing it.
4028
4029 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
4030
4031         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
4032         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4033         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4034         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4035         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4036         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4037         * printcmd.c (info_address_command): Likewise.
4038
4039 2018-05-29  Tom Tromey  <tom@tromey.com>
4040
4041         * windows-nat.c (handle_exception): Update fall-through comment.
4042
4043 2018-05-29  Tom Tromey  <tom@tromey.com>
4044
4045         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4046         (struct program_space) <added_solibs>: Now a std::vector.
4047         * breakpoint.c (print_solib_event): Update.
4048         (check_status_catch_solib): Update.
4049         * progspace.c (clear_program_space_solib_cache): Update.
4050         * solib.c (update_solib_list): Update.
4051
4052 2018-05-29  Tom Tromey  <tom@tromey.com>
4053
4054         * python/py-type.c (typy_richcompare): Update.
4055         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4056         * gdbtypes.h (types_deeply_equal): Return bool.
4057         (types_equal): Likewise.
4058         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4059         declare VEC.
4060         (check_types_equal): Change worklist to std::vector.  Return
4061         bool.
4062         (struct type_equality_entry): Add constructor.
4063         (compare_maybe_null_strings): Return bool.
4064         (check_types_worklist): Return bool.  Change worklist to
4065         std::vector.
4066         (types_deeply_equal): Use std::vector.
4067         (types_equal): Return bool.
4068         (compare_maybe_null_strings): Simplify.
4069
4070 2018-05-29  Tom Tromey  <tom@tromey.com>
4071
4072         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4073
4074 2018-05-29  Tom Tromey  <tom@tromey.com>
4075
4076         * objc-lang.h: Don't include cp-support.h.
4077         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4078         declare VEC.
4079
4080 2018-05-27  Tom Tromey  <tom@tromey.com>
4081
4082         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4083
4084 2018-05-25  Tom Tromey  <tom@tromey.com>
4085
4086         * value.c (value::location): Initialize.
4087
4088 2018-05-25  Tom Tromey  <tom@tromey.com>
4089
4090         * dbxread.c (init_bincl_list): Remove.
4091         (bincl_list): Now a std::vector.
4092         (bincls_allocated, next_bincl): Remove.
4093         (free_bincl_list, do_free_bincl_list_cleanup)
4094         (make_cleanup_free_bincl_list): Remove.
4095         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4096         unique_xmalloc_ptr.
4097         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4098         (struct header_file_location): Add constructor.
4099         (add_bincl_to_list): Remove.
4100
4101 2018-05-25  Tom Tromey  <tom@tromey.com>
4102
4103         * tui/tui.c (tui_enable): Update.
4104         * mi/mi-interp.c (mi_interp::init): Update.
4105         * interps.h (class interp) <name>: New method.
4106         <m_name>: Rename from name.
4107         (~scoped_restore_interp): Update.
4108         * interps.c (interp::interp): Update.
4109         (interp_add, interp_set, interp_lookup_existing)
4110         (current_interp_named_p): Update.
4111
4112 2018-05-25  Tom Tromey  <tom@tromey.com>
4113
4114         * interps.c (interp_name): Remove.
4115         * mi/mi-interp.c (mi_interp::init): Update.
4116         * interps.h (interp_name): Remove.
4117         (~scoped_restore_interp): Update.
4118         * tui/tui.c (tui_enable): Update.
4119
4120 2018-05-25  Tom Tromey  <tom@tromey.com>
4121
4122         * utils.c (fputs_maybe_filtered): Update.
4123         * linespec.c (decode_line_full): Update.
4124         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4125         (mi_print_breakpoint_for_event, mi_solib_loaded)
4126         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4127         (mi_user_selected_context_changed): Update.
4128         * mi/mi-main.c (mi_execute_command): Update.
4129         * cli/cli-script.c (execute_control_command): Update.
4130         * python/python.c (execute_gdb_command): Update.
4131         * solib.c (info_sharedlibrary_command): Update.
4132         * interps.c (interp_ui_out): Remove.
4133         * interps.h (interp_ui_out): Remove.
4134
4135 2018-05-25  Tom Tromey  <tom@tromey.com>
4136
4137         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4138         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4139         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4140
4141 2018-05-25  Tom Tromey  <tom@tromey.com>
4142
4143         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4144         * interps.c (interp_exec): Use scoped_restore.
4145
4146 2018-05-25  Tom Tromey  <tom@tromey.com>
4147
4148         * remote.c (remote_target::remote_file_get): Use
4149         gdb::byte_vector.
4150         (remote_target::remote_file_put): Likewise.
4151
4152 2018-05-25  Tom Tromey  <tom@tromey.com>
4153
4154         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4155         a std::string.
4156         (get_pe_section_index, add_pe_exported_sym): Update.
4157         (read_pe_exported_syms): Use gdb::def_vector.
4158
4159 2018-05-25  Tom Tromey  <tom@tromey.com>
4160
4161         * frame.c (remove_prev_frame): Remove.
4162         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4163
4164 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4165
4166         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4167         Remove prototypes.
4168         * mips-linux-nat.c (supply_fpregset): Always call
4169         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4170         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4171         `mips_fill_fpregset'.
4172         * mips-linux-tdep.c (mips_supply_fpregset)
4173         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4174         (mips_fill_fpregset_wrapper): Remove functions.
4175         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
4176         (mips_linux_fpregset): Remove variable.
4177         (mips_linux_iterate_over_regset_sections): Use
4178         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
4179         (mips_linux_o32_sigframe_init): Remove comment.
4180
4181 2018-05-25  Pedro Alves  <palves@redhat.com>
4182
4183         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
4184         (struct readahead_cache, struct packet_reg, struct
4185         remote_arch_state, class remote_state): Move higher up in the
4186         file.
4187         (remote_target::m_remote_state): Now an object instead of a pointer.
4188         (remote_target::get_remote_state): Adjust.
4189
4190 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4191
4192         * stack.c (select_and_print_frame): Delete.
4193         (struct function_bounds): Move struct within function.
4194         (func_command): Most content moved into new function
4195         find_frame_for_function, use new function, print result, add
4196         function comment.
4197         (find_frame_for_function): New function, now returns a result.
4198
4199 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4200
4201         * stack.c (iterate_over_block_arg_vars): Fix comment.
4202         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
4203
4204 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4205
4206         PR gdb/23203
4207         * frame.c
4208         (scoped_restore_selected_frame::scoped_restore_selected_frame):
4209         Define.
4210         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
4211         Define.
4212         * frame.h (class scoped_restore_selected_frame): New class.
4213         * stack.c (print_frame_local_vars): Remove catching and rethrowing
4214         of any exception, use scoped_restore_selected_frame to restore the
4215         frame instead.
4216
4217 2018-05-24  Pedro Alves  <palves@redhat.com>
4218
4219         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
4220         override.
4221
4222 2018-05-23  Tom Tromey  <tom@tromey.com>
4223
4224         * complaints.c (struct complaints): Remove.
4225         (symfile_complaint_book): Remove.
4226         (series): New global.
4227         (complaint_internal): Update.
4228         (clear_complaints): Update.
4229
4230 2018-05-23  Tom Tromey  <tom@tromey.com>
4231
4232         * complaints.c (counters): New global.
4233         (struct complain): Remove.
4234         (struct complaints) <root>: Remove.
4235         (complaint_sentinel): Remove.
4236         (symfile_complaint_book): Update.
4237         (find_complaint) Remove.
4238         (complaint_internal, clear_complaints): Update.
4239
4240 2018-05-23  Tom Tromey  <tom@tromey.com>
4241
4242         * complaints.c (struct complain) <file, line>: Remove.
4243         (find_complaint): Remove file, line parameters.
4244         (complaint_internal): Update.
4245
4246 2018-05-23  Tom Tromey  <tom@tromey.com>
4247
4248         * complaints.c (vcomplaint): Remove.
4249         (complaint_internal) Merge in contents of vcomplaint.
4250
4251 2018-05-23  Tom Tromey  <tom@tromey.com>
4252
4253         * complaints.c (struct complaints) <explanation>: Remove.
4254         (symfile_explanations): Remove.
4255         (symfile_complaint_book): Update.
4256         (vcomplaint): Update.
4257         (struct explanation): Remove.
4258
4259 2018-05-23  Tom Tromey  <tom@tromey.com>
4260
4261         * complaints.c (symfile_complaints): Remove.
4262         (complaint_internal): Remove "complaints" parameter.
4263         (clear_complaints, vcomplaint): Remove "c" parameter.
4264         (get_complaints): Remove.
4265         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
4266         (dwarf2_debug_line_missing_file_complaint)
4267         (dwarf2_debug_line_missing_end_sequence_complaint)
4268         (dwarf2_complex_location_expr_complaint)
4269         (dwarf2_const_value_length_mismatch_complaint)
4270         (dwarf2_section_buffer_overflow_complaint)
4271         (dwarf2_macro_malformed_definition_complaint)
4272         (dwarf2_invalid_attrib_class_complaint)
4273         (create_addrmap_from_index, dw2_symtab_iter_next)
4274         (dw2_expand_marked_cus)
4275         (dw2_debug_names_iterator::find_vec_in_debug_names)
4276         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
4277         (create_debug_type_hash_table, init_cutu_and_read_dies)
4278         (partial_die_parent_scope, add_partial_enumeration)
4279         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
4280         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
4281         (read_import_statement, read_file_scope, create_dwo_cu_reader)
4282         (create_cus_hash_table, create_dwp_hash_table)
4283         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
4284         (dwarf2_rnglists_process, dwarf2_ranges_process)
4285         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
4286         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
4287         (handle_struct_member_die, process_structure_scope)
4288         (read_array_type, read_common_block, read_module_type)
4289         (read_tag_pointer_type, read_typedef, read_base_type)
4290         (read_subrange_type, load_partial_dies, partial_die_info::read)
4291         (partial_die_info::read, partial_die_info::read)
4292         (partial_die_info::read, read_checked_initial_length_and_offset)
4293         (dwarf2_string_attr, read_formatted_entries)
4294         (dwarf_decode_line_header)
4295         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4296         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
4297         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
4298         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
4299         (get_signatured_type, get_DW_AT_signature_type)
4300         (decode_locdesc, file_file_name, consume_improper_spaces)
4301         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
4302         (dwarf_decode_macro_bytes, dwarf_decode_macros)
4303         (dwarf2_symbol_mark_computed, set_die_type)
4304         (read_attribute_value): Update.
4305         * stap-probe.c (handle_stap_probe, get_stap_base_address):
4306         Update.
4307         * dbxread.c (unknown_symtype_complaint)
4308         (lbrac_mismatch_complaint, repeated_header_complaint)
4309         (set_namestring, function_outside_compilation_unit_complaint)
4310         (read_dbx_symtab, process_one_symbol): Update.
4311         * gdbtypes.c (stub_noname_complaint): Update.
4312         * windows-nat.c (handle_unload_dll): Update.
4313         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
4314         (decode_base_type): Update.
4315         * xcoffread.c (bf_notfound_complaint, ef_complaint)
4316         (eb_complaint, record_include_begin, record_include_end)
4317         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
4318         (process_xcoff_symbol, read_symbol)
4319         (function_outside_compilation_unit_complaint)
4320         (scan_xcoff_symtab): Update.
4321         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
4322         * buildsym.c (finish_block_internal, make_blockvector)
4323         (end_symtab_get_static_block, augment_type_symtab): Update.
4324         * dtrace-probe.c (dtrace_process_dof)
4325         (dtrace_static_probe_ops::get_probes): Update.
4326         * complaints.h (struct complaint): Don't declare.
4327         (symfile_complaints): Remove.
4328         (complaint_internal): Remove "complaints" parameter.
4329         (complaint): Likewise.
4330         (clear_complaints): Likewise.
4331         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4332         (reread_symbols): Update.
4333         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
4334         (dwarf2_frame_cache, decode_frame_entry): Update.
4335         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
4336         * objc-lang.c (lookup_objc_class, lookup_child_selector)
4337         (info_selectors_command): Update.
4338         * macrotab.c (macro_include, check_for_redefinition)
4339         (macro_undef): Update.
4340         * objfiles.c (filter_overlapping_sections): Update.
4341         * stabsread.c (invalid_cpp_abbrev_complaint)
4342         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
4343         (define_symbol, error_type, read_type, rs6000_builtin_type)
4344         (stabs_method_name_from_physname, read_member_functions)
4345         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
4346         (attach_fields_to_type, complain_about_struct_wipeout)
4347         (read_range_type, read_args, common_block_start)
4348         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
4349         Update.
4350         * mdebugread.c (index_complaint, unknown_ext_complaint)
4351         (basic_type_complaint, bad_tag_guess_complaint)
4352         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
4353         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
4354         (parse_procedure, parse_lines)
4355         (function_outside_compilation_unit_complaint)
4356         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
4357         (bad_tag_guess_complaint, reg_value_complaint): Update.
4358         * cp-support.c (demangled_name_complaint): Update.
4359         * macroscope.c (sal_macro_scope): Update.
4360         * dwarf-index-write.c (class debug_names): Update.
4361
4362 2018-05-23  Tom Tromey  <tom@tromey.com>
4363
4364         * complaints.c (clear_complaints): Remove "noisy" parameter.
4365         * complaints.h (clear_complaints): Update.
4366         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4367         (reread_symbols): Update.
4368
4369 2018-05-23  Tom Tromey  <tom@tromey.com>
4370
4371         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
4372         SUBSEQUENT_MESSAGE.
4373         (vcomplaint, clear_complaints): Update.
4374         (symfile_explanations): Remove some messages.
4375
4376 2018-05-23  Tom Tromey  <tom@tromey.com>
4377
4378         * complaints.c (internal_complaint): Remove.
4379         * complaints.h (internal_complaint): Remove.
4380
4381 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4382
4383         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
4384
4385 2018-05-22  Pedro Alves  <palves@redhat.com>
4386
4387         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
4388         (remote_fileio_badfd, remote_fileio_return_errno)
4389         (remote_fileio_return_success, remote_fileio_func_open)
4390         (remote_fileio_func_open, remote_fileio_func_close)
4391         (remote_fileio_func_read, remote_fileio_func_write)
4392         (remote_fileio_func_lseek, remote_fileio_func_rename)
4393         (remote_fileio_func_unlink, remote_fileio_func_stat)
4394         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
4395         (remote_fileio_func_isatty, remote_fileio_func_system): Add
4396         remote_target parameter.
4397         (remote_fio_func_map) <func>: Add remote_target parameter.
4398         (do_remote_fileio_request, remote_fileio_request):
4399         * remote-fileio.h (remote_fileio_request):
4400         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
4401         remote_target parameter.
4402         (remote_notif_process, handle_notification): Adjust to pass down
4403         the remote.
4404         (remote_notif_state_allocate): Add remote_target parameter.  Save
4405         it.
4406         * remote-notif.h (struct remote_target): Forward declare.
4407         (struct notif_client) <parse, ack, can_get_pending_events>: Add
4408         remote_target parameter.
4409         (struct remote_notif_state) <remote>: New field.
4410         (remote_notif_ack, remote_notif_parse): Add remote_target
4411         parameter.
4412         (remote_notif_state_allocate, remote_notif_state_allocate): Add
4413         remote_target parameter.
4414         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
4415         (threads_listing_context, rmt_thread_action, protocol_feature)
4416         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
4417         (packet_result, struct threads_listing_context, remote_state):
4418         Move definitions and declarations higher up.
4419         (remote_target) <~remote_target>: Declare.
4420         (remote_download_command_source, remote_file_put, remote_file_get)
4421         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
4422         (remote_hostio_pread_vFile, remote_hostio_send_command)
4423         (remote_hostio_set_filesystem, remote_hostio_open)
4424         (remote_hostio_close, remote_hostio_unlink, remote_state)
4425         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
4426         (get_memory_write_packet_size, get_memory_read_packet_size)
4427         (append_pending_thread_resumptions, remote_detach_1)
4428         (append_resumption, remote_resume_with_vcont)
4429         (add_current_inferior_and_thread, wait_ns, wait_as)
4430         (process_stop_reply, remote_notice_new_inferior)
4431         (process_initial_stop_replies, remote_add_thread)
4432         (btrace_sync_conf, remote_btrace_maybe_reopen)
4433         (remove_new_fork_children, kill_new_fork_children)
4434         (discard_pending_stop_replies, stop_reply_queue_length)
4435         (check_pending_events_prevent_wildcard_vcont)
4436         (discard_pending_stop_replies_in_queue, stop_reply)
4437         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
4438         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
4439         (remote_interrupt_as, remote_interrupt_ns)
4440         (remote_get_noisy_reply, remote_query_attached)
4441         (remote_add_inferior, remote_current_thread, get_current_thread)
4442         (set_thread, set_general_thread, set_continue_thread)
4443         (set_general_process, write_ptid)
4444         (remote_unpack_thread_info_response, remote_get_threadinfo)
4445         (parse_threadlist_response, remote_get_threadlist)
4446         (remote_threadlist_iterator, remote_get_threads_with_ql)
4447         (remote_get_threads_with_qxfer)
4448         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
4449         (get_offsets, remote_check_symbols, remote_supported_packet)
4450         (remote_query_supported, remote_packet_size)
4451         (remote_serial_quit_handler, remote_detach_pid)
4452         (remote_vcont_probe, remote_resume_with_hc)
4453         (send_interrupt_sequence, interrupt_query)
4454         (remote_notif_get_pending_events, fetch_register_using_p)
4455         (send_g_packet, process_g_packet, fetch_registers_using_g)
4456         (store_register_using_P, store_registers_using_G)
4457         (set_remote_traceframe, check_binary_download)
4458         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
4459         (remote_xfer_live_readonly_partial, remote_read_bytes)
4460         (remote_send_printf, remote_flash_write, readchar)
4461         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
4462         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
4463         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
4464         (extended_remote_disable_randomization, extended_remote_run)
4465         (send_environment_packet, extended_remote_environment_support)
4466         (extended_remote_set_inferior_cwd, remote_write_qxfer)
4467         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
4468         (packet_command): Now methods of ...
4469         (remote_target): ... this class.
4470         (m_remote_state) <remote_target>: New field.
4471         (struct remote_state) <stop_reply_queue,
4472         remote_async_inferior_event_token, wait_forever_enabled_p>: New
4473         fields.
4474         (remote_state::remote_state): Allocate stop_reply_queue.
4475         (remote_state): Delete global.
4476         (get_remote_state_raw): Delete.
4477         (remote_target::get_remote_state): Allocate m_remote_state on
4478         demand.
4479         (get_current_remote_target): New.
4480         (remote_ops, extended_remote_ops): Delete.
4481         (wait_forever_enabled_p, remote_async_inferior_event_token):
4482         Delete, moved to struct remote_state.
4483         (remote_target::close): Delete self.  Destruction bits split to
4484         ...
4485         (remote_target::~remote_target): ... this.
4486         (show_memory_packet_size): Adjust to use
4487         get_current_remote_target.
4488         (struct protocol_feature) <func>: Add remote_target parameter.
4489         All callers adjusted.
4490         (curr_quit_handler_target): New.
4491         (remote_serial_quit_handler): Reimplement.
4492         (remote_target::open_1): Adjust to use get_current_remote_target.
4493         Heap-allocate remote_target/extended_remote_target instances.
4494         (vcont_builder::vcont_builder): Add remote_target parameter, and
4495         save it in m_remote.  All callers adjusted.
4496         (vcont_builder::m_remote): New field.
4497         (vcont_builder::restart, vcont_builder::flush)
4498         (vcont_builder::push_action): Use it.
4499         (remote_target::commit_resume): Use it.
4500         (struct queue_iter_param) <remote>: New field.
4501         (remote_target::remove_new_fork_children): Fill in 'remote' field.
4502         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
4503         (check_pending_event_prevents_wildcard_vcont_callback)
4504         (remote_target::check_pending_events_prevent_wildcard_vcont)
4505         (remote_target::discard_pending_stop_replies)
4506         (remote_target::discard_pending_stop_replies_in_queue)
4507         (remote_target::remote_notif_remove_queued_reply): Fill in
4508         'remote' field.
4509         (remote_notif_get_pending_events): New.
4510         (remote_target::readchar, remote_target::remote_serial_write):
4511         Save/restore curr_quit_handler_target.
4512         (putpkt): New.
4513         (kill_new_fork_children): Fill in 'remote' field.
4514         (packet_command): Use get_current_remote_target, defer to
4515         remote_target method of same name.
4516         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
4517         parameter, and save it in m_remote.  All callers adjusted.
4518         (scoped_remote_fd::release): Use m_remote.
4519         (scoped_remote_fd::m_remote): New field.
4520         (remote_file_put, remote_file_get, remote_file_delete): Use
4521         get_current_remote_target, defer to remote_target method of same
4522         name.
4523         (remote_btrace_reset): Add remote_state paremeter.  Update all
4524         callers.
4525         (remote_async_inferior_event_handler). Pass down 'data'.
4526         (remote_new_objfile): Use get_current_remote_target.
4527         (remote_target::vcont_r_supported): New.
4528         (set_range_stepping): Use get_current_remote_target and
4529         remote_target::vcont_r_supported.
4530         (_initialize_remote): Don't allocate 'remote_state' and
4531         'stop_reply_queue' globals.
4532         * remote.h (struct remote_target): Forward declare.
4533         (getpkt, putpkt, remote_notif_get_pending_events): Add
4534         'remote_target' parameter.
4535
4536 2018-05-22  Pedro Alves  <palves@redhat.com>
4537
4538         * remote.c (vcont_builder): Now a class.  Make all data members
4539         private.
4540         (vcont_builder) <vcont_builder, restart, flush, push_action>:
4541         Declare methods.
4542         (vcont_builder_restart): Rename to ...
4543         (vcont_builder::restart): ... this.
4544         (vcont_builder_flush): Rename to ...
4545         (vcont_builder::flush): ... this.
4546         (vcont_builder_push_action): Rename to ...
4547         (vcont_builder::push_action): ... this.
4548         (remote_target::commit_resume): Adjust.
4549
4550 2018-05-22  Pedro Alves  <palves@redhat.com>
4551
4552         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
4553         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
4554         (get_fixed_memory_packet_size): New.
4555         (get_memory_packet_size): Use it.
4556         (set_memory_packet_size): Don't override the config size with
4557         DEFAULT_MAX_MEMORY_PACKET_SIZE.
4558         (show_memory_packet_size): Use get_fixed_memory_packet_size.
4559         Don't refer to get_memory_packet_size if not connected to a remote
4560         target.  Show "(default)" if configured size is 0.
4561
4562 2018-05-22  Pedro Alves  <palves@redhat.com>
4563
4564         * remote.c (remote_target::mourn_inferior): Move
4565         discard_pending_stop_replies call here from ...
4566         (_initialize_remote): ... here.
4567
4568 2018-05-22  Pedro Alves  <palves@redhat.com>
4569
4570         * remote.c (compare_section_command): Remove set_general_process
4571         call.
4572
4573 2018-05-22  Pedro Alves  <palves@redhat.com>
4574
4575         * remote.c (struct packet_reg, struct remote_arch_state):
4576         Move higher up in the file.
4577         (remote_state) <m_arch_states>: Store remote_arch_state values
4578         instead of remote_arch_state pointers.
4579         (remote_state::get_remote_arch_state): Adjust.
4580
4581 2018-05-22  Pedro Alves  <palves@redhat.com>
4582
4583         * remote.c: Include <unordered_map>.
4584         (remote_state): Now a class.
4585         (remote_state) <get_remote_arch_state>: Declare method.
4586         <get_remote_arch_state>: New field.
4587         (remote_arch_state) <remote_arch_state>: Declare ctor.
4588         <regs>: Now a unique_ptr.
4589         (remote_gdbarch_data_handle): Delete.
4590         (get_remote_arch_state): Delete.
4591         (remote_state::get_remote_arch_state): New.
4592         (get_remote_state): Adjust to call remote_state's
4593         get_remote_arch_state method.
4594         (init_remote_state): Delete, bits factored out to ...
4595         (remote_arch_state::remote_arch_state): ... this new method.
4596         (get_remote_packet_size, get_memory_packet_size)
4597         (process_g_packet, remote_target::fetch_registers)
4598         (remote_target::prepare_to_store, store_registers_using_G)
4599         (remote_target::store_registers, remote_target::get_trace_status):
4600         Adjust to call remote_state's method.
4601         (_initialize_remote): Remove reference to
4602         remote_gdbarch_data_handle.
4603
4604 2018-05-22  Pedro Alves  <palves@redhat.com>
4605
4606         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4607         pread>: New method declarations.
4608         (remote_target::open_1): Adjust.
4609         (readahead_cache_invalidate): Rename to ...
4610         (readahead_cache::invalidate): ... this, and adjust to be a class
4611         method.
4612         (readahead_cache_invalidate_fd): Rename to ...
4613         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4614         class method.
4615         (remote_hostio_pwrite): Adjust.
4616         (remote_hostio_pread_from_cache): Rename to ...
4617         (readahead_cache::pread): ... this, and adjust to be a class
4618         method.
4619         (remote_hostio_close): Adjust.
4620
4621 2018-05-22  Pedro Alves  <palves@redhat.com>
4622
4623         * remote.c (remote_hostio_close_cleanup): Delete.
4624         (class scoped_remote_fd): New.
4625         (remote_file_put, remote_file_get): Use it.
4626
4627 2018-05-22  Pedro Alves  <palves@redhat.com>
4628
4629         (struct vCont_action_support): Use bool and initialize all fields.
4630         (struct readahead_cache): Initialize all fields.
4631         (remote_state): Use bool and initialize all fields.
4632         (remote_state::remote_state, remote_state::~remote_state): New.
4633         (new_remote_state): Delete.
4634         (_initialize_remote): Use new to allocate remote_state.
4635
4636 2018-05-22  Pedro Alves  <palves@redhat.com>
4637             張俊芝  <zjz@zjz.name>
4638
4639         PR gdb/22973
4640         * c-exp.y: Include "c-support.h".
4641         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4642         of tolower.  Use c_ident_is_alpha to scan names.
4643         * c-lang.c: Include "c-support.h".
4644         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4645         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4646         * c-support.h: New file, with bits factored out from ...
4647         * cp-name-parser.y: ... this file.
4648         Include "c-support.h".
4649         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4650         c-support.h and renamed.
4651         (symbol_end, yylex): Adjust.
4652
4653 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4654
4655         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4656         parameter type to CORE_ADDR.
4657         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4658         parameter type in declaration to CORE_ADDR.
4659         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4660         target_auxv_search to get AT_HWCAP and use the result to get the
4661         target description.
4662         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4663         to CORE_ADDR. Remove the cast of the return value to unsigned
4664         long. Fix error predicate of target_auxv_search.
4665         (ppc_linux_nat_target::read_description): Change the type of the
4666         hwcap variable to CORE_ADDR.
4667
4668 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4669
4670         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4671         if the size of fpscr is larger than 32 bits.
4672
4673 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4674
4675         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4676         (ppc32_linux_vsxregmap): New global.
4677         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4678         regcache_supply_regset, and regcache_collect_regset.
4679         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4680         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4681         (fetch_vsx_register, store_vsx_register): Remove.
4682         (fetch_vsx_registers): Add regno parameter. Get regset using
4683         ppc_linux_vsxregset. Use regset to supply registers.
4684         (store_vsx_registers): Add regno parameter. Get regset using
4685         ppc_linux_vsxregset. Use regset to collect registers.
4686         (fetch_register): Call fetch_vsx_registers instead of
4687         fetch_vsx_register.
4688         (store_register): Call store_vsx_registers instead of
4689         store_vsx_register.
4690         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4691         new regno parameter.
4692         (store_ppc_registers): Call store_vsx_registers with -1 for the
4693         new regno parameter.
4694         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4695         (ppc_collect_vsxregset): Remove.
4696
4697 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4698
4699         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4700         offset fields.
4701         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4702         for vector register offset fields.
4703         (ppc64_fbsd_reg_offsets): Likewise.
4704         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4705         to vector register offset fields.
4706         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4707         to vector register offset fields.
4708         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4709         vector register offset fields.
4710         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4711         initializers for vector register offset fields.
4712         (rs6000_aix64_reg_offsets): Likewise.
4713         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4714         (ppc_supply_vrregset): Remove.
4715         (ppc_collect_vrregset): Remove.
4716         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4717         (ppc_linux_vrregset) : New function.
4718         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4719         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4720         (ppc32_linux_vrregset): Remove.
4721         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4722         and use result instead of ppc32_linux_vrregset.
4723         (ppc32_linux_reg_offsets): Remove initializers for vector register
4724         offset fields.
4725         (ppc64_linux_reg_offsets): Likewise.
4726         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4727         * ppc-linux-nat.c: Include regset.h.
4728         (gdb_vrregset_t): Adjust comment to account for little-endian
4729         mode.
4730         (supply_vrregset, fill_vrregset): Remove.
4731         (fetch_altivec_register, store_altivec_register): Remove.
4732         (fetch_altivec_registers): Add regno parameter. Get regset using
4733         ppc_linux_vrregset. Use regset to supply registers.
4734         (store_altivec_registers): Add regno parameter. Get regset using
4735         ppc_linux_vrregset. Use regset to collect registers.
4736         (fetch_register): Call fetch_altivec_registers instead of
4737         fetch_altivec_register.
4738         (store_register): Call store_altivec_registers instead of
4739         store_altivec_register.
4740         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4741         the new regno parameter.
4742         (store_ppc_registers): Call store_altivec_registers with -1 for
4743         the new regno parameter.
4744
4745 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4746
4747         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4748         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4749         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4750         (gdb_vrregset_t): Change array type size to
4751         PPC_LINUX_SIZEOF_VRREGSET.
4752         (gdb_vsxregset_t): Change array type size to
4753         PPC_LINUX_SIZEOF_VSXREGSET.
4754         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4755         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4756         PPC_LINUX_SIZEOF_VSXREGSET.
4757
4758 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4759
4760         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4761         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4762         nat/ppc-linux.c.
4763         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4764         ppc_linux_target_wordsize with tid.
4765         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4766         wordsize with tid.
4767         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4768         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4769         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4770         tid parameter. Remove static specifier.
4771         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4772         (ppc_linux_target_wordsize): New declaration.
4773
4774 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4775
4776         * arch/ppc-linux-common.c: New file.
4777         * arch/ppc-linux-common.h: New file.
4778         * arch/ppc-linux-tdesc.h: New file.
4779         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4780         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4781         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4782         arch/ppc-linux-tdesc.h.
4783         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4784         arch/ppc-linux-tdesc.h.
4785         (ppc_linux_nat_target::read_description): Remove target
4786         description matching code. Fill a ppc_linux_features struct and
4787         call ppc_linux_match_description with it. Move comment about ISA
4788         2.05 to ppc-linux-common.c.
4789         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4790         arch/ppc-linux-tdesc.h.
4791         (ppc_linux_core_read_description): Remove target description
4792         matching code. Fill a ppc_linux_features struct and call
4793         ppc_linux_match_description with it.
4794         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4795         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4796         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4797         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4798         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4799         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4800         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4801         (tdesc_powerpc_e500l): Remove.
4802
4803 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4804
4805         * ada-lang.c (catch_assert_command): Pass empty string instead
4806         of NULL for excep_string argument.
4807
4808 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4809
4810         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4811         the width of the requested register exceeds the width of the
4812         `ptrace' data type.
4813
4814 2018-05-21  Tom Tromey  <tom@tromey.com>
4815
4816         * printcmd.c (output_command): Remove.
4817         (output_command_const): Rename to output_command.
4818         * valprint.h (output_command): Rename from output_command_const.
4819         * tracepoint.c (trace_dump_actions): Call output_command.
4820
4821 2018-05-21  Tom Tromey  <tom@tromey.com>
4822
4823         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4824         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4825         * ada-lang.h (create_ada_exception_catchpoint): Update.
4826         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4827         std::string.
4828         (create_excep_cond_exprs, ~ada_catchpoint)
4829         (should_stop_exception, print_one_exception)
4830         (print_mention_exception, print_recreate_exception): Update.
4831         (ada_get_next_arg): Remove.
4832         (catch_ada_exception_command_split): Use std::string.  Change type
4833         of "excep_string", "cond_string".
4834         (catch_ada_exception_command): Update.
4835         (create_ada_exception_catchpoint): Change type of excep_string.
4836         (ada_exception_sal): Remove excep_string parameter.
4837         (~ada_catchpoint): Remove.
4838
4839 2018-05-21  Tom Tromey  <tom@tromey.com>
4840
4841         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4842         cleanup.
4843
4844 2018-05-21  Tom Tromey  <tom@tromey.com>
4845
4846         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4847         Return unique_xmalloc_ptr.
4848         (print_it_exception): Update.
4849
4850 2018-05-21  Tom Tromey  <tom@tromey.com>
4851
4852         * tracepoint.c (trace_dump_actions): Use std::string.
4853
4854 2018-05-21  Tom Tromey  <tom@tromey.com>
4855
4856         * symfile.c (reread_symbols): Use std::string for original_name.
4857
4858 2018-05-21  Tom Tromey  <tom@tromey.com>
4859
4860         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4861         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4862         constructor.
4863
4864 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4865
4866         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4867         instance to...
4868         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4869         * objfiles.c (get_objfile_bfd_data): Allocate
4870         objfile_per_bfd_storage with obstack_new when allocating on
4871         obstack.
4872
4873 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4874
4875         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4876         OBSTACK_ZALLOC.
4877         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4878         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4879         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4880         (add_pending): Likewise.
4881         (parse_symbol): Likewise.
4882         (parse_partial_symbols): Likewise.
4883         (psymtab_to_symtab_1): Likewise.
4884         (new_psymtab): Likewise.
4885         (elfmdebug_build_psymtabs): Likewise.
4886         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4887         * objfiles.c (get_objfile_bfd_data): Likewise.
4888         (objfile_register_static_link): Likewise.
4889         * psymtab.c (allocate_psymtab): Likewise.
4890         * stabsread.c (read_member_functions): Likewise.
4891         * xcoffread.c (xcoff_end_psymtab): Likewise.
4892
4893 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4894
4895         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4896         compiler supports std::is_trivially_constructible.
4897         * common/poison.h: Include obstack.h.
4898         (IsMallocable): Define to is_trivially_constructible if the
4899         compiler supports it, define to true_type otherwise.
4900         (xobnew): New.
4901         (XOBNEW): Redefine.
4902         (xobnewvec): New.
4903         (XOBNEWVEC): Redefine.
4904         * gdb_obstack.h (obstack_zalloc): New.
4905         (OBSTACK_ZALLOC): Redefine.
4906         (obstack_calloc): New.
4907         (OBSTACK_CALLOC): Redefine.
4908         (obstack_new): New.
4909         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4910         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4911         gdbarch.c.
4912         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4913         obstack_calloc/obstack_zalloc.
4914         (gdbarch_obstack_zalloc): Remove.
4915         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4916
4917 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4918
4919         * stack.c (backtrace_command_1): Remove useless variable int i.
4920
4921 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4922
4923         * stack.c (print_frame_info): Fix comment.
4924
4925 2018-05-18  Tom Tromey  <tom@tromey.com>
4926
4927         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4928         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4929         (~dwarf2_per_objfile): Update
4930         (dwarf2_get_dwz_file): Use new.
4931         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4932         unique_ptr.
4933
4934 2018-05-18  Tom Tromey  <tom@tromey.com>
4935
4936         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4937         unique_ptr.
4938         * dwarf2read.c (struct dwp_file): Add constructor and
4939         initializers.
4940         (open_and_init_dwp_file): Return a unique_ptr.
4941         (dwarf2_per_objfile, create_dwp_hash_table)
4942         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4943         (lookup_dwo_unit_in_dwp): Update.
4944         (open_and_init_dwp_file, get_dwp_file): Update.
4945
4946 2018-05-18  Tom Tromey  <tom@tromey.com>
4947
4948         * dwarf2read.c (dwarf2_per_objfile): Update.
4949         (struct mapped_index): Add initializers.
4950         (dwarf2_read_index): Use new.
4951         (dw2_symtab_iter_init): Update.
4952         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4953         unique_ptr.
4954
4955 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4956
4957         * dwarf2read.c (mapped_index) <total_size>: Remove.
4958
4959 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4960
4961         * unittests/format_pieces-selftests.c (test_format_specifier):
4962         Add ARI comments.
4963
4964 2018-05-18  Tom Tromey  <tom@tromey.com>
4965
4966         * c-typeprint.c (maybe_print_hole): New function.
4967         (c_print_type_struct_field_offset): Update.
4968         (c_type_print_base_struct_union): Call maybe_print_hole.
4969
4970 2018-05-17  Keith Seitz  <keiths@redhat.com>
4971
4972         * breakpoint.c (build_bpstat_chain): New function, moved from
4973         bpstat_stop_status.
4974         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4975         If no stop chain is passed, call build_bpstat_chain to build it.
4976         * breakpoint.h (build_bpstat_chain): Declare.
4977         (bpstat_stop_status): Move documentation here from breakpoint.c.
4978         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4979         build the stop chain and pass it to skip_inline_frames.
4980         Pass this stop chain to bpstat_stop_status.
4981         * inline-frame.c: Include breakpoint.h.
4982         (stopped_by_user_bp_inline_frame): New function.
4983         (skip_inline_frames): Add parameter `stop_chain'.
4984         Move documention to inline-frame.h.
4985         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4986         whether the frame should be elided.
4987         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4988         Add moved documentation and update for new parameter.
4989
4990 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4991
4992         PR cli/14975
4993         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4994         unittests/format_pieces-selftests.c.
4995         * common/format.h (format_piece) <operator==>: New.
4996         (format_pieces) <operator[]>: Remove.
4997         * common/format.c (format_pieces::format_pieces): Handle \e.
4998         * unittests/format_pieces-selftests.c: New.
4999
5000 2018-05-17  Tom Tromey  <tom@tromey.com>
5001
5002         PR symtab/23010:
5003         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
5004         (dw2_instantiate_symtab): Add skip_partial parameter.
5005         (dw2_find_last_source_symtab, dw2_map_expand_apply)
5006         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
5007         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
5008         (dw2_expand_symtabs_matching_one)
5009         (dw2_find_pc_sect_compunit_symtab)
5010         (dw2_debug_names_lookup_symbol)
5011         (dw2_debug_names_expand_symtabs_for_function): Update.
5012         (init_cutu_and_read_dies): Add skip_partial parameter.
5013         (process_psymtab_comp_unit, build_type_psymtabs_1)
5014         (process_skeletonless_type_unit, load_partial_comp_unit)
5015         (psymtab_to_symtab_1): Update.
5016         (load_full_comp_unit): Add skip_partial parameter.
5017         (process_imported_unit_die, dwarf2_read_addr_index)
5018         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
5019         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
5020         (read_signatured_type): Update.
5021
5022 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
5023
5024         * value.c (release_value): Remove unused variable.
5025         (record_latest_value): Likewise.
5026         (access_value_history): Likewise.
5027         (preserve_values): Likewise.
5028
5029 2018-05-17  Tom Tromey  <tom@tromey.com>
5030
5031         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
5032         Initialize.
5033
5034 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5035
5036         PR gdb/22286
5037         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5038         Also handle registers whose width is not a multiple of
5039         PTRACE_TYPE_RET.
5040         (linux_nat_trad_target::store_register): Likewise.
5041
5042 2018-05-16  Tom Tromey  <tom@tromey.com>
5043
5044         * gdbcore.h (core_bfd): Redefine.
5045         * corelow.c (core_target::close): Update.
5046         (core_target_open): Update.
5047         * progspace.h (struct program_space) <cbfd>: Now a
5048         gdb_bfd_ref_ptr.
5049
5050 2018-05-16  Tom Tromey  <tom@tromey.com>
5051
5052         PR cli/19551:
5053         * symfile-add-flags.h (enum symfile_add_flags)
5054         <SYMFILE_NOT_FILENAME>: New constant.
5055         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5056         objfile name from BFD.
5057         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5058         * minidebug.c (find_separate_debug_file_in_section): Put
5059         ".gnu_debugdata" into BFD's file name.
5060
5061 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5062
5063         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5064         Remove.
5065
5066 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5067
5068         PR binutils/21446
5069         * aarch64-tdep.c (aarch64_analyze_prologue,
5070         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5071         Indicate not interested in errors.
5072
5073 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5074
5075         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5076         Supply the MIPS_ZERO_REGNUM register.
5077
5078 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5079
5080         * mips-tdep.c (mask_address_var): Make variable static.
5081
5082 2018-05-14  Tom Tromey  <tom@tromey.com>
5083
5084         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5085
5086 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5087
5088         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5089         FXSAVE_ADDR for the mxcsr register.
5090
5091 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5092
5093         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5094
5095 2018-05-11  Pedro Alves  <palves@redhat.com>
5096
5097         * corelow.c (core_target) <core_target>: No longer inline.
5098         Initialize m_core_gdbarch, m_core_vec and build the section table
5099         here.
5100         <~core_target>: New.
5101         <core_gdbarch, get_core_register_section>: New methods.
5102         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5103         factored out from ...
5104         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5105         (core_ops): Delete.
5106         (sniff_core_bfd): Add gdbarch parameter.
5107         (core_close): Delete, merged into ...
5108         (core_target::close): ... here.  Delete self.
5109         (core_close_cleanup): Delete.
5110         (core_target_open): Allocate a core_target on the heap.  Use a
5111         unique_ptr instead of a cleanup.  Bits moved into the core_target
5112         ctor.  Adjust to use core_target methods instead of globals.
5113         (get_core_register_section): Rename to ...
5114         (core_target::get_core_register_section): ... this and adjust.
5115         (struct get_core_registers_cb_data): New.
5116         (get_core_registers_cb): Use it.  Use bool.
5117         (core_target::fetch_registers, core_target::files_info)
5118         (core_target::xfer_partial, core_target::read_description)
5119         (core_target::pid_to, core_target::thread_name): Adjust to
5120         reference class fields instead of globals.
5121         * target.h (struct target_ops_deleter, target_ops_up): New.
5122
5123 2018-05-11  Pedro Alves  <palves@redhat.com>
5124
5125         * corefile.c (core_file_command): Move to corelow.c.
5126         * corelow.c (the_core_target): Delete.
5127         (core_file_command): Moved from corefile.c.  Check exec_bfd
5128         instead of the_core_target.  Use target_detach instead of calling
5129         into the_core_target directly.
5130         (maybe_say_no_core_file_now): New.
5131         (core_target::detach): Use it.
5132         (_initialize_corelow): Remove references to the_core_target.
5133         * gdbcore.h (the_core_target): Delete.
5134
5135 2018-05-11  Tom Tromey  <tromey@redhat.com>
5136             Pedro Alves  <palves@redhat.com>
5137
5138         * corefile.c (core_bfd): Remove.
5139         * gdbcore.h (core_bfd): Now a macro.
5140         * progspace.h (struct program_space) <cbfd>: New field.
5141
5142 2018-05-11  Tom Tromey  <tom@tromey.com>
5143
5144         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5145         gdb::def_vector.
5146
5147 2018-05-10  Tom Tromey  <tom@tromey.com>
5148
5149         * configure: Rebuild.
5150         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5151
5152 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5153
5154         PR server/23158:
5155         * regformats/regdat.sh: Adjust script, following the addition
5156         of the new expedite_regs parameter to init_target_desc.
5157
5158 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5159     
5160         PR gdb/23127
5161         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5162         set_gdbarch_significant_addr_bit.
5163         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5164         set_gdbarch_significant_addr_bit.
5165         * utils.c (address_significant): Update to sign extend addr.
5166
5167 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5168
5169         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5170         (xtensa_linux_init_abi): Limit tdep->num_regs by
5171         tdep->num_nopriv_regs.
5172         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5173         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5174         not initialized.
5175
5176 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
5177
5178         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
5179
5180 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
5181
5182         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
5183         (I387_MXCSR_INIT_VAL): New constant.
5184         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
5185         buffer if it was supplied by the inferior.
5186         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
5187         (i387_xsave_get_clear_bv): New function.
5188         (i387_supply_xsave): Only read x87 control registers from the
5189         xsave buffer if the feature is enabled, and the state will have
5190         been written, otherwise, provide a suitable default.
5191         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
5192         including x87 control registers.  Update control registers if they
5193         have changed from the default value, and mark features as enabled
5194         as required.
5195         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
5196
5197 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
5198
5199         * spu-tdep.c (info_spu_event_command): Fix output formatting.
5200
5201 2018-05-07  Tom Tromey  <tom@tromey.com>
5202
5203         * configure: Rebuild.
5204         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
5205
5206 2018-05-07  Tom Tromey  <tom@tromey.com>
5207
5208         PR tdep/20362:
5209         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
5210         bit.  Use correct value for VDIV.
5211
5212 2018-05-04  Tom Tromey  <tom@tromey.com>
5213
5214         * configure: Rebuild.
5215         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
5216
5217 2018-05-04  Tom Tromey  <tom@tromey.com>
5218
5219         * linux-record.c (record_linux_system_call) <case
5220         RECORD_SYS_RECVFROM>: Add "break".
5221
5222 2018-05-04  Tom Tromey  <tom@tromey.com>
5223
5224         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
5225         Add missing "break".
5226         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
5227         Add missing "break".
5228
5229 2018-05-04  Tom Tromey  <tom@tromey.com>
5230
5231         * rs6000-tdep.c (ppc_process_record_op4)
5232         (ppc_process_record_op63): Add fall-through comment.
5233
5234 2018-05-04  Tom Tromey  <tom@tromey.com>
5235
5236         * i386-tdep.c (i386_process_record): Add fall-through comment.
5237
5238 2018-05-04  Tom Tromey  <tom@tromey.com>
5239
5240         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
5241         comment.
5242
5243 2018-05-04  Tom Tromey  <tom@tromey.com>
5244
5245         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
5246         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
5247         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
5248         comment.
5249         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
5250         comment.
5251         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
5252         comment.
5253
5254 2018-05-04  Tom Tromey  <tom@tromey.com>
5255
5256         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
5257
5258 2018-05-04  Tom Tromey  <tom@tromey.com>
5259
5260         * s390-tdep.c (s390_process_record): Fix fall-through comments.
5261         * xcoffread.c (scan_xcoff_symtab): Move comment later.
5262         * symfile.c (section_is_mapped): Fix fall-through comment.
5263         * stabsread.c (define_symbol, read_member_functions): Fix
5264         fall-through comment.
5265         * s390-linux-tdep.c (s390_process_record): Fix fall-through
5266         comment.
5267         * remote.c (remote_wait_as): Fix fall-through comment.
5268         * p-exp.y (yylex): Fix fall-through comment.
5269         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
5270         comment.
5271         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
5272         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
5273         * jv-exp.y (yylex): Fix fall-through comment.
5274         * go-exp.y (lex_one_token): Fix fall-through comment.
5275         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
5276         fall-through comment.
5277         * f-exp.y (yylex): Fix fall-through comment.
5278         * dwarf2read.c (process_die): Fix fall-through comments.
5279         * dbxread.c (process_one_symbol): Fix fall-through comment.
5280         * d-exp.y (lex_one_token): Fix fall-through comment.
5281         * cp-name-parser.y (yylex): Fix fall-through comment.
5282         * coffread.c (coff_symtab_read): Fix fall-through comment.
5283         * c-exp.y (lex_one_token): Fix fall-through comment.
5284         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
5285         comment.
5286         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
5287         comment.
5288
5289 2018-05-04  Tom Tromey  <tom@tromey.com>
5290
5291         PR python/22730:
5292         * NEWS: Mention gdb.execute change.
5293         * gdbcmd.h (execute_control_command): Don't declare.
5294         * python/python.c (execute_gdb_command): Use read_command_lines_1,
5295         execute_control_commands, execute_control_commands_to_string.
5296         * cli/cli-script.h (execute_control_commands)
5297         (execute_control_commands_to_string): Declare.
5298         (execute_control_command): Add from_tty parameter.
5299         * cli/cli-script.c (execute_control_commands)
5300         (execute_control_commands_to_string): New functions.
5301         (execute_user_command): Use execute_control_commands.
5302         (execute_control_command_1): Add "from_tty" parameter.  Update.
5303         (execute_control_command): Likewise.
5304
5305 2018-05-04  Tom Tromey  <tom@tromey.com>
5306
5307         PR python/22731:
5308         * NEWS: Mention that breakpoint commands are writable.
5309         * python/py-breakpoint.c (bppy_set_commands): New function.
5310         (breakpoint_object_getset) <"commands">: Use it.
5311
5312 2018-05-04  Tom Tromey  <tom@tromey.com>
5313
5314         * tracepoint.c (actions_command): Update.
5315         * mi/mi-cmd-break.c (mi_command_line_array)
5316         (mi_command_line_array_cnt, mi_command_line_array_ptr)
5317         (mi_read_next_line): Remove.
5318         (mi_cmd_break_commands): Update.
5319         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
5320         function_view.
5321         * cli/cli-script.c (get_command_line): Update.
5322         (process_next_line): Use function_view.  Constify.
5323         (recurse_read_control_structure, read_command_lines)
5324         (read_command_lines_1): Change argument types to function_view.
5325         (do_define_command, document_command): Update.
5326         * breakpoint.h (check_tracepoint_command): Don't declare.
5327         * breakpoint.c (check_tracepoint_command): Remove.
5328         (commands_command_1, create_tracepoint_from_upload): Update.
5329
5330 2018-05-04  Tom Tromey  <tom@tromey.com>
5331
5332         PR gdb/11750:
5333         * cli/cli-script.h (enum command_control_type) <define_control>:
5334         New constant.
5335         * cli/cli-script.c (multi_line_command_p): Handle define_control.
5336         (build_command_line, execute_control_command_1)
5337         (process_next_line): Likewise.
5338         (do_define_command): New function, extracted from define_command.
5339         (define_command): Use it.
5340
5341 2018-05-04  Tom Tromey  <tom@tromey.com>
5342
5343         * tracepoint.c (actions_command): Update.
5344         * cli/cli-script.h (read_command_lines): Update.
5345         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
5346         (MAX_TMPBUF): Remove define.
5347         (define_command): Use string_printf.
5348         (document_command): Likewise.
5349         * breakpoint.c (commands_command_1): Update.
5350
5351 2018-05-04  Tom Tromey  <tom@tromey.com>
5352
5353         * top.c (execute_command): Update.
5354         * cli/cli-script.h (print_command_lines): Now varargs.
5355         * cli/cli-script.c (print_command_lines): Now varargs.
5356         (execute_control_command_1) <case while_control, case if_control>:
5357         Update.
5358
5359 2018-05-04  Tom Tromey  <tom@tromey.com>
5360
5361         * tracepoint.c (all_tracepoint_actions): Rename from
5362         all_tracepoint_actions_and_cleanup.  Change return type.
5363         (actions_command, encode_actions_1, encode_actions)
5364         (trace_dump_actions, tdump_command): Update.
5365         * remote.c (remote_download_command_source): Update.
5366         * python/python.c (gdbpy_eval_from_control_command)
5367         (python_command, python_interactive_command): Update.
5368         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
5369         * guile/guile.c (guile_command)
5370         (gdbscm_eval_from_control_command, guile_command): Update.
5371         * compile/compile.c (compile_code_command)
5372         (compile_print_command, compile_to_object): Update.
5373         * cli/cli-script.h (struct command_lines_deleter): New.
5374         (counted_command_line): New typedef.
5375         (struct command_line): Add constructor, destructor.
5376         <body_list>: Remove.
5377         <body_list_0, body_list_1>: New members.
5378         (command_line_up): Remove typedef.
5379         (read_command_lines, read_command_lines_1, get_command_line):
5380         Update.
5381         (copy_command_lines): Don't declare.
5382         * cli/cli-script.c (build_command_line): Use "new".
5383         (get_command_line): Return counted_command_line.
5384         (print_command_lines, execute_user_command)
5385         (execute_control_command_1, while_command, if_command): Update.
5386         (realloc_body_list): Remove.
5387         (process_next_line, recurse_read_control_structure): Update.
5388         (read_command_lines, read_command_lines_1): Return counted_command_line.
5389         (free_command_lines): Use "delete".
5390         (copy_command_lines): Remove.
5391         (define_command, document_command, show_user_1): Update.
5392         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
5393         a counted_command_line.
5394         * breakpoint.h (counted_command_line): Remove typedef.
5395         (breakpoint_set_commands): Update.
5396         * breakpoint.c (check_no_tracepoint_commands)
5397         (validate_commands_for_breakpoint): Update.
5398         (breakpoint_set_commands): Change commands to be a
5399         counted_command_line.
5400         (commands_command_1, update_dprintf_command_list)
5401         (create_tracepoint_from_upload): Update.
5402
5403 2018-05-04  Tom Tromey  <tom@tromey.com>
5404
5405         * cli/cli-decode.h (cmd_list_element): New constructor.
5406         (~cmd_list_element): New destructor.
5407         (struct cmd_list_element): Add initializers.
5408         * cli/cli-decode.c (do_add_cmd): Use "new".
5409         (delete_cmd): Use "delete".
5410
5411 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
5412             Pedro Alves <palves@redhat.com>
5413
5414         PR breakpoints/19806 and support for PR external/20207.
5415         * NEWS: Mention Aarch64 watchpoint improvements.
5416         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
5417         watchpoints and PR external/20207 watchpoints.
5418         * nat/aarch64-linux-hw-point.c
5419         (kernel_supports_any_contiguous_range): New.
5420         (aarch64_watchpoint_offset): New.
5421         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
5422         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
5423         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
5424         (aarch64_align_watchpoint): New parameters aligned_offset_p and
5425         next_addr_orig_p.  Support PR external/20207 watchpoints.
5426         (aarch64_downgrade_regs): New.
5427         (aarch64_dr_state_insert_one_point): New parameters offset and
5428         addr_orig.
5429         (aarch64_dr_state_remove_one_point): Likewise.
5430         (aarch64_handle_breakpoint): Update caller.
5431         (aarch64_handle_aligned_watchpoint): Likewise.
5432         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
5433         aligned_offset.
5434         (aarch64_linux_set_debug_regs): Remove const from state.  Call
5435         aarch64_downgrade_regs.
5436         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
5437         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
5438         (DR_CONTROL_MASK): ... this.
5439         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
5440         (unsigned int aarch64_watchpoint_offset): New prototype.
5441         (aarch64_linux_set_debug_regs): Remove const from state.
5442         * utils.c (align_up, align_down): Move to ...
5443         * common/common-utils.c (align_up, align_down): ... here.
5444         * utils.h (align_up, align_down): Move to ...
5445         * common/common-utils.h (align_up, align_down): ... here.
5446
5447 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
5448
5449         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
5450         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
5451         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
5452         Re-implement to match the ABI as summarized in GCC's
5453         gcc/config/sparc/sparc.c.  All callers updated.
5454         (sparc32_store_arguments): Remove assertion.
5455
5456 2018-05-04  Tom Tromey  <tom@tromey.com>
5457
5458         * printcmd.c: Don't include tui.h.
5459         (decode_format): Use skip_spaces.
5460
5461 2018-05-04  Tom Tromey  <tom@tromey.com>
5462
5463         PR gdb/22619:
5464         * printcmd.c (last_count): New global.
5465         (x_command): Use saved count when repeating.
5466
5467 2018-05-04  Tom Tromey  <tom@tromey.com>
5468
5469         * nto-procfs.c (do_closedir_cleanup): Remove.
5470         (procfs_pidlist): Use gdb_dir_up.
5471         * procfs.c (do_closedir_cleanup): Remove.
5472         (proc_update_threads): Use gdb_dir_up.
5473         * common/filestuff.h (struct gdb_dir_deleter): New.
5474         (gdb_dir_up): New typedef.
5475
5476 2018-05-04  Tom Tromey  <tom@tromey.com>
5477
5478         * ada-lang.c (print_mention_exception): Use std::string.
5479
5480 2018-05-04  Tom Tromey  <tom@tromey.com>
5481
5482         * ada-lang.c (create_excep_cond_exprs): Update.
5483         (ada_exception_catchpoint_cond_string): Use std::string.
5484
5485 2018-05-04  Tom Tromey  <tom@tromey.com>
5486
5487         * ada-lang.c (xget_renaming_scope): Return std::string.
5488         (old_renaming_is_invisible): Update.
5489
5490 2018-05-04  Tom Tromey  <tom@tromey.com>
5491
5492         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
5493         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
5494
5495 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
5496
5497         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
5498
5499 2018-05-04  Tom Tromey  <tom@tromey.com>
5500
5501         * remote.c (remote_query_supported_append): Change type.
5502         (remote_check_symbols): Update.
5503
5504 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
5505
5506         PR gdb/11420
5507         * configure.ac: Prepend libpython.
5508         * python/python-config.py: Likewise.
5509         * configure: Regenerate.
5510
5511 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
5512
5513         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
5514
5515 2018-05-03  Pedro Alves  <palves@redhat.com>
5516
5517         * s390-linux-nat.c
5518         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
5519         override.  Write 'true' instead of '1'.
5520         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
5521         declaration.
5522
5523 2018-05-02  Pedro Alves  <palves@redhat.com>
5524
5525         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
5526         add_inf_child_target.
5527         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
5528         add_inf_child_target.
5529         * aix-thread.c (aix_thread_target_info): New.
5530         (aix_thread_target) <shortname, longname, doc>: Delete.
5531         <info>: New.
5532         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
5533         add_inf_child_target.
5534         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
5535         add_inf_child_target.
5536         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
5537         add_inf_child_target.
5538         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
5539         add_inf_child_target.
5540         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
5541         add_inf_child_target.
5542         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
5543         add_inf_child_target.
5544         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
5545         add_inf_child_target.
5546         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
5547         add_inf_child_target.
5548         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
5549         add_inf_child_target.
5550         * bfd-target.c (target_bfd_target_info): New.
5551         (target_bfd) <shortname, longname, doc>: Delete.
5552         <info>: New.
5553         * bsd-kvm.c (bsd_kvm_target_info): New.
5554         (bsd_kvm_target) <shortname, longname, doc>: Delete.
5555         <info>: New.
5556         (bsd_kvm_target::open): Rename to ...
5557         (bsd_kvm_target_open): ... this.  Adjust.
5558         * bsd-uthread.c (bsd_uthread_target_info): New.
5559         (bsd_uthread_target) <shortname, longname, doc>: Delete.
5560         <info>: New.
5561         * corefile.c (core_file_command): Adjust.
5562         * corelow.c (core_target_info): New.
5563         (core_target) <shortname, longname, doc>: Delete.
5564         <info>: New.
5565         (core_target::open): Rename to ...
5566         (core_target_open): ... this.  Adjust.
5567         * ctf.c (ctf_target_info): New.
5568         (ctf_target) <shortname, longname, doc>: Delete.
5569         <info>: New.
5570         (ctf_target::open): Rename to ...
5571         (ctf_target_open): ... this.
5572         (_initialize_ctf): Adjust.
5573         * exec.c (exec_target_info): New.
5574         (exec_target) <shortname, longname, doc>: Delete.
5575         <info>: New.
5576         (exec_target::open): Rename to ...
5577         (exec_target_open): ... this.
5578         * gdbcore.h (core_target_open): Declare.
5579         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5580         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5581         add_inf_child_target.
5582         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5583         add_inf_child_target.
5584         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5585         add_inf_child_target.
5586         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5587         add_inf_child_target.
5588         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5589         add_inf_child_target.
5590         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5591         add_inf_child_target.
5592         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5593         add_inf_child_target.
5594         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5595         add_inf_child_target.
5596         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5597         add_inf_child_target.
5598         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5599         add_inf_child_target.
5600         * inf-child.c (inf_child_target_info): New.
5601         (inf_child_target::info): New.
5602         (inf_child_open_target): Remove 'target' parameter.  Use
5603         get_native_target instead.
5604         (inf_child_target::open): Delete.
5605         (add_inf_child_target): New.
5606         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5607         Delete.
5608         <info>: New.
5609         (add_inf_child_target): Declare.
5610         (inf_child_open_target): Declare.
5611         * linux-thread-db.c (thread_db_target_info): New.
5612         (thread_db_target) <shortname, longname, doc>: Delete.
5613         <info>: New.
5614         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5615         add_inf_child_target.
5616         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5617         add_inf_child_target.
5618         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5619         add_inf_child_target.
5620         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5621         add_inf_child_target.
5622         * make-target-delegates (print_class): Adjust.
5623         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5624         add_inf_child_target.
5625         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5626         add_inf_child_target.
5627         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5628         add_inf_child_target.
5629         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5630         add_inf_child_target.
5631         * nto-procfs.c (nto_native_target_info): New.
5632         (nto_procfs_target_native) <shortname, longname, doc>:
5633         Delete.
5634         <info>: New.
5635         (nto_procfs_target_info): New.
5636         (nto_procfs_target_procfs) <shortname, longname, doc>:
5637         Delete.
5638         <info>: New.
5639         (init_procfs_targets): Adjust.
5640         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5641         add_inf_child_target.
5642         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5643         add_inf_child_target.
5644         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5645         add_inf_child_target.
5646         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5647         add_inf_child_target.
5648         * ravenscar-thread.c (ravenscar_target_info): New.
5649         (ravenscar_thread_target) <shortname, longname, doc>:
5650         Delete.
5651         <info>: New.
5652         * record-btrace.c (record_btrace_target_info):
5653         (record_btrace_target) <shortname, longname, doc>: Delete.
5654         <info>: New.
5655         (record_btrace_target::open): Rename to ...
5656         (record_btrace_target_open): ... this.  Adjust.
5657         * record-full.c (record_longname, record_doc): New.
5658         (record_full_base_target) <shortname, longname, doc>: Delete.
5659         <info>: New.
5660         (record_full_target_info): New.
5661         (record_full_target): <shortname>: Delete.
5662         <info>: New.
5663         (record_full_core_open_1, record_full_open_1): Update comments.
5664         (record_full_base_target::open): Rename to ...
5665         (record_full_open): ... this.
5666         (cmd_record_full_restore): Update.
5667         (_initialize_record_full): Update.
5668         * remote-sim.c (remote_sim_target_info): New.
5669         (gdbsim_target) <shortname, longname, doc>: Delete.
5670         <info>: New.
5671         (gdbsim_target::open): Rename to ...
5672         (gdbsim_target_open): ... this.
5673         (_initialize_remote_sim): Adjust.
5674         * remote.c (remote_doc): New.
5675         (remote_target_info): New.
5676         (remote_target) <shortname, longname, doc>: Delete.
5677         <info>: New.
5678         (extended_remote_target_info): New.
5679         (extended_remote_target) <shortname, longname, doc>: Delete.
5680         <info>: New.
5681         (remote_target::open_1): Make static.  Adjust.
5682         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5683         * s390-linux-nat.c (_initialize_s390_nat): Use
5684         add_inf_child_target.
5685         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5686         add_inf_child_target.
5687         * sol-thread.c (thread_db_target_info): New.
5688         (sol_thread_target) <shortname, longname, doc>: Delete.
5689         <info>: New.
5690         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5691         add_inf_child_target.
5692         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5693         add_inf_child_target.
5694         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5695         add_inf_child_target.
5696         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5697         add_inf_child_target.
5698         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5699         add_inf_child_target.
5700         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5701         add_inf_child_target.
5702         * spu-linux-nat.c (_initialize_spu_nat): Use
5703         add_inf_child_target.
5704         * spu-multiarch.c (spu_multiarch_target_info): New.
5705         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5706         <info>: New.
5707         * target-delegates.c: Regenerate.
5708         * target.c: Include <unordered_map>.
5709         (target_ops_p): Delete.
5710         (DEF_VEC_P(target_ops_p)): Delete.
5711         (target_factories): New.
5712         (test_target_info): New.
5713         (test_target_ops::info): New.
5714         (open_target): Adjust to use target_factories.
5715         (add_target_with_completer): Rename to ...
5716         (add_target): ... this.  Change prototype.  Register target_info
5717         and open callback in target_factories.  Register target_info in
5718         command context instead of target_ops.
5719         (add_target): Delete old implementation.
5720         (add_deprecated_target_alias): Change prototype.  Adjust.
5721         (the_native_target): New.
5722         (set_native_target, get_native_target): New.
5723         (find_default_run_target): Use the_native_target.
5724         (find_attach_target, find_run_target): Simplify.
5725         (target_ops::open): Delete.
5726         (dummy_target_info): New.
5727         (dummy_target::shortname, dummy_target::longname)
5728         (dummy_target::doc): Delete.
5729         (dummy_target::info): New.
5730         (debug_target::shortname, debug_target::longname)
5731         (debug_target::doc): Delete.
5732         (debug_target::info): New.
5733         * target.h (struct target_info): New.
5734         (target_ops::~target_ops): Add comment.
5735         (target_ops::info): New.
5736         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5737         longer virtual.  Implement in terms of target_info.
5738         (set_native_target, get_native_target): Declare.
5739         (target_open_ftype): New.
5740         (add_target, add_target_with_completer)
5741         (add_deprecated_target_alias): Change prototype.
5742         (test_target) <shortname, longname, doc>: Delete.
5743         <info>: New.
5744         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5745         add_inf_child_target.
5746         * tracefile-tfile.c (tfile_target_info): New.
5747         (tfile_target) <shortname, longname, doc>: Delete.
5748         <info>: New.
5749         (tfile_target::open): Rename to ...
5750         (tfile_target_open): ... this.
5751         (_initialize_tracefile_tfile): Adjust.
5752         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5753         add_inf_child_target.
5754         * windows-nat.c (_initialize_windows_nat): Use
5755         add_inf_child_target.
5756         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5757         add_inf_child_target.
5758
5759 2018-05-02  Pedro Alves  <palves@redhat.com>
5760
5761         * linux-nat.h (linux_nat_target) <low_new_thread,
5762         low_delete_thread, low_new_fork, low_forget_process,
5763         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5764         New virtual methods.
5765         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5766         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5767         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5768         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5769         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5770         Delete.
5771         * linux-fork.c (delete_fork): Adjust to call low method.
5772         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5773         (linux_nat_new_fork, linux_nat_forget_process_hook)
5774         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5775         (linux_nat_status_is_event):
5776         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5777         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5778         to call low method.
5779         (sigtrap_is_event): Rename to ...
5780         (linux_nat_target::low_status_is_event): ... this.
5781         (linux_nat_set_status_is_event): Delete.
5782         (save_stop_reason, linux_nat_wait_1)
5783         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5784         low methods.
5785         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5786         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5787         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5788         (linux_nat_set_prepare_to_resume): Delete.
5789         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5790         low virtual methods.
5791         * amd64-linux-nat.c: Likewise.
5792         * arm-linux-nat.c: Likewise.
5793         * i386-linux-nat.c: Likewise.
5794         * ia64-linux-nat.c: Likewise.
5795         * mips-linux-nat.c: Likewise.
5796         * ppc-linux-nat.c: Likewise.
5797         * s390-linux-nat.c: Likewise.
5798         * sparc64-linux-nat.c: Likewise.
5799         * x86-linux-nat.c: Likewise.
5800         * x86-linux-nat.h: Include "nat/x86-linux.h".
5801         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5802         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5803         Override methods.
5804
5805 2018-05-02  Pedro Alves  <palves@redhat.com>
5806
5807         * target.h (target_ops)
5808         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5809         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5810         stopped_by_watchpoint, have_continuable_watchpoint,
5811         stopped_data_address, watchpoint_addr_within_range,
5812         can_accel_watchpoint_condition, can_run, thread_alive,
5813         has_all_memory, has_memory, has_stack, has_registers,
5814         has_execution, can_async_p, is_async_p, supports_non_stop,
5815         always_non_stop_p, can_execute_reverse, supports_multi_process,
5816         supports_enable_disable_tracepoint,
5817         supports_disable_randomization, supports_string_tracing,
5818         supports_evaluation_of_breakpoint_conditions,
5819         can_run_breakpoint_commands, filesystem_is_local,
5820         can_download_tracepoint, get_trace_state_variable_value,
5821         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5822         record_is_replaying, record_will_replay,
5823         augmented_libraries_svr4_read>: Adjust to return bool.
5824         * aarch64-linux-nat.c: All implementations adjusted.
5825         * aix-thread.c: All implementations adjusted.
5826         * arm-linux-nat.c: All implementations adjusted.
5827         * breakpoint.c: All implementations adjusted.
5828         * bsd-kvm.c: All implementations adjusted.
5829         * bsd-uthread.c: All implementations adjusted.
5830         * corelow.c: All implementations adjusted.
5831         * ctf.c: All implementations adjusted.
5832         * darwin-nat.c: All implementations adjusted.
5833         * darwin-nat.h: All implementations adjusted.
5834         * exec.c: All implementations adjusted.
5835         * fbsd-nat.c: All implementations adjusted.
5836         * fbsd-nat.h: All implementations adjusted.
5837         * gnu-nat.c: All implementations adjusted.
5838         * gnu-nat.h: All implementations adjusted.
5839         * go32-nat.c: All implementations adjusted.
5840         * ia64-linux-nat.c: All implementations adjusted.
5841         * inf-child.c: All implementations adjusted.
5842         * inf-child.h: All implementations adjusted.
5843         * inf-ptrace.c: All implementations adjusted.
5844         * inf-ptrace.h: All implementations adjusted.
5845         * linux-nat.c: All implementations adjusted.
5846         * linux-nat.h: All implementations adjusted.
5847         * mips-linux-nat.c: All implementations adjusted.
5848         * nto-procfs.c: All implementations adjusted.
5849         * ppc-linux-nat.c: All implementations adjusted.
5850         * procfs.c: All implementations adjusted.
5851         * ravenscar-thread.c: All implementations adjusted.
5852         * record-btrace.c: All implementations adjusted.
5853         * record-full.c: All implementations adjusted.
5854         * remote-sim.c: All implementations adjusted.
5855         * remote.c: All implementations adjusted.
5856         * s390-linux-nat.c: All implementations adjusted.
5857         * sol-thread.c: All implementations adjusted.
5858         * spu-multiarch.c: All implementations adjusted.
5859         * target-delegates.c: All implementations adjusted.
5860         * target.c: All implementations adjusted.
5861         * target.h: All implementations adjusted.
5862         * tracefile-tfile.c: All implementations adjusted.
5863         * tracefile.c: All implementations adjusted.
5864         * tracefile.h: All implementations adjusted.
5865         * windows-nat.c: All implementations adjusted.
5866         * x86-linux-nat.h: All implementations adjusted.
5867         * x86-nat.h: All implementations adjusted.
5868
5869 2018-05-02  Pedro Alves  <palves@redhat.com>
5870
5871         * make-target-delegates (scan_target_h): Don't trim lines here.
5872         Replace sequences of tabs and/or whitespace with a single
5873         whitespace.
5874         (top level, parsing methods): Trim each line before processing it
5875         here.
5876
5877 2018-05-02  Pedro Alves  <palves@redhat.com>
5878             John Baldwin  <jhb@freebsd.org>
5879
5880         * target.h (enum strata) <debug_stratum>: New.
5881         (struct target_ops) <all delegation methods>: Replace by C++
5882         virtual methods, and drop "to_" prefix.  All references updated
5883         throughout.
5884         <to_shortname, to_longname, to_doc, to_data,
5885         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5886         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5887         virtual methods.  All references updated throughout.
5888         <can_attach, supports_terminal_ours, can_create_inferior,
5889         get_thread_control_capabilities, attach_no_wait>: New
5890         virtual methods.
5891         <insert_breakpoint, remove_breakpoint>: Now
5892         TARGET_DEFAULT_NORETURN methods.
5893         <info_proc>: Now returns bool.
5894         <to_magic>: Delete.
5895         (OPS_MAGIC): Delete.
5896         (current_target): Delete.  All references replaced by references
5897         to ...
5898         (target_stack): ... this.  New.
5899         (target_shortname, target_longname): Adjust.
5900         (target_can_run): Now a function declaration.
5901         (default_child_has_all_memory, default_child_has_memory)
5902         (default_child_has_stack, default_child_has_registers)
5903         (default_child_has_execution): Remove target_ops parameter.
5904         (complete_target_initialization): Delete.
5905         (memory_breakpoint_target): New template class.
5906         (test_target_ops): Refactor as a C++ class with virtual methods.
5907         * make-target-delegates (NAME_PART): Tighten.
5908         (POINTER_PART, CP_SYMBOL): New.
5909         (SIMPLE_RETURN_PART): Reimplement.
5910         (VEC_RETURN_PART): Expect less.
5911         (RETURN_PART, VIRTUAL_PART): New.
5912         (METHOD): Adjust to C++ virtual methods.
5913         (scan_target_h): Remove reference to C99.
5914         (dname): Output "target_ops::" prefix.
5915         (write_function_header): Adjust to output a C++ class method.
5916         (write_declaration): New.
5917         (write_delegator): Adjust to output a C++ class method.
5918         (tdname): Output "dummy_target::" prefix.
5919         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5920         method.
5921         (tdefault_names, debug_names): Delete.
5922         (return_types, tdefaults, styles, argtypes_array): New.
5923         (top level): All methods are delegators.
5924         (print_class): New.
5925         (top level): Print dummy_target and debug_target classes.
5926         * target-delegates.c: Regenerate.
5927         * target-debug.h (target_debug_print_enum_info_proc_what)
5928         (target_debug_print_thread_control_capabilities)
5929         (target_debug_print_thread_info_p): New.
5930         * target.c (dummy_target): Delete.
5931         (the_dummy_target, the_debug_target): New.
5932         (target_stack): Now extern.
5933         (set_targetdebug): Push/unpush debug target.
5934         (default_child_has_all_memory, default_child_has_memory)
5935         (default_child_has_stack, default_child_has_registers)
5936         (default_child_has_execution): Remove target_ops parameter.
5937         (complete_target_initialization): Delete.
5938         (add_target_with_completer): No longer call
5939         complete_target_initialization.
5940         (target_supports_terminal_ours): Use regular delegation.
5941         (update_current_target): Delete.
5942         (push_target): No longer check magic number.  Don't call
5943         update_current_target.
5944         (unpush_target): Don't call update_current_target.
5945         (target_is_pushed): No longer check magic number.
5946         (target_require_runnable): Skip for all stratums over
5947         process_stratum.
5948         (target_ops::info_proc): New.
5949         (target_info_proc): Use find_target_at and
5950         find_default_run_target.
5951         (target_supports_disable_randomization): Use regular delegation.
5952         (target_get_osdata): Use find_target_at.
5953         (target_ops::open, target_ops::close, target_ops::can_attach)
5954         (target_ops::attach, target_ops::can_create_inferior)
5955         (target_ops::create_inferior, target_ops::can_run)
5956         (target_can_run): New.
5957         (default_fileio_target): Use regular delegation.
5958         (target_ops::fileio_open, target_ops::fileio_pwrite)
5959         (target_ops::fileio_pread, target_ops::fileio_fstat)
5960         (target_ops::fileio_close, target_ops::fileio_unlink)
5961         (target_ops::fileio_readlink): New.
5962         (target_fileio_open_1, target_fileio_unlink)
5963         (target_fileio_readlink): Always call the target method.  Handle
5964         FILEIO_ENOSYS.
5965         (return_zero, return_zero_has_execution): Delete.
5966         (init_dummy_target): Delete.
5967         (dummy_target::dummy_target, dummy_target::shortname)
5968         (dummy_target::longname, dummy_target::doc)
5969         (debug_target::debug_target, debug_target::shortname)
5970         (debug_target::longname, debug_target::doc): New.
5971         (target_supports_delete_record): Use regular delegation.
5972         (setup_target_debug): Delete.
5973         (maintenance_print_target_stack): Skip debug_stratum.
5974         (initialize_targets): Instantiate the_dummy_target and
5975         the_debug_target.
5976         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5977         use target_stack.
5978         (target_auxv_search, fprint_target_auxv): Adjust.
5979         (info_auxv_command): Adjust to use target_stack.
5980         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5981         * exceptions.c (print_flush): Handle a NULL target_stack.
5982         * regcache.c (target_ops_no_register): Refactor as class with
5983         virtual methods.
5984
5985         * exec.c (exec_target): New class.
5986         (exec_ops): Now an exec_target.
5987         (exec_open, exec_close_1, exec_get_section_table)
5988         (exec_xfer_partial, exec_files_info, exec_has_memory)
5989         (exec_make_note_section): Refactor as exec_target methods.
5990         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5991         Delete.
5992         (exec_target::find_memory_regions): New.
5993         (_initialize_exec): Don't call init_exec_ops.
5994         * gdbcore.h (exec_file_clear): Delete.
5995
5996         * corefile.c (core_target): Delete.
5997         (core_file_command): Adjust.
5998         * corelow.c (core_target): New class.
5999         (the_core_target): New.
6000         (core_close): Remove target_ops parameter.
6001         (core_close_cleanup): Adjust.
6002         (core_target::close): New.
6003         (core_open, core_detach, get_core_registers, core_files_info)
6004         (core_xfer_partial, core_thread_alive, core_read_description)
6005         (core_pid_to_str, core_thread_name, core_has_memory)
6006         (core_has_stack, core_has_registers, core_info_proc): Rework as
6007         core_target methods.
6008         (ignore, core_remove_breakpoint, init_core_ops): Delete.
6009         (_initialize_corelow): Initialize the_core_target.
6010         * gdbcore.h (core_target): Delete.
6011         (the_core_target): New.
6012
6013         * ctf.c: (ctf_target): New class.
6014         (ctf_ops): Now a ctf_target.
6015         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
6016         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
6017         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
6018         methods.
6019         (init_ctf_ops): Delete.
6020         (_initialize_ctf): Don't call it.
6021         * tracefile-tfile.c (tfile_target): New class.
6022         (tfile_ops): Now a tfile_target.
6023         (tfile_open, tfile_close, tfile_files_info)
6024         (tfile_get_tracepoint_status, tfile_trace_find)
6025         (tfile_fetch_registers, tfile_xfer_partial)
6026         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
6027         Refactor as tfile_target methods.
6028         (tfile_xfer_partial_features): Remove target_ops parameter.
6029         (init_tfile_ops): Delete.
6030         (_initialize_tracefile_tfile): Don't call it.
6031         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
6032         (tracefile_has_stack, tracefile_has_registers)
6033         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6034         tracefile_target methods.
6035         (init_tracefile_ops): Delete.
6036         (tracefile_target::tracefile_target): New.
6037         * tracefile.h: Include "target.h".
6038         (tracefile_target): New class.
6039         (init_tracefile_ops): Delete.
6040
6041         * spu-multiarch.c (spu_multiarch_target): New class.
6042         (spu_ops): Now a spu_multiarch_target.
6043         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6044         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6045         (spu_search_memory, spu_mourn_inferior): Refactor as
6046         spu_multiarch_target methods.
6047         (init_spu_ops): Delete.
6048         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6049         complete_target_initialization.
6050
6051         * ravenscar-thread.c (ravenscar_thread_target): New class.
6052         (ravenscar_ops): Now a ravenscar_thread_target.
6053         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6054         (ravenscar_thread_alive, ravenscar_pid_to_str)
6055         (ravenscar_fetch_registers, ravenscar_store_registers)
6056         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6057         (ravenscar_stopped_by_hw_breakpoint)
6058         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6059         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6060         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6061         methods.
6062         (init_ravenscar_thread_ops): Delete.
6063         (_initialize_ravenscar): Remove references to
6064         init_ravenscar_thread_ops and complete_target_initialization.
6065
6066         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6067         (bsd_uthread_target): New class.
6068         (bsd_uthread_ops): Now a bsd_uthread_target.
6069         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6070         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6071         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6072         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6073         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6074         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6075         (bsd_uthread_target): Delete function.
6076         (_initialize_bsd_uthread): Remove reference to
6077         complete_target_initialization.
6078
6079         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6080         (target_bfd): ... this new class.
6081         (target_bfd_xfer_partial, target_bfd_get_section_table)
6082         (target_bfd_close): Refactor as target_bfd methods.
6083         (target_bfd::~target_bfd): New.
6084         (target_bfd_reopen): Adjust.
6085         (target_bfd::close): New.
6086
6087         * record-btrace.c (record_btrace_target): New class.
6088         (record_btrace_ops): Now a record_btrace_target.
6089         (record_btrace_open, record_btrace_stop_recording)
6090         (record_btrace_disconnect, record_btrace_close)
6091         (record_btrace_async, record_btrace_info)
6092         (record_btrace_insn_history, record_btrace_insn_history_range)
6093         (record_btrace_insn_history_from, record_btrace_call_history)
6094         (record_btrace_call_history_range)
6095         (record_btrace_call_history_from, record_btrace_record_method)
6096         (record_btrace_is_replaying, record_btrace_will_replay)
6097         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6098         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6099         (record_btrace_store_registers, record_btrace_prepare_to_store)
6100         (record_btrace_to_get_unwinder)
6101         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6102         (record_btrace_commit_resume, record_btrace_wait)
6103         (record_btrace_stop, record_btrace_can_execute_reverse)
6104         (record_btrace_stopped_by_sw_breakpoint)
6105         (record_btrace_supports_stopped_by_sw_breakpoint)
6106         (record_btrace_stopped_by_hw_breakpoint)
6107         (record_btrace_supports_stopped_by_hw_breakpoint)
6108         (record_btrace_update_thread_list, record_btrace_thread_alive)
6109         (record_btrace_goto_begin, record_btrace_goto_end)
6110         (record_btrace_goto, record_btrace_stop_replaying_all)
6111         (record_btrace_execution_direction)
6112         (record_btrace_prepare_to_generate_core)
6113         (record_btrace_done_generating_core): Refactor as
6114         record_btrace_target methods.
6115         (init_record_btrace_ops): Delete.
6116         (_initialize_record_btrace): Remove reference to
6117         init_record_btrace_ops.
6118         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6119         the execution_direction global.
6120         (record_full_base_target, record_full_target)
6121         (record_full_core_target): New classes.
6122         (record_full_ops): Now a record_full_target.
6123         (record_full_core_ops): Now a record_full_core_target.
6124         (record_full_target::detach, record_full_target::disconnect)
6125         (record_full_core_target::disconnect)
6126         (record_full_target::mourn_inferior, record_full_target::kill):
6127         New.
6128         (record_full_open, record_full_close, record_full_async): Refactor
6129         as methods of the record_full_base_target class.
6130         (record_full_resume, record_full_commit_resume): Refactor
6131         as methods of the record_full_target class.
6132         (record_full_wait, record_full_stopped_by_watchpoint)
6133         (record_full_stopped_data_address)
6134         (record_full_stopped_by_sw_breakpoint)
6135         (record_full_supports_stopped_by_sw_breakpoint)
6136         (record_full_stopped_by_hw_breakpoint)
6137         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6138         methods of the record_full_base_target class.
6139         (record_full_store_registers, record_full_xfer_partial)
6140         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6141         Refactor as methods of the record_full_target class.
6142         (record_full_can_execute_reverse, record_full_get_bookmark)
6143         (record_full_goto_bookmark, record_full_execution_direction)
6144         (record_full_record_method, record_full_info, record_full_delete)
6145         (record_full_is_replaying, record_full_will_replay)
6146         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6147         (record_full_stop_replaying): Refactor as methods of the
6148         record_full_base_target class.
6149         (record_full_core_resume, record_full_core_kill)
6150         (record_full_core_fetch_registers)
6151         (record_full_core_prepare_to_store)
6152         (record_full_core_store_registers, record_full_core_xfer_partial)
6153         (record_full_core_insert_breakpoint)
6154         (record_full_core_remove_breakpoint)
6155         (record_full_core_has_execution): Refactor
6156         as methods of the record_full_core_target class.
6157         (record_full_base_target::supports_delete_record): New.
6158         (init_record_full_ops): Delete.
6159         (init_record_full_core_ops): Delete.
6160         (record_full_save): Refactor as method of the
6161         record_full_base_target class.
6162         (_initialize_record_full): Remove references to
6163         init_record_full_ops and init_record_full_core_ops.
6164
6165         * remote.c (remote_target, extended_remote_target): New classes.
6166         (remote_ops): Now a remote_target.
6167         (extended_remote_ops): Now an extended_remote_target.
6168         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6169         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6170         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6171         (remote_pass_signals, remote_set_syscall_catchpoint)
6172         (remote_program_signals, )
6173         (remote_thread_always_alive): Remove target_ops parameter.
6174         (remote_thread_alive, remote_thread_name)
6175         (remote_update_thread_list, remote_threads_extra_info)
6176         (remote_static_tracepoint_marker_at)
6177         (remote_static_tracepoint_markers_by_strid)
6178         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
6179         (remote_open): Refactor as methods of remote_target.
6180         (extended_remote_open, extended_remote_detach)
6181         (extended_remote_attach, extended_remote_post_attach):
6182         (extended_remote_supports_disable_randomization)
6183         (extended_remote_create_inferior): : Refactor as method of
6184         extended_remote_target.
6185         (remote_set_permissions, remote_open_1, remote_detach)
6186         (remote_follow_fork, remote_follow_exec, remote_disconnect)
6187         (remote_resume, remote_commit_resume, remote_stop)
6188         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
6189         (remote_terminal_ours, remote_wait, remote_fetch_registers)
6190         (remote_prepare_to_store, remote_store_registers)
6191         (remote_flash_erase, remote_flash_done, remote_files_info)
6192         (remote_kill, remote_mourn, remote_insert_breakpoint)
6193         (remote_remove_breakpoint, remote_insert_watchpoint)
6194         (remote_watchpoint_addr_within_range)
6195         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
6196         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
6197         (remote_supports_stopped_by_sw_breakpoint)
6198         (remote_stopped_by_hw_breakpoint)
6199         (remote_supports_stopped_by_hw_breakpoint)
6200         (remote_stopped_by_watchpoint, remote_stopped_data_address)
6201         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
6202         (remote_verify_memory): Refactor as methods of remote_target.
6203         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
6204         parameter.
6205         (remote_xfer_partial, remote_get_memory_xfer_limit)
6206         (remote_search_memory, remote_rcmd, remote_memory_map)
6207         (remote_pid_to_str, remote_get_thread_local_address)
6208         (remote_get_tib_address, remote_read_description): Refactor as
6209         methods of remote_target.
6210         (remote_target::fileio_open, remote_target::fileio_pwrite)
6211         (remote_target::fileio_pread, remote_target::fileio_close): New.
6212         (remote_hostio_readlink, remote_hostio_fstat)
6213         (remote_filesystem_is_local, remote_can_execute_reverse)
6214         (remote_supports_non_stop, remote_supports_disable_randomization)
6215         (remote_supports_multi_process, remote_supports_cond_breakpoints)
6216         (remote_supports_enable_disable_tracepoint)
6217         (remote_supports_string_tracing)
6218         (remote_can_run_breakpoint_commands, remote_trace_init)
6219         (remote_download_tracepoint, remote_can_download_tracepoint)
6220         (remote_download_trace_state_variable, remote_enable_tracepoint)
6221         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
6222         (remote_trace_start, remote_get_trace_status)
6223         (remote_get_tracepoint_status, remote_trace_stop)
6224         (remote_trace_find, remote_get_trace_state_variable_value)
6225         (remote_save_trace_data, remote_get_raw_trace_data)
6226         (remote_set_disconnected_tracing, remote_core_of_thread)
6227         (remote_set_circular_trace_buffer, remote_traceframe_info)
6228         (remote_get_min_fast_tracepoint_insn_len)
6229         (remote_set_trace_buffer_size, remote_set_trace_notes)
6230         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
6231         (remote_disable_btrace, remote_teardown_btrace)
6232         (remote_read_btrace, remote_btrace_conf)
6233         (remote_augmented_libraries_svr4_read, remote_load)
6234         (remote_pid_to_exec_file, remote_can_do_single_step)
6235         (remote_execution_direction, remote_thread_handle_to_thread_info):
6236         Refactor as methods of remote_target.
6237         (init_remote_ops, init_extended_remote_ops): Delete.
6238         (remote_can_async_p, remote_is_async_p, remote_async)
6239         (remote_thread_events, remote_upload_tracepoints)
6240         (remote_upload_trace_state_variables): Refactor as methods of
6241         remote_target.
6242         (_initialize_remote): Remove references to init_remote_ops and
6243         init_extended_remote_ops.
6244
6245         * remote-sim.c (gdbsim_target): New class.
6246         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
6247         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
6248         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
6249         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
6250         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
6251         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
6252         Refactor as methods of gdbsim_target.
6253         (gdbsim_ops): Now a gdbsim_target.
6254         (init_gdbsim_ops): Delete.
6255         (gdbsim_cntrl_c): Adjust.
6256         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
6257
6258         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
6259         (the_amd64_linux_nat_target): New.
6260         (amd64_linux_fetch_inferior_registers)
6261         (amd64_linux_store_inferior_registers): Refactor as methods of
6262         amd64_linux_nat_target.
6263         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
6264         * i386-linux-nat.c: Don't include "linux-nat.h".
6265         (i386_linux_nat_target): New class.
6266         (the_i386_linux_nat_target): New.
6267         (i386_linux_fetch_inferior_registers)
6268         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
6269         as methods of i386_linux_nat_target.
6270         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
6271         * inf-child.c (inf_child_ops): Delete.
6272         (inf_child_fetch_inferior_registers)
6273         (inf_child_store_inferior_registers): Delete.
6274         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
6275         methods of inf_child_target.
6276         (inf_child_target::supports_terminal_ours)
6277         (inf_child_target::terminal_init)
6278         (inf_child_target::terminal_inferior)
6279         (inf_child_target::terminal_ours_for_output)
6280         (inf_child_target::terminal_ours, inf_child_target::interrupt)
6281         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
6282         New.
6283         (inf_child_open, inf_child_disconnect, inf_child_close)
6284         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
6285         (inf_child_post_startup_inferior, inf_child_can_run)
6286         (inf_child_pid_to_exec_file): Refactor as methods of
6287         inf_child_target.
6288         (inf_child_follow_fork): Delete.
6289         (inf_child_target::can_create_inferior)
6290         (inf_child_target::can_attach): New.
6291         (inf_child_target::has_all_memory, inf_child_target::has_memory)
6292         (inf_child_target::has_stack, inf_child_target::has_registers)
6293         (inf_child_target::has_execution): New.
6294         (inf_child_fileio_open, inf_child_fileio_pwrite)
6295         (inf_child_fileio_pread, inf_child_fileio_fstat)
6296         (inf_child_fileio_close, inf_child_fileio_unlink)
6297         (inf_child_fileio_readlink, inf_child_use_agent)
6298         (inf_child_can_use_agent): Refactor as methods of
6299         inf_child_target.
6300         (return_zero, inf_child_target): Delete.
6301         (inf_child_target::inf_child_target): New.
6302         * inf-child.h: Include "target.h".
6303         (inf_child_target): Delete function prototype.
6304         (inf_child_target): New class.
6305         (inf_child_open_target, inf_child_mourn_inferior)
6306         (inf_child_maybe_unpush_target): Delete.
6307         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
6308         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
6309         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
6310         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
6311         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
6312         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
6313         (inf_ptrace_wait, inf_ptrace_xfer_partial)
6314         (inf_ptrace_thread_alive, inf_ptrace_files_info)
6315         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
6316         methods of inf_ptrace_target.
6317         (inf_ptrace_target): Delete function.
6318         * inf-ptrace.h: Include "inf-child.h".
6319         (inf_ptrace_target): Delete function declaration.
6320         (inf_ptrace_target): New class.
6321         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
6322         * linux-nat.c (linux_target): New.
6323         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
6324         (linux_nat_target::~linux_nat_target): New.
6325         (linux_child_post_attach, linux_child_post_startup_inferior)
6326         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
6327         (linux_child_remove_fork_catchpoint)
6328         (linux_child_insert_vfork_catchpoint)
6329         (linux_child_remove_vfork_catchpoint)
6330         (linux_child_insert_exec_catchpoint)
6331         (linux_child_remove_exec_catchpoint)
6332         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
6333         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
6334         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
6335         (linux_nat_stopped_data_address)
6336         (linux_nat_stopped_by_sw_breakpoint)
6337         (linux_nat_supports_stopped_by_sw_breakpoint)
6338         (linux_nat_stopped_by_hw_breakpoint)
6339         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
6340         (linux_nat_kill, linux_nat_mourn_inferior)
6341         (linux_nat_xfer_partial, linux_nat_thread_alive)
6342         (linux_nat_update_thread_list, linux_nat_pid_to_str)
6343         (linux_nat_thread_name, linux_child_pid_to_exec_file)
6344         (linux_child_static_tracepoint_markers_by_strid)
6345         (linux_nat_is_async_p, linux_nat_can_async_p)
6346         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
6347         (linux_nat_supports_multi_process)
6348         (linux_nat_supports_disable_randomization, linux_nat_async)
6349         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
6350         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
6351         (linux_nat_fileio_open, linux_nat_fileio_readlink)
6352         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
6353         methods of linux_nat_target.
6354         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
6355         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
6356         parameter.
6357         (check_stopped_by_watchpoint): Adjust.
6358         (linux_xfer_partial): Delete.
6359         (linux_target_install_ops, linux_target, linux_nat_add_target):
6360         Delete.
6361         (linux_nat_target::linux_nat_target): New.
6362         * linux-nat.h: Include "inf-ptrace.h".
6363         (linux_nat_target): New.
6364         (linux_target, linux_target_install_ops, linux_nat_add_target):
6365         Delete function declarations.
6366         (linux_target): Declare global.
6367         * linux-thread-db.c (thread_db_target): New.
6368         (thread_db_target::thread_db_target): New.
6369         (thread_db_ops): Delete.
6370         (the_thread_db_target): New.
6371         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
6372         (thread_db_update_thread_list, thread_db_pid_to_str)
6373         (thread_db_extra_thread_info)
6374         (thread_db_thread_handle_to_thread_info)
6375         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
6376         (thread_db_resume): Refactor as methods of thread_db_target.
6377         (init_thread_db_ops): Delete.
6378         (_initialize_thread_db): Remove reference to init_thread_db_ops.
6379         * x86-linux-nat.c: Don't include "linux-nat.h".
6380         (super_post_startup_inferior): Delete.
6381         (x86_linux_nat_target::~x86_linux_nat_target): New.
6382         (x86_linux_child_post_startup_inferior)
6383         (x86_linux_read_description, x86_linux_enable_btrace)
6384         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
6385         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
6386         methods of x86_linux_nat_target.
6387         (x86_linux_create_target): Delete.  Bits folded ...
6388         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
6389         pointer.
6390         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
6391         (x86_linux_nat_target): New class.
6392         (x86_linux_create_target): Delete.
6393         (x86_linux_add_target): Now takes a linux_nat_target pointer.
6394         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
6395         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
6396         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
6397         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
6398         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
6399         make extern.
6400         (x86_use_watchpoints): Delete.
6401         * x86-nat.h: Include "breakpoint.h" and "target.h".
6402         (x86_use_watchpoints): Delete.
6403         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
6404         (x86_stopped_by_watchpoint, x86_stopped_data_address)
6405         (x86_insert_watchpoint, x86_remove_watchpoint)
6406         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
6407         (x86_stopped_by_hw_breakpoint): New declarations.
6408         (x86_nat_target): New template class.
6409
6410         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
6411         (the_ppc_linux_nat_target): New.
6412         (ppc_linux_fetch_inferior_registers)
6413         (ppc_linux_can_use_hw_breakpoint)
6414         (ppc_linux_region_ok_for_hw_watchpoint)
6415         (ppc_linux_ranged_break_num_registers)
6416         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
6417         (ppc_linux_insert_mask_watchpoint)
6418         (ppc_linux_remove_mask_watchpoint)
6419         (ppc_linux_can_accel_watchpoint_condition)
6420         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
6421         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
6422         (ppc_linux_watchpoint_addr_within_range)
6423         (ppc_linux_masked_watch_num_registers)
6424         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
6425         (ppc_linux_read_description): Refactor as methods of
6426         ppc_linux_nat_target.
6427         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
6428
6429         * procfs.c (procfs_xfer_partial): Delete forward declaration.
6430         (procfs_target): New class.
6431         (the_procfs_target): New.
6432         (procfs_target): Delete function.
6433         (procfs_auxv_parse, procfs_attach, procfs_detach)
6434         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
6435         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
6436         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
6437         (procfs_create_inferior, procfs_update_thread_list)
6438         (procfs_thread_alive, procfs_pid_to_str)
6439         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
6440         (procfs_stopped_data_address, procfs_insert_watchpoint)
6441         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
6442         (proc_find_memory_regions, procfs_info_proc)
6443         (procfs_make_note_section): Refactor as methods of procfs_target.
6444         (_initialize_procfs): Adjust.
6445         * sol-thread.c (sol_thread_target): New class.
6446         (sol_thread_ops): Now a sol_thread_target.
6447         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
6448         (sol_thread_fetch_registers, sol_thread_store_registers)
6449         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
6450         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
6451         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
6452         (init_sol_thread_ops): Delete.
6453         (_initialize_sol_thread): Adjust.  Remove references to
6454         init_sol_thread_ops and complete_target_initialization.
6455
6456         * windows-nat.c (windows_nat_target): New class.
6457         (windows_fetch_inferior_registers)
6458         (windows_store_inferior_registers, windows_resume, windows_wait)
6459         (windows_attach, windows_detach, windows_pid_to_exec_file)
6460         (windows_files_info, windows_create_inferior)
6461         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
6462         (windows_close, windows_pid_to_str, windows_xfer_partial)
6463         (windows_get_tib_address, windows_get_ada_task_ptid)
6464         (windows_thread_name, windows_thread_alive): Refactor as
6465         windows_nat_target methods.
6466         (do_initial_windows_stuff): Adjust.
6467         (windows_target): Delete function.
6468         (_initialize_windows_nat): Adjust.
6469
6470         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
6471         (darwin_mourn_inferior, darwin_kill_inferior)
6472         (darwin_create_inferior, darwin_attach, darwin_detach)
6473         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
6474         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
6475         (darwin_supports_multi_process): Refactor as darwin_nat_target
6476         methods.
6477         (darwin_resume_to, darwin_files_info): Delete.
6478         (_initialize_darwin_inferior): Rename to ...
6479         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
6480         * darwin-nat.h: Include "inf-child.h".
6481         (darwin_nat_target): New class.
6482         (darwin_complete_target): Delete.
6483         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
6484         (darwin_target): New.
6485         (i386_darwin_fetch_inferior_registers)
6486         (i386_darwin_store_inferior_registers): Refactor as methods of
6487         darwin_nat_target.
6488         (darwin_complete_target): Delete, with ...
6489         (_initialize_i386_darwin_nat): ... bits factored out here.
6490
6491         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
6492         (the_alpha_linux_nat_target): New.
6493         (alpha_linux_register_u_offset): Refactor as
6494         alpha_linux_nat_target method.
6495         (_initialize_alpha_linux_nat): Adjust.
6496         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
6497         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6498         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
6499         methods of linux_nat_trad_target.
6500         (linux_trad_target): Delete.
6501         * linux-nat-trad.h (linux_trad_target): Delete function.
6502         (linux_nat_trad_target): New class.
6503         * mips-linux-nat.c (mips_linux_nat_target): New class.
6504         (super_fetch_registers, super_store_registers, super_close):
6505         Delete.
6506         (the_mips_linux_nat_target): New.
6507         (mips64_linux_regsets_fetch_registers)
6508         (mips64_linux_regsets_store_registers)
6509         (mips64_linux_fetch_registers, mips64_linux_store_registers)
6510         (mips_linux_register_u_offset, mips_linux_read_description)
6511         (mips_linux_can_use_hw_breakpoint)
6512         (mips_linux_stopped_by_watchpoint)
6513         (mips_linux_stopped_data_address)
6514         (mips_linux_region_ok_for_hw_watchpoint)
6515         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
6516         (mips_linux_close): Refactor as methods of mips_linux_nat.
6517         (_initialize_mips_linux_nat): Adjust to C++ification.
6518
6519         * aix-thread.c (aix_thread_target): New class.
6520         (aix_thread_ops): Now an aix_thread_target.
6521         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
6522         (aix_thread_fetch_registers, aix_thread_store_registers)
6523         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
6524         (aix_thread_thread_alive, aix_thread_pid_to_str)
6525         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
6526         Refactor as methods of aix_thread_target.
6527         (init_aix_thread_ops): Delete.
6528         (_initialize_aix_thread): Remove references to init_aix_thread_ops
6529         and complete_target_initialization.
6530         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
6531         (rs6000_nat_target): New class.
6532         (the_rs6000_nat_target): New.
6533         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
6534         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
6535         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
6536         (super_create_inferior): Delete.
6537         (_initialize_rs6000_nat): Adjust to C++ification.
6538
6539         * arm-linux-nat.c (arm_linux_nat_target): New class.
6540         (the_arm_linux_nat_target): New.
6541         (arm_linux_fetch_inferior_registers)
6542         (arm_linux_store_inferior_registers, arm_linux_read_description)
6543         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
6544         (arm_linux_remove_hw_breakpoint)
6545         (arm_linux_region_ok_for_hw_watchpoint)
6546         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
6547         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
6548         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
6549         arm_linux_nat_target.
6550         (_initialize_arm_linux_nat): Adjust to C++ification.
6551
6552         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
6553         (the_aarch64_linux_nat_target): New.
6554         (aarch64_linux_fetch_inferior_registers)
6555         (aarch64_linux_store_inferior_registers)
6556         (aarch64_linux_child_post_startup_inferior)
6557         (aarch64_linux_read_description)
6558         (aarch64_linux_can_use_hw_breakpoint)
6559         (aarch64_linux_insert_hw_breakpoint)
6560         (aarch64_linux_remove_hw_breakpoint)
6561         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
6562         (aarch64_linux_region_ok_for_hw_watchpoint)
6563         (aarch64_linux_stopped_data_address)
6564         (aarch64_linux_stopped_by_watchpoint)
6565         (aarch64_linux_watchpoint_addr_within_range)
6566         (aarch64_linux_can_do_single_step): Refactor as methods of
6567         aarch64_linux_nat_target.
6568         (super_post_startup_inferior): Delete.
6569         (_initialize_aarch64_linux_nat): Adjust to C++ification.
6570
6571         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
6572         (the_hppa_linux_nat_target): New.
6573         (hppa_linux_fetch_inferior_registers)
6574         (hppa_linux_store_inferior_registers): Refactor as methods of
6575         hppa_linux_nat_target.
6576         (_initialize_hppa_linux_nat): Adjust to C++ification.
6577
6578         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6579         (the_ia64_linux_nat_target): New.
6580         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6581         (ia64_linux_stopped_data_address)
6582         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6583         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6584         ia64_linux_nat_target methods.
6585         (super_xfer_partial): Delete.
6586         (_initialize_ia64_linux_nat): Adjust to C++ification.
6587
6588         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6589         (the_m32r_linux_nat_target): New.
6590         (m32r_linux_fetch_inferior_registers)
6591         (m32r_linux_store_inferior_registers): Refactor as
6592         m32r_linux_nat_target methods.
6593         (_initialize_m32r_linux_nat): Adjust to C++ification.
6594
6595         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6596         (the_m68k_linux_nat_target): New.
6597         (m68k_linux_fetch_inferior_registers)
6598         (m68k_linux_store_inferior_registers): Refactor as
6599         m68k_linux_nat_target methods.
6600         (_initialize_m68k_linux_nat): Adjust to C++ification.
6601
6602         * s390-linux-nat.c (s390_linux_nat_target): New class.
6603         (the_s390_linux_nat_target): New.
6604         (s390_linux_fetch_inferior_registers)
6605         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6606         (s390_insert_watchpoint, s390_remove_watchpoint)
6607         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6608         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6609         (s390_auxv_parse, s390_read_description): Refactor as methods of
6610         s390_linux_nat_target.
6611         (_initialize_s390_nat): Adjust to C++ification.
6612
6613         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6614         (the_sparc_linux_nat_target): New.
6615         (_initialize_sparc_linux_nat): Adjust to C++ification.
6616         * sparc-nat.c (sparc_fetch_inferior_registers)
6617         (sparc_store_inferior_registers): Remove target_ops parameter.
6618         * sparc-nat.h (sparc_fetch_inferior_registers)
6619         (sparc_store_inferior_registers): Remove target_ops parameter.
6620         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6621         (the_sparc64_linux_nat_target): New.
6622         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6623
6624         * spu-linux-nat.c (spu_linux_nat_target): New class.
6625         (the_spu_linux_nat_target): New.
6626         (spu_child_post_startup_inferior, spu_child_post_attach)
6627         (spu_child_wait, spu_fetch_inferior_registers)
6628         (spu_store_inferior_registers, spu_xfer_partial)
6629         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6630         methods.
6631         (_initialize_spu_nat): Adjust to C++ification.
6632
6633         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6634         (the_tilegx_linux_nat_target): New.
6635         (fetch_inferior_registers, store_inferior_registers):
6636         Refactor as methods.
6637         (_initialize_tile_linux_nat): Adjust to C++ification.
6638
6639         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6640         (the_xtensa_linux_nat_target): New.
6641         (xtensa_linux_fetch_inferior_registers)
6642         (xtensa_linux_store_inferior_registers): Refactor as
6643         xtensa_linux_nat_target methods.
6644         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6645
6646         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6647         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6648         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6649         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6650         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6651         (fbsd_stopped_by_sw_breakpoint)
6652         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6653         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6654         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6655         (fbsd_post_startup_inferior, fbsd_post_attach)
6656         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6657         (fbsd_set_syscall_catchpoint)
6658         (super_xfer_partial, super_resume, super_wait)
6659         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6660         (fbsd_handle_debug_trap): Remove target_ops parameter.
6661         (fbsd_nat_add_target): Delete.
6662         * fbsd-nat.h: Include "inf-ptrace.h".
6663         (fbsd_nat_add_target): Delete.
6664         (USE_SIGTRAP_SIGINFO): Define.
6665         (fbsd_nat_target): New class.
6666
6667         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6668         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6669         (amd64bsd_target): Delete.
6670         * amd64-bsd-nat.h: New file.
6671         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6672         "x86-bsd-nat.h".
6673         (amd64_fbsd_nat_target): New class.
6674         (the_amd64_fbsd_nat_target): New.
6675         (amd64fbsd_read_description): Refactor as method of
6676         amd64_fbsd_nat_target.
6677         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6678         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6679         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6680         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6681         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6682         (i386bsd_target): Delete.
6683         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6684         (i386bsd_fetch_inferior_registers)
6685         (i386bsd_store_inferior_registers): Declare.
6686         (i386_bsd_nat_target): New class.
6687         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6688         (the_i386_fbsd_nat_target): New.
6689         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6690         i386_fbsd_nat_target methods.
6691         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6692         (_initialize_i386fbsd_nat): Adjust to C++ification.
6693         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6694         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6695         (_initialize_x86_bsd_nat): Adjust to C++ification.
6696         * x86-bsd-nat.h: Include "x86-nat.h".
6697         (x86bsd_target): Delete declaration.
6698         (x86bsd_nat_target): New class.
6699
6700         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6701         (the_aarch64_fbsd_nat_target): New.
6702         (aarch64_fbsd_fetch_inferior_registers)
6703         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6704         aarch64_fbsd_nat_target.
6705         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6706         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6707         (the_alpha_bsd_nat_target): New.
6708         (alphabsd_fetch_inferior_registers)
6709         (alphabsd_store_inferior_registers): Refactor as
6710         alpha_bsd_nat_target methods.
6711         (_initialize_alphabsd_nat): Refactor as methods of
6712         alpha_bsd_nat_target.
6713         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6714         (the_amd64_nbsd_nat_target): New.
6715         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6716         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6717         (the_amd64_obsd_nat_target): New.
6718         (_initialize_amd64obsd_nat): Adjust to C++ification.
6719         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6720         (the_arm_fbsd_nat_target): New.
6721         (arm_fbsd_fetch_inferior_registers)
6722         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6723         (_initialize_arm_fbsd_nat): Refactor as methods of
6724         arm_fbsd_nat_target.
6725         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6726         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6727         (the_arm_netbsd_nat_target): New.
6728         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6729         arm_netbsd_nat_target.
6730         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6731         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6732         (the_hppa_nbsd_nat_target): New.
6733         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6734         hppa_nbsd_nat_target methods.
6735         (_initialize_hppanbsd_nat): Adjust to C++ification.
6736         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6737         (the_hppa_obsd_nat_target): New.
6738         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6739         methods of hppa_obsd_nat_target.
6740         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6741         add_target.
6742         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6743         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6744         add_target.
6745         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6746         (_initialize_i386obsd_nat): Use add_target.
6747         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6748         (the_m68k_bsd_nat_target): New.
6749         (m68kbsd_fetch_inferior_registers)
6750         (m68kbsd_store_inferior_registers): Refactor as methods of
6751         m68k_bsd_nat_target.
6752         (_initialize_m68kbsd_nat): Adjust to C++ification.
6753         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6754         (the_mips_fbsd_nat_target): New.
6755         (mips_fbsd_fetch_inferior_registers)
6756         (mips_fbsd_store_inferior_registers): Refactor as methods of
6757         mips_fbsd_nat_target.
6758         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6759         add_target.
6760         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6761         (the_mips_nbsd_nat_target): New.
6762         (mipsnbsd_fetch_inferior_registers)
6763         (mipsnbsd_store_inferior_registers): Refactor as methods of
6764         mips_nbsd_nat_target.
6765         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6766         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6767         (the_mips64_obsd_nat_target): New.
6768         (mips64obsd_fetch_inferior_registers)
6769         (mips64obsd_store_inferior_registers): Refactor as methods of
6770         mips64_obsd_nat_target.
6771         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6772         add_target.
6773         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6774         nbsd_nat_target.
6775         * nbsd-nat.h: Include "inf-ptrace.h".
6776         (nbsd_nat_target): New class.
6777         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6778         (obsd_wait): Refactor as methods of obsd_nat_target.
6779         (obsd_add_target): Delete.
6780         * obsd-nat.h: Include "inf-ptrace.h".
6781         (obsd_nat_target): New class.
6782         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6783         (the_ppc_fbsd_nat_target): New.
6784         (ppcfbsd_fetch_inferior_registers)
6785         (ppcfbsd_store_inferior_registers): Refactor as methods of
6786         ppc_fbsd_nat_target.
6787         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6788         add_target.
6789         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6790         (the_ppc_nbsd_nat_target): New.
6791         (ppcnbsd_fetch_inferior_registers)
6792         (ppcnbsd_store_inferior_registers): Refactor as methods of
6793         ppc_nbsd_nat_target.
6794         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6795         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6796         (the_ppc_obsd_nat_target): New.
6797         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6798         methods of ppc_obsd_nat_target.
6799         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6800         add_target.
6801         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6802         (the_sh_nbsd_nat_target): New.
6803         (shnbsd_fetch_inferior_registers)
6804         (shnbsd_store_inferior_registers): Refactor as methods of
6805         sh_nbsd_nat_target.
6806         (_initialize_shnbsd_nat): Adjust to C++ification.
6807         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6808         (inf_ptrace_xfer_partial): Delete.
6809         (sparc_xfer_partial, sparc_target): Delete.
6810         * sparc-nat.h (sparc_fetch_inferior_registers)
6811         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6812         (sparc_target): Delete function declaration.
6813         (sparc_target): New template class.
6814         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6815         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6816         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6817         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6818         add_target.
6819         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6820         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6821         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6822         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6823         add_target.
6824         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6825         (the_vax_bsd_nat_target): New.
6826         (vaxbsd_fetch_inferior_registers)
6827         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6828         methods.
6829         (_initialize_vaxbsd_nat): Adjust to C++ification.
6830
6831         * bsd-kvm.c (bsd_kvm_target): New class.
6832         (bsd_kvm_ops): Now a bsd_kvm_target.
6833         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6834         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6835         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6836         bsd_kvm_target.
6837         (bsd_kvm_return_one): Delete.
6838         (bsd_kvm_add_target): Adjust to C++ification.
6839
6840         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6841         (nto_procfs_target_procfs): New classes.
6842         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6843         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6844         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6845         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6846         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6847         (procfs_remove_hw_breakpoint, procfs_resume)
6848         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6849         (procfs_kill_inferior, procfs_store_registers)
6850         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6851         as methods of nto_procfs_target.
6852         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6853         (nto_native_ops): Delete.
6854         (procfs_open, procfs_native_open): Delete.
6855         (nto_native_ops): Now an nto_procfs_target_native.
6856         (init_procfs_targets): Adjust to C++ification.
6857         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6858         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6859         Refactor as methods of nto_procfs_target.
6860
6861         * go32-nat.c (go32_nat_target): New class.
6862         (the_go32_nat_target): New.
6863         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6864         (go32_store_registers, go32_xfer_partial, go32_files_info)
6865         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6866         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6867         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6868         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6869         (go32_target): Delete.
6870         (_initialize_go32_nat): Adjust to C++ification.
6871
6872         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6873         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6874         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6875         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6876         gnu_nat_target.
6877         (gnu_target): Delete.
6878         * gnu-nat.h (gnu_target): Delete.
6879         (gnu_nat_target): New class.
6880         * i386-gnu-nat.c (gnu_base_target): New.
6881         (i386_gnu_nat_target): New class.
6882         (the_i386_gnu_nat_target): New.
6883         (_initialize_i386gnu_nat): Adjust to C++ification.
6884
6885 2018-05-02  Pedro Alves  <palves@redhat.com>
6886
6887         * bfd-target.c (target_bfd_xclose): Rename to ...
6888         (target_bfd_close): ... this.
6889         (target_bfd_reopen): Adjust.
6890         * target.c (target_close): Remove references to to_xclose.
6891         * target.h (target_ops::to_xclose): Delete.
6892         (target_ops::to_close): Update comments.
6893
6894 2018-05-02  Pedro Alves  <palves@redhat.com>
6895
6896         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6897         "linux-nat.h".
6898         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6899         * inf-ptrace.c (inf_ptrace_register_u_offset)
6900         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6901         (inf_ptrace_store_register, inf_ptrace_store_registers)
6902         (inf_ptrace_trad_target): Move to ...
6903         * linux-nat-trad.c: ... this new file.
6904         * linux-nat-trad.h: New file.
6905         * linux-nat.c (linux_target_install_ops): Make extern.
6906         (linux_trad_target): Delete.
6907         * linux-nat.h (linux_trad_target): Delete declaration.
6908         (linux_target_install_ops): Declare.
6909         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6910         "linux-nat.h".
6911
6912 2018-05-02  Pedro Alves  <palves@redhat.com>
6913
6914         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6915         procfs_target/add_target here.
6916         * procfs.c (procfs_target): Make static.
6917         (_initialize_procfs): Call add_target here.
6918         * procfs.h (struct target_ops): Remove forward declaration.
6919         (procfs_target): Remove declaration.
6920         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6921
6922 2018-05-02  Pedro Alves  <palves@redhat.com>
6923
6924         * procfs.c (procfs_stopped_by_watchpoint)
6925         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6926         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6927         Forward declare.
6928         (procfs_use_watchpoints): Delete, move contents...
6929         (procfs_target): ... here.
6930         * procfs.h (procfs_use_watchpoints): Delete declaration.
6931         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6932         procfs_use_watchpoints.
6933         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6934         procfs_use_watchpoints.
6935
6936 2018-05-02  Tom Tromey  <tom@tromey.com>
6937
6938         PR python/20084:
6939         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6940         and var_zuinteger_unlimited.
6941         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6942         and PARAM_ZUINTEGER_UNLIMITED.
6943         (set_parameter_value): Handle var_zuinteger and
6944         var_zuinteger_unlimited.
6945         (add_setshow_generic): Likewise.
6946         (parmpy_init): Likewise.
6947
6948 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6949
6950         PR rust/23124
6951         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6952         pointer is not null before dereferencing it.
6953
6954 2018-04-30  Tom Tromey  <tom@tromey.com>
6955
6956         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6957         is_mi_like_p.
6958
6959 2018-04-30  Tom Tromey  <tom@tromey.com>
6960
6961         * breakpoint.c (mention): Remove use of is_mi_like_p.
6962         (print_mention_ranged_breakpoint): Likewise.
6963         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6964         of is_mi_like_p.
6965
6966 2018-04-30  Tom Tromey  <tom@tromey.com>
6967
6968         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6969
6970 2018-04-30  Tom Tromey  <tom@tromey.com>
6971
6972         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6973         (info_spu_event_command): Remove some uses of is_mi_like_p.
6974
6975 2018-04-30  Tom Tromey  <tom@tromey.com>
6976
6977         * python/py-framefilter.c (py_print_single_arg)
6978         (enumerate_locals, py_print_args, py_print_frame): Remove some
6979         uses of is_mi_like_p.
6980
6981 2018-04-30  Tom Tromey  <tom@tromey.com>
6982
6983         * ui-out.c: Update.
6984         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6985         * ui-out.h (ui_out::is_mi_like_p): Now const.
6986         (ui_out::do_is_mi_like_p): Now const.
6987         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6988
6989 2018-04-30  Tom Tromey  <tom@tromey.com>
6990
6991         * varobj.c (varobj_set_visualizer): Use new_reference.
6992         * python/python.c (gdbpy_decode_line): Use new_reference.
6993         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6994         new_reference.
6995
6996 2018-04-30  Tom Tromey  <tom@tromey.com>
6997
6998         * varobj.c (install_new_value): Use new_reference.
6999         * value.h (value_incref): Return void.  Swap intro comment with
7000         value_decref.
7001         * value.c (set_value_parent): Use new_reference.
7002         (value_incref): Return void.  Update intro comment.
7003         (release_value): Use new_reference.
7004         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
7005
7006 2018-04-30  Tom Tromey  <tom@tromey.com>
7007
7008         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
7009         * gdb_bfd.h (new_bfd_ref): Remove.
7010         (gdb_bfd_open): Update comment.
7011         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
7012         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
7013         (gdb_bfd_fdopenr): Use new_reference.
7014         * exec.c (exec_file_attach): Use new_reference.
7015
7016 2018-04-30  Tom Tromey  <tom@tromey.com>
7017
7018         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
7019         method.
7020
7021 2018-04-30  Tom Tromey  <tom@tromey.com>
7022
7023         * jit.c (jit_read_code_entry): Use type_align.
7024         * i386-tdep.c (i386_gdbarch_init): Don't call
7025         set_gdbarch_long_long_align_bit.
7026         * gdbarch.sh: Remove long_long_align_bit.
7027         * gdbarch.c, gdbarch.h: Rebuild.
7028         * arc-tdep.c (arc_type_align): New function.
7029         (arc_gdbarch_init): Use arc_type_align.  Don't call
7030         set_gdbarch_long_long_align_bit.
7031
7032 2018-04-30  Tom Tromey  <tom@tromey.com>
7033
7034         * rust-lang.c (rust_type_alignment): Remove.
7035         (rust_composite_type): Use type_align.
7036
7037 2018-04-30  Tom Tromey  <tom@tromey.com>
7038
7039         * NEWS: Mention Type.align.
7040         * python/py-type.c (typy_get_alignof): New function.
7041         (type_object_getset): Add "alignof".
7042
7043 2018-04-30  Tom Tromey  <tom@tromey.com>
7044
7045         PR exp/17095:
7046         * NEWS: Update.
7047         * std-operator.def (UNOP_ALIGNOF): New operator.
7048         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7049         New.
7050         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7051         * c-lang.c (c_op_print_tab): Add alignof.
7052         * c-exp.y (ALIGNOF): New token.
7053         (exp): Add "ALIGNOF" production.
7054         (ident_tokens): Add _Alignof and alignof.
7055
7056 2018-04-30  Tom Tromey  <tom@tromey.com>
7057
7058         * i386-tdep.c (i386_type_align): New function.
7059         (i386_gdbarch_init): Update.
7060         * gdbarch.sh (type_align): New method.
7061         * gdbarch.c, gdbarch.h: Rebuild.
7062         * arch-utils.h (default_type_align): Declare.
7063         * arch-utils.c (default_type_align): New function.
7064         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7065         (struct type) <align_log2>: New field.
7066         <instance_flags>: Now a bitfield.
7067         (TYPE_RAW_ALIGN): New macro.
7068         (type_align, type_raw_align, set_type_align): Declare.
7069         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7070         functions.
7071         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7072         (get_alignment, maybe_set_alignment): New functions.
7073         (read_structure_type, read_enumeration_type, read_array_type)
7074         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7075         (read_subrange_type, read_base_type): Set type alignment.
7076
7077 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7078
7079         * dwarf2read.c (read_index_from_section): Use bool.
7080
7081 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7082
7083         PR gdb/22950
7084         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7085         with #ifdef.
7086
7087 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7088
7089         PR build/22873
7090         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7091         last step, and do it atomically.
7092
7093 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7094
7095         * compile/compile-c-types.c (convert_int, convert_float):
7096         Update for C FE v1.
7097
7098 2018-04-27  Tom Tromey  <tom@tromey.com>
7099
7100         PR rust/22545:
7101         * rust-lang.c (rust_inclusive_range_type_p): New function.
7102         (rust_range): Handle inclusive ranges.
7103         (rust_compute_range): Likewise.
7104         * rust-exp.y (struct rust_op) <inclusive>: New field.
7105         (DOTDOTEQ): New constant.
7106         (range_expr): Add "..=" productions.
7107         (operator_tokens): Add "..=" token.
7108         (ast_range): Add "inclusive" parameter.
7109         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7110         ranges.
7111         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7112         bounds values.
7113         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7114         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7115         Update comments.
7116         * expprint.c (print_subexp_standard): Handle new bounds values.
7117         (dump_subexp_body_standard): Likewise.
7118
7119 2018-04-27  Tom Tromey  <tom@tromey.com>
7120
7121         * configure: Rebuild.
7122         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7123         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7124         "OVERRIDE".
7125         (class symbol_needs_eval_context): Likewise.
7126         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7127         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7128         "virtual".
7129         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7130         "override".
7131         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7132         * aarch64-tdep.c (instruction_reader::read): Use "override".
7133         (instruction_reader_test::read): Likewise.
7134         * arm-tdep.c (instruction_reader::read): Use "override".
7135         (instruction_reader_thumb::read): Likewise.
7136
7137 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7138
7139         PR remote/9665
7140         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7141         instead of remote_send.
7142         (remote_send): Remove.
7143
7144 2018-04-26  Pedro Alves  <palves@redhat.com>
7145
7146         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7147         find_function_start_sal instead of find_pc_line.
7148
7149 2018-04-26  Pedro Alves  <palves@redhat.com>
7150
7151         * breakpoint.c (set_breakpoint_location_function): Handle
7152         mst_data_gnu_ifunc.
7153         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7154         * elfread.c (elf_symtab_read): Give data symbols with
7155         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7156         (elf_rel_plt_read): Update comment.
7157         * linespec.c (convert_linespec_to_sals): Handle
7158         mst_data_gnu_ifunc.
7159         (minsym_found): Handle mst_data_gnu_ifunc.
7160         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7161         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7162         * parse.c (find_minsym_type_and_address): Handle
7163         mst_data_gnu_ifunc.
7164         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7165         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7166         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7167         comment.
7168         <mst_data_gnu_ifunc>: New enumerator.
7169
7170 2018-04-26  Pedro Alves  <palves@redhat.com>
7171
7172         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7173         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7174         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7175         Handle it.
7176         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
7177         (lookup_minimal_symbol_by_pc): Adjust.
7178         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
7179         (lookup_solib_trampoline_symbol_by_pc): Adjust.
7180         * minsyms.h (lookup_msym_prefer): New enum.
7181         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7182         parameter by a lookup_msym_prefer parameter.
7183
7184 2018-04-26  Pedro Alves  <palves@redhat.com>
7185
7186         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
7187         ends in "@plt" instead of looking at the symbol's section.
7188
7189 2018-04-26  Pedro Alves  <palves@redhat.com>
7190
7191         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
7192         all references.
7193         (find_pc_partial_function_gnu_ifunc): Rename to ...
7194         (find_pc_partial_function): ... this, and remove references to
7195         'is_gnu_ifunc_p'.
7196         (find_pc_partial_function): Delete old implementation.
7197         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
7198
7199 2018-04-26  Pedro Alves  <palves@redhat.com>
7200
7201         * linespec.c (struct bound_minimal_symbol_search_key): New.
7202         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
7203         skip first line if we found a GNU ifunc minimal symbol by name.
7204         (compare_msymbols): Change parameters to work with a destructured
7205         lhs minsym.
7206         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
7207         functions.
7208
7209 2018-04-26  Pedro Alves  <palves@redhat.com>
7210
7211         * breakpoint.c (set_breakpoint_location_function): Don't resolve
7212         ifunc targets here.  Instead, if we have an ifunc minsym, use its
7213         address/name.
7214         (add_location_to_breakpoint): Store the minsym and the objfile in
7215         the breakpoint location.
7216         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
7217         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
7218         Record the minsym in the sal.
7219         * symtab.h (symtab_and_line) <msymbol>: New field.
7220
7221 2018-04-26  Pedro Alves  <palves@redhat.com>
7222
7223         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
7224         unless we actually resolved the ifunc.
7225
7226 2018-04-26  Pedro Alves  <palves@redhat.com>
7227
7228         * c-exp.y (variable production): Prefer ifunc minsyms over
7229         regular function symbols.
7230         * symtab.c (find_gnu_ifunc): New function.
7231         * minsyms.h (lookup_msym_prefer): New enum.
7232         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7233         parameter by a lookup_msym_prefer parameter.
7234         * symtab.h (find_gnu_ifunc): New declaration.
7235
7236 2018-04-26  Pedro Alves  <palves@redhat.com>
7237
7238         * blockframe.c (find_gnu_ifunc_target_type): New function.
7239         (find_function_type): New.
7240         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
7241         return a value with a memory address.
7242         (eval_call): For calls to GNU ifunc functions, try to find the
7243         type of the target function from the type that the resolver
7244         returns.
7245         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
7246         symbols.
7247         * infcall.c (find_function_return_type): Delete.
7248         (find_function_addr): Add 'function_type' parameter.  For calls to
7249         GNU ifunc functions, try to find the type of the target function
7250         from the type that the resolver returns, and return it via
7251         FUNCTION_TYPE.
7252         (call_function_by_hand_dummy): Adjust to use the function type
7253         returned by find_function_addr.
7254         (find_function_addr): Add 'function_type' parameter and move
7255         description here.
7256         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
7257         declarations.
7258
7259 2018-04-26  Pedro Alves  <palves@redhat.com>
7260
7261         * c-exp.y (variable production): Skip finding an alias for ifunc
7262         symbols.
7263
7264 2018-04-26  Pedro Alves  <palves@redhat.com>
7265
7266         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
7267
7268 2018-04-25  Pedro Alves  <palves@redhat.com>
7269
7270         * infcmd.c (kill_command): Print the pid as string, not the whole
7271         thread's ptid.  Add comment.  s/has been killed/killed/ in output
7272         message.
7273         * remote.c (remote_detach_1): Print the pid as string, not the
7274         whole thread's ptid.
7275
7276 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7277             Sergio Durigan Junior  <sergiodj@redhat.com>
7278             Pedro Alves  <palves@redhat.com>
7279
7280         * infcmd.c (kill_command): Print message when inferior has
7281         been killed.
7282         * inferior.c (print_inferior_events): Remove 'static'.  Set as
7283         '1'.
7284         (add_inferior): Improve message printed when
7285         'print_inferior_events' is on.
7286         (exit_inferior): Remove message printed when
7287         'print_inferior_events' is on.
7288         (detach_inferior): Improve message printed when
7289         'print_inferior_events' is on.
7290         (initialize_inferiors): Use 'add_inferior_silent' to set
7291         'current_inferior_'.
7292         * inferior.h (print_inferior_events): Declare here as
7293         'extern'.
7294         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
7295         '[Detaching...]' messages when 'print_inferior_events' is on.
7296         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
7297         as prefix/suffix for messages.  Remove periods.  Fix erroneous
7298         'Detaching after fork from child...', replace it by '... from
7299         parent...'.
7300         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
7301         prefix/suffix when printing 'Detaching...' messages.  Print
7302         them when 'print_inferior_events' is on.
7303         * remote.c (remote_detach_1): Print message when detaching
7304         from inferior and '!is_fork_parent'.
7305
7306 2018-04-24  Tom Tromey  <tom@tromey.com>
7307
7308         * cli-out.h: Reindent.
7309
7310 2018-04-24  Tom Tromey  <tom@tromey.com>
7311
7312         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
7313         (cli_ui_out::do_field_string): Use fputs_filtered.
7314         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
7315
7316 2018-04-23  Tom Tromey  <tom@tromey.com>
7317
7318         * guile/scm-frame.c (gdbscm_frame_read_var): Use
7319         gdb::unique_xmalloc_ptr.
7320
7321 2018-04-23  Tom Tromey  <tom@tromey.com>
7322
7323         * configure: Rebuild.
7324
7325 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
7326
7327         PR gdb/23095
7328         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
7329         prepare_for_testing.  Set normal_bp to r_debug_state if target
7330         is bsd.
7331
7332 2018-04-21  Pedro Alves  <palves@redhat.com>
7333             Rajendra SY  <rajendra.sy@gmail.com>
7334
7335         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
7336         * remote.c (extended_remote_attach): In all-stop mode, mark the
7337         thread as executing.
7338
7339 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7340
7341         * thread.c (thread_apply_all_command): Fix comment.
7342         (thread_command): Fix comment.
7343
7344 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
7345
7346         * common/tdesc.h (tdesc_create_feature): Remove xml filename
7347         parameter.
7348         * features/aarch64-core.c (create_feature_aarch64_core):
7349         Regenerate.
7350         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
7351         Likewise.
7352         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
7353         Likewise.
7354         * features/i386/32bit-avx512.c
7355         (create_feature_i386_32bit_avx512): Likewise.
7356         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
7357         Likewise.
7358         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
7359         Likewise.
7360         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
7361         Likewise.
7362         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
7363         Likewise.
7364         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
7365         Likewise.
7366         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
7367         Likewise.
7368         * features/i386/64bit-avx512.c
7369         (create_feature_i386_64bit_avx512): Likewise.
7370         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
7371         Likewise.
7372         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
7373         Likewise.
7374         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
7375         Likewise.
7376         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
7377         Likewise.
7378         * features/i386/64bit-segments.c
7379         (create_feature_i386_64bit_segments): Likewise.
7380         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
7381         Likewise.
7382         * features/i386/x32-core.c
7383         (create_feature_i386_x32_core): Likewise.
7384         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
7385         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
7386         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
7387         * target-descriptions.c: In generated code, don't pass xml
7388         filename.
7389
7390 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7391
7392         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
7393         (print_xml_feature::visit_post): Likewise.
7394         (print_xml_feature::visit): Likewise.
7395         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
7396         (print_xml_feature): Add new class.
7397         * regformats/regdat.sh: Null xmltarget on feature targets.
7398         * target-descriptions.c (struct target_desc): Add xmltarget.
7399         (maintenance_check_tdesc_xml_convert): Add unittest function.
7400         (tdesc_get_features_xml): Add function to get xml.
7401         (maintenance_check_xml_descriptions): Test xml generation.
7402         * xml-tdesc.c (string_read_description_xml): Add function.
7403         * xml-tdesc.h (string_read_description_xml): Add declaration.
7404
7405 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7406
7407         * features/Makefile: Add feature marker to targets with new style
7408         target descriptions.
7409         * regformats/aarch64.dat: Regenerate.
7410         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
7411         * regformats/i386/amd64-avx-linux.dat: Likewise.
7412         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
7413         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
7414         * regformats/i386/amd64-linux.dat: Likewise.
7415         * regformats/i386/amd64-mpx-linux.dat: Likewise.
7416         * regformats/i386/amd64.dat: Likewise.
7417         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
7418         * regformats/i386/i386-avx-linux.dat: Likewise.
7419         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
7420         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
7421         * regformats/i386/i386-linux.dat: Likewise.
7422         * regformats/i386/i386-mmx-linux.dat: Likewise.
7423         * regformats/i386/i386-mpx-linux.dat: Likewise.
7424         * regformats/i386/i386.dat: Likewise.
7425         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
7426         * regformats/i386/x32-avx-linux.dat: Likewise.
7427         * regformats/i386/x32-linux.dat: Likewise.
7428         * regformats/tic6x-c62x-linux.dat: Likewise.
7429         * regformats/tic6x-c64x-linux.dat: Likewise.
7430         * regformats/tic6x-c64xp-linux.dat: Likewise.
7431         * regformats/regdat.sh: Parse feature marker.
7432
7433 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7434
7435         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
7436         (tdesc_osabi_name): Likewise.
7437         * target-descriptions.c (tdesc_architecture_name): Add new
7438         function.
7439         (tdesc_osabi_name): Likewise.
7440
7441 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7442
7443         * common/tdesc.c (tdesc_predefined_type): Move to here.
7444         (tdesc_named_type): Likewise.
7445         (tdesc_create_vector): Likewise.
7446         (tdesc_create_struct): Likewise.
7447         (tdesc_set_struct_size): Likewise.
7448         (tdesc_create_union): Likewise.
7449         (tdesc_create_flags): Likewise.
7450         (tdesc_create_enum): Likewise.
7451         (tdesc_add_field): Likewise.
7452         (tdesc_add_typed_bitfield): Likewise.
7453         (tdesc_add_bitfield): Likewise.
7454         (tdesc_add_flag): Likewise.
7455         (tdesc_add_enum_value): Likewise.
7456         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
7457         (struct tdesc_type_vector): Likewise.
7458         (struct tdesc_type_field): Likewise.
7459         (struct tdesc_type_with_fields): Likewise.
7460         (tdesc_create_enum): Add declaration.
7461         (tdesc_add_typed_bitfield): Likewise.
7462         (tdesc_add_enum_value): Likewise.
7463         * target-descriptions.c (tdesc_type_field): Move from here.
7464         (tdesc_type_builtin): Likewise.
7465         (tdesc_type_vector): Likewise.
7466         (tdesc_type_with_fields): Likewise.
7467         (tdesc_predefined_types): Likewise.
7468         (tdesc_named_type): Likewise.
7469         (tdesc_create_vector): Likewise.
7470         (tdesc_create_struct): Likewise.
7471         (tdesc_set_struct_size): Likewise.
7472         (tdesc_create_union): Likewise.
7473         (tdesc_create_flags): Likewise.
7474         (tdesc_create_enum): Likewise.
7475         (tdesc_add_field): Likewise.
7476         (tdesc_add_typed_bitfield): Likewise.
7477         (tdesc_add_bitfield): Likewise.
7478         (tdesc_add_flag): Likewise.
7479         (tdesc_add_enum_value): Likewise.
7480         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
7481         (tdesc_add_typed_bitfield): Likewise.
7482         (tdesc_add_enum_value): Likewise.
7483
7484 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7485
7486         * common/tdesc.c (tdesc_feature::accept): Move to here.
7487         (tdesc_feature::operator==): Likewise.
7488         (tdesc_create_reg): Likewise.
7489         * common/tdesc.h (tdesc_type_kind): Likewise.
7490         (struct tdesc_type): Likewise.
7491         (struct tdesc_feature): Likewise.
7492         * regformats/regdat.sh: Create a feature.
7493         * target-descriptions.c (tdesc_type_kind): Move from here.
7494         (tdesc_type): Likewise.
7495         (tdesc_type_up): Likewise.
7496         (tdesc_feature): Likewise.
7497         (tdesc_create_reg): Likewise.
7498
7499 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7500
7501         * Makefile.in: Add arch/tdesc.c
7502         * common/tdesc.c: New file.
7503         * common/tdesc.h (tdesc_element_visitor): Move to here.
7504         (tdesc_element): Likewise.
7505         (tdesc_reg): Likewise.
7506         (tdesc_reg_up): Likewise.
7507         * regformats/regdef.h (reg): Add offset to constructors.
7508         * target-descriptions.c (tdesc_element_visitor): Move from here.
7509         (tdesc_element): Likewise.
7510         (tdesc_reg): Likewise.
7511         (tdesc_reg_up): Likewise.
7512
7513 2018-04-17  Tom Tromey  <tom@tromey.com>
7514
7515         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
7516         discriminant field.
7517
7518 2018-04-17  Tom Tromey  <tom@tromey.com>
7519
7520         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
7521
7522 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7523
7524         * symtab.c (print_symbol_info): Skip printing filename and line
7525         number when `last' is NULL.
7526         (symtab_symbol_info): Use empty string instead of NULL for first
7527         invocation of print_symbol_info.
7528         (rbreak_command): Pass NULL to `last' parameter of
7529         print_symbol_info.
7530
7531 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
7532
7533         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
7534         instead of nullptr.
7535
7536 2018-04-16  Pedro Alves  <palves@redhat.com>
7537
7538         * MAINTAINERS (sh): Remove.
7539         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
7540         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
7541         (ALLDEPFILES): Remove sh64-tdep.c.
7542         * NEWS: Mentions that support for SH-5/SH64 is removed.
7543         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
7544         (sh*-*-openbsd*): Ditto.
7545         (sh64-*-elf*): Remove.
7546         (sh*): Remove.
7547         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
7548         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
7549         * sh-tdep.c: No longer include "sh64-tdep.h".
7550         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
7551         * sh64-tdep.c, sh64-tdep.h: Remove files.
7552
7553 2018-04-16  Pedro Alves  <palves@redhat.com>
7554
7555         * MAINTAINERS: Remove m88k.
7556         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
7557         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
7558         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
7559         * NEWS: Mention that support for m88k was removed.
7560         * configure.host (m88*-*-*): Remove support.
7561         * configure.nat (m88k-*-*): Remove support.
7562         * configure.tgt (m88*-*-openbsd*): Remove.
7563         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
7564
7565 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
7566
7567         * configure.tgt (x86_tobjs): New variable.
7568         (amd64_tobjs, i386_tobjs): Use it.
7569
7570 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7571
7572         * symtab.c (print_symbol_info): Precede the symbol definition by
7573         the line number when available.
7574         * NEWS: Advertise this enhancement.
7575
7576 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7577
7578         * NEWS (New options): announce set/show record btrace cpu.
7579         * btrace.c: Include record-btrace.h.
7580         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7581         the vendor is unknown.
7582         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7583         Maybe overwrite the btrace configuration's cpu.
7584         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7585         (btrace_fetch): Add cpu parameter.  Update callers.
7586         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7587         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7588         errata workarounds if the vendor is unknown.
7589         * python/py-record-btrace.c: Include record-btrace.h.
7590         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7591         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7592         * record-btrace.c (record_btrace_cpu_state_kind): New.
7593         (record_btrace_cpu): New.
7594         (set_record_btrace_cpu_cmdlist): New.
7595         (record_btrace_get_cpu): New.
7596         (require_btrace_thread, record_btrace_info)
7597         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7598         (cmd_set_record_btrace_cpu_none): New.
7599         (cmd_set_record_btrace_cpu_auto): New.
7600         (cmd_set_record_btrace_cpu): New.
7601         (cmd_show_record_btrace_cpu): New.
7602         (_initialize_record_btrace): Initialize set/show record btrace cpu
7603         commands.
7604         * record-btrace.h (record_btrace_get_cpu): New.
7605
7606 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7607
7608         * record.c (set_record_command): Fix typo in message.
7609
7610 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7611
7612         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7613
7614 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7615
7616         * infrun.c (process_event_stop_test): Call
7617         gdbarch_in_indirect_branch_thunk.
7618         * gdbarch.sh (in_indirect_branch_thunk): New.
7619         * gdbarch.c: Regenerated.
7620         * gdbarch.h: Regenerated.
7621         * x86-tdep.h: New.
7622         * x86-tdep.c: New.
7623         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7624         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7625         (ALLDEPFILES): Add x86-tdep.c.
7626         * arch-utils.h (default_in_indirect_branch_thunk): New.
7627         * arch-utils.c (default_in_indirect_branch_thunk): New.
7628         * i386-tdep: Include x86-tdep.h.
7629         (i386_in_indirect_branch_thunk): New.
7630         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7631         function.
7632         * amd64-tdep: Include x86-tdep.h.
7633         (amd64_in_indirect_branch_thunk): New.
7634         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7635
7636 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7637
7638         PR gdb/23053
7639         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7640         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7641         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7642         regression.
7643
7644 2018-04-12  Tom Tromey  <tom@tromey.com>
7645
7646         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7647         (rust_evaluate_subexp): Likewise.
7648
7649 2018-04-12  Pedro Alves  <palves@redhat.com>
7650
7651         * procfs.c (procfs_detach): Make forward declaration's prototype
7652         match definition's protototype.
7653         (proc_get_LDT_entry): Remove stale do_cleanups call.
7654
7655 2018-04-12  Pedro Alves  <palves@redhat.com>
7656
7657         * target.h (target_ops::to_has_exited): Delete.
7658         (target_has_exited): Delete.
7659         * target-delegates.c: Regenerate.
7660
7661 2018-04-11  Pedro Alves  <palves@redhat.com>
7662
7663         * target.c (fileio_fh_t::t): Add comment.
7664         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7665         (target_fileio_close): Handle a NULL target.
7666         (invalidate_fileio_fh): New.
7667         (target_close): Call it.
7668         * remote.c (remote_hostio_send_command): No longer check whether
7669         remote_desc is open.
7670
7671 2018-04-11  Pedro Alves  <palves@redhat.com>
7672
7673         * target.c (fileio_fh_t): Make it a named struct instead of a
7674         typedef.
7675         (fileio_fh_t::is_closed): New method.
7676         (DEF_VEC_O (fileio_fh_t)): Remove.
7677         (fileio_fhandles): Now a std::vector.
7678         (is_closed_fileio_fh): Delete.
7679         (acquire_fileio_fd): Adjust.  Rename parameters.
7680         (release_fileio_fd): Adjust.
7681         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7682         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7683         (target_fileio_close): Adjust.
7684
7685 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7686
7687         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7688         index.
7689
7690 2018-04-10  Pedro Alves  <palves@redhat.com>
7691
7692         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7693         (scoped_finish_thread_state): New class.
7694         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7695         cleanup.
7696         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7697         (fetch_inferior_event, normal_stop): Likewise.
7698         * thread.c (finish_thread_state_cleanup): Delete.
7699
7700 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7701             Pedro Alves  <palves@redhat.com>
7702
7703         * value.c: Include "selftest.h" and "common/array-view.h".
7704         (struct range) <operator ==>: New.
7705         (test_ranges_contain): New.
7706         (check_ranges_vector): New.
7707         (test_insert_into_bit_range_vector): New.
7708         (_initialize_values): Register selftests.
7709         * common/array-view.h (operator==, operator!=): New.
7710
7711 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7712
7713         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7714         an iterator.
7715         * inline-frame.c: Include <algorithm>.
7716         (struct inline_state): Add constructor.
7717         (inline_state_s): Remove.
7718         (DEF_VEC_O(inline_state_s)): Remove.
7719         (inline_states): Change type to std::vector.
7720         (find_inline_frame_state): Adjust to std::vector.
7721         (allocate_inline_frame_state): Remove.
7722         (clear_inline_frame_state): Adjust to std::vector.
7723         (skip_inline_frames): Adjust to std::vector.
7724
7725 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7726
7727         * tracepoint.h (struct trace_state_variable): Add constructor.
7728         <name>: Change type to std::string.
7729         * tracepoint.c (tsv_s): Remove.
7730         (DEF_VEC_O(tsv_s)): Remove.
7731         (tvariables): Change to std::vector.
7732         (create_trace_state_variable): Adjust to std::vector.
7733         (find_trace_state_variable): Likewise.
7734         (find_trace_state_variable_by_number): Likewise.
7735         (delete_trace_state_variable): Likewise.
7736         (trace_variable_command): Adjust to std::string.
7737         (delete_trace_variable_command): Likewise.
7738         (tvariables_info_1): Adjust to std::vector.
7739         (save_trace_state_variables): Likewise.
7740         (start_tracing): Likewise.
7741         (merge_uploaded_trace_state_variables): Adjust to std::vector
7742         and std::string.
7743         * target.h (struct target_ops)
7744         <to_download_trace_state_variable>: Pass reference to
7745         trace_state_variable.
7746         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7747         * target-delegates.c: Re-generate.
7748         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7749         (mi_tsv_deleted): Likewise.
7750         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7751         * remote.c (remote_download_trace_state_variable): Change
7752         pointer to reference and adjust.
7753         * make-target-delegates (parse_argtypes): Handle references.
7754         (write_function_header): Likewise.
7755         (munge_type): Likewise.
7756
7757 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7758
7759         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7760         string_view-selftests.c.
7761         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7762         testsuite.
7763         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7764         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7765         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7766         * unittests/basic_string_view/element_access/char/1.cc:
7767         Likewise.
7768         * unittests/basic_string_view/element_access/char/empty.cc:
7769         Likewise.
7770         * unittests/basic_string_view/element_access/char/front_back.cc:
7771         Likewise.
7772         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7773         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7774         Likewise.
7775         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7776         Likewise.
7777         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7778         Likewise.
7779         * unittests/basic_string_view/operations/compare/char/1.cc:
7780         Likewise.
7781         * unittests/basic_string_view/operations/compare/char/13650.cc:
7782         Likewise.
7783         * unittests/basic_string_view/operations/copy/char/1.cc:
7784         Likewise.
7785         * unittests/basic_string_view/operations/data/char/1.cc:
7786         Likewise.
7787         * unittests/basic_string_view/operations/find/char/1.cc:
7788         Likewise.
7789         * unittests/basic_string_view/operations/find/char/2.cc:
7790         Likewise.
7791         * unittests/basic_string_view/operations/find/char/3.cc:
7792         Likewise.
7793         * unittests/basic_string_view/operations/find/char/4.cc:
7794         Likewise.
7795         * unittests/basic_string_view/operations/rfind/char/1.cc:
7796         Likewise.
7797         * unittests/basic_string_view/operations/rfind/char/2.cc:
7798         Likewise.
7799         * unittests/basic_string_view/operations/rfind/char/3.cc:
7800         Likewise.
7801         * unittests/basic_string_view/operations/substr/char/1.cc:
7802         Likewise.
7803         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7804         * unittests/string_view-selftests.c: New file.
7805
7806 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7807
7808         * unittests/basic_string_view/capacity/1.cc: New file.
7809         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7810         * unittests/basic_string_view/cons/char/1.cc: New file.
7811         * unittests/basic_string_view/cons/char/2.cc: New file.
7812         * unittests/basic_string_view/cons/char/3.cc: New file.
7813         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7814         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7815         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7816         * unittests/basic_string_view/element_access/char/1.cc: New file.
7817         * unittests/basic_string_view/element_access/char/2.cc: New file.
7818         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7819         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7820         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7821         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7822         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7823         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7824         * unittests/basic_string_view/include.cc: New file.
7825         * unittests/basic_string_view/inserters/char/1.cc: New file.
7826         * unittests/basic_string_view/inserters/char/2.cc: New file.
7827         * unittests/basic_string_view/inserters/char/3.cc: New file.
7828         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7829         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7830         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7831         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7832         * unittests/basic_string_view/literals/types.cc: New file.
7833         * unittests/basic_string_view/literals/values.cc: New file.
7834         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7835         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7836         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7837         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7838         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7839         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7840         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7841         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7842         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7843         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7844         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7845         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7846         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7847         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7848         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7849         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7850         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7851         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7852         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7853         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7854         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7855         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7856         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7857         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7858         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7859         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7860         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7861         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7862         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7863         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7864         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7865         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7866         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7867         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7868         * unittests/basic_string_view/operators/char/2.cc: New file.
7869         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7870         * unittests/basic_string_view/range_access/char/1.cc: New file.
7871         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7872         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7873         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7874         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7875         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7876         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7877         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7878         * unittests/basic_string_view/typedefs.cc: New file.
7879         * unittests/basic_string_view/types/1.cc: New file.
7880
7881 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7882
7883         * common/gdb_string_view.h: Remove libstdc++ implementation
7884         details, adjust to gdb reality.
7885         * common/gdb_string_view.tcc: Likewise.
7886         * cli/cli-script.c (struct string_view): Remove.
7887         (user_args) <m_args>: Change element type to gdb::string_view.
7888         (user_args::insert_args): Adjust.
7889
7890 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7891
7892         * common/gdb_string_view.h: New file.
7893         * common/gdb_string_view.tcc: New file.
7894
7895 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7896
7897         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7898         * configure: Re-generate.
7899
7900 2018-04-09  Pedro Alves  <palves@redhat.com>
7901
7902         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7903         (set_target_gdbarch): Call
7904         gdb::observers::architecture_changed.notify instead of
7905         observer_notify_architecture_changed.
7906
7907 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7908
7909         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7910         (do_restore_current_traceframe_cleanup): Remove.
7911         (restore_current_traceframe_cleanup_dtor): Remove.
7912         (make_cleanup_restore_current_traceframe): Remove.
7913         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7914         New.
7915         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7916         * infrun.c (fetch_inferior_event): Use
7917         scoped_restore_current_traceframe.
7918
7919 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7920
7921         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7922         Remove.
7923         <n_allocated_type_units>: Remove.
7924         <all_type_units>: Change to std::vector.
7925         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7926         to std::vector change.
7927         (dwarf2_per_objfile::get_cutu): Likewise.
7928         (dwarf2_per_objfile::get_tu): Likewise.
7929         (create_signatured_type_table_from_index): Likewise.
7930         (create_signatured_type_table_from_debug_names): Likewise.
7931         (dw2_symtab_iter_next): Likewise.
7932         (dw2_print_stats): Likewise.
7933         (dw2_expand_all_symtabs): Likewise.
7934         (dw2_expand_marked_cus): Likewise.
7935         (dw2_debug_names_iterator::next): Likewise.
7936         (dwarf2_initialize_objfile): Likewise.
7937         (add_signatured_type_cu_to_table): Likewise.
7938         (create_all_type_units): Likewise.
7939         (add_type_unit): Likewise.
7940         (struct tu_abbrev_offset): Add constructor.
7941         (build_type_psymtabs_1): Adjust to std::vector change.
7942         (print_tu_stats): Likewise.
7943         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7944         (write_debug_names): Likewise.
7945
7946 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7947
7948         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7949         Make an std::vector.
7950         <n_comp_units>: Remove.
7951         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7952         to std::vector change.
7953         (dwarf2_per_objfile::get_cutu): Likewise.
7954         (dwarf2_per_objfile::get_cu): Likewise.
7955         (create_cus_from_index): Likewise.
7956         (create_addrmap_from_index): Likewise.
7957         (create_addrmap_from_aranges): Likewise.
7958         (dwarf2_read_index): Likewise.
7959         (dw2_find_last_source_symtab): Likewise.
7960         (dw2_map_symtabs_matching_filename): Likewise.
7961         (dw2_symtab_iter_next): Likewise.
7962         (dw2_print_stats): Likewise.
7963         (dw2_expand_all_symtabs): Likewise.
7964         (dw2_expand_symtabs_with_fullname): Likewise.
7965         (dw2_expand_marked_cus): Likewise.
7966         (dw2_map_symbol_filenames): Likewise.
7967         (create_cus_from_debug_names): Likewise.
7968         (dwarf2_read_debug_names): Likewise.
7969         (dw2_debug_names_iterator::next): Likewise.
7970         (dwarf2_initialize_objfile): Likewise.
7971         (set_partial_user): Likewise.
7972         (dwarf2_build_psymtabs_hard): Likewise.
7973         (read_comp_units_from_section): Remove arguments, adjust to
7974         std::vector change.
7975         (create_all_comp_units): Adjust to std::vector and
7976         read_comp_units_from_section changes.
7977         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7978         change.
7979         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7980         (psyms_seen_size): Likewise.
7981         (write_gdbindex): Likewise.
7982         (write_debug_names): Likewise.
7983
7984 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7985
7986         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7987         with dwarf2_per_objfile.
7988         (create_cus_from_index): Likewise.
7989         (create_signatured_type_table_from_index): Likewise.
7990         (dwarf2_read_index): Likewise.
7991         (dwarf2_initialize_objfile): Likewise.
7992         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7993         per_cu rather than get_dwarf2_per_objfile.
7994
7995 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7996
7997         * dwarf2read.h (struct signatured_type): Forward declare.
7998         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7999         New methods.
8000         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
8001         (dw2_get_cutu): ...this.
8002         (dwarf2_per_objfile::get_cu): Rename from...
8003         (dw2_get_cu): ...this.
8004         (dwarf2_per_objfile::get_tu): New.
8005         (create_addrmap_from_index): Adjust.
8006         (create_addrmap_from_aranges): Adjust.
8007         (dw2_find_last_source_symtab): Adjust.
8008         (dw2_map_symtabs_matching_filename): Adjust.
8009         (dw2_symtab_iter_next): Adjust.
8010         (dw2_print_stats): Adjust.
8011         (dw2_expand_all_symtabs): Adjust.
8012         (dw2_expand_symtabs_with_fullname): Adjust.
8013         (dw2_expand_marked_cus): Adjust.
8014         (dw_expand_symtabs_matching_file_matcher): Adjust.
8015         (dw2_map_symbol_filenames): Adjust.
8016         (dw2_debug_names_iterator::next): Adjust.
8017         (dwarf2_initialize_objfile): Adjust.
8018         (set_partial_user): Adjust.
8019         (dwarf2_build_psymtabs_hard): Adjust.
8020
8021 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8022
8023         * dwarf2read.c (create_signatured_type_table_from_debug_names):
8024         Remove unused variables.
8025         (dw2_map_symtabs_matching_filename): Likewise.
8026         (dwarf2_record_block_ranges): Likewise.
8027         (dwarf2_read_addr_index): Likewise.
8028         (follow_die_offset): Likewise.
8029
8030 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8031
8032         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8033         to symbol_file_add_main.
8034
8035 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8036
8037         PR mi/22299
8038         * mi/mi-console.c (do_fputc_async_safe): New.
8039         (mi_console_file::write_async_safe): New.
8040         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8041         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8042         New.
8043         * ui-file.c (ui_file::putstrn): Adjust call to
8044         fputstrn_unfiltered.
8045         * utils.c (printchar): Replace do_fputs and do_fprintf
8046         parameters by do_fputc.
8047         (fputstr_filtered): Adjust call to printchar.
8048         (fputstr_unfiltered): Likewise.
8049         (fputstrn_filtered): Likewise.
8050         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8051         printchar.
8052         * utils.h (do_fputc_ftype): New typedef.
8053         (fputstrn_unfiltered): Add do_fputc parameter.
8054
8055 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8056
8057         * regformats/i386/i386-avx.dat: Remove.
8058
8059 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8060
8061         PR gdb/22979
8062         * amd64-tdep.c (amd64_none_init_abi): New function.
8063         (amd64_x32_none_init_abi): New function.
8064         (_initialize_amd64_tdep): Register handlers for x86-64 and
8065         x64_32 with GDB_OSABI_NONE.
8066         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8067         GDB_OSABI_NONE osabi.
8068
8069 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8070
8071         PR gdb/22980
8072         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8073         GDB_OSABI_NONE.
8074         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8075         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8076
8077 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8078
8079         * common/byte-vector.h (char_vector): New type.
8080         * target.h (target_read_alloc): Return
8081         gdb::optional<byte_vector>.
8082         (target_read_stralloc): Return gdb::optional<char_vector>.
8083         (target_get_osdata): Return gdb::optional<char_vector>.
8084         * target.c (target_read_alloc_1): Templatize.  Replacement
8085         manual memory management with vector.
8086         (target_read_alloc): Change return type, adjust.
8087         (target_read_stralloc): Change return type, adjust.
8088         (target_get_osdata): Change return type, adjust.
8089         * auxv.c (struct auxv_info) <length>: Remove.
8090         <data>: Change type to gdb::optional<byte_vector>.
8091         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8092         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8093         (target_auxv_search): Adjust.
8094         (fprint_target_auxv): Adjust.
8095         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8096         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8097         (linux_make_corefile_notes): Adjust.
8098         * osdata.c (get_osdata): Adjust.
8099         * remote.c (remote_get_threads_with_qxfer): Adjust.
8100         (remote_memory_map): Adjust.
8101         (remote_traceframe_info): Adjust.
8102         (btrace_read_config): Adjust.
8103         (remote_read_btrace): Adjust.
8104         (remote_pid_to_exec_file): Adjust.
8105         * solib-aix.c (solib_aix_get_library_list): Adjust.
8106         * solib-dsbt.c (decode_loadmap): Don't free buf.
8107         (dsbt_get_initial_loadmaps): Adjust.
8108         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8109         * solib-target.c (solib_target_current_sos): Adjust.
8110         * tracepoint.c (sdata_make_value): Adjust.
8111         * xml-support.c (xinclude_start_include): Adjust.
8112         (xml_fetch_content_from_file): Adjust.
8113         * xml-support.h (xml_fetch_another): Change return type.
8114         (xml_fetch_content_from_file): Change return type.
8115         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8116         * xml-tdesc.c (file_read_description_xml): Adjust.
8117         (fetch_available_features_from_target): Change return type.
8118         (target_fetch_description_xml): Adjust.
8119         (target_read_description_xml): Adjust.
8120
8121 2018-04-06  Tom Tromey  <tom@tromey.com>
8122
8123         * value.c (~value): Update.
8124         (struct value) <contents>: Now unique_xmalloc_ptr.
8125         (value_contents_bits_eq, allocate_value_contents)
8126         (value_contents_raw, value_contents_all_raw)
8127         (value_contents_for_printing, value_contents_for_printing_const)
8128         (set_value_enclosing_type): Update.
8129
8130 2018-04-06  Tom Tromey  <tom@tromey.com>
8131
8132         * value.c (range_s): Remove typedef, VEC.
8133         (struct range): Add operator<.
8134         (range_lessthan): Remove.
8135         (ranges_contain): Change type.
8136         (~value): Update.
8137         (struct value) <unavailable, optimized_out>: Now std::vector.
8138         (value_entirely_available)
8139         (value_entirely_covered_by_range_vector)
8140         (value_entirely_unavailable, value_entirely_optimized_out):
8141         Update.
8142         (insert_into_bit_range_vector): Change argument type.
8143         (find_first_range_overlap): Likewise.
8144         (struct ranges_and_idx, value_contents_bits_eq)
8145         (require_not_optimized_out, require_available): Update.
8146         (ranges_copy_adjusted): Change argument types.
8147         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8148
8149 2018-04-06  Tom Tromey  <tom@tromey.com>
8150
8151         * value.c (~value): Update.
8152         (struct value) <parent>: Now a value_ref_ptr.
8153         (value_parent, set_value_parent, value_address, value_copy):
8154         Update.
8155
8156 2018-04-06  Tom Tromey  <tom@tromey.com>
8157
8158         * value.c (struct value): Add constructor, destructor, and member
8159         initializers.
8160         (allocate_value_lazy, value_decref): Update.
8161
8162 2018-04-06  Tom Tromey  <tom@tromey.com>
8163
8164         * value.c (struct value) <released, next>: Remove.
8165         (all_values): Now a std::vector.
8166         (allocate_value_lazy): Update.
8167         (value_next): Remove.
8168         (value_mark, value_free_to_mark, release_value)
8169         (value_release_to_mark): Update.
8170
8171 2018-04-06  Tom Tromey  <tom@tromey.com>
8172
8173         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8174         (free_value_chain): Remove.
8175         * value.c (free_value_chain): Remove.
8176         (value_release_to_mark): Return a std::vector.
8177         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
8178         std::vector.
8179         (check_condition): Update.
8180         * eval.c (fetch_subexp_value): Change "val_chain" to a
8181         std::vector.
8182         * breakpoint.c (update_watchpoint): Update.
8183         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
8184
8185 2018-04-06  Tom Tromey  <tom@tromey.com>
8186
8187         * value.h (free_all_values): Remove.
8188         * value.c (free_all_values): Remove.
8189
8190 2018-04-06  Tom Tromey  <tom@tromey.com>
8191
8192         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
8193         (value_history_chain, value_history_count): Remove.
8194         (value_history): New global.
8195         (record_latest_value, access_value_history, show_values)
8196         (preserve_values): Update.
8197
8198 2018-04-06  Tom Tromey  <tom@tromey.com>
8199
8200         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
8201         * varobj.c (varobj_set_display_format, varobj_set_value)
8202         (install_default_visualizer, construct_visualizer)
8203         (install_new_value, ~varobj, varobj_get_value_type)
8204         (my_value_of_variable, varobj_editable_p): Update.
8205         * c-varobj.c (c_describe_child, c_value_of_variable)
8206         (cplus_number_of_children, cplus_describe_child): Update.
8207         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
8208         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
8209         (ada_value_of_variable, ada_value_is_changeable_p): Update.
8210
8211 2018-04-06  Tom Tromey  <tom@tromey.com>
8212
8213         * printcmd.c (last_examine_address): Change type to
8214         value_ref_ptr.
8215         (do_examine, x_command): Update.
8216
8217 2018-04-06  Tom Tromey  <tom@tromey.com>
8218
8219         * value.c (release_value): Update.
8220         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
8221         (struct bpstats) <val>: Now a value_ref_ptr.
8222         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8223         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8224         (~watchpoint, print_it_watchpoint, watch_command_1)
8225         (invalidate_bp_value_on_memory_change): Update.
8226
8227 2018-04-06  Tom Tromey  <tom@tromey.com>
8228
8229         * varobj.c (varobj_clear_saved_item)
8230         (update_dynamic_varobj_children, install_new_value, ~varobj):
8231         Update.
8232         * value.h (value_incref): Move declaration earlier.
8233         (value_decref): Rename from value_free.
8234         (struct value_ref_policy): New.
8235         (value_ref_ptr): New typedef.
8236         (struct value_deleter): Remove.
8237         (gdb_value_up): Remove typedef.
8238         (release_value): Change return type.
8239         (release_value_or_incref): Remove.
8240         * value.c (set_value_parent): Update.
8241         (value_incref): Change return type.
8242         (value_decref): Rename from value_free.
8243         (value_free_to_mark, free_all_values, free_value_chain): Update.
8244         (release_value): Return value_ref_ptr.
8245         (release_value_or_incref): Remove.
8246         (record_latest_value, set_internalvar, clear_internalvar):
8247         Update.
8248         * stack.c (info_frame_command): Don't call value_free.
8249         * python/py-value.c (valpy_dealloc, valpy_new)
8250         (value_to_value_object): Update.
8251         * printcmd.c (do_examine): Update.
8252         * opencl-lang.c (lval_func_free_closure): Update.
8253         * mi/mi-main.c (register_changed_p): Don't call value_free.
8254         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
8255         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
8256         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
8257         value_free.
8258         * guile/scm-value.c (vlscm_free_value_smob)
8259         (vlscm_scm_from_value): Update.
8260         * frame.c (frame_register_unwind, frame_unwind_register_signed)
8261         (frame_unwind_register_unsigned, get_frame_register_bytes)
8262         (put_frame_register_bytes): Don't call value_free.
8263         * findvar.c (address_from_register): Don't call value_free.
8264         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
8265         * dwarf2loc.c (entry_data_value_free_closure)
8266         (value_of_dwarf_reg_entry, free_pieced_value_closure)
8267         (dwarf2_evaluate_loc_desc_full): Update.
8268         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8269         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8270         (~watchpoint, watch_command_1)
8271         (invalidate_bp_value_on_memory_change): Update.
8272         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
8273
8274 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
8275
8276         PR gdb/23022
8277         * warning.m4: Add -Wno-error=deprecated-register.
8278         * configure: Re-generate.
8279
8280 2018-04-05  Tom Tromey  <tom@tromey.com>
8281
8282         * linespec.h: Remove include of "vec.h".
8283
8284 2018-04-05  Tom Tromey  <tom@tromey.com>
8285
8286         * linespec.c (typep): Remove typedef.
8287         (find_methods, find_superclass_methods): Take a std::vector.
8288         (find_method): Use std::vector.
8289
8290 2018-04-05  Tom Tromey  <tom@tromey.com>
8291
8292         * utils.c (compare_strings): Remove.
8293         * utils.h (compare_strings): Remove.
8294         * objc-lang.h (find_imps): Update.
8295         * objc-lang.c (find_methods): Take a std::vector.
8296         (uniquify_strings, find_imps): Likewise.
8297         * linespec.c (find_methods): Take a std::vector.
8298         (decode_objc): Use std::vector.
8299         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
8300         a std::vector.
8301         (find_method, find_function_symbols): Use std::vector.
8302
8303 2018-04-05  Tom Tromey  <tom@tromey.com>
8304
8305         * completer.c (completion_tracker::completion_tracker): Remove
8306         cast.
8307         (completion_tracker::discard_completions): Likewise.
8308         * breakpoint.c (ambiguous_names_p): Remove cast.
8309         * ada-lang.c (_initialize_ada_language): Remove cast.
8310         * utils.h (streq): Update.
8311         (streq_hash): Add new declaration.
8312         * utils.c (streq): Return bool.
8313         (streq_hash): New function.
8314
8315 2018-04-05  Tom Tromey  <tom@tromey.com>
8316
8317         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
8318         Remove a string copy.
8319
8320 2018-04-05  Tom Tromey  <tom@tromey.com>
8321
8322         * linespec.c (filter_results): Use std::vector.
8323         (decode_line_2, decode_line_full): Update.
8324
8325 2018-04-05  Tom Tromey  <tom@tromey.com>
8326
8327         * linespec.c (canonical_to_fullform): Return std::string.
8328         (filter_results): Update.
8329         (struct decode_line_2_item): Add constructor.
8330         <fullform, displayform>: Now std::string.
8331         (decode_line_2_compare_items): Now a std::sort comparator.
8332         (decode_line_2): Update.
8333
8334 2018-04-05  Tom Tromey  <tom@tromey.com>
8335
8336         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
8337         (unexpected_linespec_error): Update.
8338         (linespec_parse_basic, parse_linespec): Update.
8339
8340 2018-04-05  Tom Tromey  <tom@tromey.com>
8341
8342         * linespec.c (linespec_parse_basic): Reindent.
8343
8344 2018-04-05  Tom Tromey  <tom@tromey.com>
8345
8346         * minsyms.h (iterate_over_minimal_symbols): Update.
8347         * minsyms.c (iterate_over_minimal_symbols): Take a
8348         gdb::function_view.
8349         * linespec.c (struct collect_minsyms): Remove.
8350         (compare_msyms): Now a std::sort comparator.
8351         (add_minsym): Add parameters.
8352         (search_minsyms_for_name): Update.  Use std::vector.
8353
8354 2018-04-03  Tom Tromey  <tom@tromey.com>
8355
8356         * mipsread.c (read_alphacoff_dynamic_symtab): Use
8357         gdb::byte_vector.
8358
8359 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8360
8361         * MAINTAINERS (Write After Approval): Add Weimin Pan.
8362
8363 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8364
8365         PR gdb/16959
8366         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
8367         printing static type.
8368
8369 2018-04-01  Tom Tromey  <tom@tromey.com>
8370
8371         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
8372         (rs6000_xfer_shared_libraries): Update.
8373
8374 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
8375
8376         * common/gdb_vecs.h (char_ptr): Remove.
8377         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
8378
8379 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8380
8381         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
8382         with std::vector.
8383         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
8384
8385 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8386
8387         * tracepoint.h (struct uploaded_tp): Initialize fields.
8388         <actions, step_actions, cmd_strings>: Change type to
8389         std::vector<char *>.
8390         * tracepoint.c (get_uploaded_tp): Allocate with new.
8391         (free_uploaded_tps): Free with delete.
8392         (parse_tracepoint_definition): Adjust to std::vector change.
8393         * breakpoint.c (read_uploaded_action): Likewise.
8394         (create_tracepoint_from_upload): Likewise.
8395         * ctf.c (ctf_write_uploaded_tp): Likewise.
8396         (SET_ARRAY_FIELD): Likewise.
8397         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
8398
8399 2018-03-30  Tom Tromey  <tom@tromey.com>
8400
8401         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
8402         std::unique_ptr.
8403         (svr4_keep_data_in_core): Update.
8404         (svr4_read_so_list): Update.
8405
8406 2018-03-30  Tom Tromey  <tom@tromey.com>
8407
8408         * windows-nat.c (handle_output_debug_string, handle_exception):
8409         Update.
8410         * target.h (target_read_string): Update.
8411         * target.c (target_read_string): Change "string" to
8412         unique_xmalloc_ptr.
8413         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
8414         Update.
8415         * solib-frv.c (frv_current_sos): Update.
8416         * solib-dsbt.c (dsbt_current_sos): Update.
8417         * solib-darwin.c (darwin_current_sos): Update.
8418         * linux-thread-db.c (inferior_has_bug): Update.
8419         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
8420         Update.  Remove alloca.
8421         * ada-lang.c (ada_main_name): Update.
8422
8423 2018-03-30  Tom Tromey  <tom@tromey.com>
8424
8425         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
8426         (struct dwo_file_deleter): New.
8427         (dwo_file_up): New typedef.
8428         (open_and_init_dwo_file): Use dwo_file_up.
8429         (free_dwo_file_cleanup): Remove.
8430
8431 2018-03-30  Tom Tromey  <tom@tromey.com>
8432
8433         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
8434         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
8435
8436 2018-03-30  Tom Tromey  <tom@tromey.com>
8437
8438         * dwarf2read.c (class free_cached_comp_units): New class.
8439         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
8440         (free_cached_comp_units): Remove function.
8441
8442 2018-03-30  Tom Tromey  <tom@tromey.com>
8443
8444         * utils.h (make_cleanup_unpush_target): Remove.
8445         * inf-ptrace.c (struct target_unpusher): New.
8446         (target_unpush_up) New typedef.
8447         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
8448         target_unpush_up.
8449         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
8450
8451 2018-03-27  Tom Tromey  <tom@tromey.com>
8452
8453         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
8454
8455 2018-03-27  Pedro Alves  <palves@redhat.com>
8456             Tom Tromey  <tom@tromey.com>
8457
8458         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
8459         destructor.  Now a class.
8460         (gdb_readline_wrapper_cleanup): Remove function.
8461         (gdb_readline_wrapper): Remove cleanups.
8462
8463 2018-03-27  Tom Tromey  <tom@tromey.com>
8464
8465         * typeprint.h (struct type_print_options) <local_typedefs,
8466         global_typedefs>: Remove "struct" keyword.
8467         (class typedef_hash_table): New class.
8468         (recursively_update_typedef_hash, add_template_parameters)
8469         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
8470         (find_typedef_in_hash): Don't declare.
8471         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
8472         (typedef_hash_table::recursively_update): Rename from
8473         recursively_update_typedef_hash.  Now a member.
8474         (typedef_hash_table::add_template_parameters): Rename from
8475         add_template_parameters.  Now a member.
8476         (typedef_hash_table::typedef_hash_table): Now a constructor;
8477         rename from create_typedef_hash.
8478         (typedef_hash_table::~typedef_hash_table): Now a destructor;
8479         rename from free_typedef_hash.
8480         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
8481         (do_free_global_table): Remove.
8482         (typedef_hash_table::typedef_hash_table): New constructor; renamed
8483         from copy_type_recursive.
8484         (create_global_typedef_table): Remove.
8485         (typedef_hash_table::find_global_typedef): Now a member of
8486         typedef_hash_table.
8487         (typedef_hash_table::find_typedef): Rename from
8488         find_typedef_in_hash; now a member.
8489         (whatis_exp): Update.
8490         * extension.h (struct ext_lang_type_printers): Add constructor and
8491         destructor.
8492         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
8493         declare.
8494         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
8495         Now a constructor; rename from start_ext_lang_type_printers.
8496         (ext_lang_type_printers): Now a destructor; rename from
8497         free_ext_lang_type_printers.
8498         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
8499         Update.
8500         (c_type_print_base_struct_union): Update.  Remove cleanups.
8501
8502 2018-03-27  Tom Tromey  <tom@tromey.com>
8503
8504         * dwarf-index-write.c: Include <cmath>.
8505
8506 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8507
8508         * NEWS: Add entry describing new "set|show varsize-limit" command.
8509         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
8510         command.
8511         * printcmd.c (_initialize_printcmd): Add "set var" alias of
8512         "set variable".
8513
8514 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
8515
8516         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
8517         dwarf-index-write.c
8518         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
8519         * dwarf-index-common.c: New file.
8520         * dwarf-index-common.h: New file.
8521         * dwarf-index-write.c: New file.
8522         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
8523         (struct dwarf2_section_info): Move from here.
8524         (dwarf2_section_info_def): Likewise.
8525         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
8526         (offset_type): Likewise.
8527         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
8528         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
8529         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
8530         (byte_swap): Likewise.
8531         (MAYBE_SWAP): Likewise.
8532         (dwarf2_per_cu_ptr): Likewise.
8533         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
8534         (struct tu_stats): Likewise.
8535         (struct dwarf2_per_objfile): Likewise.
8536         (struct dwarf2_per_cu_data): Likewise.
8537         (struct signatured_type): Likewise.
8538         (sig_type_ptr): Likewise.
8539         (DEF_VEC_P (sig_type_ptr)): Likewise.
8540         (INDEX4_SUFFIX): Likewise.
8541         (INDEX5_SUFFIX): Likewise.
8542         (DEBUG_STR_SUFFIX): Likewise.
8543         (dwarf2_read_section): Make non-static.
8544         (mapped_index_string_hash): Move from here.
8545         (dwarf5_djb_hash): Likewise.
8546         (file_write): Likewise.
8547         (class data_buf): Likewise.
8548         (struct symtab_index_entry): Likewise.
8549         (struct mapped_symtab): Likewise.
8550         (find_slot): Likewise.
8551         (hash_expand): Likewise.
8552         (add_index_entry): Likewise.
8553         (uniquify_cu_indices): Likewise.
8554         (class c_str_view): Likewise.
8555         (class c_str_view_hasher): Likewise.
8556         (class vector_hasher): Likewise.
8557         (write_hash_table): Likewise.
8558         (psym_index_map): Likewise.
8559         (struct addrmap_index_data): Likewise.
8560         (add_address_entry): Likewise.
8561         (add_address_entry_worker): Likewise.
8562         (write_address_map): Likewise.
8563         (symbol_kind): Likewise.
8564         (write_psymbols): Likewise.
8565         (struct signatured_type_index_data): Likewise.
8566         (write_one_signatured_type): Likewise.
8567         (recursively_count_psymbols): Likewise.
8568         (recursively_write_psymbols): Likewise.
8569         (class debug_names): Likewise.
8570         (check_dwarf64_offsets): Likewise.
8571         (psyms_seen_size): Likewise.
8572         (write_gdbindex): Likewise.
8573         (write_debug_names): Likewise.
8574         (assert_file_size): Likewise.
8575         (write_psymtabs_to_index): Likewise.
8576         (save_gdb_index_command): Likewise.
8577         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8578         command.
8579         * dwarf2read.h: New file.
8580
8581 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8582
8583         PR gdb/22670
8584         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8585         symbol name if the CU's language stores symbol names in linkage
8586         format.
8587         * language.h (struct language_defn)
8588         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8589         all instances of this struct.
8590
8591 2018-03-26  Tom Tromey  <tom@tromey.com>
8592
8593         * stack.c (backtrace_command_1): Remove verbose code.
8594
8595 2018-03-26  Tom Tromey  <tom@tromey.com>
8596
8597         * python/py-framefilter.c (py_print_type): Don't catch
8598         exceptions.  Return void.
8599         (py_print_value): Likewise.
8600         (py_print_single_arg): Likewise.
8601         (enumerate_args): Don't catch exceptions.
8602         (py_print_args): Likewise.
8603         (py_print_frame): Likewise.
8604         (gdbpy_apply_frame_filter): Catch exceptions here.
8605
8606 2018-03-26  Tom Tromey  <tom@tromey.com>
8607
8608         * stack.c (_initialize_stack): Remove trailing newlines from help
8609         text.  Add "Usage" line to "backtrace" help.
8610
8611 2018-03-26  Tom Tromey  <tom@tromey.com>
8612
8613         PR python/16486:
8614         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8615
8616 2018-03-26  Tom Tromey  <tom@tromey.com>
8617
8618         * python/py-framefilter.c (py_print_single_arg): Return
8619         EXT_LANG_BT_ERROR from catch.
8620
8621 2018-03-26  Tom Tromey  <tom@tromey.com>
8622
8623         PR backtrace/15584:
8624         * stack.c (backtrace_command_1): Move some code into no-filters
8625         "if".
8626
8627 2018-03-26  Tom Tromey  <tom@tromey.com>
8628
8629         * python/py-framefilter.c (throw_quit_or_print_exception): New
8630         function.
8631         (gdbpy_apply_frame_filter): Use it.
8632
8633 2018-03-26  Tom Tromey  <tom@tromey.com>
8634
8635         PR cli/17716:
8636         * python/py-framefilter.c (py_print_type, py_print_value)
8637         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8638         RETURN_MASK_ERROR.
8639
8640 2018-03-26  Tom Tromey  <tom@tromey.com>
8641
8642         * python/py-framefilter.c (enumerate_args): Use
8643         gdb::unique_xmalloc_ptr.
8644
8645 2018-03-26  Tom Tromey  <tom@tromey.com>
8646
8647         * python/py-framefilter.c (py_print_frame): Return
8648         EXT_LANG_BT_OK.
8649         (gdbpy_apply_frame_filter): Update comment.
8650         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8651         Remove.
8652         <EXT_LANG_BT_NO_FILTERS>: Change value.
8653
8654 2018-03-26  Tom Tromey  <tom@tromey.com>
8655
8656         PR backtrace/15582:
8657         * stack.c (backtrace_command): Parse "hide" argument.
8658         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8659         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8660         constant.
8661
8662 2018-03-26  Tom Tromey  <tom@tromey.com>
8663
8664         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8665         add "flags".
8666         (backtrace_command): Remove "fulltrace", add "flags".
8667
8668 2018-03-26  Tom Tromey  <tom@tromey.com>
8669
8670         * stack.c (backtrace_command): Rewrite command line parsing.
8671
8672 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8673
8674         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8675
8676 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8677
8678         * filename-seen-cache.h: Add include guard.
8679
8680 2018-03-26  Keith Seitz  <keiths@redhat.com>
8681
8682         * symfile.c (place_section): Remove "struct" from section_addr_info
8683         in comment.
8684         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8685         "struct" keyword from section_addr_info.
8686
8687 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8688
8689         * regformats/regdef.h (reg): Add constructors.
8690
8691 2018-03-25  Pedro Alves  <palves@redhat.com>
8692
8693         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8694         if then/else bodies in var_func_name extraction.
8695
8696 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8697
8698         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8699         lookup_minimal_symbol() to find symbol entry.
8700         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8701
8702 2018-03-23  Keith Seitz  <keiths@redhat.com>
8703
8704         PR c++/22968
8705         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8706         nested type definitions for C++, too.
8707
8708 2018-03-23  Tom Tromey  <tom@tromey.com>
8709
8710         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8711         a typedef.
8712         (macho_register_oso): Remove.
8713         (macho_symtab_read): Take a std::vector.
8714         (oso_el_compare_name): Now a std::sort comparator.
8715         (macho_symfile_read_all_oso): Take a std::vector.
8716         (macho_symfile_read): Use std::vector.  Remove cleanups.
8717
8718 2018-03-22  Tom Tromey  <tom@tromey.com>
8719
8720         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8721         (record_full_goto_bookmark): Use std::string.
8722
8723 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8724
8725         PR tdep/18295
8726         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8727         a single mask.
8728
8729 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8730
8731         * rs6000-tdep.c (store_insn_p): New function.
8732         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8733         and cr_reg to their unshifted values. Use store_insn_p to
8734         match LR saves using either R1 or fdata->alloca_reg. Use
8735         store_insn_p to match CR saves. Set alloca_reg_offset
8736         when alloca_reg and framep are set. Remove lr_reg shift
8737         when assigning to fdata->lr_register.
8738
8739 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8740
8741         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8742         command line args instead of emitting a warning.
8743
8744 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8745
8746         * tracepoint.h (struct static_tracepoint_marker): Initialize
8747         fields, define default constructor, move constructor and move
8748         assignment, disable the rest.
8749         <str_id, extra>: Make std::string.
8750         (release_static_tracepoint_marker): Remove.
8751         (free_current_marker): Remove.
8752         * tracepoint.c (free_current_marker): Remove.
8753         (parse_static_tracepoint_marker_definition): Adjust to
8754         std::string, use new hex2str overload.
8755         (release_static_tracepoint_marker): Remove.
8756         (print_one_static_tracepoint_marker): Get marker by reference
8757         and adjust to std::string.
8758         (info_static_tracepoint_markers_command): Adjust to std::vector
8759         changes
8760         * target.h (static_tracepoint_marker_p): Remove typedef.
8761         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8762         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8763         bool.
8764         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8765         * target-debug.h
8766         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8767         (target_debug_print_std_vector_static_tracepoint_marker): New.
8768         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8769         to...
8770         (target_debug_print_static_tracepoint_marker_p): ... this.
8771         * target-delegates.c: Re-generate.
8772         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8773         Make std::string.
8774         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8775         (decode_static_tracepoint_spec): Adjust to std::vector.
8776         (tracepoint_print_one_detail): Adjust to std::string.
8777         (strace_marker_decode_location): Adjust to std::string.
8778         (update_static_tracepoint): Adjust to std::string, remove call
8779         to release_static_tracepoint_marker.
8780         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8781         Adjust to std::vector.
8782         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8783         (remote_static_tracepoint_markers_by_strid): Adjust to
8784         std::vector.
8785         * common/rsp-low.h (hex2str): New overload with explicit count
8786         of bytes.
8787         * common/rsp-low.c (hex2str): New overload with explicit count
8788         of bytes.
8789         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8790         (_initialize_rsp_low_selftests): Add test_hex2str test.
8791         * unittests/tracepoint-selftests.c
8792         (test_parse_static_tracepoint_marker_definition): Adjust to
8793         std::string.
8794
8795 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8796
8797         * tracepoint.c (parse_static_tracepoint_marker_definition):
8798         Consider case where the definition is followed by more
8799         definitions.
8800         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8801         tracepoint-selftests.c.
8802         * unittests/tracepoint-selftests.c: New.
8803
8804 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8805
8806         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8807         Carvalho.
8808
8809 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8810
8811         * symtab.c (find_pc_sect_line): fixed indentation.
8812
8813 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8814
8815         * symtab.c (find_pc_sect_line): now uses binary search.
8816
8817 2018-03-19  Tom Tromey  <tom@tromey.com>
8818
8819         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8820         "IDENT" production.
8821
8822 2018-03-19  Pedro Alves  <palves@redhat.com>
8823             Tom Tromey  <tom@tromey.com>
8824
8825         * unittests/observable-selftests.c: New file.
8826         * common/observable.h: New file.
8827         * observable.h: New file.
8828         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8829         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8830         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8831         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8832         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8833         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8834         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8835         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8836         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8837         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8838         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8839         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8840         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8841         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8842         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8843         tui/tui-interp.c, valops.c: Update all users.
8844         * tui/tui-hooks.c (tui_bp_created_observer)
8845         (tui_bp_deleted_observer, tui_bp_modified_observer)
8846         (tui_inferior_exit_observer, tui_before_prompt_observer)
8847         (tui_normal_stop_observer, tui_register_changed_observer):
8848         Remove.
8849         (tui_observers_token): New global.
8850         (attach_or_detach, tui_attach_detach_observers): New functions.
8851         (tui_install_hooks, tui_remove_hooks): Use
8852         tui_attach_detach_observers.
8853         * record-btrace.c (record_btrace_thread_observer): Remove.
8854         (record_btrace_thread_observer_token): New global.
8855         * observer.sh: Remove.
8856         * observer.c: Rename to observable.c.
8857         * observable.c (namespace gdb_observers): Define new objects.
8858         (observer_debug): Move into gdb_observers namespace.
8859         (struct observer, struct observer_list, xalloc_observer_list_node)
8860         (xfree_observer_list_node, generic_observer_attach)
8861         (generic_observer_detach, generic_observer_notify): Remove.
8862         (_initialize_observer): Update.
8863         Don't include observer.inc.
8864         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8865         (clean mostlyclean): Likewise.
8866         (observer.h, observer.inc): Remove targets.
8867         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8868         (COMMON_SFILES): Use observable.c, not observer.c.
8869         * .gitignore: Remove observer.h.
8870
8871 2018-03-18  Tom Tromey  <tom@tromey.com>
8872
8873         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8874         gdb::def_vector.
8875         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8876
8877 2018-03-17  Tom Tromey  <tom@tromey.com>
8878
8879         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8880
8881 2018-03-17  Tom Tromey  <tom@tromey.com>
8882
8883         * target.c (class scoped_target_fd): New.
8884         (target_fileio_close_cleanup): Remove.
8885         (target_fileio_read_alloc_1): Use scoped_target_fd.
8886
8887 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8888
8889         * silent-rules.mk: New.
8890         * Makefile.in: Include silent-rules.mk
8891         (srcdir, VPATH, top_srcdir): Move up.
8892         (COMPILE): Add ECHO_CXX.
8893         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8894         (init.c): Add ECHO_INIT_C.
8895         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8896         (version.c): Add ECHO_GEN.
8897         (printcmd.o): Add ECHO_CXX.
8898         (target-float.o): Add ECHO_CXX.
8899         (ada-exp.o): Add ECHO_CXX.
8900         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8901         (insight$(EXEEXT)): Add ECHO_CXXLD.
8902         * gnulib/configure.ac: Add AM_SILENT_RULES.
8903         * gnulib/aclocal.m4: Re-generate.
8904         * gnulib/configure: Re-generate.
8905         * gnulib/import/Makefile.in: Re-generate.
8906
8907 2018-03-16  Tom Tromey  <tom@tromey.com>
8908
8909         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8910         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8911         * utils.c (do_free_section_addr_info)
8912         (make_cleanup_free_section_addr_info): Remove.
8913         * symfile.h (struct other_sections): Add constructor.
8914         (struct section_addr_info): Remove.
8915         (section_addr_info): New typedef.
8916         (struct sym_fns) <sym_offsets>: Change type of parameter.
8917         (build_section_addr_info_from_objfile)
8918         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8919         (default_symfile_offsets, symbol_file_add)
8920         (symbol_file_add_from_bfd)
8921         (build_section_addr_info_from_section_table): Update.
8922         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8923         * symfile.c (alloc_section_addr_info): Remove.
8924         (build_section_addr_info_from_section_table): Change return type.
8925         Update.
8926         (build_section_addr_info_from_bfd)
8927         (build_section_addr_info_from_objfile): Likewise.
8928         (free_section_addr_info): Remove.
8929         (relative_addr_info_to_section_offsets): Change type of "addrs".
8930         (addrs_section_compar): Now a std::sort comparator.
8931         (addrs_section_sort): Change return type.
8932         (addr_info_make_relative): Change type of "addrs".  Update.
8933         (default_symfile_offsets, syms_from_objfile_1)
8934         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8935         (symbol_file_add_separate): Update.
8936         (symbol_file_add): Change type of "addrs".  Update.
8937         (add_symbol_file_command): Update.  Remove cleanups.
8938         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8939         cleanups.
8940         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8941         * solib.c (solib_read_symbols): Update.
8942         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8943         * machoread.c (macho_symfile_offsets): Update.
8944         * jit.c (jit_bfd_try_read_symtab): Update.
8945
8946 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8947
8948         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8949         unittests/utils-selftests.c.
8950         * unittests/utils-selftests.c: New file.
8951
8952 2018-03-14  Tom Tromey  <tom@tromey.com>
8953
8954         PR cli/14977:
8955         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8956         for NULL.
8957
8958 2018-03-14  Tom Tromey  <tom@tromey.com>
8959
8960         PR cli/19918:
8961         * printcmd.c (printf_pointer): Allow "-" in format.
8962
8963 2018-03-14  Tom Tromey  <tom@tromey.com>
8964
8965         * printcmd.c (_initialize_printcmd): Add usage to printf.
8966
8967 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8968
8969         * MAINTAINERS: Update my email address.
8970
8971 2018-03-13  Tom Tromey  <tom@tromey.com>
8972
8973         * machoread.c (macho_check_dsym): Change filenamep to a
8974         std::string*.
8975         (macho_symfile_read): Update.
8976         * symfile.c (load_command): Use std::string.
8977
8978 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8979
8980         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8981         to error message string.
8982         (riscv_register_name): Use xsnprintf instead of sprintf.
8983         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8984         internal_error.
8985         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8986         error.
8987         (riscv_push_dummy_call): Likewise.
8988
8989 2018-03-12  Tom Tromey  <tom@tromey.com>
8990
8991         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8992         Use gdb::byte_vector.
8993         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8994
8995 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8996
8997         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8998         parameter type to readable_regcache.
8999         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
9000         the declaration.
9001
9002 2018-03-11  Tom Tromey  <tom@tromey.com>
9003
9004         * dwarf2read.c (struct nextfield): Add initializers.
9005         (struct nextfnfield): Remove.
9006         (struct fnfieldlist): Add initializers.  Remove "length" and
9007         "head", use std::vector.
9008         (struct decl_field_list): Remove.
9009         (struct field_info): Add initializers.
9010         <fields, baseclasses>: Now std::vector.
9011         <nbaseclasses, nfnfields, typedef_field_list_count,
9012         nested_types_list_count>: Remove.
9013         (dwarf2_add_field, dwarf2_add_type_defn)
9014         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
9015         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
9016         (process_structure_scope): Update.
9017
9018 2018-03-11  Tom Tromey  <tom@tromey.com>
9019
9020         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
9021         for use by std::sort.
9022         (build_type_psymtabs_1): Use std::vector.
9023
9024 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
9025
9026         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
9027         and LIBMPFR in the printed configuration.
9028
9029 2018-03-08  Tom Tromey  <tom@tromey.com>
9030
9031         * source.c (get_filename_and_charpos): Use scoped_fd.
9032         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9033         (procfs_pidlist): Likewise.
9034         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9035         (iterate_over_mappings): Likewise.
9036
9037 2018-03-08  Tom Tromey  <tom@tromey.com>
9038
9039         * infcall.c (struct call_return_meta_info)
9040         <stack_temporaries_enabled>: Remove.
9041         (get_call_return_value, call_function_by_hand_dummy): Update.
9042         * thread.c (disable_thread_stack_temporaries): Remove.
9043         (enable_thread_stack_temporaries): Remove.
9044         (thread_stack_temporaries_enabled_p): Return bool.
9045         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9046         (get_last_thread_stack_temporary): Update.
9047         * eval.c (evaluate_subexp): Update.
9048         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9049         class, not a function.
9050         (value_ptr, value_vec): Remove typedefs.
9051         (class thread_info) <stack_temporaries_enabled>: Now bool.
9052         <stack_temporaries>: Now a std::vector.
9053         (thread_stack_temporaries_enabled_p)
9054         (value_in_thread_stack_temporaries): Return bool.
9055
9056 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9057
9058         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9059         (getpkt_or_notif_sane_1): Likewise.
9060
9061 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9062
9063         * build-id.c (build_id_to_debug_bfd): Use std::string.
9064
9065 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9066
9067         * build-id.c (find_separate_debug_file_by_buildid): Return
9068         std::string.
9069         * build-id.h (find_separate_debug_file_by_buildid): Return
9070         std::string.
9071         * coffread.c (coff_symfile_read): Adjust to std::string.
9072         * elfread.c (elf_symfile_read): Adjust to std::string.
9073         * symfile.c (separate_debug_file_exists): Change parameter to
9074         std::string.
9075         (find_separate_debug_file): Return std::string.
9076         (find_separate_debug_file_by_debuglink): Return std::string.
9077         * symfile.h (find_separate_debug_file_by_debuglink): Return
9078         std::string.
9079
9080 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9081
9082         * common/xml-utils.c (xml_escape_text): Move code to...
9083         (xml_escape_text_append): ... this new function.
9084         * common/xml-utils.h (xml_escape_text_append): New declaration.
9085         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9086         New function.
9087         (_initialize_xml_utils): register test_xml_escape_text_append as
9088         a selftest.
9089
9090 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9091
9092         * defs.h: Remove MAX_REGISTER_SIZE.
9093         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9094         asserts.
9095         * python/py-unwind.c (pyuw_sniffer): Likewise.
9096
9097 2018-03-07  Tom Tromey  <tom@tromey.com>
9098
9099         * linux-tdep.c (linux_info_proc): Update.
9100         * target.h (struct target_ops) <to_fileio_readlink>: Return
9101         optional<string>.
9102         (target_fileio_readlink): Return optional<string>.
9103         * remote.c (remote_hostio_readlink): Return optional<string>.
9104         * inf-child.c (inf_child_fileio_readlink): Return
9105         optional<string>.
9106         * target.c (target_fileio_readlink): Return optional<string>.
9107
9108 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9109
9110         * regcache.c (cooked_read_test): Add riscv to the list of
9111         architectures that have a save_reggroup.
9112
9113 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9114
9115         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9116         value is not a dynamic class object.
9117
9118 2018-03-06  Tom Tromey  <tom@tromey.com>
9119
9120         * rust-exp.y: Formatting fixes.
9121
9122 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9123
9124         * riscv-tdep.c (riscv_register_name): Remove target description
9125         support.
9126         (riscv_gdbarch_init): Remove target description check.
9127
9128 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9129
9130         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9131         comment.
9132         * riscv-tdep.h: Likewise.
9133
9134 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9135
9136         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9137         (riscv_pseudo_register_write): Delete.
9138         (riscv_gdbarch_init): Remove all use of pseudo registers.
9139
9140 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9141
9142         * record-btrace.c (btrace_print_lines): Replace cleanup
9143         parameter with RAII equivalents.
9144         (btrace_insn_history): Replace cleanup with RAII equivalents.
9145         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9146         make_cleanup_ui_out_tuple_begin_end): Remove.
9147         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9148         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9149         make_cleanup_ui_out_list_begin_end): Remove.
9150
9151 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9152
9153         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9154         parameter types to std::vector.  Use bool.
9155         (record_btrace_wait): Replace VEC(tp_t) with
9156         std::vector<thread_info *>.
9157         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9158
9159 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9160
9161         * record-btrace.c (record_btrace_disable_callback): Remove.
9162         (struct scoped_btrace_disable): New.
9163         (record_btrace_open): Use scoped_btrace_disable.
9164
9165 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9166
9167         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9168         reading values from registers.
9169
9170 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9171
9172         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9173         where appropriate.
9174
9175 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9176
9177         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
9178         change parameter type.  Use GDB's print functions, and use
9179         core_addr_to_string where appropriate.
9180         (riscv_push_dummy_call): Use core_addr_to_string where
9181         appropriate, update call to riscv_print_arg_location, and reindent
9182         a few lines.
9183         (riscv_return_value): Update call to riscv_print_arg_location.
9184
9185 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9186             Tim Newsome <tim@sifive.com>
9187             Albert Ou <a0u@eecs.berkeley.edu>
9188             Darius Rad <darius@bluespec.com>
9189
9190         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
9191         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
9192         (ALLDEPFILES): Add riscv-tdep.c
9193         * configure.tgt: Add riscv support.
9194         * riscv-tdep.c: New file.
9195         * riscv-tdep.h: New file.
9196         * NEWS: Mention new target.
9197         * MAINTAINERS: Add entry for riscv.
9198
9199 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9200
9201         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
9202         fields within aggregates.
9203
9204 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
9205
9206         * record-btrace.c (btrace_print_lines): Change type of flags to
9207         gdb_disassembly_flags.
9208
9209 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9210
9211         * fbsd-nat.c: Include "inf-ptrace.h".
9212         (USE_SIGTRAP_SIGINFO): Conditionally define.
9213         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
9214         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
9215         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
9216         function.
9217         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
9218         Likewise.
9219         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
9220         Likewise.
9221         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
9222         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
9223         "supports_stopped_by_hw_breakpoint" target methods.
9224
9225 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9226
9227         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
9228         * fbsd-nat.c (debug_fbsd_nat): New variable.
9229         (show_fbsd_nat_debug): New function.
9230         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
9231         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
9232
9233 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9234
9235         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
9236         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
9237         prototype.
9238         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
9239         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
9240         method.
9241
9242 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9243
9244         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
9245         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
9246
9247 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9248
9249         * charset.c (struct charset_vector): New.
9250         (charsets): Change type to charset_vector.
9251         (find_charset_names): Adjust.
9252         (add_one): Adjust.
9253         (_initialize_charset): Adjust.
9254
9255 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9256
9257         * progspace.h (struct program_space) <deleted_solibs>: Change
9258         type to std::vector<std::string>.
9259         * progspace.c (clear_program_space_solib_cache): Adjust.
9260         * breakpoint.c (print_solib_event): Adjust.
9261         (check_status_catch_solib): Adjust.
9262         * solib.c (update_solib_list): Adjust.
9263         * ui-out.h (class ui_out) <field_string>: New overload.
9264         * ui-out.c (ui_out::field_string): New overload.
9265
9266 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9267
9268         * progspace.h (struct program_space): Add constructor and
9269         destructor, initialize fields.
9270         (add_program_space): Remove.
9271         * progspace.c (add_program_space): Rename to...
9272         (program_space::program_space): ... this.
9273         (release_program_space): Rename to...
9274         (program_space::~program_space): ... this.
9275         (delete_program_space): Use delete to delete program_space.
9276         (initialize_progspace): Use new to allocate program_space.
9277         * inferior.c (add_inferior_with_spaces): Likewise.
9278         (clone_inferior_command): Likewise.
9279         * infrun.c (follow_fork_inferior): Likewise.
9280         (handle_vfork_child_exec_or_exit): Likewise.
9281
9282 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9283
9284         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
9285         (delim_string_to_char_ptr_vec): Return std::vector of
9286         gdb::unique_xmalloc_ptr.
9287         (dirnames_to_char_ptr_vec_append): Take std::vector of
9288         gdb::unique_xmalloc_ptr.
9289         (dirnames_to_char_ptr_vec): Return std::vector of
9290         gdb::unique_xmalloc_ptr.
9291         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
9292         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
9293         (delim_string_to_char_ptr_vec): Return an std::vector of
9294         gdb::unique_xmalloc_ptr, adjust the code.
9295         (dirnames_to_char_ptr_vec_append): Take an std::vector of
9296         gdb::unique_xmalloc_ptr, adjust the code.
9297         (dirnames_to_char_ptr_vec): Return an std::vector of
9298         gdb::unique_xmalloc_ptr, adjust the code.
9299         * auto-load.c (auto_load_safe_path_vec): Change type to
9300         std::vector of gdb::unique_xmalloc_ptr.
9301         (auto_load_expand_dir_vars): Return an std::vector of
9302         gdb::unique_xmalloc_ptr, adjust the code.
9303         (auto_load_safe_path_vec_update): Adjust.
9304         (filename_is_in_auto_load_safe_path_vec): Adjust.
9305         (auto_load_objfile_script_1): Adjust.
9306         * build-id.c (build_id_to_debug_bfd): Adjust.
9307         * linux-thread-db.c (thread_db_load_search): Adjust.
9308         * source.c (add_path): Adjust.
9309         (openp): Adjust.
9310         * symfile.c (find_separate_debug_file): Adjust.
9311         * utils.c (do_free_char_ptr_vec): Remove.
9312         (make_cleanup_free_char_ptr_vec): Remove.
9313
9314 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
9315
9316         PR gdb/22907
9317         * common/pathstuff.c: Conditionally include "<windows.h>".
9318
9319 2018-03-01  Georg Sauthoff  <mail@georg.so>
9320
9321         PR gdb/22888
9322         * gcore.in: Quote variables and switch interpreter to bash.
9323
9324 2018-03-01  Tom Tromey  <tom@tromey.com>
9325
9326         * dwarf2read.c (alloc_discriminant_info): Fix default_index
9327         assertion.  Add assertion for discriminant_index.
9328         (quirk_rust_enum): Use correct base type name in univariant case.
9329
9330 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
9331
9332         * record.c (get_call_history_modifiers): Return a
9333         record_print_flags.
9334         (cmd_record_call_history): Adjust.
9335         * record-btrace.c (record_btrace_call_history): Adjust.
9336         (record_btrace_call_history_range): Adjust.
9337         (record_btrace_call_history_from): Adjust.
9338         * target-debug.h (target_debug_print_record_print_flags): New.
9339         * target-delegates.c: Re-generate.
9340         * target.c (target_call_history): Change flags type.
9341         (target_call_history_from): Likewise.
9342         (target_call_history_range): Likewise.
9343         * target.h (struct target_ops) <target_call_history>: Likewise.
9344         (target_call_history_from): Likewise.
9345         (target_call_history_range): Likewise.
9346
9347 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9348             Simon Marchi  <simon.marchi@polymtl.ca>
9349
9350         * common/common-utils.c: Include "sys/stat.h".
9351         (is_regular_file): Move here from "source.c"; change return
9352         type to "bool".
9353         * common/common-utils.h (is_regular_file): New prototype.
9354         * common/pathstuff.c (contains_dir_separator): New function.
9355         * common/pathstuff.h (contains_dir_separator): New prototype.
9356         * source.c: Don't include "sys/stat.h".
9357         (is_regular_file): Move to "common/common-utils.c".
9358
9359 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9360
9361         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
9362         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
9363         * auto-load.c: Include "common/pathstuff.h".
9364         * common/common-def.h (current_directory): Move here.
9365         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
9366         function.
9367         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
9368         prototype.
9369         * common/pathstuff.c: New file.
9370         * common/pathstuff.h: New file.
9371         * compile/compile.c: Include "common/pathstuff.h".
9372         * defs.h (current_directory): Move to "common/common-defs.h".
9373         * dwarf2read.c: Include "common/pathstuff.h".
9374         * exec.c: Likewise.
9375         * guile/scm-safe-call.c: Likewise.
9376         * linux-thread-db.c: Likewise.
9377         * main.c: Likewise.
9378         * nto-tdep.c: Likewise.
9379         * objfiles.c: Likewise.
9380         * source.c: Likewise.
9381         * symtab.c: Likewise.
9382         * utils.c: Include "common/pathstuff.h".
9383         (gdb_realpath): Move to "common/pathstuff.c".
9384         (gdb_realpath_keepfile): Likewise.
9385         (gdb_abspath): Likewise.
9386         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
9387         (gdb_realpath_keepfile): Likewise.
9388         (gdb_abspath): Likewise.
9389
9390 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
9391
9392         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
9393         wildcard process pid for super_resume for kernels with a
9394         specific bug.
9395
9396 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
9397
9398         * compile/compile.c (get_args): Add additional comments
9399         explaining function.
9400
9401 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
9402             Tom Tromey  <tom@tromey.com>
9403
9404         * target.h (memory_write_request_s): Remove typedef.  Don't define
9405         VEC.
9406         (target_write_memory_blocks): Change argument to std::vector.
9407         (struct memory_write_request): Add constructor.
9408         * target-memory.c (compare_block_starting_address): Return bool.
9409         Change argument types.
9410         (claim_memory): Change arguments to use std::vector.
9411         (split_regular_and_flash_blocks, blocks_to_erase)
9412         (compute_garbled_blocks): Likewise.
9413         (cleanup_request_data, cleanup_write_requests_vector): Remove.
9414         (target_write_memory_blocks): Change argument to std::vector.
9415         * symfile.c (struct load_section_data): Add constructor and
9416         destructor.  Use std::vector for "requests".
9417         (struct load_progress_data): Add initializers.
9418         (load_section_callback): Update.  Use "new".
9419         (clear_memory_write_data): Remove.
9420         (generic_load): Update.
9421
9422 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
9423
9424         * arch/aarch64.h: Use common/tdesc.h.
9425
9426 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9427
9428         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
9429         architecture with a 64-bit ABI.
9430
9431 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9432
9433         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
9434         ahead of target description loading.
9435
9436 2018-02-26  Tom Tromey  <tom@tromey.com>
9437
9438         * stack.c (backtrace_command_1): Update.
9439         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
9440         of "flags".
9441         * python/py-framefilter.c (py_print_frame)
9442         (gdbpy_apply_frame_filter): Change type of "flags".
9443         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
9444         of "flags".
9445         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
9446         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
9447         * extension.h (enum frame_filter_flag): Rename from
9448         frame_filter_flags.
9449         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
9450         (apply_ext_lang_frame_filter): Change type of "flags".
9451         * extension.c (apply_ext_lang_frame_filter): Change type of
9452         "flags".
9453         * extension-priv.h (struct extension_language_ops)
9454         <apply_frame_filter>: Change type of "flags".
9455
9456 2018-02-26  Tom Tromey  <tom@tromey.com>
9457
9458         PR python/16497:
9459         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
9460         off-by-one in py_end computation.
9461         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
9462         PRINT_MORE_FRAMES.
9463         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
9464         constant.
9465
9466 2018-02-26  Tom Tromey  <tom@tromey.com>
9467
9468         * dwarf2read.c (struct variant_field): New.
9469         (struct nextfield) <variant>: New field.
9470         (dwarf2_add_field): Handle DW_TAG_variant_part.
9471         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
9472         discriminated union.
9473         (read_structure_type): Handle DW_TAG_variant_part.
9474         (handle_struct_member_die): New function, extracted from
9475         process_structure_scope.  Handle DW_TAG_variant.
9476         (process_structure_scope): Handle discriminated unions.  Call
9477         handle_struct_member_die.
9478
9479 2018-02-26  Tom Tromey  <tom@tromey.com>
9480
9481         * rust-lang.h (rust_last_path_segment): Declare.
9482         * rust-lang.c (rust_last_path_segment): Now public.  Change
9483         contract.
9484         (struct disr_info): Remove.
9485         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
9486         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
9487         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
9488         (rust_enum_p, rust_enum_variant): New function.
9489         (rust_underscore_fields): Remove "offset" parameter.
9490         (rust_print_enum): New function.
9491         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
9492         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
9493         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
9494         enums.
9495         (rust_internal_print_type): New function, from rust_print_type.
9496         Remove enum code.
9497         (rust_print_type): Call rust_internal_print_type.
9498         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
9499         Update enum handling.
9500         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
9501         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
9502         (rust_union_quirks): New functions.
9503         (process_full_comp_unit, process_full_type_unit): Call
9504         rust_union_quirks.
9505         (process_structure_scope): Update rust_unions if necessary.
9506
9507 2018-02-26  Tom Tromey  <tom@tromey.com>
9508
9509         * value.h (value_union_variant): Declare.
9510         * valops.c (value_union_variant): New function.
9511         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
9512         (struct discriminant_info): New.
9513         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
9514         enumerator.
9515         (struct main_type) <flag_discriminated_union>: New field.
9516
9517 2018-02-26  Tom Tromey  <tom@tromey.com>
9518
9519         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9520         unittests/unpack-selftests.c.
9521         * unittests/unpack-selftests.c: New file.
9522         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
9523
9524 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9525
9526         * dwarf2read.c (struct partial_die_info) <read>: New method.
9527         (read_partial_die): Remove the declaration.
9528         (load_partial_dies): Update.
9529         (partial_die_info::partial_die_info):
9530         (read_partial_die): Change it to partial_die_info::read.
9531
9532 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9533
9534         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
9535         (fixup_partial_die): Remove declaration.
9536         (scan_partial_symbols): Update.
9537         (partial_die_parent_scope): Likewise.
9538         (partial_die_full_name): Likewise.
9539         (fixup_partial_die): Change it to partial_die_info::fixup.
9540
9541 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9542
9543         * dwarf2read.c (read_partial_die): Update the declaration.
9544         (load_partial_dies): Caller update.
9545         (read_partial_die): Remove one argument abbrev_len.
9546
9547 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9548
9549         * dwarf2read.c (struct partial_die_info): Add ctor, delete
9550         assignment operator.
9551         (load_partial_dies): Use ctor and copy ctor.
9552         (read_partial_die): Update.
9553         (dwarf2_cu::find_partial_die): Use ctor.
9554
9555 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9556
9557         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
9558         (find_partial_die_in_comp_unit): Change it to
9559         dwarf2_cu::find_partial_die.
9560         (find_partial_die): Update.
9561
9562 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9563
9564         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
9565         is NULL.
9566
9567 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9568
9569         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
9570
9571 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
9572
9573         * arch/amd64.h: Use common/tdesc.h.
9574         * arch/i386.c: Likewise.
9575         * arch/i386.h: Likewise.
9576         * arch/tic6x.c: Likewise.
9577         * arch/tdesc.h: Move file from here...
9578         * common/tdesc.h: ...to here.
9579         * features/aarch64-core.c: Regenerate.
9580         * features/aarch64-fpu.c: Regenerate.
9581         * features/i386/32bit-avx.c: Regenerate.
9582         * features/i386/32bit-avx512.c: Regenerate.
9583         * features/i386/32bit-core.c: Regenerate.
9584         * features/i386/32bit-linux.c: Regenerate.
9585         * features/i386/32bit-mpx.c: Regenerate.
9586         * features/i386/32bit-pkeys.c: Regenerate.
9587         * features/i386/32bit-sse.c: Regenerate.
9588         * features/i386/64bit-avx.c: Regenerate.
9589         * features/i386/64bit-avx512.c: Regenerate.
9590         * features/i386/64bit-core.c: Regenerate.
9591         * features/i386/64bit-linux.c: Regenerate.
9592         * features/i386/64bit-mpx.c: Regenerate.
9593         * features/i386/64bit-pkeys.c: Regenerate.
9594         * features/i386/64bit-segments.c: Regenerate.
9595         * features/i386/64bit-sse.c: Regenerate.
9596         * features/i386/x32-core.c: Regenerate.
9597         * features/tic6x-c6xp.c: Regenerate.
9598         * features/tic6x-core.c: Regenerate.
9599         * features/tic6x-gp.c: Regenerate.
9600         * target-descriptions.c: Use common/tdesc.h.
9601         * target-descriptions.h: Likewise.
9602
9603 2018-02-24  Tom Tromey  <tom@tromey.com>
9604
9605         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9606         (try_thread_db_load_from_dir, thread_db_load_search): Use
9607         std::string.
9608         (info_auto_load_libthread_db_compare): Return bool.  Change
9609         argument types.
9610         (info_auto_load_libthread_db): Use std::vector, std::string.
9611         Remove cleanups.
9612
9613 2018-02-24  Tom Tromey  <tom@tromey.com>
9614
9615         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9616         std::string.
9617         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9618         std::string*.
9619         * gdbarch.c: Rebuild.
9620         * gdbarch.h: Rebuild.
9621         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9622         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9623         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9624         std::string*.
9625
9626 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9627
9628         * gdbtypes.h (sect_offset): Change type to uint64_t.
9629         (sect_offset_str): New function.
9630         * dwarf2read.c (create_addrmap_from_aranges): Use
9631         sect_offset_str.
9632         (error_check_comp_unit_head): Likewise.
9633         (create_debug_type_hash_table): Likewise.
9634         (read_cutu_die_from_dwo): Likewise.
9635         (init_cutu_and_read_dies): Likewise.
9636         (init_cutu_and_read_dies_no_follow): Likewise.
9637         (process_psymtab_comp_unit_reader): Likewise.
9638         (partial_die_parent_scope): Likewise.
9639         (peek_die_abbrev): Likewise.
9640         (process_queue): Likewise.
9641         (dwarf2_physname): Likewise.
9642         (read_namespace_alias): Likewise.
9643         (read_import_statement): Likewise.
9644         (create_dwo_cu_reader): Likewise.
9645         (create_cus_hash_table): Likewise.
9646         (lookup_dwo_cutu): Likewise.
9647         (inherit_abstract_dies): Likewise.
9648         (read_func_scope): Likewise.
9649         (read_call_site_scope): Likewise.
9650         (dwarf2_add_member_fn): Likewise.
9651         (read_common_block): Likewise.
9652         (read_module_type): Likewise.
9653         (read_typedef): Likewise.
9654         (read_subrange_type): Likewise.
9655         (load_partial_dies): Likewise.
9656         (read_partial_die): Likewise.
9657         (find_partial_die): Likewise.
9658         (read_str_index): Likewise.
9659         (dwarf2_string_attr): Likewise.
9660         (build_error_marker_type): Likewise.
9661         (lookup_die_type): Likewise.
9662         (dump_die_shallow): Likewise.
9663         (follow_die_ref): Likewise.
9664         (dwarf2_fetch_die_loc_sect_off): Likewise.
9665         (dwarf2_fetch_constant_bytes): Likewise.
9666         (follow_die_sig): Likewise.
9667         (get_signatured_type): Likewise.
9668         (get_DW_AT_signature_type): Likewise.
9669         (dwarf2_find_containing_comp_unit): Likewise.
9670         (set_die_type): Likewise.
9671
9672 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9673
9674         * arch/aarch64.c: Include "common-defs.h".
9675         * arch/amd64.c: Likewise.
9676         * arch/i386.c: Likewise.
9677
9678 2018-02-21  Tom Tromey  <tom@tromey.com>
9679
9680         * value.h: (extract_field_op): Update.
9681         * eval.c (extract_field_op): Return a const char *.
9682         * expression.h (parse_expression_for_completion): Update.
9683         * completer.c (complete_expression): Update.
9684         (add_struct_fields): Make fieldname const.
9685         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9686         (mark_completion_tag, parse_exp_in_context_1): Update.
9687         (parse_expression_for_completion): Change "name" to
9688         unique_xmalloc_ptr*.
9689
9690 2018-02-21  Tom Tromey  <tom@tromey.com>
9691
9692         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9693
9694 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9695
9696         * avr-tdep.c (avr_read_pc): Change parameter type to
9697         readable_regcache.
9698         * gdbarch.sh (read_pc): Likewise.
9699         * gdbarch.c: Re-generated.
9700         * gdbarch.h: Re-generated.
9701         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9702         readable_regcache.
9703         * ia64-tdep.c (ia64_read_pc): Likewise.
9704         * mips-tdep.c (mips_read_pc): Likewise.
9705         * spu-tdep.c (spu_read_pc): Likewise.
9706
9707 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9708
9709         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9710         * regcache-dump.c: New file.
9711         * regcache.c: Move register_dump to regcache-dump.c.
9712         (maintenance_print_registers): Likewise.
9713         (maintenance_print_raw_registers): Likewise.
9714         (maintenance_print_cooked_registers): Likewise.
9715         (maintenance_print_register_groups): Likewise.
9716         (maintenance_print_remote_registers): Likewise.
9717         (_initialize_regcache): Likewise.
9718         * regcache.h (register_dump): Moved from regcache.c.
9719
9720 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9721
9722         * regcache.c (regcache::regcache): Update.
9723         (regcache::invalidate): Move it to detached_regcache::invalidate.
9724         (get_thread_arch_aspace_regcache): Update.
9725         (regcache::raw_update): Update.
9726         (regcache::cooked_read): Remove some code.
9727         (regcache::cooked_read_value): Likewise.
9728         (regcache::raw_write): Remove assert on m_readonly_p.
9729         (regcache::raw_supply_integer): Move it to
9730         detached_regcache::raw_supply_integer.
9731         (regcache::raw_supply_zeroed): Likewise.
9732         * regcache.h (detached_regcache) <raw_supply_integer>: New
9733         declaration.
9734         <raw_supply_zeroed, invalidate>: Likewise.
9735         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9736         <invalidate>: Likewise.
9737         <m_readonly_p>: Removed.
9738
9739 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9740
9741         * infcmd.c (get_return_value): Let stop_regs point to
9742         get_current_regcache.
9743         * regcache.c (regcache::regcache): Remove.
9744         (register_dump_reg_buffer): New class.
9745         (regcache_print): Adjust.
9746         * regcache.h (regcache): Remove constructors.
9747
9748 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9749
9750         * regcache.c (class register_dump): New class.
9751         (register_dump_regcache, register_dump_none): New class.
9752         (register_dump_remote, register_dump_groups): New class.
9753         (regcache_print): Update.
9754         * regcache.h (regcache_dump_what): Move it to regcache.c.
9755         (regcache) <dump>: Remove.
9756
9757 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9758
9759         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9760          reg_buffer_rw *.
9761         (jit_unwind_reg_set_impl): Call raw_supply.
9762         (jit_frame_sniffer): Use reg_buffer_rw.
9763         * record-full.c (record_full_core_regbuf): Change its type.
9764         (record_full_core_open_1): Use reg_buffer_rw.
9765         (record_full_close): Likewise.
9766         (record_full_core_fetch_registers): Use regcache->raw_supply.
9767         (record_full_core_store_registers): Likewise.
9768         * regcache.c (regcache::get_register_status): Move it to
9769         reg_buffer.
9770         (regcache_raw_set_cached_value): Remove.
9771         (regcache::raw_set_cached_value): Remove.
9772         (regcache::raw_write): Call raw_supply.
9773         (regcache::raw_supply): Move it to reg_buffer_rw.
9774         * regcache.h (regcache_raw_set_cached_value): Remove.
9775         (reg_buffer_rw): New class.
9776
9777 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9778
9779         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9780         readonly_detached_regcache.
9781         (dummy_frame_prev_register): Use regcache->cooked_read.
9782         * frame.c (frame_save_as_regcache): Change return type.
9783         (frame_pop): Update.
9784         * frame.h (frame_save_as_regcache): Update declaration.
9785         * inferior.h (get_infcall_suspend_state_regcache): Update
9786         declaration.
9787         * infrun.c (infcall_suspend_state) <registers>: use
9788         readonly_detached_regcache.
9789         (save_infcall_suspend_state): Don't use regcache_dup.
9790         (get_infcall_suspend_state_regcache): Change return type.
9791         * linux-fork.c (struct fork_info) <savedregs>: Change to
9792         readonly_detached_regcache.
9793         <pc>: New field.
9794         (fork_save_infrun_state): Don't use regcache_dup.
9795         (info_checkpoints_command): Adjust.
9796         * mi/mi-main.c (register_changed_p): Update declaration.
9797         (mi_cmd_data_list_changed_registers): Use
9798         readonly_detached_regcache.
9799         (register_changed_p): Change parameter type to
9800         readonly_detached_regcache.
9801         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9802         readonly_detached_regcache.
9803         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9804         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9805         New.
9806         (regcache::save): Move it to reg_buffer.
9807         (regcache::restore): Change parameter type.
9808         (regcache_dup): Remove.
9809         * regcache.h (reg_buffer) <save>: New method.
9810         (readonly_detached_regcache): New class.
9811         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9812         readonly_detached_regcache.
9813         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9814
9815 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9816
9817         * frame.c (frame_save_as_regcache): Use regcache method save.
9818         (frame_pop): Use regcache method restore.
9819         * infrun.c (restore_infcall_suspend_state): Likewise.
9820         * linux-fork.c (fork_load_infrun_state): Likewise.
9821         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9822         save.
9823         * regcache.c (regcache_save): Remove.
9824         (regcache::restore): More asserts.
9825         (regcache_cpy): Remove.
9826         * regcache.h (regcache_save): Remove the declaration.
9827         (regcache::restore): Move from private to public.
9828         Remove the friend declaration of regcache_cpy.
9829         (regcache_cpy): Remove declaration.
9830
9831 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9832
9833         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9834         parameter type to 'readable_regcache *'.
9835         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9836         * arm-tdep.c (arm_neon_quad_read): Likewise.
9837         (arm_pseudo_read): Likewise.
9838         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9839         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9840         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9841         * gdbarch.c: Re-generated.
9842         * gdbarch.h: Re-generated.
9843         * gdbarch.sh (pseudo_register_read): Change parameter type to
9844         'readable_regcache *'.
9845         (pseudo_register_read_value): Likewise.
9846         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9847         (h8300_pseudo_register_read): Likewise.
9848         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9849         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9850         (i386_pseudo_register_read_into_value): Likewise.
9851         (i386_pseudo_register_read_value): Likewise.
9852         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9853         declaration.
9854         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9855         * m32c-tdep.c (m32c_raw_read): Likewise.
9856         (m32c_read_flg): Likewise.
9857         (m32c_banked_register): Likewise.
9858         (m32c_banked_read): Likewise.
9859         (m32c_sb_read): Likewise.
9860         (m32c_part_read): Likewise.
9861         (m32c_cat_read): Likewise.
9862         (m32c_r3r2r1r0_read): Likewise.
9863         (m32c_pseudo_register_read): Likewise.
9864         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9865         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9866         (mep_pseudo_cr64_read): Likewise.
9867         (mep_pseudo_register_read): Likewise.
9868         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9869         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9870         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9871         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9872         (regcache::cooked_read): Likewise.
9873         (regcache::cooked_read_value): Likewise.
9874         (regcache_cooked_read_signed):
9875         (regcache::cooked_read): Likewise.
9876         * regcache.h (readable_regcache): New class.
9877         (regcache): Inherit readable_regcache.  Move some methods to
9878         readable_regcache.
9879         * rl78-tdep.c (rl78_pseudo_register_read): Change
9880         parameter type to 'readable_regcache *'.
9881         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9882         (e500_pseudo_register_read): Change parameter type to
9883         'readable_regcache *'.
9884         (dfp_pseudo_register_read): Likewise.
9885         (vsx_pseudo_register_read): Likewise.
9886         (efpr_pseudo_register_read): Likewise.
9887         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9888         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9889         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9890         (sh64_pseudo_register_read): Likewise.
9891         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9892         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9893         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9894         (spu_pseudo_register_read): Likewise.
9895         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9896         (xtensa_pseudo_register_read): Likewise.
9897
9898 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9899
9900         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9901         (regcache::arch): Move it to reg_buffer::arch.
9902         (regcache::register_buffer): Likewise.
9903         (regcache::assert_regnum): Likewise.
9904         (regcache::num_raw_registers): Likewise.
9905         * regcache.h (reg_buffer): New class.
9906         (regcache): Inherit reg_buffer.
9907
9908 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9909
9910         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9911         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9912
9913 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9914
9915         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9916
9917 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9918
9919         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9920         (SFILES): Remove common/*.c files.
9921         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9922         * common/common.host: Add common reference.
9923         * configure.ac: Likewise.
9924         * configure: Regenerate.
9925
9926 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9927
9928         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9929         (block_initialize_namespace): Use new.
9930         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9931         (dwarf2_free_objfile): Use delete.
9932         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9933         (copy_type_recursive): Use new.
9934         * gdb_obstack.h (allocate_on_obstack): New.
9935
9936 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9937
9938         PR gdb/22849
9939         * inferior.c (exit_inferior_1): Reset inf->control.
9940
9941 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9942
9943         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9944         declaration.
9945
9946 2018-02-14  Pedro Alves  <palves@redhat.com>
9947
9948         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9949         frame_cleanup_after_sniffer on exception.
9950
9951 2018-02-14  Tom Tromey  <tom@tromey.com>
9952
9953         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9954         const.
9955         (solib_bfd_open): Make pathname const.
9956         * solib.c (solib_bfd_open): Make pathname const.
9957         * solib-spu.c (spu_bfd_fopen): Make name const.
9958         (spu_bfd_open): Make pathname const.
9959         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9960         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9961
9962 2018-02-14  Tom Tromey  <tom@tromey.com>
9963
9964         * symfile.c (symfile_bfd_open): Update.
9965         * source.h (openp, source_full_path_of, find_and_open_source):
9966         Change argument type to unique_xmalloc_ptr.
9967         * source.c (openp): Take a unique_xmalloc_ptr.
9968         (source_full_path_of, find_and_open_source): Likewise.
9969         (open_source_file, symtab_to_fullname): Update.
9970         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9971         unique_xmalloc_ptr.
9972         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9973         (exec_file_find): Update.
9974         * psymtab.c (psymtab_to_fullname): Update.
9975         * nto-tdep.h (nto_find_and_open_solib): Update.
9976         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9977         unique_xmalloc_ptr.
9978         * exec.c (exec_file_attach): Update.
9979         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9980         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9981
9982 2018-02-14  Tom Tromey  <tom@tromey.com>
9983
9984         * solib.c: Include source.h.
9985         * nto-tdep.c: Include source.h.
9986         * mi/mi-cmd-env.c: Include source.h.
9987         * infcmd.c: Include source.h.
9988         * exec.c: Include source.h.
9989         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9990         (add_path, directory_switch, source_path, init_source_path): Move
9991         declarations...
9992         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9993         (add_path, directory_switch, source_path, init_source_path):
9994         ...here.
9995
9996 2018-02-14  Tom Tromey  <tom@tromey.com>
9997
9998         * solist.h (exec_file_find, solib_find): Return
9999         unique_xmalloc_ptr.
10000         (solib_bfd_fopen): Take a const char *.
10001         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
10002         (exec_file_find, solib_find): Likewise.
10003         (solib_bfd_fopen): Do not take ownership of "pathname".
10004         (solib_bfd_open): Use unique_xmalloc_ptr.
10005         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
10006         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
10007         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
10008         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
10009
10010 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
10011
10012         * ada-lang.c (name_match_type_from_name): Remove reference to
10013         ada_name_for_lookup in function's documentation.
10014         * ada-lang.h (ada_name_for_lookup): Delete declaration.
10015
10016 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10017
10018         * defs.h (enum openp_flags): New enum.
10019         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
10020         Move to enum openp_flags.
10021         (openp_flags): New enum flags.
10022         (openp): Change parameter type to openp_flags.
10023         * source.c (openp): Change parameter type to openp_flags.
10024         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
10025         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
10026
10027 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
10028
10029         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
10030         per-command.
10031
10032 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10033
10034         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10035         into...
10036         (class dwarf2_queue_guard): ...the destructor of this new class.
10037         (dw2_do_instantiate_symtab): Create instance of the new class
10038         dwarf2_queue_guard, remove cleanup.
10039
10040 2018-02-09  Tom Tromey  <tom@tromey.com>
10041
10042         * source.c (find_source_lines): Don't reference past the end of
10043         the vector.
10044
10045 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10046
10047         * remote.c (remote_btrace_maybe_reopen): Change error message.
10048         * btrace.c (btrace_enable): Likewise.
10049         (parse_xml_btrace): Likewise.
10050         (parse_xml_btrace_conf): Likewise.
10051
10052 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10053
10054         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10055         (linux_enable_pt, linux_enable_bts): Call
10056         diagnose_perf_event_open_fail.
10057
10058 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10059
10060         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10061         Remove parameter and change return type.  Update callers.  Move it.
10062         (linux_enable_bts, linux_enable_pt): Improve error message.
10063         (linux_enable_pt): Remove zero buffer size check.
10064         (linux_enable_btrace): Improve error messages.  Remove NULL return
10065         check.
10066
10067 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10068
10069         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10070         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10071         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10072         (linux_supports_pt, linux_supports_btrace): Remove.
10073         (linux_enable_bts): Call cpu_supports_bts.
10074         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10075         * remote.c (remote_supports_btrace): Remove.
10076         (init_remote_ops): Remove remote_supports_btrace.
10077         * target-delegates.c: Regenerated.
10078         * target.c (target_supports_btrace): Remove.
10079         * target.h (target_ops) <to_supports_btrace>: Remove
10080         (target_supports_btrace): Remove.
10081         * x86-linux-nat.c (x86_linux_create_target): Remove
10082         linux_supports_btrace.
10083
10084 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10085
10086         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10087         btrace failed.
10088         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10089         exception and use message in own exception.
10090
10091 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10092
10093         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10094         (perf_event_pt_event_type): Use gdb_file_up.
10095         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10096         scoped_fd, and scoped_mmap.
10097
10098 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10099
10100         * common/scoped_mmap.h: New.
10101         * unittests/scoped_mmap-selftest.c: New.
10102         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10103         unittests/scoped_mmap-selftest.c.
10104
10105 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10106
10107         * common/scoped_fd.h: New.
10108         * unittests/scoped_fd-selftest.c: New.
10109         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10110         unittests/scoped_fd-selftest.c.
10111
10112 2018-02-09  Tom Tromey  <tom@tromey.com>
10113
10114         * auto-load.c (auto_load_section_scripts): Use
10115         gdb::unique_xmalloc_ptr.
10116
10117 2018-02-09  Tom Tromey  <tom@tromey.com>
10118
10119         * auto-load.c (execute_script_contents): Use std::string.
10120
10121 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10122
10123         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10124         Python function, rather than a new command.
10125
10126 2018-02-08  Tom Tromey  <tom@tromey.com>
10127
10128         * solib.c (solib_find_1): Use std::string.
10129         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10130
10131 2018-02-08  Tom Tromey  <tom@tromey.com>
10132
10133         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10134
10135 2018-02-08  Tom Tromey  <tom@tromey.com>
10136
10137         * source.c (find_source_lines): Use gdb::def_vector.
10138
10139 2018-02-08  Tom Tromey  <tom@tromey.com>
10140
10141         * macrocmd.c (struct temporary_macro_definition): New.
10142         (macro_define_command): Use temporary_macro_definition.  Remove
10143         cleanups.
10144         (free_macro_definition_ptr): Remove.
10145
10146 2018-02-08  Tom Tromey  <tom@tromey.com>
10147
10148         * macroexp.c (maybe_expand): Use std::string.
10149
10150 2018-02-08  Tom Tromey  <tom@tromey.com>
10151
10152         * macroexp.c (struct macro_buffer): Add initializers for some
10153         members.
10154         (init_buffer, init_shared_buffer, free_buffer)
10155         (free_buffer_return_text): Remove.
10156         (macro_buffer): New constructors.
10157         (~macro_buffer): New destructor.
10158         (macro_buffer::set_shared): New method.
10159         (macro_buffer::resize_buffer, macro_buffer::appendc)
10160         (macro_buffer::appendmem): Now methods, not free functions.
10161         (set_token, append_tokens_without_splicing, stringify)
10162         (macro_stringify): Update.
10163         (gather_arguments): Change return type.  Remove argc_p argument,
10164         add args_ptr argument.  Use std::vector.
10165         (substitute_args): Remove argc argument.  Accept std::vector.
10166         (expand): Update.  Use std::vector.
10167         (scan, macro_expand, macro_expand_next): Update.
10168
10169 2018-02-08  Tom Tromey  <tom@tromey.com>
10170
10171         * symtab.c (default_collect_symbol_completion_matches_break_on):
10172         Use unique_xmalloc_ptr.
10173         * macroscope.h: (sal_macro_scope, user_macro_scope)
10174         (default_macro_scope): Return unique_xmalloc_ptr.
10175         * macroscope.c (sal_macro_scope, user_macro_scope)
10176         (default_macro_scope): Return unique_xmalloc_ptr.
10177         * macroexp.h (macro_expand, macro_expand_once): Return
10178         unique_xmalloc_ptr.
10179         * macroexp.c (macro_expand, macro_expand_once): Return
10180         unique_xmalloc_ptr.
10181         * macrocmd.c (macro_expand_command, macro_expand_once_command)
10182         (info_macro_command, info_macros_command): Use
10183         unique_xmalloc_ptr.
10184         * compile/compile-c-support.c (write_macro_definitions): Use
10185         unique_xmalloc_ptr.
10186         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
10187
10188 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
10189
10190         * value.c (value_static_field): Assign field type instead of
10191         containing type when returning an optimized out value.
10192
10193 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10194
10195         * ft32-tdep.c (ft32_read_pc): Remove.
10196         (ft32_write_pc): Remove.
10197         (ft32_gdbarch_init): Update.
10198         * m32r-tdep.c (m32r_read_pc): Remove.
10199         (m32r_gdbarch_init): Update.
10200         * mep-tdep.c (mep_read_pc): Remove.
10201         (mep_gdbarch_init): Update.
10202         * microblaze-tdep.c (microblaze_write_pc): Remove.
10203         (microblaze_gdbarch_init): Update.
10204         * mn10300-tdep.c (mn10300_read_pc): Remove.
10205         (mn10300_write_pc): Remove.
10206         (mn10300_gdbarch_init): Update.
10207         * moxie-tdep.c (moxie_read_pc): Remove.
10208         (moxie_write_pc): Remove.
10209         (moxie_gdbarch_init): Update.
10210
10211 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10212
10213         * expprint.c (print_subexp_standard): Handle
10214         OP_F77_UNDETERMINED_ARGLIST.
10215         (dump_subexp_body_standard): Likewise.
10216
10217 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
10218
10219         * target-descriptions.c (tdesc_element_visitor) Add empty
10220         implementations.
10221         (tdesc_type): Move make_gdb_type from here.
10222         (tdesc_type_builtin): Likewise.
10223         (tdesc_type_vector): Likewise.
10224         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
10225         (make_gdb_type_struct): Move from tdesc_type_with_fields.
10226         (make_gdb_type_union): Likewise.
10227         (make_gdb_type_flags): Likewise.
10228         (make_gdb_type_enum): Likewise.
10229         (make_gdb_type): New function.
10230         (tdesc_register_type): Use static make_gdb_type.
10231
10232 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
10233
10234         * infcmd.c (default_print_one_register_info): Align natural-format
10235         column values consistently one under another.
10236         (pad_to_column): New function.
10237
10238 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
10239
10240         * dwarf2read.c (dwarf2_physname): Move commment.
10241
10242 2018-02-01  Leszek Swirski  <leszeks@google.com>
10243
10244         * varobj.c (varobj_formatted_print_options): Allow recursive
10245         pretty printing if pretty printing is enabled.
10246
10247 2018-02-01  Leszek Swirski  <leszeks@google.com>
10248
10249         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
10250         names after a structop as a filename.
10251
10252 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10253
10254         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
10255         (arm_record_coproc_data_proc): Likewise.
10256
10257 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10258
10259         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
10260
10261 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
10262
10263         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
10264         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
10265
10266 2018-01-31  Pedro Alves  <palves@redhat.com>
10267
10268         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
10269         * inflow.c (child_terminal_save_inferior): Wrap reference to
10270         tcgetpgrp in HAVE_TERMIOS_H.
10271         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
10272         _WIN32.
10273         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
10274         always iterate over all inferiors.
10275         (gdbsim_cntrl_c): Adjust.
10276         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
10277
10278 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10279
10280         * gdbtypes.c (lookup_array_range_type): Make sure the array's
10281         index type is objfile-owned if the element type is as well.
10282
10283 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10284
10285         GDB 8.1 released.
10286
10287 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10288
10289         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
10290         "features/s390x-linux64.c".
10291         (_initialize_s390_linux_tdep): Remove initialization of tdescs
10292         s390_linux32 and s390x_linux64.
10293         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
10294         default tdesc.
10295         * s390-tdep.c: Include "features/s390-linux32.c" and
10296         "features/s390x-linux64.c".
10297         (s390_tdesc_valid): Add check for tdesc_has_registers.
10298         (s390_gdbarch_init): Make sure there is always a valid tdesc.
10299         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
10300         tdesc_s390x_linux64.
10301         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
10302         tdesc_s390x_linux64 to...
10303         * s390-tdep.h: ...here.
10304
10305 2018-01-30  Pedro Alves  <palves@redhat.com>
10306
10307         PR gdb/13211
10308         * config.in, configure: Regenerate.
10309         * configure.ac: Check for getpgid.
10310         * go32-nat.c (go32_pass_ctrlc): New.
10311         (go32_target): Install it.
10312         * inf-child.c (inf_child_target): Install
10313         child_terminal_save_inferior, child_pass_ctrlc and
10314         child_interrupt.
10315         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
10316         (inf_ptrace_target): No longer install it.
10317         * infcmd.c (interrupt_target_1): Adjust.
10318         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
10319         (child_interrupt): Declare.
10320         (inferior::terminal_state): New.
10321         * inflow.c (struct terminal_info): Update comments.
10322         (inferior_process_group): Delete.
10323         (terminal_is_ours): Delete.
10324         (gdb_tty_state): New.
10325         (child_terminal_init): Adjust.
10326         (is_gdb_terminal, sharing_input_terminal_1)
10327         (sharing_input_terminal): New functions.
10328         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
10329         Set the process's actual process group in the foreground if
10330         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
10331         mark terminal as the inferior's if not sharing GDB's terminal.
10332         Don't check attach_flag.
10333         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
10334         pass down a target_terminal_state.
10335         (child_terminal_save_inferior): New, factored out from ...
10336         (child_terminal_ours_1): ... this.  Handle
10337         target_terminal_state::is_ours_for_output.
10338         (child_interrupt, child_pass_ctrlc): New.
10339         (inflow_inferior_exit): Clear the inferior's terminal_state.
10340         (copy_terminal_info): Copy the inferior's terminal state.
10341         (_initialize_inflow): Remove reference to terminal_is_ours.
10342         * inflow.h (inferior_process_group): Delete.
10343         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
10344         * procfs.c (procfs_target): Don't install procfs_interrupt.
10345         (procfs_interrupt): Delete.
10346         * remote.c (remote_serial_quit_handler): Adjust.
10347         (remote_interrupt): Remove ptid parameter.  Adjust.
10348         * target-delegates.c: Regenerate.
10349         * target.c: Include "terminal.h".
10350         (target_terminal::terminal_state): Rename to ...
10351         (target_terminal::m_terminal_state): ... this.
10352         (target_terminal::init): Adjust.
10353         (target_terminal::inferior): Adjust to per-inferior
10354         terminal_state.
10355         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
10356         (target_terminal::ours, target_terminal::ours_for_output): Use
10357         target_terminal_is_ours_kind.
10358         (target_interrupt): Remove ptid parameter.  Adjust.
10359         (default_target_pass_ctrlc): Adjust.
10360         * target.h (target_ops::to_terminal_save_inferior): New field.
10361         (target_ops::to_interrupt): Remove ptid_t parameter.
10362         (target_interrupt): Remove ptid_t parameter.  Update comment.
10363         (target_pass_ctrlc): Update comment.
10364         * target/target.h (target_terminal_state): New scoped enum,
10365         factored out of ...
10366         (target_terminal::terminal_state): ... here.
10367         (target_terminal::inferior): Update comments.
10368         (target_terminal::restore_inferior): New.
10369         (target_terminal::is_inferior, target_terminal::is_ours)
10370         (target_terminal::is_ours_for_output): Adjust.
10371         (target_terminal::scoped_restore_terminal_state): Adjust to
10372         rename, and call restore_inferior() instead of inferior().
10373         (target_terminal::scoped_restore_terminal_state::m_state): Change
10374         type.
10375         (target_terminal::terminal_state): Rename to ...
10376         (target_terminal::m_terminal_state): ... this and change type.
10377
10378 2018-01-30  Pedro Alves  <palves@redhat.com>
10379
10380         * linux-nat.c (wait_for_signal): New function.
10381         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
10382         directly.
10383         (async_terminal_is_ours)
10384         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
10385         (linux_nat_add_target): Don't override
10386         to_terminal_inferior/to_terminal_ours.
10387
10388 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
10389
10390         * remote.c (remote_follow_fork): Don't call "detach_inferior".
10391
10392 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
10393
10394         * dwarf2read.c (free_dwo_files): Add forward-declaration.
10395         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
10396         dwarf2_per_objfile_free here.
10397         (dwarf2_per_objfile_free): Remove.
10398         (_initialize_dwarf2_read): Don't register
10399         dwarf2_per_objfile_free as a registry cleanup.
10400
10401 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
10402
10403         Avoid compilation errors in MinGW native builds
10404
10405         The error is triggered by including python-internal.h, and the
10406         error message is:
10407
10408              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
10409                       from build-gnulib/import/math.h:27,
10410                       from d:/usr/Python26/include/pyport.h:235,
10411                       from d:/usr/Python26/include/Python.h:58,
10412                       from python/python-internal.h:94,
10413                       from python/py-arch.c:24:
10414              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
10415         using ::hypot;
10416                 ^~~~~
10417
10418         This happens because Python headers define 'hypot' to expand t
10419         '_hypot' in the Windows builds.
10420         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
10421         'hypoth'.  This avoids a compilation error.
10422
10423 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10424
10425         * MAINTAINERS (Write After Approval): Fix ordering.
10426
10427 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10428
10429         * MAINTAINERS (Write After Approval): Add Alan Hayward.
10430
10431 2018-01-26  Alan Modra  <amodra@gmail.com>
10432
10433         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
10434         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
10435         Remove nop.  Make const.  Comment.
10436         (powerpc32_plt_stub_so_2): New.
10437         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
10438         Correct count.  Update uses.
10439         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
10440         Move common code reading PLT entry word.  Correct
10441         powerpc32_plt_stub PLT address calculation.
10442         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
10443         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
10444         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
10445         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
10446         (ppc64_standard_linkage8): Likewise.
10447         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
10448         Correct insns description.
10449         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
10450
10451 2018-01-24  Pedro Alves  <palves@redhat.com>
10452
10453         GCC PR libstdc++/83906
10454         * gdbtypes.c (operator==(const dynamic_prop &,
10455         const dynamic_prop &)): New.
10456         (operator==(const range_bounds &, const range_bounds &)): New.
10457         (check_types_equal): Use them instead of memcmp.
10458         * gdbtypes.h (operator==(const dynamic_prop &,
10459         const dynamic_prop &)): Declare.
10460         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
10461         (operator==(const range_bounds &, const range_bounds &)): Declare.
10462         (operator!=(const range_bounds &, const range_bounds &)): Declare.
10463
10464 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10465
10466         * s390-linux-tdep.c (s390_record_address_mask)
10467         (s390_record_calc_disp_common, s390_record_calc_disp)
10468         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10469         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10470         (s390_process_record): Move to s390-tdep.c.
10471         (s390_linux_init_abi_any): Adjust.
10472         * s390-tdep.c (s390_record_address_mask)
10473         (s390_record_calc_disp_common, s390_record_calc_disp)
10474         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10475         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10476         (s390_process_record): Moved from s390-linux-tdep.c
10477         (s390_gdbarch_init): Adjust.
10478
10479 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10480
10481         * s390-linux-nat.c (s390-tdep.h): New include.
10482         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
10483         (HFILES_NO_SRCDIR): Add s390-tdep.h.
10484         (ALLDEPFILES): Add s390-tdep.c.
10485         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
10486         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
10487         * s390-tdep.h: ...this.  New file.
10488         * s390-linux-tdep.c (s390-tdep.h): New include.
10489         (_initialize_s390_tdep): Rename to...
10490         (_initialize_s390_linux_tdep): ...this and adjust.
10491         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
10492         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
10493         s390-tdep.h.
10494         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
10495         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
10496         (s390_is_partial_instruction, s390_software_single_step)
10497         (is_non_branch_ril, s390_displaced_step_copy_insn)
10498         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
10499         (s390_prologue_data, s390_addr, s390_store, s390_load)
10500         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
10501         (s390_register_call_saved, s390_guess_tracepoint_registers)
10502         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
10503         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
10504         (s390_pseudo_register_name, s390_pseudo_register_type)
10505         (s390_pseudo_register_read, s390_pseudo_register_write)
10506         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
10507         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
10508         (s390_addr_bits_remove, s390_address_class_type_flags)
10509         (s390_address_class_type_flags_to_name)
10510         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
10511         (s390_function_arg_float, s390_function_arg_vector)
10512         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
10513         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
10514         (s390_frame_align, s390_register_return_value, s390_return_value)
10515         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
10516         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
10517         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
10518         (s390_trad_frame_prev_register, s390_unwind_cache)
10519         (s390_prologue_frame_unwind_cache)
10520         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
10521         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
10522         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
10523         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
10524         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
10525         (s390_frame_base_address, s390_local_base_address)
10526         (s390_frame_base, s390_gcc_target_options)
10527         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
10528         (s390_validate_reg_range, s390_tdesc_valid)
10529         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
10530         * s390-tdep.c: ...this.  New file.
10531
10532 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10533
10534         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
10535         (s390_process_record, s390_gdbarch_tdep_alloc)
10536         (s390_linux_init_abi_any): Use/set new hook.
10537
10538 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10539
10540         * s390-linux-tdep.c (osabi.h): New include.
10541         (s390_linux_init_abi_31, s390_linux_init_abi_64)
10542         (s390_linux_init_abi_any): New functions.
10543         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
10544
10545 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10546
10547         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
10548         tdesc_has_registers check
10549
10550 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10551
10552         * s390-linux-tdep.c (s390_tdesc_valid): New function.
10553         (s390_validate_reg_range): New macro.
10554         (s390_gdbarch_init): Adjust.
10555
10556 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10557
10558         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
10559         (s390_gdbarch_tdep_alloc): Adjust.
10560         (s390_gdbarch_init): Adjust.
10561
10562 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10563
10564         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
10565         <have_tdb>: Change type to bool.
10566         (s390_gdbarch_tdep_alloc): Adjust.
10567         (s390_gdbarch_init): Adjust.
10568
10569 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10570
10571         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
10572         (gdbarch_tdep) <have_upper, have_vx>: New fields.
10573         (s390_gdbarch_tdep_alloc): New function.
10574         (s390_gdbarch_init): Allocate tdep at start and use its fields
10575         instead of separate variables.
10576
10577 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10578
10579         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10580         when looking for cached gdbarch and add comment for remaining.
10581
10582 2018-01-22  Pedro Alves  <palves@redhat.com>
10583             Sergio Durigan Junior  <sergiodj@redhat.com>
10584
10585         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10586         case.
10587
10588 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10589
10590         * MAINTAINERS: Update my company e-mail address.
10591
10592 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10593
10594         * regcache.c (cooked_write_test): New function.
10595         (_initialize_regcache): Register the test.
10596
10597 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10598
10599         * ia64-tdep.c (ia64_pseudo_register_read): Call
10600         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10601         * m32c-tdep.c (m32c_cat_read): Likewise.
10602         (m32c_r3r2r1r0_read): Likewise.
10603         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10604         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10605
10606 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10607
10608         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10609         method raw_read instead of regcache_raw_read.
10610         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10611         * arm-tdep.c (arm_neon_quad_read): Likewise.
10612         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10613         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10614         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10615         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10616         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10617         (i386_pseudo_register_read_into_value): Likewise.
10618         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10619         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10620         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10621         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10622         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10623         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10624         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10625         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10626         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10627
10628 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10629
10630         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10631         * configure.tgt: Remove target mt.
10632         * mt-tdep.c: Remove.
10633         * regcache.c (cooked_read_test): Remove the check for mt.
10634
10635 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10636
10637         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10638         instead of gdbarch_pseudo_register_read_value.
10639
10640 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10641
10642         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10643         language is Ada.
10644
10645 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10646
10647         * linespec.c (create_sals_line_offset): Remove code that preserved
10648         the symtab_and_line's line number.
10649
10650 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10651
10652         * varobj.c (varobj_create): Don't set valid_block when creating a
10653         floating varobj.
10654
10655 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10656
10657         * varobj.c (varobj_create): Remove out of date comment.
10658
10659 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10660
10661         PR mi/20395
10662         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10663         updating innermost block.
10664         * parse.c (innermost_block_tracker::update): Take extra type
10665         parameter, and check types match before updating innermost block.
10666         (write_dollar_variable): Update innermost block for registers.
10667         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10668         (innermost_block_tracker::innermost_block_tracker): Initialise
10669         m_types member.
10670         (innermost_block_tracker::reset): Take type parameter.
10671         (innermost_block_tracker::update): Take type parameter, and pass
10672         type through as needed.
10673         (innermost_block_tracker::m_types): New member.
10674         * varobj.c (varobj_create): Pass type when reseting innermost
10675         block.
10676
10677 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10678
10679         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10680         * ada-lang.c (resolve_subexp): Likewise.
10681         * breakpoint.c (set_breakpoint_condition) Likewise.
10682         (watch_command_1) Likewise.
10683         * c-exp.y (variable): Likewise.
10684         * d-exp.y (PrimaryExpression): Likewise.
10685         * f-exp.y (variable): Likewise.
10686         * go-exp.y (variable): Likewise.
10687         * m2-exp.y (variable): Likewise.
10688         * objfiles.c (objfile::~objfile): Likewise.
10689         * p-exp.y (variable): Likewise.
10690         * parse.c (innermost_block): Change type.
10691         * parser-defs.h (class innermost_block_tracker): New.
10692         (innermost_block): Change to innermost_block_tracker.
10693         * printcmd.c (display_command): Switch to innermost_block API.
10694         (do_one_display): Likewise.
10695         * rust-exp.y (do_one_display): Likewise.
10696         * symfile.c (clear_symtab_users): Likewise.
10697         * varobj.c (varobj_create): Switch to innermost_block API, replace
10698         use of innermost_block with block stored on varobj object.
10699
10700 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10701
10702         * expression.h (innermost_block): Remove declaration.
10703         * varobj.c: Add 'parser-defs.h' include.
10704
10705 2018-01-19  Tom Tromey  <tom@tromey.com>
10706
10707         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10708         symbols in the static and global blocks.
10709
10710 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10711
10712         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10713         gdb_ptrace.h, and move including gdb_wait.h ...
10714         * nat/linux-ptrace.h: ... to here.
10715
10716 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10717
10718         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10719         inf_ptrace_detach_success.
10720         (inf_ptrace_detach_success): Add inferior parameter, use it
10721         instead of inferior_ptid, pass it to detach_inferior.
10722         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10723         parameter.
10724         * inferior.c (detach_inferior): Add overload that takes an
10725         inferior object.
10726         * inferior.h (detach_inferior): Likewise.
10727         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10728         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10729         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10730
10731 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10732
10733         * target.h (struct target_ops) <to_detach>: Add inferior
10734         parameter.
10735         (target_detach): Likewise.
10736         * target.c (dispose_inferior): Pass inferior down.
10737         (target_detach): Pass inferior down.  Assert that it is equal to
10738         the current inferior.
10739         * aix-thread.c (aix_thread_detach): Pass inferior down.
10740         * corefile.c (core_file_command): Pass current_inferior() down.
10741         * corelow.c (core_detach): Add inferior parameter.
10742         * darwin-nat.c (darwin_detach): Likewise.
10743         * gnu-nat.c (gnu_detach): Likewise.
10744         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10745         * infcmd.c (detach_command): Pass current_inferior() down to
10746         target_detach.
10747         * infrun.c (follow_fork_inferior): Pass parent_inf to
10748         target_detach.
10749         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10750         target_detach.
10751         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10752         * linux-thread-db.c (thread_db_detach): Likewise.
10753         * nto-procfs.c (procfs_detach): Likewise.
10754         * procfs.c (procfs_detach): Likewise.
10755         * record.c (record_detach): Likewise.
10756         * record.h (struct inferior): Forward-declare.
10757         (record_detach): Add inferior parameter.
10758         * remote-sim.c (gdbsim_detach): Likewise.
10759         * remote.c (remote_detach_1): Likewise.
10760         (remote_detach): Likewise.
10761         (extended_remote_detach): Likewise.
10762         * sol-thread.c (sol_thread_detach): Likewise.
10763         * target-debug.h (target_debug_print_inferior_p): New macro.
10764         * target-delegates.c: Re-generate.
10765         * top.c (kill_or_detach): Pass inferior down to target_detach.
10766         * windows-nat.c (windows_detach): Add inferior parameter.
10767
10768 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10769
10770         * target.h (struct target_ops) <to_detach>: Remove args
10771         parameter.
10772         (target_detach): Likewise.
10773         * target.c (dispose_inferior): Adjust.
10774         (target_detach): Remove args parameter, adjust.
10775         * aix-thread.c (aix_thread_detach): Adjust.
10776         * corefile.c (core_file_command): Adjust.
10777         * corelow.c (core_detach): Adjust.
10778         * darwin-nat.c (darwin_detach): Adjust.
10779         * gnu-nat.c (gnu_detach): Adjust.
10780         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10781         * infcmd.c (detach_command): Adjust
10782         * infrun.c (follow_fork_inferior): Adjust.
10783         (handle_vfork_child_exec_or_exit): Adjust.
10784         * linux-fork.c (linux_fork_detach): Remove args parameter.
10785         * linux-fork.h (linux_fork_detach): Likewise.
10786         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10787         * linux-thread-db.c (thread_db_detach): Likewise.
10788         * nto-procfs.c (procfs_detach): Likewise.
10789         * procfs.c (procfs_detach): Likewise.
10790         (do_detach): Remove signo parameter.
10791         * record.c (record_detach): Remove args parameter.
10792         * record.h (record_detach): Likewise.
10793         * remote-sim.c (gdbsim_detach): Likewise.
10794         * remote.c (remote_detach_1): Likewise.
10795         (remote_detach): Likewise.
10796         (extended_remote_detach): Likewise.
10797         * sol-thread.c (sol_thread_detach): Likewise.
10798         * target-delegates.c: Re-generate.
10799         * top.c (struct qt_args) <args>: Remove field.
10800         (kill_or_detach): Don't pass args.
10801         (quit_force): Don't set args.
10802         * windows-nat.c (windows_detach): Remove args parameter.
10803
10804 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10805
10806         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10807         (arm_linux_init_abi): Install it.
10808
10809 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10810
10811         * osabi.c (gdb_osabi_names): Extend the regexp for
10812         arm-linux-gnueabihf.
10813
10814 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10815
10816         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10817         m_abbrevs.
10818         (abbrev_table::add_abbrev): Update.
10819         (abbrev_table::lookup_abbrev): Update.
10820
10821 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10822
10823         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10824
10825 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10826
10827         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10828         to "std::string".
10829
10830 2018-01-17  Tom Tromey  <tom@tromey.com>
10831
10832         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10833
10834 2018-01-17  Tom Tromey  <tom@tromey.com>
10835
10836         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10837         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10838         (create_array_type_with_stride): Update.
10839         * dwarf2read.c (set_die_type): Update.
10840
10841 2018-01-17  Tom Tromey  <tom@tromey.com>
10842
10843         * dwarf2read.c (delayed_method_info): Remove typedef.
10844         (dwarf2_cu::method_info): Now a std::vector.
10845         (add_to_method_list): Update.
10846         (free_delayed_list): Remove.
10847         (compute_delayed_physnames): Update.
10848         (process_full_comp_unit, process_full_type_unit): Clear the method
10849         list.  Remove cleanups.
10850         (psymtab_include_file_name): Add name_holder parameter.  Use
10851         unique_xmalloc_ptr.
10852         (dwarf_decode_lines): Update.
10853
10854 2018-01-17  Tom Tromey  <tom@tromey.com>
10855             Simon Marchi  <simon.marchi@ericsson.com>
10856
10857         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10858         (dwarf2_per_objfile::free_cached_comp_units)
10859         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10860         (init_cutu_and_read_dies_no_follow): Update.
10861         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10862         (dwarf2_cu::~dwarf2_cu): New.
10863         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10864         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10865
10866 2018-01-17  Tom Tromey  <tom@tromey.com>
10867             Simon Marchi  <simon.marchi@ericsson.com>
10868
10869         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10870         (struct die_reader_specs) <abbrev_table>: New member.
10871         (struct abbrev_table): Add constructor.
10872         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10873         <abbrev_obstack>: Now an auto_obstack.
10874         (abbrev_table_up): New typedef.
10875         (init_cu_die_reader): Add abbrev_table parameter.
10876         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10877         Add result_dwo_abbrev_table.
10878         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10879         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10880         Update.
10881         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10882         parameter.
10883         (skip_children): Update.
10884         (abbrev_table::alloc_abbrev): Rename from
10885         abbrev_table_alloc_abbrev.
10886         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10887         (abbrev_table::lookup_abbrev): Rename from
10888         abbrev_table_lookup_abbrev.
10889         (abbrev_table_read_table): Return abbrev_table_up.
10890         (abbrev_table_free, abbrev_table_free_cleanup)
10891         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10892         (load_partial_dies): Update.
10893
10894 2018-01-17  Tom Tromey  <tom@tromey.com>
10895
10896         * dwarf2read.c (dwarf2_compute_name): Update comment.
10897         (read_func_scope, read_variable): Update.
10898         (new_symbol): Remove.
10899         (new_symbol_full): Rename to new_symbol.
10900
10901 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10902
10903         PR gdb/16577
10904         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10905         a warning instead of throwing an error, set section size to 0 and return
10906         NULL.
10907         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10908
10909 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10910
10911         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10912         std::string.
10913         (linux_ptrace_attach_fail_reason_string): Likewise.
10914         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10915         Likewise.
10916         (linux_ptrace_attach_fail_reason_string): Likewise.
10917         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10918
10919 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10920
10921         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10922
10923 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10924
10925         PR gdb/21559
10926         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10927         checking for fs_base/gs_base fields in struct user_regs_struct.
10928         * configure: Regenerate.
10929
10930 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10931
10932         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10933         function.
10934         (aarch64_linux_init_abi): Install it to gdbarch hook
10935         gcc_target_options.
10936
10937 2018-01-15  Pedro Alves  <palves@redhat.com>
10938
10939         * common/signals-state-save-restore.c
10940         (save_original_signals_state): Fix typos.
10941
10942 2017-01-12  Tom Tromey  <tom@tromey.com>
10943             Sergio Durigan Junior  <sergiodj@redhat.com>
10944
10945         * Makefile.in (install-only): Install gdb-add-index.
10946
10947 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10948
10949         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10950
10951 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10952
10953         * infrun.c (keep_going_pass_signal): Clear step-over info when
10954         insert_breakpoints fails.
10955
10956 2018-01-11  Pedro Alves  <palves@redhat.com>
10957
10958         PR gdb/22583
10959         * infrun.c (resume): Rename to ...
10960         (resume_1): ... this.
10961         (resume): Reimplement as wrapper around resume_1.
10962
10963 2018-01-11  Pedro Alves  <palves@redhat.com>
10964
10965         PR remote/22597
10966         * remote.c (remote_parse_stop_reply): Default to the last-set
10967         general thread instead of to 'magic_null_ptid'.
10968
10969 2018-01-10  Pedro Alves  <palves@redhat.com>
10970
10971         * language.h (language_get_symbol_name_matcher): Rename ...
10972         (get_symbol_name_matcher): ... this.
10973         * language.c (language_get_symbol_name_matcher): Ditto.
10974         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10975         callers adjusted.
10976
10977 2018-01-10  Pedro Alves  <palves@redhat.com>
10978
10979         PR gdb/22670
10980         * dwarf2read.c
10981         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10982         Adjust to use language_get_symbol_name_matcher instead of
10983         language_defn::la_get_symbol_name_matcher.
10984         * language.c (language_get_symbol_name_matcher): If in Ada mode
10985         and the lookup name is a verbatim match, return Ada's matcher.
10986         * language.h (language_get_symbol_name_matcher): Adjust comment.
10987         (ada_lookup_name_info::verbatim_p):: New method.
10988
10989 2018-01-10  Pedro Alves  <palves@redhat.com>
10990
10991         PR gdb/22670
10992         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10993         minsym's language is language_auto or language_cplus, pass down
10994         language_ada instead.
10995         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10996
10997 2018-01-10  Pedro Alves  <palves@redhat.com>
10998
10999         PR gdb/22670
11000         * minsyms.c (linkage_name_str): New function.
11001         (iterate_over_minimal_symbols): Use it.
11002
11003 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11004
11005         * NEWS: Document that 'info proc' now works on FreeBSD.
11006
11007 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11008
11009         * configure.ac: Check for kinfo_getfile in libutil.
11010         * configure: Regenerate.
11011         * config.in: Regenerate.
11012         * fbsd-nat.c: Include "fbsd-tdep.h".
11013         (fbsd_fetch_cmdline): New.
11014         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
11015         rather than calling error.
11016         (fbsd_info_proc): New.
11017         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
11018         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
11019         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
11020
11021 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11022
11023         * fbsd-nat.c (struct free_deleter): Remove.
11024         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
11025
11026 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11027
11028         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
11029         NULL for an empty pathname.
11030
11031 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
11032
11033         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11034         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11035         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11036         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11037         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11038         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11039         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11040         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11041         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11042         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11043         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11044         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11045         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11046         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11047         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11048
11049 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11050
11051         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11052         (gnu_xfer_auxv): New function.
11053         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11054         TARGET_OBJECT_AUXV.
11055
11056 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11057             Simon Marchi  <simon.marchi@ericsson.com>
11058
11059         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11060         common/selftest.c.
11061         (COMMON_OBS): Remove selftest.o.
11062         * configure.ac: Append selftest-arch.c and common/selftest.c to
11063         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11064         * configure: Re-generated.
11065         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11066         GDB_SELF_TEST.
11067         (maintenance_info_selftests): Likewise.
11068
11069 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11070
11071         * ada-valprint.c (val_print_packed_array_elements): Use
11072         proper number of elements when printing an array indexed
11073         by an enumeration type.
11074
11075 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11076
11077         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11078         (dw2_get_file_names_reader): Adjust.
11079         (lookup_dwo_signatured_type): Adjust.
11080         (lookup_dwp_signatured_type): Adjust.
11081         (lookup_signatured_type): Adjust.
11082         (create_type_unit_group): Adjust.
11083         (get_type_unit_group): Adjust.
11084         (process_psymtab_comp_unit_reader): Adjust.
11085         (build_type_psymtabs_reader): Adjust.
11086         (scan_partial_symbols): Adjust.
11087         (add_partial_symbol): Adjust.
11088         (add_partial_subprogram): Adjust.
11089         (peek_die_abbrev): Adjust.
11090         (fixup_go_packaging): Adjust.
11091         (process_imported_unit_die): Adjust.
11092         (dwarf2_compute_name): Adjust.
11093         (dwarf2_physname): Adjust.
11094         (read_import_statement): Adjust.
11095         (handle_DW_AT_stmt_list): Adjust.
11096         (read_file_scope): Adjust.
11097         (read_func_scope): Adjust.
11098         (read_lexical_block_scope): Adjust.
11099         (read_call_site_scope): Adjust.
11100         (read_variable): Adjust.
11101         (dwarf2_rnglists_process): Adjust.
11102         (dwarf2_ranges_process): Adjust.
11103         (dwarf2_ranges_read): Adjust.
11104         (dwarf2_get_pc_bounds): Adjust.
11105         (dwarf2_record_block_ranges): Adjust.
11106         (dwarf2_add_field): Adjust.
11107         (dwarf2_add_member_fn): Adjust.
11108         (read_structure_type): Adjust.
11109         (process_structure_scope): Adjust.
11110         (read_enumeration_type): Adjust.
11111         (read_array_type): Adjust.
11112         (mark_common_block_symbol_computed): Adjust.
11113         (read_common_block): Adjust.
11114         (read_namespace_type): Adjust.
11115         (read_namespace): Adjust.
11116         (read_module_type): Adjust.
11117         (read_tag_pointer_type): Adjust.
11118         (read_tag_ptr_to_member_type): Adjust.
11119         (read_tag_string_type): Adjust.
11120         (read_subroutine_type): Adjust.
11121         (read_typedef): Adjust.
11122         (read_base_type): Adjust.
11123         (attr_to_dynamic_prop): Adjust.
11124         (read_subrange_type): Adjust.
11125         (read_unspecified_type): Adjust.
11126         (dwarf2_read_abbrevs): Adjust.
11127         (load_partial_dies): Adjust.
11128         (read_partial_die): Adjust.
11129         (find_partial_die): Adjust.
11130         (guess_partial_die_structure_name): Adjust.
11131         (fixup_partial_die): Adjust.
11132         (read_attribute_value): Adjust.
11133         (read_addr_index): Adjust.
11134         (read_addr_index_from_leb128): Adjust.
11135         (read_str_index): Adjust.
11136         (dwarf2_string_attr): Adjust.
11137         (get_debug_line_section): Adjust.
11138         (dwarf_decode_line_header): Adjust.
11139         (lnp_state_machine::check_line_address): Adjust.
11140         (dwarf_decode_lines_1): Adjust.
11141         (dwarf_decode_lines): Adjust.
11142         (dwarf2_start_symtab): Adjust.
11143         (var_decode_location): Adjust.
11144         (new_symbol_full): Adjust.
11145         (dwarf2_const_value_data): Adjust.
11146         (dwarf2_const_value_attr): Adjust.
11147         (dwarf2_const_value): Adjust.
11148         (die_type): Adjust.
11149         (die_containing_type): Adjust.
11150         (build_error_marker_type): Adjust.
11151         (lookup_die_type): Adjust.
11152         (guess_full_die_structure_name): Adjust.
11153         (anonymous_struct_prefix): Adjust.
11154         (determine_prefix): Adjust.
11155         (dwarf2_name): Adjust.
11156         (follow_die_ref_or_sig): Adjust.
11157         (follow_die_offset): Adjust.
11158         (follow_die_ref): Adjust.
11159         (follow_die_sig_1): Adjust.
11160         (follow_die_sig): Adjust.
11161         (get_signatured_type): Adjust.
11162         (get_DW_AT_signature_type): Adjust.
11163         (decode_locdesc): Adjust.
11164         (dwarf_decode_macros): Adjust.
11165         (cu_debug_loc_section): Adjust.
11166         (fill_in_loclist_baton): Adjust.
11167         (dwarf2_symbol_mark_computed): Adjust.
11168         (init_one_comp_unit): Don't assign
11169         dwarf2_cu::dwarf2_per_objfile.
11170         (set_die_type): Adjust.
11171
11172 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11173
11174         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11175         <dwarf2_per_objfile>: New field.
11176         (dwarf2_per_objfile): Remove global.
11177         (get_dwarf2_per_objfile): New function.
11178         (set_dwarf2_per_objfile): New function.
11179         (dwarf2_build_psymtabs_hard): Change objfile parameter to
11180         dwarf2_per_objfile.
11181         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11182         (read_abbrev_offset): Likewise.
11183         (read_indirect_string): Likewise.
11184         (read_indirect_line_string): Likewise.
11185         (read_indirect_string_at_offset): Likewise.
11186         (read_indirect_string_from_dwz): Likewise.
11187         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11188         dwarf2_per_objfile.
11189         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11190         (create_all_comp_units): Change objfile parameter to
11191         dwarf2_per_objfile.
11192         (create_all_type_units): Likewise.
11193         (process_queue): Add dwarf2_per_objfile parameter.
11194         (read_and_check_comp_unit_head): Likewise.
11195         (lookup_dwo_unit_in_dwp): Likewise.
11196         (get_dwp_file): Likewise.
11197         (process_cu_includes): Likewise.
11198         (struct free_dwo_file_cleanup_data): New struct.
11199         (dwarf2_has_info): Use get_dwarf2_per_objfile and
11200         set_dwarf2_per_objfile.
11201         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
11202         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
11203         context, adjust calls.
11204         (dw2_instantiate_symtab): Likewise.
11205         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
11206         (dw2_get_cu): Likewise.
11207         (create_cu_from_index_list): Change objfile parameter to
11208         dwarf2_per_objfile.
11209         (create_cus_from_index_list): Get dwarf2_per_objfile from
11210         context, adjust calls.
11211         (create_cus_from_index): Likewise.
11212         (create_signatured_type_table_from_index): Change objfile
11213         parameter to dwarf2_per_objfile.
11214         (create_signatured_type_table_from_debug_names): Change objfile
11215         parameter to dwarf2_per_objfile.
11216         (create_addrmap_from_index): Likewise.
11217         (create_addrmap_from_aranges): Likewise.
11218         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
11219         (dw2_setup): Remove.
11220         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
11221         context.
11222         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
11223         get_dwarf2_per_objfile.
11224         (dw2_forget_cached_source_info): Likewise.
11225         (dw2_map_symtabs_matching_filename): Likewise.
11226         (struct dw2_symtab_iterator) <index>: Remove.
11227         <dwarf2_per_objfile>: New field.
11228         (dw2_symtab_iter_init): Replace index parameter with
11229         dwarf2_per_objfile.
11230         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
11231         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
11232         (dw2_print_stats): Likewise.
11233         (dw2_dump): Likewise.
11234         (dw2_expand_symtabs_for_function): Likewise.
11235         (dw2_expand_all_symtabs): Likewise.
11236         (dw2_expand_symtabs_with_fullname): Likewise.
11237         (dw2_expand_marked_cus): Replace index and objfile parameters
11238         with dwarf2_per_objfile.
11239         (dw_expand_symtabs_matching_file_matcher): Add
11240         dwarf2_per_objfile parameter and adjust calls.
11241         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
11242         adjust calls.
11243         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
11244         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
11245         adjust calls.
11246         (create_cus_from_debug_names_list): Replace objfile parameter
11247         with dwarf2_per_objfile and adjust calls.
11248         (create_cus_from_debug_names): Likewise.
11249         (dwarf2_read_debug_names): Likewise.
11250         (mapped_debug_names::namei_to_name): Adjust call.
11251         (dw2_debug_names_iterator::next): Likewise.
11252         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
11253         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
11254         (dw2_debug_names_dump): Likewise.
11255         (dw2_debug_names_expand_symtabs_for_function): Likewise.
11256         (dw2_debug_names_expand_symtabs_matching): Likewise.
11257         (dwarf2_initialize_objfile): Likewise.
11258         (dwarf2_build_psymtabs): Likewise.
11259         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
11260         this_cu.
11261         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
11262         (read_and_check_comp_unit_head): Likewise.
11263         (read_abbrev_offset): Likewise.
11264         (create_debug_type_hash_table): Likewise.
11265         (create_debug_types_hash_table): Likewise.
11266         (create_all_type_units): Replace objfile parameter with
11267         dwarf2_per_objfile.
11268         (add_type_unit): Add dwarf2_per_objfile parameter.
11269         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
11270         with dwarf2_per_objfile.
11271         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
11272         (lookup_dwp_signatured_type): Likewise.
11273         (lookup_signatured_type): Likewise.
11274         (read_cutu_die_from_dwo): Likewise.
11275         (init_tu_and_read_dwo_dies): Likewise.
11276         (init_cutu_and_read_dies): Likewise.
11277         (init_cutu_and_read_dies_no_follow): Likewise.
11278         (allocate_type_unit_groups_table): Add objfile parameter.
11279         (create_type_unit_group): Use dwarf2_per_objfile from cu.
11280         (get_type_unit_group): Likewise.
11281         (process_psymtab_comp_unit): Update call.
11282         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
11283         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
11284         (print_tu_stats): Likewise.
11285         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
11286         in void* parameter.
11287         (build_type_psymtabs): Change objfile parameter to
11288         dwarf2_per_objfile.
11289         (process_skeletonless_type_unit): Use dwarf2_per_objfile
11290         passed in void* parameter.
11291         (process_skeletonless_type_units): Change objfile parameter to
11292         dwarf2_per_objfile.
11293         (set_partial_user): Likewise.
11294         (dwarf2_build_psymtabs_hard): Likewise.
11295         (read_comp_units_from_section): Likewise.
11296         (create_all_comp_units): Likewise.
11297         (scan_partial_symbols): Update calls.
11298         (add_partial_symbol): Likewise.
11299         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
11300         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
11301         (process_queue): Add dwarf2_per_objfile parameter.
11302         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
11303         (compute_compunit_symtab_includes): Likewise.
11304         (process_cu_includes): Add dwarf2_per_objfile parameter.
11305         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
11306         (process_full_type_unit): Likewise.
11307         (process_imported_unit_die): Update call.
11308         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
11309         (read_file_scope): Likewise.
11310         (allocate_dwo_file_hash_table): Add objfile parameter.
11311         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
11312         (create_cus_hash_table): Likewise.
11313         (create_dwp_hash_table): Likewise.
11314         (create_dwo_unit_in_dwp_v1): Likewise.
11315         (create_dwp_v2_section): Likewise.
11316         (create_dwo_unit_in_dwp_v2): Likewise.
11317         (lookup_dwo_unit_in_dwp): Likewise.
11318         (try_open_dwop_file): Likewise.
11319         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
11320         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
11321         cleanup to include a reference to dwarf2_per_objfile.
11322         (open_dwp_file): Add dwarf2_per_objfile parameter.
11323         (open_and_init_dwp_file): Likewise.
11324         (get_dwp_file): Likewise.
11325         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
11326         (queue_and_load_all_dwo_tus): Update call.
11327         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
11328         data.
11329         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
11330         (dwarf2_ranges_process): Likewise.
11331         (dwarf2_get_pc_bounds): Likewise.
11332         (mark_common_block_symbol_computed): Likewise.
11333         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11334         (dwarf2_read_abbrevs): Update call.
11335         (read_partial_die): Use dwarf2_per_objfile from cu.
11336         (find_partial_die): Likewise.
11337         (fixup_partial_die): Likewise.
11338         (read_attribute_value): Likewise.
11339         (read_indirect_string_at_offset_from): Add objfile parameter.
11340         (read_indirect_string_at_offset): Add dwarf2_per_objfile
11341         parameter.
11342         (read_indirect_string_from_dwz): Add objfile parameter.
11343         (read_indirect_string): Add objfile parameter.
11344         (read_addr_index_1): Add dwarf2_per_objfile parameter.
11345         (read_addr_index): Use dwarf2_per_objfile from cu.
11346         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
11347         call dw2_setup.
11348         (read_str_index): Use dwarf2_per_objfile from cu.
11349         (get_debug_line_section): Likewise.
11350         (read_formatted_entries): Add dwarf2_per_objfile parameter.
11351         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
11352         (new_symbol_full): Use dwarf2_per_objfile from cu.
11353         (build_error_marker_type): Likewise.
11354         (lookup_die_type): Likewise.
11355         (determine_prefix): Likewise.
11356         (follow_die_offset): Likewise.
11357         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
11358         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
11359         (dwarf2_fetch_die_type_sect_off): Likewise.
11360         (dwarf2_get_die_type): Likewise.
11361         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
11362         (get_signatured_type): Likewise.
11363         (get_DW_AT_signature_type): Likewise.
11364         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
11365         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
11366         (cu_debug_loc_section): Likewise.
11367         (fill_in_loclist_baton): Likewise.
11368         (dwarf2_symbol_mark_computed): Likewise.
11369         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11370         dwarf2_per_objfile.
11371         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
11372         parameter.
11373         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11374         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
11375         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
11376         (set_die_type): Use dwarf2_free_objfile from cu.
11377         (get_die_type_at_offset): Likewise.
11378         (dwarf2_per_objfile_free): Don't assign global variable.
11379         (debug_names) <constructor>: Add dwarf2_per_objfile
11380         parameter, update m_debugstrlookup construction.
11381         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
11382         parameter.
11383         <m_dwarf2_per_objfile>: New field.
11384         <lookup>: Use m_dwarf2_per_objfile.
11385         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
11386         (psyms_seen_size): Likewise.
11387         (write_gdbindex): Replace objfile parameter with
11388         dwarf2_per_objfile.
11389         (write_debug_names): Likewise.
11390         (write_psymtabs_to_index): Likewise.
11391         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
11392         calls.
11393
11394 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11395
11396         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
11397         <dwarf2_per_objfile>: New field.
11398         (struct dwarf2_per_cu_data) <objfile>: Remove.
11399         <dwarf2_per_objfile>: New field.
11400         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
11401         of objfile.
11402         (create_signatured_type_table_from_index): Likewise.
11403         (create_debug_type_hash_table): Likewise.
11404         (fill_in_sig_entry_from_dwo_entry): Likewise.
11405         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
11406         (create_type_unit_group): Assign dwarf2_per_objfile instead of
11407         objfile.
11408         (create_partial_symtab): Access objfile through
11409         dwarf2_per_objfile.
11410         (process_psymtab_comp_unit_reader): Likewise.
11411         (read_comp_units_from_section): Likewise.
11412         (scan_partial_symbols): Likewise.
11413         (add_partial_symbol): Likewise.
11414         (add_partial_subprogram): Likewise.
11415         (peek_die_abbrev): Likewise.
11416         (fixup_go_packaging): Likewise.
11417         (process_full_comp_unit): Likewise.
11418         (process_full_type_unit): Likewise.
11419         (process_imported_unit_die): Likewise.
11420         (dwarf2_compute_name): Likewise.
11421         (dwarf2_physname): Likewise.
11422         (read_import_statement): Likewise.
11423         (create_cus_hash_table): Assign dwarf2_physname instead of
11424         objfile.
11425         (read_func_scope): Access objfile through dwarf2_per_objfile.
11426         (read_lexical_block_scope): Likewise.
11427         (read_call_site_scope): Likewise.
11428         (read_variable): Likewise.
11429         (dwarf2_rnglists_process): Likewise.
11430         (dwarf2_ranges_process): Likewise.
11431         (dwarf2_ranges_read): Likewise.
11432         (dwarf2_record_block_ranges): Likewise.
11433         (dwarf2_add_field): Likewise.
11434         (dwarf2_add_member_fn): Likewise.
11435         (read_structure_type): Likewise.
11436         (process_structure_scope): Likewise.
11437         (read_enumeration_type): Likewise.
11438         (read_array_type): Likewise.
11439         (read_common_block): Likewise.
11440         (read_namespace_type): Likewise.
11441         (read_namespace): Likewise.
11442         (read_module_type): Likewise.
11443         (read_tag_pointer_type): Likewise.
11444         (read_tag_ptr_to_member_type): Likewise.
11445         (read_tag_string_type): Likewise.
11446         (read_subroutine_type): Likewise.
11447         (read_typedef): Likewise.
11448         (read_base_type): Likewise.
11449         (attr_to_dynamic_prop): Likewise.
11450         (read_subrange_type): Likewise.
11451         (read_unspecified_type): Likewise.
11452         (load_partial_dies): Likewise.
11453         (read_partial_die): Likewise.
11454         (find_partial_die): Likewise.
11455         (guess_partial_die_structure_name): Likewise.
11456         (fixup_partial_die): Likewise.
11457         (read_attribute_value): Likewise.
11458         (read_addr_index_from_leb128): Likewise.
11459         (dwarf2_read_addr_index): Likewise.
11460         (dwarf2_string_attr): Likewise.
11461         (lnp_state_machine::check_line_address): Likewise.
11462         (dwarf_decode_lines_1): Likewise.
11463         (dwarf_decode_lines): Likewise.
11464         (dwarf2_start_symtab): Likewise.
11465         (var_decode_location): Likewise.
11466         (new_symbol_full): Likewise.
11467         (dwarf2_const_value_data): Likewise.
11468         (dwarf2_const_value_attr): Likewise.
11469         (dwarf2_const_value): Likewise.
11470         (die_type): Likewise.
11471         (die_containing_type): Likewise.
11472         (lookup_die_type): Likewise.
11473         (guess_full_die_structure_name): Likewise.
11474         (anonymous_struct_prefix): Likewise.
11475         (dwarf2_name): Likewise.
11476         (follow_die_ref_or_sig): Likewise.
11477         (follow_die_offset): Likewise.
11478         (follow_die_ref): Likewise.
11479         (dwarf2_fetch_die_loc_sect_off): Likewise.
11480         (dwarf2_fetch_constant_bytes): Likewise.
11481         (dwarf2_fetch_die_type_sect_off): Likewise.
11482         (dwarf2_get_die_type): Likewise.
11483         (follow_die_sig): Likewise.
11484         (decode_locdesc): Likewise.
11485         (dwarf2_per_cu_objfile): Likewise.
11486         (dwarf2_per_cu_text_offset): Likewise.
11487         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
11488         objfile.
11489         (set_die_type): Access objfile through
11490         dwarf2_per_objfile.
11491
11492 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11493
11494         * valprint.c (converted_character_d): Remove typedef.
11495         (DEF_VEC_O (converted_character_d)): Remove.
11496         (count_next_character): Use std::vector.
11497         (print_converted_chars_to_obstack): Likewise.
11498         (generic_printstr): Likewise.
11499
11500 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11501
11502         * xml-support.h (struct gdb_xml_value): Add constructor.
11503         <value>: Change type to unique_xmalloc_ptr.
11504         (gdb_xml_value_s): Remove typedef.
11505         (DEF_VEC_O (gdb_xml_value_s)): Remove.
11506         (gdb_xml_element_start_handler): Change parameter type to
11507         std::vector.
11508         (xml_find_attribute): Likewise.
11509         * xml-support.c (xml_find_attribute): Change parameter type to
11510         std::vector and adjust.
11511         (gdb_xml_values_cleanup): Remove.
11512         (gdb_xml_parser::start_element): Adjust to std::vector.
11513         (xinclude_start_include): Change paraeter type to std::vector
11514         and adjust.
11515         * btrace.c (check_xml_btrace_version): Likewise.
11516         (parse_xml_btrace_block): Likewise.
11517         (parse_xml_btrace_pt_config_cpu): Likewise.
11518         (parse_xml_btrace_pt): Likewise.
11519         (parse_xml_btrace_conf_bts): Likewise.
11520         (parse_xml_btrace_conf_pt): Likewise.
11521         * memory-map.c (memory_map_start_memory): Likewise.
11522         (memory_map_start_property): Likewise.
11523         * osdata.c (osdata_start_osdata): Likewise.
11524         (osdata_start_item): Likewise.
11525         (osdata_start_column): Likewise.
11526         * remote.c (start_thread): Likewise.
11527         * solib-aix.c (library_list_start_library): Likewise.
11528         (library_list_start_list): Likewise.
11529         * solib-svr4.c (library_list_start_library): Likewise.
11530         (svr4_library_list_start_list): Likewise.
11531         * solib-target.c (library_list_start_segment): Likewise.
11532         (library_list_start_section): Likewise.
11533         (library_list_start_library): Likewise.
11534         (library_list_start_list): Likewise.
11535         * tracepoint.c (traceframe_info_start_memory): Likewise.
11536         (traceframe_info_start_tvar): Likewise.
11537         * xml-syscall.c (syscall_start_syscall): Likewise.
11538         * xml-tdesc.c (tdesc_start_target): Likewise.
11539         (tdesc_start_feature): Likewise.
11540         (tdesc_start_reg): Likewise.
11541         (tdesc_start_union): Likewise.
11542         (tdesc_start_struct): Likewise.
11543         (tdesc_start_flags): Likewise.
11544         (tdesc_start_enum): Likewise.
11545         (tdesc_start_field): Likewise.
11546         (tdesc_start_enum_value): Likewise.
11547         (tdesc_start_vector): Likewise.
11548
11549 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11550
11551         * extension.h (struct xmethod_worker) <clone>: Remove.
11552         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
11553         Remove.
11554         (python_xmethod_worker::clone): Remove.
11555         * valops.c (find_overload_match): Use std::move instead of
11556         clone.
11557
11558 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11559
11560         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
11561         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
11562         <free_xmethod_worker_data>: Remove.
11563         <get_matching_xmethod_workers>: Chance VEC to std::vector.
11564         <get_xmethod_arg_types>: Remove.
11565         <get_xmethod_result_type>: Remove.
11566         <invoke_xmethod>: Remove.
11567         * extension.c (new_xmethod_worker): Remove.
11568         (clone_xmethod_worker): Remove.
11569         (get_matching_xmethod_workers): Return void, pass std::vector by
11570         pointer.
11571         (get_xmethod_arg_types): Rename to...
11572         (xmethod_worker::get_arg_types): ... this, and adjust.
11573         (get_xmethod_result_type): Rename to...
11574         (xmethod_worker::get_result_type): ... this, and adjust.
11575         (invoke_xmethod): Remove.
11576         (free_xmethod_worker): Remove.
11577         (free_xmethod_worker_vec): Remove.
11578         * extension.h (enum ext_lang_rc): Move here from
11579         extension-priv.h.
11580         (struct xmethod_worker): Add constructor and destructor.
11581         <data>: Remove.
11582         <value>: Remove.
11583         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11584         virtual pure methods.
11585         <get_arg_types, get_result_type>: New methods.
11586         (xmethod_worker_ptr): Remove typedef.
11587         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11588         (xmethod_worker_vec): Remove typedef.
11589         (xmethod_worker_up): New typedef.
11590         (invoke_xmethod): Remove.
11591         (clone_xmethod_worker): Remove.
11592         (free_xmethod_worker): Remove.
11593         (free_xmethod_worker_vec): Remove.
11594         (get_xmethod_arg_types): Remove.
11595         (get_xmethod_result_type): Remove.
11596         * valops.c (find_method_list): Use std::vector, don't use
11597         intermediate vector.
11598         (value_find_oload_method_list): Use std::vector.
11599         (find_overload_match): Use std::vector.
11600         (find_oload_champ): Use std::vector.
11601         * value.c (value_free): Use operator delete.
11602         (value_of_xmethod): Rename to...
11603         (value_from_xmethod): ... this.  Don't assign
11604         xmethod_worker::value, take rvalue-reference.
11605         (result_type_of_xmethod): Adjust.
11606         (call_xmethod): Adjust.
11607         * value.h: Include extension.h.
11608         (struct xmethod_worker): Don't forward-declare.
11609         (value_of_xmethod): Rename to...
11610         (value_from_xmethod): ... this, take rvalue-reference.
11611         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11612         (struct python_xmethod_worker): ... this, add constructor and
11613         destructor.
11614         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11615         (gdbpy_free_xmethod_worker_data): Rename to...
11616         (python_xmethod_worker::~python_xmethod_worker): ... this and
11617         adjust.
11618         (gdbpy_clone_xmethod_worker_data): Rename to...
11619         (python_xmethod_worker::clone): ... this and adjust.
11620         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11621         temporary vector.
11622         (gdbpy_get_xmethod_arg_types): Rename to...
11623         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11624         (gdbpy_get_xmethod_result_type): Rename to...
11625         (python_xmethod_worker::do_get_result_type): ... this and
11626         adjust.
11627         (gdbpy_invoke_xmethod): Rename to...
11628         (python_xmethod_worker::invoke): ... this and adjust.
11629         (new_python_xmethod_worker): Rename to...
11630         (python_xmethod_worker::python_xmethod_worker): ... this and
11631         adjust.
11632         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11633         Remove.
11634         (gdbpy_free_xmethod_worker_data): Remove.
11635         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11636         (gdbpy_get_xmethod_arg_types): Remove.
11637         (gdbpy_get_xmethod_result_type): Remove.
11638         (gdbpy_invoke_xmethod): Remove.
11639         * python/python.c (python_extension_ops): Remove obsolete
11640         callbacks.
11641
11642 2018-01-05  Pedro Alves  <palves@redhat.com>
11643
11644         PR gdb/18653
11645         * common/signals-state-save-restore.c
11646         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11647         find a custom handler preinstalled, instead of internal erroring.
11648         But only warn if !quiet.
11649         * common/signals-state-save-restore.h
11650         (save_original_signals_state): New parameter 'quiet'.
11651         * main.c (captured_main_1): Move save_original_signals_state call
11652         after option handling, and pass QUIET.
11653
11654 2018-01-05  Pedro Alves  <palves@redhat.com>
11655
11656         * spu-tdep.c (spu_catch_start): Pass
11657         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11658
11659 2018-01-05  Pedro Alves  <palves@redhat.com>
11660
11661         PR gdb/22670
11662         * ada-lang.c (literal_symbol_name_matcher): New function.
11663         (ada_get_symbol_name_matcher): Use it for
11664         symbol_name_match_type::SEARCH_NAME.
11665         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11666         it down instead of assuming symbol_name_match_type::FULL.
11667         * block.h (block_lookup_symbol): New parameter 'match_type'.
11668         * c-valprint.c (print_unpacked_pointer): Use
11669         lookup_symbol_search_name instead of lookup_symbol.
11670         * compile/compile-object-load.c (get_out_value_type): Pass down
11671         symbol_name_match_type::SEARCH_NAME.
11672         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11673         symbol_name_match_type::FULL.
11674         * cp-support.c (cp_get_symbol_name_matcher): Handle
11675         symbol_name_match_type::SEARCH_NAME.
11676         * infrun.c (insert_exception_resume_breakpoint): Use
11677         lookup_symbol_search_name.
11678         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11679         * psymtab.c (maintenance_check_psymtabs): Use
11680         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11681         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11682         SYMBOL_SEARCH_NAME.
11683         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11684         if symbol_name_match_type::SEARCH_NAME.
11685         (lookup_symbol_in_language): Pass down
11686         symbol_name_match_type::FULL.
11687         (lookup_symbol_search_name): New.
11688         (lookup_language_this): Pass down
11689         symbol_name_match_type::SEARCH_NAME.
11690         (lookup_symbol_aux, lookup_local_symbol): New parameter
11691         'match_type'.  Pass it down.
11692         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11693         (lookup_symbol_search_name): New declaration.
11694         (lookup_symbol_in_block): New 'match_type' parameter.
11695
11696 2018-01-05  Pedro Alves  <palves@redhat.com>
11697
11698         PR gdb/22670
11699         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11700         ada_lookup_symbol.
11701         (ada_lookup_symbol): Reimplement in terms of
11702         ada_lookup_symbol_list, bits factored out from
11703         ada_lookup_encoded_symbol.
11704
11705 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11706
11707         * ada-exp.y (write_object_renaming): When subscripting an array
11708         using a symbol as the index, pass the block in call to
11709         ada_lookup_encoded_symbol when looking that symbol up.
11710
11711 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11712
11713         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11714         TYPE_INDEX_TYPE.
11715
11716 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11717
11718         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11719         the case where VALUE_LVAL (val0) is not lval_memory.
11720
11721 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11722
11723         * ada-valprint.c (print_optional_low_bound): Handle
11724         character-indexed array printing like boolean-indexed array
11725         printing.
11726
11727 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11728
11729         * NEWS: Create a new section for the next release branch.
11730         Rename the section of the current branch, now that it has
11731         been cut.
11732
11733 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11734
11735         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11736         * version.in: Bump version to 8.1.50.DATE-git.
11737
11738 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11739
11740         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11741         Add field.
11742         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11743         Add field.
11744         (default_exception_support_info) <catch_handlers_sym>: Add field.
11745         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11746         (ada_exception_name_addr_1): Add "catch handlers" handling.
11747         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11748         Update all callers.
11749         (create_excep_cond_exprs) <ex>: Add parameter.
11750         (re_set_exception): Update create_excep_cond_exprs call.
11751         (print_it_exception, print_one_exception, print_mention_exception)
11752         (print_recreate_exception): Add "catch handler" handling.
11753         (allocate_location_catch_handlers, re_set_catch_handlers)
11754         (check_status_catch_handlers, print_it_catch_handlers)
11755         (print_one_catch_handlers, print_mention_catch_handlers)
11756         (print_recreate_catch_handlers): New function.
11757         (catch_handlers_breakpoint_ops): New variable.
11758         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11759         Add parameter.  Add "catch handler" handling.
11760         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11761         Add "catch handler" handling.
11762         (ada_exception_catchpoint_cond_string): Add "catch handler"
11763         handling.
11764         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11765         call.
11766         (catch_ada_handlers_command): New function.
11767         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11768         operations structure.
11769         (_initialize_ada_language): Add "catch handlers" command entry.
11770         * NEWS: Document "catch handlers" feature.
11771
11772 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11773
11774         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11775         account when creating the array type of the slice.
11776         (ada_value_slice): Likewise.
11777
11778 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11779
11780         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11781         New enum value.
11782         (create_array_type_with_stride): Add byte_stride_prop parameter.
11783         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11784         New parameter.  Update all callers in this file.
11785         (array_type_has_dynamic_stride): New function.
11786         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11787         of arrays with dynamic byte strides.
11788         * dwarf2read.c (read_array_type): Add support for dynamic
11789         DW_AT_byte_stride attributes.
11790
11791 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11792
11793         * dwarf2read.c (read_unspecified_type): Treat
11794         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11795
11796 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11797
11798         Update copyright year range in all GDB files.
11799
11800 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11801
11802         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11803         and gdb/testsuite/gdb.base/step-line.c.
11804
11805 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11806
11807         * copyright.py (main): Dump the contents of
11808         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11809         even if BY_HAND is empty.
11810
11811 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11812
11813         * top.c (print_gdb_version): Update Copyright year in version
11814         message.
11815
11816 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11817
11818         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11819
11820 For older changes see ChangeLog-2017.
11821 \f
11822 Local Variables:
11823 mode: change-log
11824 left-margin: 8
11825 fill-column: 74
11826 version-control: never
11827 coding: utf-8
11828 End: